Вычислить сумму квадратов чисел, принадлежащие промежутку - 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'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д