Смекни!
smekni.com

Основы технологии программирования

ВОЛЖСКИЙ УНИВЕРСИТЕТ им. В.Н. ТАТИЩЕВА

ФАКУЛЬТЕТ ИНФОРМАТИКИ И ТЕЛЕКОММУНИКАЦИЙ

Кафедра “Информатика и системы управления”

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

“Основы технологии программирования”

для студентов специальности

071900 “Информационные системы”

220100 “Вычислительные машины, комплексы, системы и сети”

(для дневного отделения)

Тольятти 2006


1.ОБЩИЕ ПОЛОЖЕНИЯ О КУРСОВОЙ РАБОТЕ

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

Получив задание на курсовую работу, необходимо разбить задачу на отдельные модули (процедуры, функции).

Программа должна быть оформлена в диалоговом режиме. Работу с отдельными модулями программы реализовать через доступное “меню”. Пример программы “Меню” приведен в конце данного пособия.

2. ЦЕЛИ И ЗАДАЧИ КУРСОВОГО ПРОЕКТА

Дисциплина “Основы технологии программирования” читается в течении двух семестров. Курсовая работа выполняется во втором по счету семестре и служит для закрепления пройденного материала по соответствующему курсу и приобретению практических навыков программирования с применением объектно-ориентированного языка Pascal.

3.СОДЕРЖАНИЕ КУРСОВОЙ РАБОТЫ

Курсовая работа должна содержать следующие разделы:

1. титульный лист (Приложение 1);

2. оглавление;

3. рецензию (Приложение 2).

4. задание, на основании которого выполняется курсовая работа

(Приложение 3);

5. описание предметной области;

6. описание алгоритма задачи;

7. список используемой литературы;

8. приложения;

Приложения должны включать:

· листинги программ;

· распечатку структуры базы данных;

· распечатку результатов решения задачи по данным контрольного примера.

4. РЕКОМЕНДАЦИИ К СОЗДАНИЮ ПРОГРАММЫ

Курсовая работа разрабатывается на базе полученного задания.

Практическая часть курсовой работы должна состоять из головной программы и подпрограмм или модулей, детализирующих весь вычислительный процесс. Для демонстрации работы программы необходимо создать небольшую базу данных (файл данных). Программу рекомендуется организовать в режиме диалога. Для этого необходимо создать меню программы, с помощью которого обращаться к отдельным подпрограммам или модулям. Пример использования программы “Меню” приведен ниже.

ВВОД СИМВОЛА С КЛАВИАТУРЫ.

Функция ReadKey (читать клавишу) ожидает нажатия клавиши на клавиатуре, после чего возвращает символ (тип CHAR), соответствующий нажатой клавише. При этом символ клавиши на экран не выводится. Используя эту функцию, можно обрабатывать нажатия служебных клавиш, таких как - < F1-F12>,клавиш перемещения курсора и листания текста страницами. При нажатии служебных клавиш ReadKey возвращает 0. Чтобы получить номер служебной клавиши, нужно еще раз вызвать ReadKey.

Ниже приведена программа, которая позволяет определить код нажатой клавиши. Программа завершает работу при нажатии клавиши <Esc>.

Programtt;

Usescrt;

Var

ch:char ;

Begin

repeat

ch:=ReadKey;

if ch:=chr(0) then {нажата служебная клавиша}

begin

writeln(‘Служебная кавиша’);

ch:=ReadKey;

end;

writeln(ord(ch));

until ord(ch) = 27; { поканенажатаклавиша <Esc> }

End.

ПРИМЕР ПРОГРАММЫ «МЕНЮ»

Функция ReadKey удобна при организации меню программы. Следующая программа выводит список задач (пунктов меню), выделяет первый цветом. При нажатии клавиши “стрелка вниз” выделяет следующий пункт меню,при нажатии клавиши “стрелка вверх” – предыдущий. Нажатие клавиши <Enter> активизирует соответствующую процедуру (в данном случае – процедуру –заглушку).


Program mm;

Uses crt;

Const

norm=$17; {цветневыделенногопункта}

sel=$70; {цвет выделенного пункта }

n=3;

Var

menu:array[1 .. n] of string[12]; {названия пунктов меню}

punkt:integer; {номер веделенного пункта}

ch:char; {введенный символ}

x,y:integer; {координаты первой строки меню}

Procedure Menutoscr; {вывод меню на экран}

var i:integer;

begin clrscr;

for i:=1 to n do begin

gotoxy(x,y+i-1);

write ( menu[i] );

end;

{textattr - предопределенная переменная, отвечающая за цвет фона и символов}

textattr:=sel;

gotoxy(x,y+punkt-1);

write( menu[punkt] ); {выделим строку меню}

textattr:=norm;

end;

Procedure Punkt1;

begin clrscr;

writeln(‘Процедура 1. Нажмите <Enter> для продолжения’); readln;

end;

Procedure Punkt2;

begin clrscr;

writeln(‘Процедура 2. Нажмите <Enter> для продолжения’); readln;

end;

{основная программа}

Begin

menu[1]:=’ Действие 1 ’;

menu[2]:=’ Действие 2 ’;

menu[3]:=’ Выход ’;

punkt:=1; x:=5; y:=5; textattr:=norm;

Menutoscr;

repeat

ch:=ReafKey;

if ch=chr(0) then

begin

ch:=ReadKey;

case ch of

chr(80) : { стрелка вниз }

if punkt<n then begin

gotoxy(x,y+punkt-1);

write(menu[punkt]);

punkt:=punkt+1;

textattr:=sel;

gotoxy(x,y+punkt-1);

write(menu[punkt]);

textattr:= norm;

end;

chr(72) : { стрелка вверх }

if punkt<n then begin

gotoxy(x,y+punkt-1);

write(menu[punkt]);

punkt:=punkt-1;

textattr:=sel;

gotoxy(x,y+punkt-1);

write(menu[punkt]);

textattr:= norm;

end;

end; {case … of }

end

else

if ch=chr(13) then { нажата клавиша <Enter>}

begin

case punkt of

1 : punkt1;

2 : punkt2;

3 : ch:=chr(27) ; {выход}

end;

Menutoscr;

End;

until ch= chr(27) ; {27 - код <Esc>}

End.


ПРИЛОЖЕНИЕ 1

Волжский университет имени В.Н. Татищева

Кафедра “Информатика и системы управления”

КУРСОВАЯ РАБОТА

по дисциплине : “Основы технологии программирования”

Тема: “Регистрация участников конференции”

Выполнил: студент гр. ЭК-105

Иванов И.И.

Преподаватель: Матвеева Н.В.

Тольятти 1999


ПРИЛОЖЕНИЕ 3

Волжский университет имени В.Н. Татищева

Кафедра “Информатика и системы управления”

Специальность: 071900 “Информационные системы”

ЗАДАНИЕ

на курсовой проект по дисциплине

“Основы технологии программирования”

Студенту__________________________________________________________

Группа___________________________________________________________

Тема проекта__________________________________________________________

Календарный график задания________________________________________

СОДЕРЖАНИЕ ЗАДАНИЯ

__________________________________________________________________

Руководитель курсовой работы

Студент