Волзький університет ім. В.Н. Татіщева
ФАКУЛЬТЕТ ІНФОРМАТИКИ І ТЕЛЕКОМУНІКАЦІЙ
Кафедра "Інформатика та системи управління"
МЕТОДИЧНІ ВКАЗІВКИ
"Основи технології програмування"
для студентів спеціальності
071900 "Інформаційні системи"
220100 "Обчислювальні машини, комплекси, системи та мережі"
(Для денного відділення)
Тольятті 2006
1.ЗАГАЛЬНІ ПОЛОЖЕННЯ Про курсової роботи
Курсова робота розробляється і вирішується на комп'ютері. За результатами курсової роботи складається звіт, який включає опис всіх етапів роботи і додатки, що включають роздруківки машинної реалізації завдання.
Отримавши завдання на курсову роботу, необхідно розбити задачу на окремі модулі (процедури, функції).
Програма повинна бути оформлена у діалоговому режимі. Роботу з окремими модулями програми реалізувати через доступне "меню". Приклад програми "Меню" наведено в кінці цього посібника.
2. ЦІЛІ І ЗАВДАННЯ КУРСОВОГО ПРОЕКТУ
Дисципліна "Основи технології програмування" читається протягом двох семестрів. Курсова робота виконується у другому за рахунком семестрі і служить для закріплення пройденого матеріалу за відповідним курсом і придбання практичних навичок програмування із застосуванням об'єктно-орієнтованої мови Pascal.
3.Содержаніе КУРСОВОЇ РОБОТИ
Курсова робота повинна містити наступні розділи:
титульний лист (Додаток 1);
зміст;
рецензію (Додаток 2).
завдання, на підставі якого виконується курсова робота
(Додаток 3);
опис предметної області;
опис алгоритму задачі;
список використаної літератури;
додатки;
Додатки повинні включати:
листинги програм;
роздруківку структури бази даних;
роздруківку результатів рішення задачі за даними контрольного прикладу.
4. РЕКОМЕНДАЦІЇ ДО СТВОРЕННЯ ПРОГРАМИ
Курсова робота розробляється на базі отриманого завдання.
Практична частина курсової роботи повинна складатися з головної програми та підпрограм або модулів, що деталізують весь обчислювальний процес. Для демонстрації роботи програми необхідно створити невелику базу даних (файл даних). Програму рекомендується організувати в режимі діалогу. Для цього необхідно створити меню програми, за допомогою якого доступ до окремих підпрограм або модулів. Приклад використання програми "Меню" наведено нижче.
ВВЕДЕННЯ символу з клавіатури.
Функція ReadKey (читати клавішу) очікує натискання клавіші на клавіатурі, після чого повертає символ (тип CHAR), відповідний натиснутій клавіші. При цьому символ клавіші на екран не виводиться. Використовуючи цю функцію, можна обробляти натискання службових клавіш, таких як - <F 1 - F 12>, клавіш переміщення курсора і гортання тексту сторінками. При натисканні службових клавіш ReadKey повертає 0. Щоб отримати номер службової клавіші, потрібно ще раз викликати ReadKey.
Нижче наведена програма, яка дозволяє визначити код натиснутої клавіші. Програма завершує роботу при натисканні клавіші <Esc>.
Program tt;
Uses crt;
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
: Punkt1;
: Punkt2;
: Ch: = chr (27); {вихід}
end;
Menutoscr;
End;
until ch = chr (27); {27 - код <Esc>}
End.
ДОДАТОК 1
Волзький університет імені В.Н. Татіщева
Кафедра "Інформатика та системи управління"
Курсова робота
з дисципліни: "Основи технології програмування"
Тема: "Реєстрація учасників конференції"
Виконав: студент гр. ЕК-105
Іванов І.І.
Викладач: Матвєєва Н.В.
Тольятті 1999
ДОДАТОК 3
Волзький університет імені В.Н. Татіщева
Кафедра "Інформатика та системи управління"
Спеціальність: 071900 "Інформаційні системи"
ЗАВДАННЯ
на курсовий проект з дисципліни
"Основи технології програмування"
Студенту__________________________________________________________
Группа___________________________________________________________
Тема проекта__________________________________________________________
Календарний графік задания________________________________________
ЗМІСТ ЗАВДАННЯ
__________________________________________________________________
Керівник курсової роботи
Студент