Вычислить сумму квадратов чисел, принадлежащие промежутку - 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.

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

  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
Похожие ответы