
- •Учебно-методическое пособие по выполнению курсовой работы по дисциплине
- •1. Правила выполнения и оформления пояснительной записки к курсовой работе
- •1.1.Содержание пояснительной записки к курсовой работе
- •1.2. Оформление пояснительной записки
- •2. Методические указания по выполнению первого задания
- •2.1.Постановка задачи
- •2.2. Основные положения структурного программирования
- •Inc ( g ); { увеличить номер строки на 1 }
- •Методические указания по выполнению второго задания
- •3.1. Работа с двумерными массивами
- •3.2. Рекомендации по работе с квадратными матрицами
- •4. Варианты заданий для выполнения курсовой работы
- •Основные процедуры и функции стандартных модулей crt, graph.
2. Методические указания по выполнению первого задания
2.1.Постановка задачи
Выполнение любого задания начинается с постановки задачи.
Содержание постановки задачи:
Формулировка задачи;
Описание выходной информации;
Описание входной информации;
Математическое описание задачи;
Описание алгоритма решения задачи;
Разработка контрольного примера.
2.2. Основные положения структурного программирования
Идея структурного программирования: структура программы должна отражать структуру решаемой задачи, чтобы алгоритм решения был ясно виден из исходного текста. С этой целью широко используются подпрограммы - набор операторов, выполняющих нужное действие и не зависящих друг от друга. В языке TURBO PASCAL имеется два вида подпрограмм: подпрограммы-процедуры -
procedure <имя> (<список параметров>);
и подпрограммы-функции –
function <имя> (<список параметров>): <тип>;
Таким образом, программу разбивают на несколько более мелких подпрограмм, каждая из которых выполняет одно из действий. Соответствующая комбинация этих подпрограмм дает возможность получить удобную, наглядную и хорошо отлаживаемую программу.
В ходе выполнения курсовой работы для решения задач требуется применить технологию нисходящего программирования:
Сначала выделить несколько модулей, решающих общие задачи;
Каждый из этих модулей детализировать на более низком уровне, полученные модули разбить, в свою очередь, на небольшое число других подпрограмм, решающих отдельную подзадачу и т.д., пока вся задача не окажется реализованной. ( рис.1).
|
|
Основная программа
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||
заставка
|
|
меню |
|
выход из программы
|
|
|||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||
|
|
ввод данных в файл
|
|
просмотр данных файла
|
|
обработка данных файла |
|
выход из меню |
|
|
|
|||||||||||
|
|
|
|
|
|
|||||||||||||||||
|
|
запрос 1
|
|
запрос 2 |
|
выход в меню
|
|
|
Рис. 1. Пример построения структурной схемы программы
Основная программа состоит из следующих разделов (подпрограмм):
Заставка.
Меню.
Выход из программы.
Процедура «Меню», в свою очередь, содержит следующие пункты:
Ввод исходных данных.
Просмотр данных.
Обработка данных.
Выход из меню.
Составление программы начинают с уровня наименьшей детализации, т.е. с основной программы. Затем обрабатывается и отлаживается второй уровень. Третий уровень (в нашем случае - обработка запросов) создается и отлаживается в последнюю очередь.
При выполнении первого задания курсовой работы приходится иметь дело с данными, которые состоят из других данных. Например, сведения в телефонном справочнике содержат фамилии, адреса и телефоны жителей города. Для представления такой информации используют тип RECORD.
Тип RECORD объявляют в разделе TYPE:
TYPE SPRAF = RECORD
FAM : STRING [ 15 ];
ADRESS : STRING [ 40 ];
TEL : 100 000 . . 999 999;
END;
В данном примере:
SPRAF – имя типа RECORD;
FAM – имя первого поля записи, в котором хранятся фамилии;
ADRESS – имя второго поля записи, в котором хранятся адреса;
TEL – имя третьего поля записи, в котором хранятся номера телефонов.
Затем в разделе VAR описывается переменная заданного типа:
NAROD : array [ 1 . .100 ] of SPRAF;
Все данные телефонного справочника должны храниться в типизированном файле, т.е. в программе должна быть объявлена файловая переменная типа SPRAF:
F : file of SPRAF;
Как известно, файловый тип данных представляет собой последовательность элементов одного типа, в нашем случае – это элементы типа-записи SPRAF.
Для ввода данных в файл, содержащий информацию о фамилиях, адресах и номерах телефонов можно использовать следующую процедуру:
{ Процедура предназначена для ввода 50 строк записи }
PROCEDURE VVOD;
TYPE SPRAF = RECORD
FAM : STRING [ 15 ];
ADRESS : STRING [ 40 ];
TEL : 100 000 . . 999 999;
END;
VAR NAROD : array [ 1 . .100 ] of SPRAF;
F : file of SPRAF;
I,G :INTEGER;
BEGIN
{ ВВОД ДАННЫХ }
FOR I := 1 TO 50 DO
WITH NAROD [ I ] DO
BEGIN
WRITELN ( I );
WRITELN ( ‘ ВВЕДИТЕ ФАМИЛИЮ: ’ );
READLN ( FAM );
WRITELN ( ‘ВВЕДИТЕ АДРЕС: ’ );
READLN ( ADRESS );
WRITELN ( ‘ВВЕДИТЕ ТЕЛЕФОН: ’ );
READLN ( TEL );
END;
{ ЗАПИСЬ ДАННЫХ В ФАЙЛ }
ASSIGN ( F, ‘ Z:\TELEFON’ );
REWRITE ( F );
FOR I := 1 TO 50 WRITE ( F, NAROD [ I ]);
CLOSE ( F );
END;
Для чтения данных из файла можно использовать процедуру:
PROCEDURE READING;
BEGIN
G := 0; { НОМЕР СТРОКИ }
ASSIGN (F, ‘Z:\TELEFON’ );
RESET ( F );
WHILE NOT EOF ( F ) DO { ПОКА ФАЙЛ НЕ ЗАКОНЧИЛСЯ }
BEGIN