Написать программы на паскале: 1)дана последовательность чисел а1,а2,.указать наименьшую длину числовой оси,содержащую все эти числа(я так понял,что надо найти разницу между максимальным числом и минимальным); 2)дано натуральное число n.вычислить: s=1+1/2+1/4+1/8+1/16+/(2^n); 3)дано натуральное число.поменять порядок следования цифр в этом числе на обратный или сообщить,что это невозможно в силу переполнения.
116
482
Ответы на вопрос:
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( не заботясь о переполнении, однако я решил, что по логике нужно делать через числа. впрочем, для выявления случаев переполнения все равно используется переворот строки 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.
Популярно: Информатика
-
AnTonDPR23.08.2021 09:38
-
Ясомолётик25.02.2021 08:00
-
2302fgdg01.04.2022 16:20
-
fox322102.09.2020 23:59
-
1MEM125.10.2020 14:39
-
osmaginh7726.10.2022 16:06
-
gafman14.08.2022 18:54
-
Arisha5408.11.2021 10:34
-
madinamerzhoeva19.02.2020 07:42
-
YULIAPETROVA8410.06.2023 19:48