Даны два целых числа X и Y. Если X>Y, то вычислить произведение этих чисел, иначе сумму. Разработать схему алгоритма для решения этой задачи. Составить программу. Протестировать алгоритм на трех различных тестах (X>Y, X=Y и X
1) Все правильно, это и будет разность между максимумом и минимумом program one; var input,max,min:integer; i:integer; begin readln(input); max:=input; min:=input; for i:=2 to 25 do begin readln(input); if input>max then max:=input; if input<min then min:=input; end; writeln(max-min); end.
2) Гораздо проще не суммировать в цикле степени половины, а воспользоваться тем, что . program two; var res:real; i,n:integer; begin readln(n); res:=0.5; for i:=2 to n do res*=0.5; res:=2-res; writeln(res); end.
3) Здесь существует несколько реализации; в частности, можно было просто считать число как строку и возвратить ее в перевернутом виде (ReverseString(s)), не заботясь о переполнении, однако я решил, что по логике задания нужно делать через числа. Впрочем, для выявления случаев переполнения все равно используется переворот строки program three; var a,b:int64; {можно использовать uint64, если в вашей среде Паскаля этот тип поддерживается, тогда число в строке ниже надо заменить} begin readln(a); if ReverseString(IntToStr(a))>'9223372036854775807' then writeln('Слишком много') else begin while a>0 do begin b:=10*b+a mod 10; a:=a div 10; end; writeln(b); end; end.
1) Все правильно, это и будет разность между максимумом и минимумом program one; var input,max,min:integer; i:integer; begin readln(input); max:=input; min:=input; for i:=2 to 25 do begin readln(input); if input>max then max:=input; if input<min then min:=input; end; writeln(max-min); end.
2) Гораздо проще не суммировать в цикле степени половины, а воспользоваться тем, что . program two; var res:real; i,n:integer; begin readln(n); res:=0.5; for i:=2 to n do res*=0.5; res:=2-res; writeln(res); end.
3) Здесь существует несколько реализации; в частности, можно было просто считать число как строку и возвратить ее в перевернутом виде (ReverseString(s)), не заботясь о переполнении, однако я решил, что по логике задания нужно делать через числа. Впрочем, для выявления случаев переполнения все равно используется переворот строки program three; var a,b:int64; {можно использовать uint64, если в вашей среде Паскаля этот тип поддерживается, тогда число в строке ниже надо заменить} begin readln(a); if ReverseString(IntToStr(a))>'9223372036854775807' then writeln('Слишком много') else begin while a>0 do begin b:=10*b+a mod 10; a:=a div 10; end; writeln(b); end; end.
var x,y,p,s:real;
begin
readln(x,y);
if x>y then writeln(x*y:0:0) else writeln(x+y:0:0);
end.
Объяснение: