Вычислить значения выражений, использующих в качестве переменных элементы одномерного массива - Pascal
Формулировка задачи:
Дано const n=11
var x:array[1..n] of real
y:real
Написать программу для вычесления следующих функций:
наброски
const N = 11; var arr: array[1..N] of real; y:real; i, id: byte; flag: boolean; max: integer; begin for i:=1 to N do read(arr[i]); flag := True; for i:=1 to N do if not odd(arr[i]) then begin flag := False; break; end; if flag = True then begin for i:=1 to N do begin if arr[i] > 0 then arr[i] := 0; write(arr[i],' '); end; writeln; end else begin max := abs(arr[i]); id := 1; for i:=2 to N do if abs(arr[i]) > max then begin max := abs(arr[i]); id := i; end; writeln('arr[',id, ']=', max); end; end.
Решение задачи: «Вычислить значения выражений, использующих в качестве переменных элементы одномерного массива»
textual
Листинг программы
var ar: Array[Byte] Of Real; i, n, zad2: Byte; zad1, zad3, zad4, zad5: Extended; //Double|Real begin repeat Write('Введите размерность вектора (>1): '); ReadLn(n); until (n > 1); Randomize; Write('Сгенерированный вектор:'); zad1 := 1; zad2 := 0; zad3 := 0; zad4 := 0; zad5 := 0; for i := 0 to n - 1 do begin ar[i] := Random*198 - 99; Write(ar[i]:7:2); if (ar[i] > ar[zad2]) then zad2 := i; zad1 := zad1 * ar[i]; if (Odd(i)) then zad3 := zad3 - ar[i] else begin zad3 := zad3 + ar[i]; zad5 := zad5 + Sqr(ar[i]); end; end; i := 0; repeat zad4 := zad4 + ar[i]*ar[n - 1 - i]; Inc(i); until (i > n div 2); WriteLn; WriteLn('zad1=', Exp(Ln(Abs(zad1))/n):0:2); WriteLn('zad2=', ar[zad2]:6:2); WriteLn('zad3=', zad3:0:2); WriteLn('zad4=', 2*zad4:0:2); WriteLn('zad5=', zad5:0:2); end.
Объяснение кода листинга программы
- Объявление переменных:
ar
: массив вещественных чиселi
: счётчик для циклаn
: размерность массиваzad2, zad1, zad3, zad4, zad5
: расширенные вещественные числа (тип double/real)
- Цикл для ввода размерности массива:
- Пользователю предлагается ввести размерность вектора, пока она не будет больше 1.
- Генерация случайных чисел и вывод массива:
- Генерируется массив случайных чисел
- Сгенерированный массив выводится на экран
- Инициализация переменных zad1, zad2, zad3, zad4, zad5
- Цикл для обработки массива и вычисления значений переменных
zad1, zad2, zad3, zad4, zad5
:- Каждый элемент массива заполняется случайным числом от -99 до 99
- Печать элемента массива
- Определение значения переменной zad2, если текущий элемент больше предыдущего наибольшего значения
- Вычисление произведения элементов массива и сохранение значения в zad1
- Вычисление значения переменной zad3 в зависимости от четности индекса
- Вычисление значения переменной zad5 как суммы квадратов нечетных элементов массива
- Вычисление значения переменной zad4 как суммы произведений первой половины элементов массива на соответствующие им элементы с конца массива
- Вывод результатов:
- Вывод расчетных значений переменных zad1, zad2, zad3, zad4, zad5 с некоторыми математическими операциями.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д