Лабораторная работа №4
Тема: Процедуры и их применение
Цель: исследовать применение процедур в основной программе, закрепить навыки по описанию и созданию подпрограмм-процедур.
Вид работы: индивидуальная.
Время выполнения: 2 часа.
Теоретические сведения:
Очень часто в программах встречаются однотипные участки, которые выполняют одни и те же вычисления с различными данными. Такие части программ целесообразно выполнять с помощью подпрограмм. В Pascal существует два вида подпрограмм: процедуры и функции.
Описание процедуры имеет следующий вид.
Procedure имя процедуры (список формальных параметров);
Раздел описаний
Begin
Раздел операторов
End;
Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные параметры, объявленные внутри подпрограммы и доступные только ей самой, и глобальные – объявленные в основной программе и доступные как программе, так и всем её подпрограммам. Помимо этого можно выделить ещё два вида параметров: фактические и формальные. Формальные параметры – параметры, определённые в заголовке подпрограммы. Фактические параметры – выражения, задающие конкретные значения при обращении к подпрограмме. При обращении к подпрограмме её формальные параметры замещаются фактическими, переданными из главной программы. Формальные параметры процедур бывают двух видов:
1) параметры – значения (входные параметры);
2) параметры – переменные (выходные параметры).
Ход работы:
1) к первой задаче составьте алгоритм в виде блок-схемы и запишите листинг;
2) для второй задачи оформите только листинг программы;
Задания к работе:
Задание №1. Напишите программу, выполняющую вычисления в соответствии с таблицей №1.
Таблица №1
Задание №1 к лабораторной работе №4
№ варианта |
Исходные данные |
Выходные данные |
Действия, реализуемые в процедуре |
1 |
Два прямоугольника, стороны заданны случайным образом |
Площади прямоугольников |
Вычисление площади |
2 |
Два круга, радиусы вводить с клавиатуры |
Площади кругов |
Расчёт площади |
3 |
Два квадрата, стороны вводятся с клавиатуры |
Периметры квадратов |
Вычисление периметра |
4 |
Четырёхугольник, координаты заданы случайным образом |
Периметр четырёхугольника |
Вычисление длины стороны |
5 |
Два квадрата, стороны заданы случайным образом |
Площади квадратов |
Определение площади |
6 |
Две окружности, радиусы заданы через генератор случайных чисел |
Длины дуг |
Вычисление длины дуги |
7 |
Два треугольника, стороны вводятся с клавиатуры |
Периметры треугольников |
Расчёт периметра |
8 |
Две трапеции, стороны заданы случайным образом |
Периметры трапеция |
Вычисление периметра |
9 |
Два конуса, радиусы и высоты вводятся с клавиатуры |
Объёмы конусов |
Расчёт объёма |
10 |
Четыре сферы, радиусы задаются случайным образом |
Объёмы сфер |
Расчёт объёма |
Задание №2. Напишите программу, выполняющую вычисления в соответствии с таблицей №2.
Таблица №2
Задание №2 к лабораторной работе №4
№ варианта |
Исходные данные |
Выходные данные |
Действия, реализуемые в процедуре |
1 |
Трёхзначные числа (100 … 999) |
Числа, равные сумме факториалов своих цифр |
Вычисление факториала |
2 |
Числа от 1 до n |
Количество простых чисел |
Простое число или нет |
3 |
Числа от n1 до n2 |
Количество двузначных чисел |
Двузначное число или нет |
4 |
Массивы X(10), Y(10) и Z(10) |
|
Определение максимального элемента |
5 |
Массивы Q(20), P(20) |
|
Подсчёт количества отрицательных элементов |
6 |
10 сфер, где радиусы заданы массивом R(10) |
|
Вычисление объёма по соответствующему радиусу R |
7 |
Матрица D(n) – стороны квадратов |
|
Вычисление площади |
8 |
Массивы X(10), Y(10) |
|
Подсчёт количества кратных трём в массиве |
9 |
Матрицы A1(6; 6), A2(5; 5), A3(4; 4) |
Суммы элементов по главным диагоналям |
Определение суммы |
10 |
Целые числа d, j, t |
|
Расчёт подкоренного выражения |
Контрольные вопросы:
1) Дайте определение подпрограммы.
2) Обозначьте основные отличия процедур и функций?
3) Сколько раз можно вызывать процедуру в основной программе?
4) Что называется параметром, и каково его назначение? Формальные, фактические параметры, их взаимосвязь.
5) Каковы отличия параметров-значений от параметров-переменных, особенности их описания и применения.
6) Для каждой из нижеописанных процедур указать, какие из ее параметров являются параметрами-значениями, а какие – параметрами-переменными:
А) Var c, d: integer;
procedure P(x, y: integer);
begin y:= x+1; end;
Б) Var c, d: integer;
procedure Q (x: integer; var y: integer);
begin y:= y+1; end;
7) Можно ли в процедуре пользователя не указывать аргументы и результаты?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.