Program Program1; var s, i: integer; begin s := 0; for i := 1 to 100 do s := s + i; writeln(s); s := 0; i := 1; while i <= 100 do begin s := s + i; i := i + 1; end; writeln(s); s := 0; i := 0; repeat i := i + 1; s := s + 1; until i < 100; writeln(s); end.
vera-classic75
16.02.2022
Program go; var x,y,z,n:real; begin write('Введите сегодняшнее число: '); readln(x); write('Введите номер сегодняшнего месяца: '); readln(y); begin if y=1 then n:=365-x else; if y=2 then n:=365-31-x else; if y=3 then n:=365-31-28-x else; if y=4 then n:=365-31-28-31-x else; if y=5 then n:=365-31-28-31-30-x else; if y=6 then n:=365-31-28-31-30-31-x else; if y=7 then n:=365-31-28-31-30-31-30-x else; if y=8 then n:=365-31-28-31-30-31-30-31-x else; if y=9 then n:=365-31-28-31-30-31-30-31-31-x else; if y=10 then n:=365-31-28-31-30-31-30-31-31-30-x else; if y=11 then n:=365-31-28-31-30-31-30-31-31-30-31-x else; if y=12 then n:=365-31-28-31-30-31-30-31-31-30-31-30-x else; end; writeln ('До Нового года осталось: ',n); end.
elena-ppk
16.02.2022
Используем достаточно хорошо известный "индийский алгоритм" возведения в степень. Я не буду здесь его приводить из-за достаточно большого объема сопровождающих рассуждений; все легко находится в Интернет по фразе "индийский алгоритм возведения в степень".
function Power(x: double; n: integer): double; var p: double; flag: boolean; begin p := 1; flag := true; while flag do begin if odd(n) then p := p * x; n := n div 2; if n > 0 then x := x * x else flag := false end; power := p end;
var x: double; n: integer;
begin Writeln('Введите число и натуральную степень, в которую его надо возвести'); Readln(x, n); Writeln('Результат: ', Power(x, n)) end.
Тестовое решение: Введите число и натуральную степень, в которую его надо возвести 3.6 11 Результат: 1316217.03842267
Точный результат равен 1316217.03842267136.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу для вычисления суммы чисел от 1 до 100 с использованием 3 видов цикла. (паскаль)
var
s, i: integer;
begin
s := 0;
for i := 1 to 100 do
s := s + i;
writeln(s);
s := 0;
i := 1;
while i <= 100 do
begin
s := s + i;
i := i + 1;
end;
writeln(s);
s := 0;
i := 0;
repeat
i := i + 1;
s := s + 1;
until i < 100;
writeln(s);
end.