Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 85 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2021, 15:36   #1
solmyashzz
Пользователь
 
Регистрация: 12.12.2021
Сообщений: 10
По умолчанию Степени и факториалы

Всем доброго времени суток, помогите пожалуйста решить данную задачку.

Напишите программу, которая будет выполнять следующее:
1. Считывает два целых числа
2. Вычисляет и выводит на печать первое число в степени второго и наоборот
3. Вычисляет и печатает факториал обоих чисел.

Пример работы:
Введено: 2, 3
Степени: 2^3=8, 3^2=9
Факториалы: 2!=2, 3!=6

Оформите эту программу в трех вариантах:
1. без подпрограмм
2. с процедурами степени и факториала
3. с функциями степени и факториала
solmyashzz вне форума Ответить с цитированием
Старый 12.12.2021, 16:06   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,910
По умолчанию

1 вариант:
Код:
var a, b, i, k: integer;
begin
   Write('a = '); Readln(a);
   Write('b = '); Readln(b);
   k:=1;
   for i:=1 to b do
      k:=k*a;
   Writeln('a^b = ', k);
   k:=1;
   for i:=1 to a do
      k:=k*b;
   Writeln('b^a = ', k);
   k:=1;
   for i:=1 to a do
      k:=k*i;
   Writeln('a! = ', k);
   k:=1;
   for i:=1 to b do
      k:=k*i;
   Writeln('b! = ', k);
   Readln;
end.
2 вариант:
Код:
procedure step(chislo: integer; stepen: integer; var Result: integer);
var i: integer;
begin
   Result:=1;
   for i:=1 to stepen do
      Result:=Result*chislo;
end;

procedure fact(n: integer; var Result: integer);
var i: integer;
begin
   Result:=1;
   for i:=2 to n do
      Result:=Result*i;
end;

var a, b, i, k: integer;
begin
   Write('a = '); Readln(a);
   Write('b = '); Readln(b);
   step(a, b, k);
   Writeln('a^b = ', k);
   step(b, a, k);
   Writeln('b^a = ', k);
   fact(a, k);
   Writeln('a! = ', k);
   fact(b, k);
   Writeln('b! = ', k);
   Readln;
end.
3 вариант:
Код:
function step(chislo: integer; stepen: integer): integer;
var i: integer;
begin
   Result:=1;
   for i:=1 to stepen do
      Result:=Result*chislo;
end;

function fact(n: integer): int64;
var i: integer;
begin
   Result:=1;
   for i:=2 to n do
      Result:=Result*i;
end;

var a, b, i, k: integer;
begin
   Write('a = '); Readln(a);
   Write('b = '); Readln(b);
   k:=step(a, b);
   Writeln('a^b = ', k);
   k:=step(b, a);
   Writeln('b^a = ', k);
   k:=fact(a);
   Writeln('a! = ', k);
   k:=fact(b);
   Writeln('b! = ', k);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 12.12.2021, 16:12   #3
solmyashzz
Пользователь
 
Регистрация: 12.12.2021
Сообщений: 10
По умолчанию

newerow1989, Огромное вам спасибо!
solmyashzz вне форума Ответить с цитированием
Старый 12.12.2021, 16:16   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,910
По умолчанию

С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме 85 тыс рублей в месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Факториалы Proger16 Общие вопросы C/C++ 12 16.05.2013 13:52
Написать программу вычисления коэффициентов многочлена, что является произведением многочлена n-степени на многочлен степени m amelie29 Помощь студентам 3 12.03.2013 21:19
Факториалы в С++ Александр Жуков Помощь студентам 2 19.09.2012 23:37
Факториалы UmkO C# (си шарп) 2 03.04.2012 23:08