Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР по спец информатики.doc
Скачиваний:
12
Добавлен:
16.08.2019
Размер:
219.14 Кб
Скачать

2. Методические указания по выполнению первого задания

2.1.Постановка задачи

Выполнение любого задания начинается с постановки задачи.

Содержание постановки задачи:

  1. Формулировка задачи;

  2. Описание выходной информации;

  3. Описание входной информации;

  4. Математическое описание задачи;

  5. Описание алгоритма решения задачи;

  6. Разработка контрольного примера.

2.2. Основные положения структурного программирования

Идея структурного программирования: структура программы должна отражать структуру решаемой задачи, чтобы алгоритм решения был ясно виден из исходного текста. С этой целью широко используются подпрограммы - набор операторов, выполняющих нужное действие и не зависящих друг от друга. В языке TURBO PASCAL имеется два вида подпрограмм: подпрограммы-процедуры -

procedure <имя> (<список параметров>);

и подпрограммы-функции –

function <имя> (<список параметров>): <тип>;

Таким образом, программу разбивают на несколько более мелких подпрограмм, каждая из которых выполняет одно из действий. Соответствующая комбинация этих подпрограмм дает возможность получить удобную, наглядную и хорошо отлаживаемую программу.

В ходе выполнения курсовой работы для решения задач требуется применить технологию нисходящего программирования:

  1. Сначала выделить несколько модулей, решающих общие задачи;

  2. Каждый из этих модулей детализировать на более низком уровне, полученные модули разбить, в свою очередь, на небольшое число других подпрограмм, решающих отдельную подзадачу и т.д., пока вся задача не окажется реализованной. ( рис.1).

Основная программа

заставка

меню

выход из программы

ввод данных в файл

просмотр данных файла

обработка данных файла

выход из меню

запрос 1

запрос 2

выход в меню

Рис. 1. Пример построения структурной схемы программы

Основная программа состоит из следующих разделов (подпрограмм):

  1. Заставка.

  2. Меню.

  3. Выход из программы.

Процедура «Меню», в свою очередь, содержит следующие пункты:

  1. Ввод исходных данных.

  2. Просмотр данных.

  3. Обработка данных.

  4. Выход из меню.

Составление программы начинают с уровня наименьшей детализации, т.е. с основной программы. Затем обрабатывается и отлаживается второй уровень. Третий уровень (в нашем случае - обработка запросов) создается и отлаживается в последнюю очередь.

При выполнении первого задания курсовой работы приходится иметь дело с данными, которые состоят из других данных. Например, сведения в телефонном справочнике содержат фамилии, адреса и телефоны жителей города. Для представления такой информации используют тип 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