Вычисление сумммы и среднего арифметичесского чисел - Pascal
Формулировка задачи:
Нужно написать программу которая будет вычислять сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры.
Дан образец, как должна выглядеть программа при выполнении.
Поковырявшись с программой, завис.
Как я понял, мне нужно сделать счётчик, который будет считать количество введёных чисел, пусть это будет '
Вычисление средней арифметичесской последовательности положительных чисел.
Вводите после стрелки числа. Для завершения введите ноль.
-> 45
-> 23
-> 15
-> 0
Введено чисел: 3
Сумма чисел: 83
Среднее арифметическое: 27.67
program math; uses crt; var a,b,c:integer; d:real; begin writeln('Вычисление средней арифметичесской последовательности положительных чисел.'); writeln('Вводите после стрелки числа. Для завершения введите ноль.'); c:=0; while b<>0 do begin write('-> ');readln(b); c:=c+1; end; writeln('Введено чисел: ',c); end.
c
'. Нужно сделать что-то, чтобы при введении нуля,while
останавливался и программа продолжала свою работу после него. Так же я не пойму, как округлить получившееся число? При делении 83/3 получается 27,666666666666667, в примере написано округлённое число, я знаю чтоdiv
убирает остаток полностью, а просто"/"
пишет весь остаток.
Немножко продвинулся. Но теперь пишет "Сумма чисел: 0"..
program math; uses crt; var a,b,c,d:integer; e:real; begin writeln('Вычисление средней арифметичесской последовательности положительных чисел.'); writeln('Вводите после стрелки числа. Для завершения введите ноль.'); b:=1; c:=-1; while b<>0 do begin write('-> ');readln(a); c:=c+1; b:=a; d:=b+a; end; writeln('Введено чисел: ',c); writeln('Сумма чисел:',d); end.
Решение задачи: «Вычисление сумммы и среднего арифметичесского чисел»
textual
Листинг программы
program math; var a, c, d: integer; begin writeln('Вычисление среднего арифметического последовательности положительных чисел.'); writeln('Вводите после стрелки числа. Для завершения введите ноль.'); a := -99; c := 0; d := 0; while a <> 0 do begin write('-> '); readln(a); d := d + a; inc(c) end; writeln('Введено чисел: ', c - 1); if c > 1 then begin writeln('Сумма чисел: ', d); writeln('Среднее арифметическое чисел: ', d / (c - 1):0:2) end else writeln('Числа введены не были.'); readln end.
Объяснение кода листинга программы
- Программа объявляет три переменные типа Integer: a, c и d.
- Выводится сообщение о вычислении среднего арифметического последовательности положительных чисел.
- Выводится сообщение для ввода чисел после стрелки.
- Переменная a инициализируется значением -99.
- Переменная c инициализируется значением 0.
- Переменная d инициализируется значением 0.
- Запускается цикл while, который выполняется до тех пор, пока значение переменной a не станет равным нулю.
- Внутри цикла переменная a считывается с помощью функции readln, а переменные c и d обновляются.
- После выхода из цикла выводится сообщение с количеством введенных чисел и их суммой.
- Если количество чисел больше 1, то вычисляется среднее арифметическое и выводится соответствующее сообщение.
- Если количество чисел меньше или равно 1, то выводится сообщение о том, что числа не были введены.
- Выводится символ новой строки с помощью функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д