1) Если использовать последний Паскаль АВС, который умеет вычислять степень (Power), то вот вариант программы: var n:integer; s:real; {вообще, он целый, но мой компилятор не пропускает, почему-то считает, что результат вычислений будет real} begins:=0; n:=1; while s<5 do begin s:=3*power(n,4)-730*n; {для старого Паскаля напиши так: s:=3*sqr(sqr(n))-730*n} n:=n+1 end; writeln(n) end.
2) var n,s:real; begin s:=0; n:=1; while s<=10 do begin s:=exp(n)-1000*Ln(n); n:=n+1 end; writeln(n) end.
var
n:integer;
s:real; {вообще, он целый, но мой компилятор не пропускает, почему-то считает, что результат вычислений будет real}
begins:=0;
n:=1;
while s<5 do
begin
s:=3*power(n,4)-730*n; {для старого Паскаля напиши так: s:=3*sqr(sqr(n))-730*n}
n:=n+1
end;
writeln(n)
end.
2)
var n,s:real;
begin
s:=0;
n:=1;
while s<=10 do
begin
s:=exp(n)-1000*Ln(n);
n:=n+1
end;
writeln(n)
end.
var
Ch, Mes, MaxCh: Integer;
begin
Write ('Введите число (1-31):');
ReadLn (Ch);
if (Ch < 1) or (Ch > 31) then begin
WriteLn ('Введено некорректное число');
Exit;
end;
Write ('Введите месяц (1-12): ');
ReadLn (Mes);
if (Mes < 1) or (Mes > 12) then begin
WriteLn ('Введен некорректный месяц');
Exit;
end;
case Mes of
1, 3, 5, 7, 8, 10, 12: MaxCh := 31;
4, 6, 9, 11: MaxCh := 30;
2: MaxCh := 28;
end;
if Ch <= MaxCh then
WriteLn ('Дата правильная')
else
WriteLn ('Дата неправильная!');
end.
// в программе не учитывается то, что в високосном году февраль имеет 29 дней