
- •Предисловие
- •Содержание курсов "информатика" и "основы алгоритмизации и языки программирования"
- •2.1. Лекционные занятия
- •Тема 9. Разработка и отладка программ с использованием подпрограмм-
- •Тема 10. Разработка и отладка программ с использованием данных
- •Тема 11. Разработка и отладка программ с использованием
- •Приложение
- •2.2. Лабораторные и практические занятия
- •2.3. Рекомендации к бюджету времени при изучении курсов
- •Внимание!
- •Введение Начальные сведения о компьютере ibm pc
- •Клавиатура
- •Особые комбинации клавиш
- •Файлы данных
- •Операционная система ms dos
- •Составные части dos
- •Загрузка и перезагрузка пк
- •Работа с файлами, каталогами и командами
- •Внутренние команды dos
- •Программная оболочка Norton Commander
- •Функциональные клавиши nc
- •Некоторые комбинации клавиш nc
- •Особенности работы интегрированной среды (ide) Турбо Паскаль (Тurbo Рascal)
- •Команды работы с блоками
- •Программирование на языке турбо паскаль Тема № 1 Разработка и отладка программ линейного вычислительного процесса
- •Приоритет выполнения операций
- •Примеры
- •Варианты заданий
- •Тема № 2 Разработка и отладка программ разветвляющегося вычислительного процесса. Логический условный оператор
- •Тема № 3 Разработка и отладка программ разветвляющегося вычислительного процесса. Оператор выбора варианта
- •Варианты заданий
- •15. Введите символ с клавиатуры компьютера и определите, является ли он символом английского алфавита, символом русского алфавита или знаком препинания.
- •16. Введите цифру и распечатайте соответствующий ей знак зодиака. Например единице, соответствует знак зодиака "водолей". Если такой цифры нет, то сделайте сообщение.
- •Тема № 4 Разработка и отладка программ циклического вычислительного процесса. Оператор цикла с параметром
- •Примеры
- •Варианты заданий
- •Тема № 5 Разработка и отладка программ циклического вычислительного процесса. Операторы цикла с постусловием и предусловием
- •Оператор цикла с предварительным условием (предусловием) имеет вид:
- •Тема № 6 Разработка и отладка программ с использованием структурированных типов данных – одномерных массивов
- •Тема № 7 Разработка и отладка программ с использованием структурированных типов данных – двухмерных массивов
- •Тема № 8 Разработка и отладка программ с использованием подпрограмм-функций
- •Подпрограмма-функция Структура функции
- •Примеры
- •11. Даны три массива а(10), в(8), с(12). Подсчитайте для каждого массива среднее арифметическое его положительных элементов, для чего используйте подпрограмму-функцию.
- •13. Составьте подпрограмму-функцию вычисления элементов нового массива на основании элементов массивов а и в по правилу
- •20. Вычислите суммы элементов каждой строки матрицы в(8,8), определите наибольшее значение этих сумм и номер соответствующей строки. Для подсчета сумм и наименьшего значения напишите функции.
- •Тема № 9 Разработка и отладка программ с использованием подпрограмм-процедур
- •Подпрограмма-процедура
- •Структура процедуры
- •Примеры
- •Составьте программу с подпрограммой определения максимальной и минимальной оценок, а также среднего балла, данных девятью судьями каждой из пяти фигуристок.
- •Тема № 10 Разработка и отладка программ с использованием данных символьного и строкового типов
- •Операции над символами
- •Операции над строками
- •Строковые процедуры
- •Строковые функции
- •Варианты заданий
- •Тема № 11 Разработка и отладка программ с использованием структурированных типов данных - файлов
- •Var имя : file of базовый тип;
- •Var имя : имя типа;
- •4.Массив к данных вещественного типа записать в типизированный файл, а затем считать из него средний элемент.
- •Варианты заданий
- •9. Имеется файл с данными целого типа. Считайте эти значения в исходной программе в массив, упорядочьте элементы массива в порядке возрастания (убывания) и запишите его в новый файл.
- •18. Имеется массив температур т[30]. Напишите подпрограмму, находящую среднюю температуру за дни с к1 по к2. Определите самую теплую неделю месяца. Результат запишите в файл.
- •23. Имеется массив температур т[30]. Определите среднюю температуру за месяц, самую теплую и самую холодную температуры в течение месяца. Результаты запишите в файл.
- •Приложения
- •Типы Простые Порядковые Целые
- •Процедурные Файлы
- •Длинные и короткие вещественные типы
- •В) Таблица п.3 Кодировка символов в соответствии с таблицей кодов ascii
- •I. Модуль system
- •II. Модуль dos
- •III. Модуль crt
- •IV. Модуль graph
- •V. Модуль printer
- •VI. Модуль overlay
- •Основные термины
- •Учебная литература по курсу
Тема № 9 Разработка и отладка программ с использованием подпрограмм-процедур
Тема посвящена организации вычислительных процессов и программ с использованием важнейшего средства структурного и модульного программирования – подпрограмм (процедур).
При программировании с использованием языка Паскаль, как и при написании программ на других алгоритмических языках, часто возникает необходимость выделять неоднократно выполняемые вычисления при различных исходных данных в отдельные программные единицы, называемые подпрограммами. Подпрограммы имеют четко обозначенные вход и выход. В алгоритмическом языке Паскаль имеется два вида подпрограмм: процедура (PROCEDURE) и функция (FUNCTION).
Процедуры и функции описываются в разделе описаний до основного слова BEGIN. Подпрограмма может содержать и другие подпрограммы. Важно помнить о следующем: любая программная единица перед использованием должна быть предварительно описана.
Подпрограмма-процедура
Подпрограмма-процедура удобна, когда нужно вычислить несколько выходных результатов, хотя она может вычислять один результат или ничего не вычислять.
Структура процедуры
PROCEDURE имя ( список формальных параметров с указанием типов);
Раздел описаний;
BEGIN
Последовательность операторов;
END;
Раздел описаний процедуры подобен разделу описаний основной программы, т.е. состоит из описаний меток, типов, констант, переменных, а также процедур и функций. Вызывается подпрограмма-процедура в основной программе по имени подпрограммы с указанием в скобках фактических параметров (если они есть) таким образом:
имя (список реальных параметров );
при этом количество, тип и порядок следования реальных и формальных параметров должны совпадать. Каждый формальный параметр указывается со своим типом; реальный же - без типа. Список формальных и реальных параметров может быть пустым, например:
PROCEDURE PRINTT; .
В этом случае данные могут быть описаны внутри процедуры. Это так называемые ”локальные” данные. Данные, описанные предварительно, например, в разделе описаний основной программы, но используемые в подпрограмме, являются ”глобальными”. ”Локальные” данные имеют более высокий приоритет по отношению к ”глобальным”.
В список входят параметры-значения и параметры-переменные. Параметры-значения являются только входными данными процедуры, т.е. на входе и выходе из подпрограммы они не меняют своего значения. Они представляют собой копию переменной-оригинала из основной программы, как бы мы не меняли копию – оригинал остается неизменным. Параметры-переменные играют роль как входных, так и выходных данных процедуры, поэтому в процессе выполнения подпрограммы, они на выходе из нее могут изменить свое значение. Параметры-переменные дают доступ непосредственно к переменной-оригиналу основной программы. Они выделяются в списке формальных параметров ключевым словом VAR перед параметром-переменной.
Пример.
PROCEDURE SSM(N:INTEGER;A,B,C:REAL; VAR P,F:REAL);
VAR I: INTEGER;
BEGIN FOR I:=1 TO N DO
BEGIN
P:= A*SIN(B) - EXP(C);
F:= P - SQRT(ABS(A*B-C));
WRITELN (’P=’,P,’F=’,F);
END; END;
Здесь N, A, B, C - параметры-значения; P, F - параметры переменные, I - локальная переменная.
В качестве реальных параметров могут использоваться константы, переменные, выражения, элементы массивов.
При работе с подпрограммами следует обратить внимание на способ передачи структурированных типов данных, например массивов в подпрограмму. В этом случае структурированные типы необходимо описывать в разделе типов (TYPE).
Пример
TYPE MAS=ARRAY [1..10]OF INTEGER;
VAR A,B:MAS;
I:INTEGER;
PROCEDURE SUM(D:MAS;VAR S:REAL);
BEGIN
S:=0;
FOR I:=1 TO 10 DO S:=S+D[I];
END;