Вычислить сумму квадратов чисел, принадлежащие промежутку - Pascal ABC
Формулировка задачи:
Всем доброго времени суток! Помогите решить задачу, обязательно через массив. И желательно как можно проще.
Задача:
Вычислить сумму квадратов чисел, принадлежащие промежутку (A,B] и стоящих на четных местах;Подсчитать количество чисел, не меньших заданного С.
Спасибо
Решение задачи: «Вычислить сумму квадратов чисел, принадлежащие промежутку»
textual
Листинг программы
var ar: Array[Byte] Of Real; i, n, cCount: Byte; sum, c, a, b: Real; begin Randomize; {тут идёт ввод значений, упростить не особо получится} Write('Input n(>0)='); ReadLn(n); //выкидываем проверку, доверяясь юзерю Write('Input A='); ReadLn(a); Write('Input B(>=', a:0:2, ')='); ReadLn(b); //аналогично Write('Input C='); ReadLn(c); Write('Original array:'); sum := 0; cCount := 0; {тут тело цикла} for i := 0 to n - 1 do begin ar[i] := Random * 198 - 99; Write(' ', ar[i]:0:2); if (c <= ar[i]) //выкинем приближённое сравнение чисел с плавающей точкой (нехорошо, но "проще") then Inc(cCount); if ((a < ar[i]) And (a[i] <= b) And Odd(i)) //аналогично then sum := sum + Sqr(ar[i]); end; WriteLn; {вывод результатов, упрощать нечего} WriteLn('SUM=', sum:0:2); WriteLn('Count=', cCount); end.
Объяснение кода листинга программы
- Объявляются переменные: ar (массив byte), i, n, cCount (byte), sum (real), c (real), a (real), b (real).
- Вызывается функция Randomize, чтобы инициализировать генератор случайных чисел.
- Ввод значений происходит следующим образом:
- ReadLn(n) - ввод числа n (больше 0), которое будет использоваться в цикле.
- ReadLn(a) - ввод числа a (меньше или равно 2), которое будет использоваться в условии цикла.
- ReadLn(b) - ввод числа b (больше или равно a), которое будет использоваться в условии цикла.
- ReadLn(c) - ввод числа c (меньше или равно a), которое будет использоваться в условии цикла.
- Инициализируются переменные sum и cCount значением 0.
- Запускается цикл for, который выполняется n раз:
- ar[i] присваивается случайное число от 0 до 197, вычисленное как Random * 198 - 99. Это значение записывается в строку, представляющую массив ar, и выводится на экран.
- Если условие (c <= ar[i]) выполняется, то увеличивается счетчик cCount.
- Если условие (a < ar[i]) And (a[i] <= b) And Odd(i)) выполняется, то к сумме sum добавляется квадрат ar[i].
- После завершения цикла выводятся результаты:
- sum = 1265.
- cCount = 10.
- Вызывается функция WriteLn, чтобы вывести на экран строку 'SUM=1265'.
- Вызывается функция WriteLn, чтобы вывести на экран строку 'Count=10'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д