Дан линейный вещественный массив. Найти сумму его элементов по заданному условию - Pascal ABC
Формулировка задачи:
Дан линейный вещественный массив a. Найти :
(Перемещено из Pascal ABC.NET)
Решение задачи: «Дан линейный вещественный массив. Найти сумму его элементов по заданному условию»
textual
Листинг программы
Uses crt; Const n=20; Var i,k:integer; a:array[1..n]of real; sum:real; Begin clrscr; randomize; for i:=1 to n do begin a[i]:=random(100); write(a[i],' '); end; writeln; sum:=0; k:=1; while sqr(k)<=n do begin sum:=sum+sqr(a[sqr(k)]); k:=k+1; end; writeln('Summa=',sum); End.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с математическими операциями.
- Затем определяется константа n, которая определяет размер массива a.
- Далее объявляются переменные i, k и a. Переменная i является целочисленной и используется для цикла, а переменная k также является целочисленной и используется для контроля цикла. Переменная a является массивом, который содержит 20 вещественных чисел.
- Затем выполняется очистка экрана с помощью функции clrscr.
- После этого с помощью функции randomize устанавливается начальное значение генератора случайных чисел.
- Затем начинается цикл, который выполняется n раз (где n - это значение константы n). Внутри цикла каждому элементу массива a присваивается случайное значение от 0 до 99 с помощью функции random(100).
- После завершения внутреннего цикла выводится каждый элемент массива a с пробелом после него.
- Затем вычисляется сумма квадратов элементов массива a с помощью формулы summa = 0.
- Затем переменная k устанавливается равной 1.
- Затем начинается внешний цикл while, который выполняется до тех пор, пока квадрат переменной k меньше или равен размеру массива n.
- Внутри внешнего цикла переменная summa увеличивается на сумму квадратов элементов массива a, которые соответствуют текущему значению переменной k.
- Затем переменная k увеличивается на 1.
- После завершения внешнего цикла выводится сообщение о сумме элементов массива a.
- Конец программы.