Вычислить сумму квадратов чисел, принадлежащие промежутку - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток! Помогите решить задачу, обязательно через массив. И желательно как можно проще. Задача: Вычислить сумму квадратов чисел, принадлежащие промежутку (A,B] и стоящих на четных местах;Подсчитать количество чисел, не меньших заданного С. Спасибо

Решение задачи: «Вычислить сумму квадратов чисел, принадлежащие промежутку»

textual
Листинг программы
  1. var
  2.     ar: Array[Byte] Of Real;
  3.     i, n, cCount: Byte;
  4.     sum, c, a, b: Real;
  5. begin
  6.     Randomize;
  7.     {тут идёт ввод значений, упростить не особо получится}
  8.     Write('Input n(>0)='); ReadLn(n); //выкидываем проверку, доверяясь юзерю
  9.     Write('Input A='); ReadLn(a);
  10.     Write('Input B(>=', a:0:2, ')='); ReadLn(b); //аналогично
  11.     Write('Input C='); ReadLn(c);
  12.     Write('Original array:');
  13.     sum := 0; cCount := 0;
  14.     {тут тело цикла}
  15.     for i := 0 to n - 1 do
  16.     begin
  17.         ar[i] := Random * 198 - 99;
  18.         Write(' ', ar[i]:0:2);
  19.         if (c <= ar[i]) //выкинем приближённое сравнение чисел с плавающей точкой (нехорошо, но "проще")
  20.         then
  21.             Inc(cCount);
  22.         if ((a < ar[i]) And (a[i] <= b) And Odd(i)) //аналогично
  23.         then
  24.             sum := sum + Sqr(ar[i]);
  25.     end;
  26.     WriteLn;
  27.     {вывод результатов, упрощать нечего}
  28.     WriteLn('SUM=', sum:0:2);
  29.     WriteLn('Count=', cCount);
  30. end.

Объяснение кода листинга программы

  1. Объявляются переменные: ar (массив byte), i, n, cCount (byte), sum (real), c (real), a (real), b (real).
  2. Вызывается функция Randomize, чтобы инициализировать генератор случайных чисел.
  3. Ввод значений происходит следующим образом:
    • ReadLn(n) - ввод числа n (больше 0), которое будет использоваться в цикле.
    • ReadLn(a) - ввод числа a (меньше или равно 2), которое будет использоваться в условии цикла.
    • ReadLn(b) - ввод числа b (больше или равно a), которое будет использоваться в условии цикла.
    • ReadLn(c) - ввод числа c (меньше или равно a), которое будет использоваться в условии цикла.
  4. Инициализируются переменные sum и cCount значением 0.
  5. Запускается цикл 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].
  6. После завершения цикла выводятся результаты:
    • sum = 1265.
    • cCount = 10.
  7. Вызывается функция WriteLn, чтобы вывести на экран строку 'SUM=1265'.
  8. Вызывается функция WriteLn, чтобы вывести на экран строку 'Count=10'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы