0 / 0 / 0
Регистрация: 24.06.2016
Сообщений: 1
1

Рекурсия, возведение в степень.

24.09.2009, 16:26. Показов 18062. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
мне надо написать 3 задачи. Возведение числа в степень используя
а) цикл
б) рекурсивную функцию
в) рекурсивную процедуру
Я понимаю что задачи для кого-то покажутся очень лёгкими, но я их написать не могу. помогите пожалуйста и если можно, напишите их как можно примитивнее, чтоб я потом в силах был их разобрать. буду очень благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2009, 16:26
Ответы с готовыми решениями:

Паскаль Рекурсия Возведение числа в степень
Объясните пожалуйста. как закончить программу Program pow; Procedure Power (X: real; N:...

Возведение в степень
Пожалуйста помогите написать выражение: ((e в степени (2x-6))-1)/((x*x)-(2*x)-3) , при x<-1. Уменя...

Возведение в степень
Добрый вечер. Помогите пожалуйста с написанием задачи, на возведение экспоненты в степень x-y....

Возведение в степень
Помогите пожалуйста решить задачу... Дано значение А. Не используя никаких функций и никаких...

4
55 / 53 / 24
Регистрация: 10.05.2009
Сообщений: 216
24.09.2009, 16:34 2
Ну вот через функцию:
Pascal
1
2
3
4
5
function Power(x,y:integer):longint;
begin
  if y=0 then Power:=1
  else Power:=x*Power(x,y-1);
end;
Ну вот через процедуру:
Pascal
1
2
3
4
5
6
7
8
9
10
procedure Power(x:longint; y:integer);
var z:longint;
     i:integer;
begin
  x:=z;
  for i:=1 to y-1 do 
    x:=x*z;
    writeln(z);
  readln;
end;
Только через процедуру я не проверял...
2
Программист 1С
859 / 647 / 187
Регистрация: 03.03.2009
Сообщений: 1,154
24.09.2009, 16:46 3
Через цикл можно так сделать!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Program Stp:
  var P: real:    { Переменная, которая хранит результат очередного шага }
      N: integer;   { Показатель степени } 
      i: integer;   { Счетчик числа шагов } 
      A: real;    { Основание степени }
begin
  write('Введите основание степени:');
  readln(A);
  write('Введите показатель степени:');
  readln(N);
  i:=0;   { 0-й шаг }
  Р:=1;    { 20=1 }
  while i< abs(N) do   { Показатель может быть отрицательным, поэтому используем для анализа его абсолютную величину. Если показатель N=0, то в тело цикла не попадаем ни разу, так как 0-й шаг уже сделан }
    begin
      i:=i+l;   { Увеличиваем i на 1,то есть i теперь равно номеру текущего шага }
      Р:=Р*А   { Получаем результат i- го шага, то есть A^i } 
    end;
{ В переменной Р на данный момент получен результат для положительного N }
  if N < 0 then   { Если показатель N - отрицательный, то результат должен иметь обратную величину }
  Р:=1/Р; 
  writeln('Результат=',Р;6:3); 
  readln
end.
Добавлено через 3 минуты
Вот так можно сделать используя функцию!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Program Program6;
Uses crt;
var
x1, y1: real;
{Функция возведения числа x в степень y}
function power (const x, y: real): extended;
begin {Начало текста функции}
power := exp(y*ln(x));
end;{Конец текста функции}
{Основная программа}
begin
{Очистка экрана}
clrscr;
{Ввод значений}
Writeln ('Введите числа x1 и y1: ');
Readln(x1, y1);     
{Использование процедуры и вывод результатов}
Writeln (‘Результат возведения числа x1 в степень y1’, power (x1, y1):8:3);    
Writeln (‘Результат возведения числа y1 в степень x1’, power (y1, x1):8:3);    
{Ожидание нажатие клавиши перед закрытием программы – для просмотра результатов}
Writeln(' Нажмите любую клавишу для завершения …‘);
Readkey;
end.
Выше вам написали...я просто дополнил к програме!

Добавлено через 5 минут
и процедурка!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure Stepen(n:longint; k:integer);
var m : longint;
    i : integer;
begin
  m:=n;
  for i:=1 to k-1 do n:=n*m;
  writeln(m, ' в степени ',k,' равно ', n);
  readln;
end;
 
begin
  stepen(2, 10); 
end.
описание переменных за вами!!!
2
0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 8
16.05.2010, 00:50 4
Я только в процедуре не пойму, где используется рекурсия?
0
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.05.2010, 09:44 5
Цитата Сообщение от azurfly Посмотреть сообщение
Я только в процедуре не пойму, где используется рекурсия?
А нигде. Напишут всякую хрень и радуются.
0
16.05.2010, 09:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2010, 09:44
Помогаю со студенческими работами здесь

Возведение в степень
Просто написать возведение в степень в цикле к примеру для двойки. Степень задает пользователь

Возведение в степень
Возникла проблема. Я хочу 10 возвести в степень e. Но когда ввожу Power программа не запускается и...

Возведение в степень
Вообщем у меня такая задача, написать программу для заданных a, b, M (a&lt;=a,b&lt;=100, 2&lt;=M&lt;=1000),...

Возведение в степень
Здравствуйте, помогите пожалуйста решить задачу: возвести в степень n число n,где n&lt;=100.

Возведение в степень
Как в паскале записать выражения: 1) {sin}^{2}x 2) {cos}^{2}{({x}^{2})}^{2}

Возведение в степень.
Уважаемые программисты напомните, пожалуйста, как в Паскале написать программу возведения числа X в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru