решить как переделать программу на языке паскаль (ошибка - там где фиолетовым выделено), Вот сама программа program my_first_work; uses crt; var a:Integer; b:Integer; c:Integer; i:Integer; q: Real; Begin repeat WriteLn ( 'Введите первое число' ); read (a) ;
WriteLn (' Выберите действие +=1;-=2;*=3;/=4; √=5' ) ; read (b) ; Begin If b = 5 then //Repeat q:= ( sqrt(a) ) ; End //WriteLn ( 'Повторить? (1)' ) ; //read (i) ; //Until i = 1; Else Begin WriteLn ('Введите второе число') ; read ( c ); If b = 1 then q:= ( a + c ) ; If b = 2 then q:= ( a - c ) ; If b = 3 then q:= ( a * c ) ; If b = 4 then q:= ( a div c ); End Begin WriteLn ( q ) ; WriteLn ( 'Повторить? (1)' ); readln (i) ; ClrScr; until i = '1'; readln; end.
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var a:=ReadReal('Введите число a:'); var n:=ReadInteger('Введите показатель степени n:'); if n<=0 then begin Writeln('Показатель степени должен быть натуральным числом'); Exit end; // перевод показателя степени в двоичную систему счисления var t:=n; var r:string:=''; while t>=2 do (r,t):=(t mod 2+r,t shr 1); r:=t+r; // возведение в степень var (rr,i):=(a,2); while i<=r.Length do begin rr:=Sqr(rr); if r[i]='1' then rr*=a; i+=1 end; Writeln(a,'^',n,' = ',rr) end.
Примеры Введите число a: 3.182 Введите показатель степени n: 11 3.182^11 = 338611.675261463
Введите число a: 2 Введите показатель степени n: 10 2^10 = 1024