Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012_METODICh_POSOBIE_PASCAL.doc
Скачиваний:
14
Добавлен:
15.09.2019
Размер:
2.97 Mб
Скачать

Текст модуля программиста к задаче 14.

Unit MyMod;

interface

Type Mas=Array[1..15] of integer; { тип массив }

Procedure Vvod (Var X:Mas);

Procedure Vivod (Var X:Mas);

Function Col1 (Var X:Mas) : byte;

Function Col2 (Var X:Mas) : byte;

Procedure Uvel (Var X: Mas; n:integer);

Procedure Umen (Var X: Mas; n:integer);

implementation

Procedure Vvod; {процедура ввода массива}

Var i: byte;

Begin

For i:=1 to 15 do

X[i]:=Random(100)-25;

End;

Procedure Vivod ; {процедура вывода массива}

Var i: byte;

Begin

For i:=1 to 15 do

Write (X[i]:5);

Writeln;

End;

Function Col1 (Var X:Mas) : byte;

{функция подсчета кол-ва четных значений в массиве}

Var i, z: byte;

Begin

z:=0;

For i:=1 to 15 do begin

if X[i] mod 2 =0 then z:=z+1;

End;

Col1:=z;

End;

Function Col2 (Var X:Mas) : byte;

{функция подсчета кол-ва нечетных значений в массиве}

Var i, z: byte;

Begin

z:=0;

For i:=1 to 15 do begin

if X[i] mod 2 <>0 then z:=z+1;

End;

Col2:=z;

End;

Procedure Uvel;

{процедура увеличения четных эл-тов на значение n}

Var i: byte;

Begin

For i:=1 to 15 do

if X[i] mod 2 =0 then X[i]:=X[i]+n;

End;

Procedure Umen;

{процедура уменьшения нечетных эл-тов на значение n}

Var i: byte;

Begin

For i:=1 to 15 do

if X[i] mod 2 <>0 then X[i]:=X[i]-n;

End;

End.

Текст основной программы к задаче 14.

Program Ex_14;

Uses MyMod, Crt;

Var k1, k2: byte;

A, B: Mas;

Begin

ClrScr;

Randomize;

Vvod (A); { ввод массива А }

Vivod(A); { вывод массива А }

Vvod (B); { ввод массива В }

Vivod(B); { вывод массива В }

k1:=Col1(A); { вычисление кол-ва четных в массиве А}

k2:=Col2(A); { вычисление кол-ва нечетных в массиве А }

if k1>k2 then begin { если четных больше }

Uvel(A, 10); Umen(A, 10); Vivod(A);

End;

k1:=Col1(B); { вычисление кол-ва четных в массиве В}

k2:=Col2(B); { вычисление кол-ва нечетных в массиве В }

if k1>k2 then begin { если четных больше }

Uvel(B, 10); Umen(B, 10); Vivod(B);

End;

Readln;

End.

Схема основной программы

к задаче 14.

44