- •Учебно-методическое пособие по выполнению курсовой работы по дисциплине
- •1. Правила выполнения и оформления пояснительной записки к курсовой работе
- •1.1.Содержание пояснительной записки к курсовой работе
- •1.2. Оформление пояснительной записки
- •2. Методические указания по выполнению первого задания
- •2.1.Постановка задачи
- •2.2. Основные положения структурного программирования
- •Inc ( g ); { увеличить номер строки на 1 }
- •Методические указания по выполнению второго задания
- •3.1. Работа с двумерными массивами
- •3.2. Рекомендации по работе с квадратными матрицами
- •4. Варианты заданий для выполнения курсовой работы
- •Основные процедуры и функции стандартных модулей crt, graph.
Inc ( g ); { увеличить номер строки на 1 }
READ ( F, NAROD [ G ] ); { ЧИТАТЬ ИЗ ФАЙЛА СТРОКУ ЗАПИСИ № G}
END;
CLOSE ( F );
END;
Кроме ввода данных в файл и чтения из файла в курсовой работе необходимо организовать процедуры обработки запросов. В нашем примере программа должна давать следующую информацию:
По вводимой с клавиатуры фамилии выдавать номер телефона и адрес;
По вводимому с клавиатуры адресу выдавать номер телефона и фамилию.
Одним из требований к работе является организация записи , чтения информации, обработка запросов при помощи меню. Для успешного выполнения этого условия необходимо уметь применять оператор выбора CASE и пользоваться таблицей кодов ASCII. Для облегчения вашей работы в Приложении 5 методических указаний помещена таблица кодов, пример программы «Меню» приведен ниже:
PROGRAM MENU;
USES CRT;
CONST
M : ARRAY [ 1 . . 3] OF STRING = (‘ ПУНКТ 1 ‘, ‘ ПУНКТ 2 ’, ‘ ПУНКТ 3 ’ );
VAR
I, A : INTEGER;
C : CHAR; { КОД НАЖАТОЙ КЛАВИШИ }
BEGIN
A :=1;{ НОМЕР ПУНКТА МЕНЮ НА КОТОРОМ СТОИТ СВЕТОВОЙ КУРСОР }
TEXTBACKGROUND ( 1 );
CLRSCR; { ЦВЕТ СИНИЙ }
GOTOXY ( 20, 5 );
TEXTCOLOR ( 14 );
WRITELN (‘ МЕНЮ ПОЛЬЗОВАТЕЛЯ ‘);
GOTOXY ( 2, 23 );
WRITE (‘ ВЫБОР ПУНКТА МЕНЮ ’ + СHR ( 24 ) + ’ ‘ + CHR ( 25 ) + ’ ‘ );
WRITE ( ‘ ПОДТВЕРЖДЕНИЕ – ENTER. ESC – ВЫХОД. ’ );
TEXTCOLOR ( WHITE ); { ЦВЕТ БУКВ, КОТОРЫМИ НАПИСАНЫ ПУНКТЫ МЕНЮ}
REPEAT
FOR I := 1 TO 3 DO { I – НОМЕР СТРОКИ }
BEGIN
IF A = I THEN
TEXTBACKGROUND ( 3 )
{ ПОЛОСА – КУРСОР НА ПУНКТЕ МЕНЮ БИРЮЗ. ( 3 )}
ELSE
TEXTBACKGROUND ( 4 );
{ КРАСНЫЙ ФОН ПУНКТОВ, НА КОТОРЫХ НЕ СТОИТ КУРСТОР }
{ ПИШЕМ ВСЕ ПУНКТЫ МЕНЮ }
GOTOXY (30, 9 + I );
WRITELN ( M [ I ]);
END;
C := READKEY; { НАЖМИТЕ КЛАВИШУ }
IF C = # 0 THEN C := READKEY;
CASE C OF
# 80 : { СТРЕЛКА ВНИЗ }
BEGIN
INC ( A );
{ НОМЕР СТРОКИ, НА КОТОРУЮ ПЕРЕВЕДЕН КУРСОР, УВЕЛИЧ.}
IF A > 3 THEN A := 1;
END;
# 72 : {СТРЕЛКА ВВЕРХ }
BEGIN
DEC ( A );
IF A < 1 THEN A :=3;
END;
# 13 : { НАЖАТА ENTRE}
BEGIN
CASE A OF
1 : BEGIN
SOUND ( 700 ); DELAY ( 2000 ); NOSOUND;
END;
2 : BEGIN
SOUND ( 400 ); DELAY ( 3000 ); NOSOUND;
END;
3 : HALT;
END;
END;
END;
UNTIL C = # 27;
END.
Заставка к программе может быть создана как в текстовом, так и в графическом режиме и должна содержать информацию о программе и о создателе, например:
СВЕДЕНИЯ О ПРОГРАММЕ:
ПРОГРАММА ПРЕДУСМАТРИВАЕТ:
ПОИСК НОМЕРА ТЕЛЕФОНА ПО ФАМИЛИИ,
ПО АДРЕСУ.
ПРОГРАММА РАСЧИТАНА НА 50 ТЕЛЕФОНОВ;
ПРОГРАММА СОСТАВЛЕНА СТУДЕНТОМ ГРУППЫ БИС – 101
ЛЕОНОВЫМ ЕВГЕНИЕМ
ДАТА: 20.04.2011 Г.
Рекомендуется использовать различные цвета символов, цвета фона, окон, шрифтов и др.
Методические указания по выполнению второго задания
3.1. Работа с двумерными массивами
Во втором задании курсовой работы необходимо составить блок-схему алгоритма и программу обработки двумерного массива. При решении этих задач используются основные алгоритмы для работы с массивами:
заполнение массива
по строке:
FOR I :=1 TO N DO { ВНЕШНИЙ ЦИКЛ – I ИНДЕКС СТРОКИ }
FOR J := 1 TO M DO
{ ВНУТРЕННИЙ ЦИКЛ – J –ИНДЕКС СТОЛБЦА}
READ ( A [ I, J ] );
по столбцу:
FOR J :=1 TO M DO { ВНЕШНИЙ ЦИКЛ – J ИНДЕКС СТОЛБЦА }
FOR I := 1 TO N DO
{ ВНУТРЕННИЙ ЦИКЛ – I –ИНДЕКС СТРОКИ}
READ ( A [ I, J ] );
вывод на экран содержимого массива в виде таблицы:
FOR I :=1 TO N DO
BEGIN
FOR J := 1 TO M DO
{ ПЕЧАТАЮТСЯ ЭЛЕМЕНТЫ I –Й СТРОКИ }
WRITE ( A [ I, J ], ‘ ‘ );
{ КУРСОР ПЕРЕМЕЩАЕТСЯ НА СЛЕДУЮЩУЮ СТРОКУ }
WRITELN;
END;
вычисление суммы элементов:
массива:
. . .
. . .
S := 0;
FOR I :=1 TO N DO
FOR J := 1 TO M DO
S := S + A [ I,J ];
Строки:
FOR I :=1 TO N DO
BEGIN
S := 0;
FOR J := 1 TO M DO
S := S + A [ I,J ];
{ ВЫВОД СУММЫ И НОМЕРА СТРОКИ }
WRITELN ( S, I );
END;
Столбца:
FOR J :=1 TO N DO
BEGIN
S := 0;
FOR I := 1 TO M DO
S := S + A [ I,J ];
{ ВЫВОД СУММЫ И НОМЕРА СТОЛБЦА }
WRITELN ( S, J );
END;
поиск максимального ( минимального ) элемента:
массива:
MAX := A [ 1, 1 ];
IMAX := 1;
JMAX := 1;
FOR I :=1 TO N DO
FOR J := 1 TO M DO
IF A [ I, J ] > MAX THEN
BEGIN
MAX := A [ I, J ];
IMAX := I;
JMAX := J;
END;
Строки:
FOR I :=1 TO N DO
BEGIN
MAX := A [ I, 1 ];
FOR J := 2 TO M DO
IF A [ I, J ] > MAX THEN MAX := A [ I, J ];
END;
Столбца:
FOR J :=1 TO M DO
BEGIN
MAX := A [ 1, J ];
FOR I := 2 TO N DO
IF A [ I, J ] > MAX THEN MAX := A [ I, J ];
END;
упорядочивание элементов массива.
Эту операцию производят при помощи одного из методов сортировки. Некоторые из них описаны в методических указаниях для самостоятельной работы по Информатике. (8)