МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра “Інформаційні системи та мережі”
КУРСОВА РОБОТА
з дисципліни “Проблемно – орієнтовані мови програмування”
на тему:
“Інформаційно-довідкова система”
Виконав студент
Студен групи кн -16
Логвиненко В. №0708532
Керівник роботи Кравець П.О.
ЛЬВІВ – 2008
Завдання на курсову роботу
Тема: Інформаційно- довідкова система “Вищі навчальні заклади м. Львова”
Завдання: Вимоги до програми:
1) програма повинна бути реалізована на мові С/С++:
2) програма повинна забезпечувати роботу з файлами структурованих даних (або базами даних формування, читання, редагування, сортування та пошук інформації за заданим ключем.
3) програма повинна працювати у вікні МSDOS під керуванням операційної системи Windows;
4) програма повинна мати інтерфейс у вигляді вікон та меню для вибору режимів її роботи, а також систему її допомоги.
5) передбачити введення/виведення даних з клавіатури та з файлу
6) керування режимами роботи програми виконати за допомогою клавіатури та миші.
Зміст
Вступ
1. Формулювання задачі
2. Методи та засоби розв’язування задачі
3. Алгоритми розв’язування задачі
4. Програма та її опис
4.1 Назва програми
4.2 Призначення програми
4.3 Мови програмування, на яких написана програма
4.4 Логічна структура програми
4.5 Вхідні та вихідні дані
4.6 Програмні засоби
4.7 Технічні засоби
5. Технологія програмування, виконання та відлагодження програми
5.1 Технологія програмування програми
5.2 Технологія відлагодження програми
5.3 Технологія виконання програми
6. Інструкція користувачеві
7. Контрольний приклад та аналіз результатів комп’ютерної реалізації програми
Висновки
Список літератури
Додаток 1. Текст програми на мові Сі
Додаток 2. Результати роботи програми
Вступ
Метою курсової роботи є закріплення теоретичних знань та практичних навичок програмування, набутих при вивченні дисциплін „Основи програмування” та „Проблемно орієнтовані мови програмування”.
В ході виконання курсової роботи студенти повинні навчитися самостійно працювати з літературою, розробляти алгоритми, здійснювати їх програмну реалізацію та від лагодження на сучасних комп‘ютерних системах.
За останні роки відбувся різкий стрибок у розвитку комп’ютерної техніки й програмного забезпечення із одночасним розширення сфер застосування персональних комп’ютерів.
Програмування являє собою комплекс по написанню системи програмних кодів, які здійснюватимуть керування тією чи іншою інформаційною системою, взаємодія з якою здійснюється через інформаційні технології.
Програмна реалізація поставленої задачі може використовуватися як приклад використання різноманітних графічних функцій. А також як приклад програмування роботи з часом.
Тема моєї курсової роботи є надзвичайно актуальною у наш час, оскільки довідкова система зараз є дуже виликим помічником для навчання і пошуку інформації у світі інформаційних технологій.
1. Формулювання задачі
У ході даної курсової роботи я повинен був зробити інтерфейс програми який би забезпечував діалог: ком’ютер-користувач для роботи з базою даних (в мому випадку база даних про довідкову систему навчальних закладів м. Львова). Даний інтерфейс мав складатися з такого меню: інформацію про навчальні заклади; пошук: виводить дані про один навчальний заклад; а також вихід (exit).
Я зробив так щоб користувач сам вибирав ту кількість даних яких він хоче подати на вхід, а не ставив на кількість вхідних даних певні обмеження;
Метод читання даних виглядає в наступним чином:
Користувач вводить ключове слово(наприклад назву закладу) і йому комп'ютер показує всі дані про заданий заклад.
Дана програма може компілюватися у будь-якому середовищі С/С++, починаючи з Borland C++ 3.1, або Turbo C. Саму програму я реалізував на мові С.
Також її можна викликати у операційній системі Windows і вона буде працювати у вікні MSDOS.
2. Методи та засоби розв’язування задачі
Нижче будуть наведені теоретичні відомості, які допоможуть краще усвідомити специфіку реалізації задачі.
Символьна константа складається з одного символа ASCII між апострофами (''). Стринги є одним з найбільш корисних та важливих типів даних мови С. Символьний рядок (стринг) - це масив символів, замкнений у лапки ("). Він має тип char. Нульовий символ (\0) автоматично додається останнім байтом символьного рядка та виконує роль ознаки його кінця. Кількість елементів у масиві дорівнює кількості символів у стрингу плюс один, оскільки нульовий символ також є елементом масива. Кожна стрингова константа, навіть у випадку, коли вона ідентична іншій стринговій константі, зберігається у окремому місці пам'яті. Якщо необхідно ввести у рядок символ лапок ("), то перед ним треба поставити символ зворотного слешу (\). У стринг можуть бути введені будь-які спеціальні символьні константи, перед якими стоїть символ \.
Прототипи всіх функцій, що працюють з рядками символів, містяться у файлі string.h. Всі функції працюють з рядками, що закінчуються нульовим символом.
В програмуванні масив (англ. array) — одна з найпростіших структур даних, сукупність елементів переважно одного типу даних, впорядкованих за індексами, які зазвичай репрезентовані натуральними числами, що визначають положення елемента в масиві.
Масив може бути одновимірним (вектором), та багатовимірним (наприклад, двовимірною таблицею), тобто таким, де індексом є не одне число, а кортеж (сукупність) з декількох чисел, кількість яких співпадає з розмірністю масива
В переважній більшості мов програмування масив є стандартною вбудованою структурою даних.
В програмуванні та комп'ютерних науках структури даних — це способи організації даних в комп'ютерах. Часто разом зі структурою даних пов'язується і специфічний перелік операцій, які можуть бути виконаними над даними, організованими в таку структуру.
Правильний підбір структур даних є надзвичайно важливим для ефективного функціонування відповідних алгоритмів їх обробки. Добре побудовані структури даних дозволяють оптимізувати використання машинного часу та пам'яті комп'ютера для виконання найбільш критичних операцій.
По ходу виконання даної курсової роботи найбільша потреба виникала у використанні стандартних графічних функцій, які входять у директиву <graphics.h>, а також у бібліотечних функціях консольного введення - виведення, які знаходяться у директиві <conio.h>.
Приклади функцій консольного введення – виведення, прототипи яких знаходяться у <conio.h>:
int getch(void); Зчитує 1 символ з клавiатури без вiдображення на екранi i без натискання клавiшi <Enter>.
int kbhit(void); Повертає ненульове значення, якщо у буферi клавiатури є незчитанi символи, iнакше повертає 0.
Деякі функції для роботи з екранними вікнами
void window(int x1, int y1, int x2, int y2); Створює вiкно з координатами вузловихточок (x1,y1)-(x2,y2).
void gotoxy(int x, int y);
Перемiщує курсор в позицiю з координатами x, y.
void textcolor(int c);
Встановлює колiр символiв.
void textbackground(int c);
Встановлює колір фону (допускаються кольори 0-7).
void clrscr(void);
Очищає екран або вікно.
Побудова меню програми та можливість вибору варіантів у ньому забезпечується за допомогою таких операторів мови Сі, як switch та case, а також оператору break, який забезпечує вихід з вищенаведених операторів.
3. Алгоритми розв’язування задачі
Блок – схема функції void cursor (int state)
(Рис. 1)
Блок – схема функції void ramka
(Рис. 2)
Блок – схема функції strukt value (int x, int y, int w, int h, char *Text) (див. Рис.3)
(Рис. 3)
Блок – схема функції (див. Рис. 4)
(Рис. 4)
Блок – схема функції f =fopen(“ c: \ vuz.My “,”w+”);
4. Програма та її опис
4.1 Назва програми
Інформаційна - довідкова система Вищі навчальні заклади м. Львова
4.2 Призначення програми
Робота з файлами структурованих даних (або базами даних формування, читання,редагування, сортування та пошук інформації за заданим ключем. Може бути використана для показу інформації пошукової системи про навчальні заклади на прикладі методики про вищі навчальні заклади. Сфера застосування та використання є необмеженою. Може бути придатною для будь-яких організацій, підприємств, навчальних закладів.
4.3 Мови програмування, на яких написана програма
Програма написана на мові Сі.
Мова Сі є мовою середнього рівня. Мова Сі має засоби системного програмування, включає у себе усі конструкції сучасних алгоритмічних мов, найкраще враховує можливості сучасних комп’ютерних систем, а також є мобільною мовою.
4.4 Логічна структура програми
Дана програма складається з двох файлів: основного файлу kyrsova.cpp та файлу kurs.h.
Дана програма має наступну структуру (під структурою розуміються функції складових частин програми):
Функції файлу kurs.h
Void ramka (int kyt _vl_y, int dov_x, int dov_y) - функція для встановлення рамки.
void cursor (int state) курсор програми.
void ramka(int kyt_vl_x,int kyt_vl_y,int dov_x,int dov_y) - функція для встановлення рамки курсор в рамці
Параметри int kyt_vl_x,int kyt_vl_y,int dov_x,int dov_y відповідають за координати рамки.
void refresh_list()- функція для виводу створеного файлу.
void insert_list() - функція для створеного файлу і запис на нього інформації
void MyDrawText(int x,int y,char *Text) - функція для виводу текстової інформації на екран.
void save_list()- функція для сохряняння файлу
void delete_list() - функція для видалення листа запису який буде знаходитись у меню