Это решение не совсем верное. Достаточно ввести сразу ноль, что бы понять это.
Ноль — признак завершения ввода и он не должен обрабатываться с другими числами.
К тому же число -32 768 не является числом из набора введённых чисел.
Моё предложение:
var max, wr, nam : integer; flg : boolean; nam := 0; begin Writeln(‘Вводите целые числа: ‘); Writeln(‘Для завершения введите ноль (0)’); flg := false; while true do begin readLn(wr); if wr = 0 then break; if NOT flg then begin flg := true; max := wr; nam := 1; end else if max < wr then begin max := wr; nam := nam +1; end; end; if nam = 0 then writeln(‘Нет введённых чисел!’) else write(‘Введено: ‘, nam:6, ‘ чисел. Наибольшее введённое число :’, max:6); end.
-32 768 — разве не целое число? это минимальное число которое может быть введено с типом интегер, зачем нагружать программу проверками?
var max, wr: integer; begin max:=-32 768; repeat Write(‘введите целое число: ‘); readLn(wr); if wr=0 then break ; // так лучше? if wr>max then max :=wr; until wr = 0 ; write(‘наибольшее число :’); writeln(max); end;
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Паскаль с нуля [ч6]. Циклы. While, repeat-until, for.
Последний раз редактировалось Dvoishnik; 16.03.2015 в 13:28 .
Источник: www.programmersforum.ru
Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и подсчёт суммы и среднего арифметического введённых положительных чисел. Используйте оператор repeat.
Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и подсчёт суммы и среднего арифметического введённых положительных чисел. Используйте оператор repeat.
Ответ
Задание на обработку последовательности чисел. Так как есть условие окончания ввода, то имеет смысл использовать цикл repeat … until
//Pascal
var a,i,s,n:integer;
begin
s:=0;
n:=0;
repeat
readln(a);
if a>0 then begin
n:=n+1;
s:=s+a;
end;
until a = 0;
writeln(‘Сумма ‘,s:5,’ Среднее арифметическое ‘,s/n);
end.
Источник: murnik.ru
Написать программу ввода неопределенного ряда целых чисел до тех пор пока не будет введен 0
var
max,a : integer;
begin
Урок 1. Первая программа на Pascal (Сложение чисел)
readln(a);
max := a;
while (a<>0) do
begin
readln(a);
if (a > max) and (a <> 0) then
max := a;
end;
writeln(max);
readln;
end.
Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!
- Алгебра
- Математика
- Русский язык
- Українська мова
- Информатика
- Геометрия
- Химия
- Физика
- Экономика
- Право
- Английский язык
- География
- Биология
- Другие предметы
- Обществознание
- История
- Литература
- Українська література
- Беларуская мова
- Қазақ тiлi
Показать ещё
Источник: www.shkolniku.com