Возвести число в степень (циклом) на Pascal

Программирование Программирование на Pascal Возвести число в степень (циклом) на Pascal

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 1 год, 6 мес. назад.

  • Автор
    Сообщения
  • #3756

    Pascal. Функции. Задача 3

    Составьте программу, функция которой возводит число a в степень b, где a – любое число, а b – любое целое число.

    Решение.
    Для возведения числа A в степень N, необходимо число A умножить на самого себя N раз, т.е. организовать цикл по умножению числа A.

    program functions_3;
    uses crt;
    var
      a: real;
      b: integer;
    function S(sa: real; sb: integer): real;
    var i: integer; x: real;
    begin
      x:=sa;
      if sb=0 then S:=1
      else if sb<0 then
      begin
        for i:=2 to abs(sb) do sa:=sa*x;
        S:=1/sa;
      end
      else
      begin
        for i:=2 to sb do sa:=sa*x;
        S:=sa;
      end
    end;
    begin
      clrscr;
      write('A > '); read(a);
      write('B > '); read(b);
      write(a, '^', b, ' = ', S(a, b));
      readkey;
    end.

    Другое решение:

    Uses Crt;
    Var
    	a,n,i,p: Integer;
    Begin
    	ClrScr;
    	Write('n=');
    	Readln(n);
    	Write('a=');
    	Readln(a);
    	p:=1;
    	For i:=1 To n Do p:=p*a;
    	Write('p=',p);
    	Repeat Until KeyPressed
    End.

    Первое решение возводит в степень не только в положительную, но и в отрицательную степень.

Для ответа в этой теме необходимо авторизоваться.