Итерационные циклы - Pascal ABC
Формулировка задачи:
Помогите решить задачу. Рассчитать значения функции:
При изменении аргумента от -1 с шагом ∆= 0,25 до достижения условия Y>100. Найти среднеарифметическое отрицательных значений.
Решение задачи: «Итерационные циклы»
textual
Листинг программы
var x, y, s: real; i, k: integer; begin x := -1; i := 1; repeat y := (14.25 * power(abs(8 * x * x) + pi / 2, 1 / 3)) / (arctan(power(x, 2 - exp(sin(sqr(x)))))); writeln(x:8:3, y:8:3); x := x + 0.25; if y < 0 then begin s := s + y; inc(i); end; until y > 100; k := i - 1; writeln; writeln('Average: ', s / k); end.
Объяснение кода листинга программы
- Объявлены переменные: x, y, s (реальные), i, k (целые).
- Инициализированы переменные: x = -1, i = 1.
- Запускается бесконечный цикл repeat.
- В каждой итерации цикла вычисляется значение y по формуле: y = (14.25 power(abs(8 x * x) + pi / 2, 1 / 3)) / (arctan(power(x, 2 - exp(sin(sqr(x)))))).
- Выводится значение x и y с шагом 0.25.
- Если y < 0, то к сумме s прибавляется значение y, а переменная i увеличивается на 1.
- Цикл выполняется до тех пор, пока y не станет больше 100.
- После окончания цикла значение переменной k равно i - 1.
- Выводится среднее значение s / k.