Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодуказанияПракОАПР2011Дрань.doc
Скачиваний:
12
Добавлен:
27.10.2018
Размер:
543.74 Кб
Скачать

Задание 7 Подпрограммы-процедуры

ЦЕЛЬ РАБОТЫ:

  • закрепление знаний по организации подпрограмм-процедур (описание, вызов, передача параметров, деление переменных на локальные и глобальные).

Пример оформления и использования процедуры

Процедуры применяются в тех случаях, когда в результате выполнения её операторов получается НЕСКОЛЬКО результатов.

Вычислить: ,

где – сумма и количество положительных элементов массива А и В (учесть, что размер массивов будет не более 100).

Решение

В данном случае необходимо повторить 2 раза одни и те же вычисления. Так как количество результатов должно быть 2 (сумма и количество положительных элементов для каждого массива), то следует разработать процедуру.

ТАБЛИЦА ОБОЗНАЧЕНИЙ К ОСНОВНОЙ ЧАСТИ ПРОГРАММЫ:

№ п/п

Наименование параметра

Имя

Тип переменной

1

Массивы А и В

А, В [1..100]

Real

2

Количество элементов, использованных в массивах А и В

N1, N2

Integer

3

Суммы положительных элементов

S1, S2

Real

4

Количество положительных элементов

K1, K2

Integer

5

Параметр Z

Z

Real

6

Текущий элемент массивов

I

Integer

Блок-схема основной части программы «Блок-схема процедуры SUMKOL»

нет

да

Программа

PROGRAM FZ;

TYPE AS=ARRAY [1..100] OF REAL;

VAR N1, N2, K1, K2, I : INTEGER;

Z, S1, S2 : REAL;

A, B : MAS

PROCEDURE SUMKOL (NN : INTEGER; X : MAS; VAR S : REAL; VAR K : INTEGER);

{NN – количество переданных чисел в массиве Х; S, K – сумма и количество положительных элементов в массиве Х}

VAR I : INTEGER; {I – текущий индекс}

BEGIN

S:=0; K:=0;

FOR I:=1 TO NN DO

IF X [I]>0 THEN BEGIN S:=S+X [I];

K:=K+1

END;

END; {SUMKOL}

BEGIN

WRITE (‘N1, N2=?’);

READLN (N1, N2);

FOR I:=1 TO N1 DO

BEGIN

WRITE (‘A[‘, I:3, ‘ }=?’);

READLN (A [I])

END;

FOR I:=1 TO N2 DO

BEGIN WRITE (‘B[‘, I:3, ‘ }=?’);

READLN (B [I])

END;

SUMKOL (N1, A, S1, K1); {обращение к процедуре}

SUMKOL (N2, B, S2, K2);

Z:=(S1+S2)/(K1+K2);

WRITELN (‘ Z= ’, Z:10:3)

END.

Выполнить задания

1 вариант

  1. Решить задачи из задания 6 используя процедуры

  2. В массивах А[N] и B[M] найти суммы тех элементов, которые кратны данному К

  3. В массиве A[N,N] вычислить сумму и количество элементов, находящихся над главной диагональю

2 вариант

  1. Решить задачи из задания 6 используя процедуры

  2. Вычислить R= К1-К2, где К1 и К2 произведения элементов массивов А[N] и В[M]

  3. В массивах Х[N], Y[M] умножить все четные элементы на максимальный элемент

3 вариант

1. Решить задачи из задания 6 используя процедуры

  1. Определить разность между максимальными элементами массивов A[N], B[M]

  2. Подсчитать количество элементов, равных L в массивах A[N], B[M]

4 вариант

  1. Решить задачи из задания 6 используя процедуры

  2. В массивах А и В из К элементов вычислить среднее арифметическое элементов, имеющих четное значение

  3. В массивах A[N] и B[M] упорядочить элементы по возрастанию.

5 вариант

  1. Решить задачи из задания 6 используя процедуры

  2. В массиве S из N и R из M элементов вычислить сумму и произведение элементов, значение которых больше заданного числа x ( значение х задается при помощи оператора ввода)

  3. В массиве К из N и Р из H элементов найти сумму элементов, имеющих четные номера и произведение элементов, имеющих нечетные номера.

6 вариант

  1. Решить задачи из задания 6 используя процедуры

  2. В массивах К из N элементов и L из Z элементов найти сумму элементов, имеющих чётные номера и произведение элементов, имеющих нечётные номера.

  3. В массивах S из N x M элементов и К из B x Q элементов найти максимальный элемент и номера строки и столбца, на пересечении которых он находится.

7 вариант

  1. Решить задачи из задания 6 используя процедуры

  2. стр.334 задача 1.

  3. Чего больше: всех возможных трехзначных чисел, записываемых цифрами 1, 2, 3, 4, 5; всех двузначных чисел, записываемых цифрами 2,4,6,8; всех четырехзначных чисел, записываемых цифрами 1,3,7,8,9? Подсчет количества соответствующих чисел оформить в виде подпрограммы.

Указания к решению задачи:

Количество k –значных чисел, составляемых из n различных цифр (кроме 0), равно

А= , т.е. равно числу размещений из n по k.