Использование подпрограмм с параметрами
Процедурного типа и нетипизированными параметрами
Цель работы: получение навыков описания и использования объектов процедурного и функционального типа и закрепление навыков обработки нетипизированных параметров подпрограмм.
Задания для подготовки к работе
1. Изучите процедурный и функциональный типы, организацию передачи подпрограмм подпрограммам в качестве параметров, приведение типов значений и типов переменных, приемы обработки нетипизированных параметров подпрограмм.
2. Разработайте алгоритм и составьте программу для решения следующей задачи.
3. Имеется информация о студентах группы: Ф.И.О., результаты последней экзаменационной сессии. Требуется получить список студентов с указанием среднего балла по итогам сессии, упорядоченный по указанию пользователя либо лексикографически, либо по невозрастанию среднего балла. В программе использовать универсальную процедуру сортировки произвольного массива с произвольным базовым типом. Процедуре передается массив, его длина, размер элемента и логическая функция сравнения двух элементов массива.
4. Опишите блок-схему алгоритма решения задачи в укрупненных блоках.
5. Для каждой подзадачи опишите используемые структуры данных, если необходимо, и спецификацию и блок-схему алгоритма без использования специфических обозначений языка программирования.
6. Опишите блок-схему алгоритма решения задачи с использованием блоков «предопределенный процесс».
7. Опишите блок-схему алгоритма решения задачи с использованием блоков «предопределенный процесс».
8. Закодируйте алгоритм.
9. Подберите наборы тестовых данных с обоснованием их выбора.
Задания к работе
1. Наберите программу, отладьте ее, протестируйте.
2. Выполните анализ ошибок, выявленных при отладке программы.
Содержание отчет а
1. Формулировка задачи.
2. Ответы на пункты 2 – 9 заданий для подготовки к работе.
3. Описание ошибок, выявленных при отладке программы с указанием вида ошибки, и почему она была сделана.
Контрольные вопросы
1. Как описывается процедурный тип?
2. Как описывается функциональный тип?
3. С какой целью используются процедурные и функциональные типы?
4. Что может быть присвоено переменной процедурного или функционального типа?
5. Каким требованиям должны удовлетворять процедура или функция для обеспечения совместимости по присваиванию?
6. В каких случаях используются нетипизированные параметры в подпрограммах?
7. Как обрабатываются нетипизированные параметры в подпрограммах?
Приложение
1. Пример оформления лабораторной работы
из числа работ № 1 – № 3
Лабораторная работа № 2