|
||||||||||||||
Составление программ, использующих процедуры ввода- вывода и обработки массивовСтр 1 из 2Следующая ⇒ Составление программ, использующих процедуры ввода- вывода и обработки массивов Подпрограмма – это именованная логически законченная группа операторов языка, которую можно вызвать для выполнения по имени любое количество раз из различных мест программы. В языке программирования Pascal существует два вида подпрограмм:
Образец выполнения для варианта 0 Задание: Пусть заданы два массива: A[n], B[m] 1 массив-случайный 2 массив – ручного ввода Вычислить Где S1-Сумма положительных элементов первого массива P2-Произведение нечетных элементов второго массива K1-количество положительных элементов в 1 массиве K2-количество нечетных элементов во втором массиве Предусмотреть критический случай
3. Программа: Program dva_massiva_proced; uses crt; var Z: real; A: array [1.. 50] of integer; B: array [1.. 50] of integer; i, k1, k2, m, n, s1, P2: integer; Procedure Input_rnd_mas(const s: char; var klv: integer; var msv: array [1.. 50] of integer); Begin write ('vvedite kolichestvo elementov sluchainogo massiva: '); ReadLn(klv); Writeln('Massiv', s: 3); randomize; For i: = 1 to klv do msv[i]: =round(-30+60*random); end; Procedure Input_mas(const s: char; var klv: integer; Var msv: array[1.. 50] of integer); begin write ('vvedite kolichestvo elementov nesluchainogo massiva: '); ReadLn(klv); Writeln('Massiv', s: 3); For i: =1 to klv do Begin Write(s, '[', i, ']='); readln (msv[i]); End; end; Procedure Output(const s: char; klv: integer; msv: array [1.. 50] of integer); begin WriteLn('Vivod Massiva', s: 3); For i: = 1 to klv do WriteLn(s, '[', i, ']= ', msv[i]: 5); end; Procedure sum_pologit(klv: integer; msv: array [1.. 50] of integer; var sum: integer; var klv1: integer); begin Sum: =0; Klv1: =0; for i: =1 to klv do if msv[i]> 0 then begin Sum: =Sum+msv[i]; Klv1: =Klv1+1; end; writeln('sum=', sum: 5); writeln('kolichestvo=', klv1: 3); end; Procedure proizv_nechet(klv: integer; msv: array [1.. 50] of integer; var proizv: integer; var klv1: integer); begin proizv: =1; Klv1: =0; for i: =1 to klv do if (msv[i]mod 2 = 1) then begin proizv: =proizv*msv[i]; Klv1: =Klv1+1; end; writeln('proizv=', proizv: 5); writeln('kolichestvo=', klv1: 3); end;
|
||||||||||||||
|