Используя нетипизированный параметр в подпрограмме, подсчитать суммы нечетных элементов векторов из 5 и 9 компонентов - Pascal
Формулировка задачи:
Помогите, пожалуйста, написать программу. Используя нетипизированный параметр в подпрограмме, подсчитать суммы нечетных элементов векторов из 5 и 9 компонентов. Заранее спасибо всем кто откликнется.
Решение задачи: «Используя нетипизированный параметр в подпрограмме, подсчитать суммы нечетных элементов векторов из 5 и 9 компонентов»
textual
Листинг программы
uses Crt; const r=9; procedure Vvod(var vec;a:byte); type vector=array[1..r] of integer; var i:byte; begin randomize; for i:=1 to a do vector(vec)[i]:=random(10); end; procedure Vivod(var vec;a:byte;c:char); type vector=array[1..r] of byte; var i:byte; begin writeln('Вектор ',c); for i:=1 to a do write(vector(vec)[i],' '); writeln; end; function summa(var vec;a:byte):integer; type vector=array[1..r] of byte; var i:byte; s:integer; begin s:=0; for i:=1 to a do if odd((vector(vec)[i])) then s:=s+vector(vec)[i]; summa:=s end; var a,b:array[1..r] of integer; begin clrscr; Vvod(a,5); Vivod(a,5,'A'); writeln('Сумма нечетных=',summa(a,4)); Vvod(b,9); Vivod(b,9,'B'); writeln('Сумма нечетных=',summa(b,9)); readln end.
Объяснение кода листинга программы
В данном коде используется язык программирования Pascal. Он содержит несколько процедур и функций, которые выполняют определенные действия.
- Процедура Vvod (ввод вектора) принимает на вход переменную vec, которая представляет собой вектор из r компонентов типа integer, и переменную a, которая указывает количество компонентов, которые нужно вставить. Внутри процедуры случайным образом заполняются все компоненты вектора.
- Процедура Vivod (вывод вектора) принимает на вход переменные vec и c, которые представляют собой вектор и символ вывода соответственно. Внутри процедуры выводится содержимое каждого компонента вектора.
- Функция summa (сумма нечетных) принимает на вход переменные vec и a и возвращает сумму всех нечетных компонентов вектора. Внутри функции переменной s инициализируется значение 0, а затем происходит цикл по всем компонентам вектора. Если текущий компонент является нечетным, то его значение добавляется к переменной s. В конце функция возвращает значение переменной s.
- Переменные a и b представляют собой два вектора из 5 и 9 компонентов соответственно.
- В основной части программы сначала вызывается процедура Vvod для создания первого вектора, затем вызывается процедура Vivod для вывода содержимого вектора и значения суммы нечетных компонентов. Затем вызывается функция summa для получения суммы нечетных компонентов второго вектора и вывода результата. Наконец, программа завершается вызовом функции readln для чтения очередного символа и завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д