на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Інформаційно-довідкова система
p align="left"> 5.Технологія програмування, виконання та відлагодження програми

5.1 Технологія програмування програми

Використання моделі у розробці та вирішенні складних задач є одним з найважливіших методів. Модель - це заміщувач об'єкту дослідження, що знаходиться з ним у такій відповідності, яка дозволяє отримати нове значення про об'єкт.

Оскільки модель ґрунтується на аналогії, то вона губить сенс засобу пізнання як у випадку тотожності моделі та об'єкту дослідження, так і у випадку дуже великих відмінностей між ними. Таким чином моделювання пов'язане зі спрощенням, абстрагуванням прототипу від ряду його властивостей, ознак, сторін. Проте надмірно спрощена модель може призвести до невідповідності з досліджуваним об'єктом, що унеможливить дослідження його з допомогою такої моделі. З іншого боку, врахування в моделі якомога більшої кількості властивостей досліджуваного об'єкту призводить до ускладнення процесу дослідження.

5.2 Технологія виконання програми

Виконання програми виконується частинами. Спочатку створюються підпрограми, які полегшують програмування необхідної задачі, і які будуть використовуватися в тексті основної програми. В нашому випадку такими підпрограмами є звичайні графічні функції:

Опис всіх графічних примітивів;

Створення зображення головного меню.

Створення зображення курсора

Визначення місця розташування об'єкта;

Створення файлу

Забезпечення руху курсора

Забезпечення виконання базами даних формування, читання, редагування, сортування та пошук інформації за заданим ключем

Створення програмного меню;

Забезпечення керування програмою за допомогою клавіатури.

5.3 Технологія відлагодження програми

Для того, щоб відлагодити програму, потрібно використати покрокове підключення підпрограм (так ми швидше зрозуміємо у якій частині програми є помилки і послідовно виправимо ці помилки). Тобто спочатку ми записуємо підпрограми в основний текст програми, потім, при наявності помилок, ми змінюємо підпрогами до такого виду, якого вимагає цей текст і синтаксис мови Сі. Потім підлаштовуємо їх під текст програми і перевіряємо їх робочу ефективність. Намагаються зробити найкращу ефективність шляхом зміни тексту підпрограм.

Після успішного під`єднання головних підпрограм під`єднуються інші підпрограми(таким чином, як і основні підпрограми). Намагаються створити найкращу взаємодію шляхом перестановки або зміни тексту підпрограм.

6. Інструкція користувачеві

Інтерфейс програми реалізований у графічному режимі з використанням функцій заголовочного файлу include<string.h>. Інтерфейс є зручним у користуванні і не потребує значних ресурсів комп'ютера для роботи у ньому.

Керування програмою здійснюється повністю за допомогою клавіатури.

Є два способи по запуску програми на виконання:

1) Запуск через середовище програмування

Цей спосіб зручний тим, що при наявності бажань користувача щось змінити у програмі можна одразу ж вийти з програми у середовище програмування і змінити певний код, при цьому відразу ж відкомпілювати новостворений код.

Певною незручністю є те, що не всі можуть мати саме середовище програмування чи компілятор. Для запуску програми потрібно мати щонайменше середовище Borland C++ 3.1. На попередніх версіях програма не тестувалася.

Щоб запустити програму на виконання із середовища програмування потрібно натиснути клавіші <Ctrl>+F9. Або здійснити таку послідовність дій у меню самого середовища: Menu (F10) -> Run (<Ctrl>+F9).

2) Запуск програми через операційну систему

На мій погляд, цей спосіб є набагато зручнішим від попереднього. Щоб запустити програму через операційну систему потрібно знайти файл KYRSOVA.EXE і клікнути по ньому мишкою. В результаті програма буде запущена у вікні MSDOS під керуванням операційної системи.

Недоліком цього способу є те, що зміни у програмний код програми вносити не можна.

Так чи інакше, після запуску програми на виконання на голубому фоні екрану з'являється меню. По замовчуванню, встановленим у програмному коді програми, завжди з'являється меню. Щоб внести будь-які зміни користувачу потрібно скористатися меню програми. Про доступні зміни буде розказано нижче.

По середині буде показано меню з трьох пунктів new list, open list exit, за допомогою яких можна у будь-який момент змінити настройки у програмі чи вийти з програми. Форма основного меню показана нижче (див. Мал. 1).

(Мал. 1)

Відкриваеться головне меню де появляються 6 пунктів які сохраняють видаляють сортують і закривають

(мал. 2)

Тепер детальніше поговоримо про можливості налаштувань програми. Щоб зайти в настройки програми потрібно з клавіатури натиснути `1'. Користувач при цьому побачить таку екранну форму меню (див. Мал. 2).

(Мал. 3)

При натисненні 1 сохраняє, При натисненні 2 вставляє, 3 видаляє,

4 сортує по назві закладу, 5 сортує по адресу вищого навчального закладу, 6 сортування за телефоном навчального закладу. 7 сортування за 8 сортування двосторонній.

9 знайти за критеріями і файла.

Щоб успішно вийти з програми потрібно в основному меню натиснути `3'. Після цього користувач вийде або в програмне середовище (якщо програма запускалася через саме середовище), або в операційну систему (якщо програма запускалася в операційній системі)

7. Контрольний приклад та аналіз результатів комп'ютерної реалізації програми

Отже, мені у курсовій роботі потрібно було реалізувати довідкову систему про вищі навчальні заклади м Львова. Ця програма виконує зчитування та встановлювання інформації. Зображення ходу повинно бути виконано. Мовою написання даного проекту могла бути С або С++.

Під час реалізації та виконання даної програми вхідними даними для неї були поточні методичні вказівці.

В якості контрольного прикладу нижче наведено знімок екрану у момент зображення меню (див. Мал. 4

.

(Мал. 4)

При зміні вхідних даних результат є правильним. Зміна розміру задається так, як вказав користувач. При виконанні даної програми не потрібно мати великий об'єм оперативної пам'яті, що є дуже великим плюсом.

Зависань, відхилень чи глюків програми не було помічено.

Додаток 1. Текст програми на мові Сі

#include<conio.h>

#include<stdio.h>

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

/*-------------------cursor--------------------*/

void cursor(int state){

if (state==0)

asm{

mov ah,1

mov ch,0x20

int 0x10

}

else

asm {

mov ah,1

mov ch,5

mov cl,7

int 0x10

}

}

/*-------------------cursor--------------------*/

/*--------------------Ramka-----------------------------------*/

void ramka(int kyt_vl_x,int kyt_vl_y,int dov_x,int dov_y)

{

int i1;

for(i1=kyt_vl_x;i1<dov_x;i1++){

gotoxy(i1,kyt_vl_y-1);

putchar(205);

}

for(i1=kyt_vl_y;i1<dov_y;i1++){

gotoxy(dov_x,i1);

putchar(186);

}

for(i1=dov_x-1;i1>kyt_vl_x-1;i1--){

gotoxy(i1,dov_y);

putchar(205);

}

for(i1=dov_y-1;i1>kyt_vl_y-1;i1--){

gotoxy(kyt_vl_x-1,i1);

putchar(186);

}

gotoxy(kyt_vl_x-1,kyt_vl_y-1);

putchar(201);

gotoxy(dov_x,kyt_vl_y-1);

putchar(187);

gotoxy(dov_x,dov_y);

putchar(188);

gotoxy(kyt_vl_x-1,dov_y);

putchar(200);

}

/*--------------------Ramka-----------------------------------*/

int page=0;

int page_count=0;

int pos=0;

struct value

{

char name[30];

char adress[30];

char phone[15];

char countf[5];

char duplom[30];

};

struct mai

{

int count;

value m[100];

};

mai list;

void refresh_list()

{

int li=6;

int dest;

page_count = 0;

int tmpl=list.count;

while (tmpl-15>0)

{

tmpl=tmpl-15;

page_count++;

}

if (page*15+15>list.count)

{

dest=list.count;

}

else

{

dest=page*15+14;

}

for (int i=0;i<15;i++)

{

gotoxy(9,i+6);

printf(" ");

}

for (i=page*15;i<=dest;i++)

{

gotoxy(12,li);

printf(list.m[i].name);

gotoxy(24,li);

printf(list.m[i].adress);

gotoxy(38,li);

printf(list.m[i].phone);

gotoxy(51,li);

printf(list.m[i].countf);

gotoxy(65,li);

printf(list.m[i].duplom);

li++;

}

}

void insert_list()

{

char s[100];

list.count++;

gotoxy(1,1);

printf("%d",list.count);

gotoxy(3,23);

printf("Enter Name ");

scanf("%s",&s);

strcat(list.m[list.count].name,s);

gotoxy(3,23);

printf(" ");

gotoxy(3,23);

printf("Enter Adress ");

scanf("%s",&s);

strcat(list.m[list.count].adress,s);

gotoxy(3,23);

printf(" ");

gotoxy(3,23);

printf("Enter Phone ");

scanf("%s",&s);

strcat(list.m[list.count].phone,s);

gotoxy(3,23);

printf(" ");

gotoxy(3,23);

printf("Enter Count Fakultet ");

scanf("%s",&s);

strcat(list.m[list.count].countf,s);

gotoxy(3,23);

printf(" ");

gotoxy(3,23);

printf("Enter Duplom ");

scanf("%s",&s);

strcat(list.m[list.count].duplom,s);

gotoxy(3,23);

printf(" ");

refresh_list();

}

void save_list()

{

FILE *f;

f=fopen("с:\\vuz.my","w+");

for (int i=0;i<=list.count;i++)

{

char tmp[150];

strcpy(tmp,list.m[i].name);

strcat(tmp,",");

strcat(tmp,list.m[i].adress);

strcat(tmp,",");

strcat(tmp,list.m[i].phone);

strcat(tmp,",");

strcat(tmp,list.m[i].countf);

strcat(tmp,",");

strcat(tmp,list.m[i].duplom);

fprintf(f,"%s\n",tmp);

}

fclose(f);

}

void delete_list()

{

if (page*15+pos<=list.count)

{

for (int i=page*15+pos;i<list.count;i++)

{

list.m[i]=list.m[i+1];

}

list.count--;

refresh_list();

}

}

void sort_list(int vub)

{

value tmpv;

if (vub==0)

{

for (int i=0;i<=list.count;i++)

{

for (int j=0;j<=list.count;j++)

{

if (strcmp(list.m[i].name,list.m[j].name)<0)

{

tmpv=list.m[i];

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.