Страницы

Уроки 33,34 Использование функций и процедур


Пользовательские процедуры и функции решают три важные задачи:
1. Избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты.

2.Улучшают структуру программы, облегчая ее понимание.

3. Повышают устойчивость к ошибкам программирования и непредвиденным последствиям при изменении  программы.

В подпрограмму может выделяться любой законченный фрагмент программы.

Полезно разбить  программу на составные части - просто как книгу разбивают на главы. При этом основная программа становится похожей на оглавление.

Бывают сложные частные алгоритмы. Полезно отладить их отдельно. Включение отлаженных алгоритмов в основную программу будет легким, если они оформлены как подпрограммы.

Положительные моменты в  использования подпрограмм:
1. Программы с использованием подпрограмм позволяют реализовать один из самых прогрессивных методов программирования - структурное программирование.



2. Программа становится более читаемой.

3. Происходит экономия памяти, которая получается из-за того, что память для хранения переменных, используемых в подпрограммах, выделяется только на время работы подпрограммы.


Задание 1. Сформируйте одномерный массив, который содержит не более 15 целых чисел случайным образом. Используйте при этом процедуры заполнения массива и вывода его элементов. Количество элементов запросить с клавиатуры.

program z1;

type mas=array[1..15] of integer;
var a:mas; n:integer;
procedure vvod ( var n:integer; var a: mas);
var i : integer;
begin

readln(n);
randomize;
for i:=1 to n do
a[i]:=random(25)-5;

end;
procedure vyvod ( n:integer;  a: mas);
var i: integer;
begin

for i:=1 to n do write(a[i]:4);
writeln
end;
begin
vvod (n,a);

vyvod(n,a);
end.


Экспериментальный раздел

1. Заданы два массива А и В. Создайте массив С, в котором каждый элемент равен сумме соответствующих элементов массивов А и В.

2. Заданы два массива, определите равны ли их максимальные элементы.

3. Заданы два массива, содержится ли минимальный элемент первого массива среди элементов второго массива?


Задание 2. Даны два одномерных массива из целых чисел. Найти элементы, которые есть в первом массиве и которых нет во втором массиве.


       Тесты         Посмотреть решение       

Экспериментальный раздел

Даны два одномерных массива из целых чисел. Вывести элементы, которые есть в одном массиве, но нет в другом.


Задание 3. Составьте программу для определения большего из четырех чисел.
Указание: поиск большего 2-х чисел оформить как функцию.


       Тесты         Посмотреть решение       

Задание 4. Определите НОД четырех натуральных чисел.
Указание: поиск НОД  2-х чисел оформить как функцию.




       Тесты         Посмотреть решение   

Экспериментальный раздел

1. Определите НОК четырех чисел.
Указание: НОК(a, b)=a*b/НОД(a, b).

2. Найти НОД и НОК всех элементов массива.


3. Даны две дроби a/b и c/d. Привести их к общему знаменателю.

4. Найти сумму двух дробей a/b и c/d. Ответ записать обыкновенной дробью.

Задания для самостоятельного решения

1. Определить, сократима ли дробь m/n.

2. Даны координаты вершин треугольника A(x1; y1), B(x2; y2), C(x3,y3). Найти его периметр.
Указание: расстояние между двумя точками А и В можно вычислить по формуле: 
3. Определить, являются ли перевертышами числа a и b.
Указание:  два числа называются перевертышами, если они записаны одними и теми же числами, но в обратном порядке.

4. Даны три массива A, B, C. Найдите значение наибольшего элемента среди элементов трех массивов, определите, который из массивов его содержит.