Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач програмування.docx
Скачиваний:
9
Добавлен:
05.12.2018
Размер:
302.84 Кб
Скачать
  1. Функціональне призначення

Метою даної курсової роботи було: дізнатися про основні методи розробки ігрових програм для ЕОМ, як створювати ігри за допомогою цих програм, відкрити більше нового про сучасні ігри їх види. Ще одним із основних завдань даної курсової роботи було поглибити теоретичні та практичні знання щодо програмування на мові С.

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

  1. Аналіз та обгрунтування вибору метода вирішення задачі

Для створення встановленої функції , в заданому діапазоні та певним кроком було вибране середовище програмування Dev C++. Середовище просте у використанні, включає в себе всі основні бібліотеки, функції та об’єкти, які необхідні для вирішення даної задачі.

Середовище призначене для створення програм для ОС Windows, але може бути використане і для створення програм для OC MS DOS.

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

Для роботи програми потрібна наявність клавіатури та миші.

Для запуску робочого файлу натискуємо подвійним клацанням миші на Кurs.cpp. При цьому на екрані з’являється робоче вікно програми.

Для виходу із програми необхідно натиснути кнопку «Вихід» або Alt+F4.

  1. Обгрунтування та опис структур даних, вхідних та вихідних форм

#include<stdio.h> /* підключення бібліотеки stdio.h */

#include<stdlib.h> /* підключення бібліотеки stdlib.h */

#include<conio.h> /* підключення бібліотеки conio.h */

#include<math.h> /* підключення бібліотеки math.h */

void Avtor(void); /* прототип функції Avtor () */

void Vyvedennja_Rezultativ(void); /* прототип функції Vyvedennja_Rezultativ () */

int main() /* головна функція */

{ // початок головної функції main */

int m; /* об’явлення змінної м */

system("cls"); /* очистка екрану */

printf("\n\nVyberit\' potribnyy punkt:\n\n"); /* виведення на екран тексту */

printf("1) Pro avtora\n"); /* виведення на екран тексту */

printf("2) Vyvedennja rezul\'tativ\n"); /* виведення на екран тексту */

printf("3) Exit.\n"); /* виведення на екран тексту */

scanf("%d",&m); /* введення м */

switch (m) /* блок розгалуження свіч. розгалудження відбувається в залежності від м */

{

case 1:/* якщо м = 1 */

{

Avtor(); /* виклик функції Avtor () */

}

case 2: /* якщо м = 2 */

{

Vyvedennja_Rezultativ(); /* виклик функції Vyvedennja _ Rezultativ (); */

}

case 3: /* якщо м = 3 */

{

exit(1); /* вихід з програми */

}

} /* кінець блоку switch */

} /* кінець функції main */

void Vyvedennja_Rezultativ(void) /*опис функції Vyvedennja_Rezultativ() */

{

system("cls"); /* очистка екрану */

int a,b; /* об’явлення змінних*/

double y,h,p=3.14,x; /* об’явлення змінних */

do /* початок циклу do while */

{

printf("Vvedit\' diapazon:\n\nVvedit\' livu mezhu = "); /* виведення на екран тексту */

scanf("%d",&a); /* введення а */

printf("Vvedit\' pravu mezhu = "); /* виведення на екран тексту*/

scanf("%d",&b); /* введення b */

if(a<b) /* блок розгалуження if Якщо а< b */

break; /* вихід з циклу do while */

else /* в протилежному випадку */

printf("\nPomylka vvedennja!\nPovtorit\' vvedennja\n\n"); /* виведення на екран тексту */

} /* кінець циклу */

while(1); /* умова циклу. 1, означає, що цикл безкінечний, отже вийти з нього ми можемо тільки за допомогою break, тобто коли а< b */

printf("Vvedit\' krok = "); /* виведення на екран тексту */

scanf("%lf",&h); /* введення кроку */

printf("\n\tliva mezha=%d",a); /* виведення на екран тексту */

printf("\n\tprava mezha=%d",b); /* виведення на екран тексту */

printf("\n\tkrok=%lf",h); /* виведення на екран тексту */

printf("\n\t ___________________________________"); /* виведення на екран лінії */

for(x=a;x<=b;x+=h) /* початок циклу for присвоюємо х значень лівої межі, умова виходу з циклу : поки х не буде більшим за праву межу, з кожною інтеграцією х збільшуємо на значення кроку */

{

if((x<0.00001)&&(x>-0.00001)) /* блок розгалуження if Якщо x<0.00001 і x>-0.00001, то */

{

printf("\n\t| x = %5.2 lf | nema znachennja |",x); /* виведення на екран х та тексту, що при х=0 функція не має значень */

}

else /* в протилежному випадку */

{

y=(p+1/x)/(p*x+3)+23/sin(x); /* обчислення у */

printf("\n\t| x = %5.2lf | y = %17.11lf |",x,y); /* виведення на екран х та у */

}

} /* кінець циклу for */

printf("\n\t ___________________________________\n\n"); /* виведення на екран лінії */

getch(); /* затримка ( програма чекає поки користувач не натисне будь- яку клавішу) */

main(); /* виклик функції main, тобто повернення до початку */

}

void Avtor() /* опис функції Avtor() */

{

system("cls"); /* очистка екрану */

printf("\n\n Programu rozrobyv\n st.gr. MIT-10\n Zhuravskyi Dmutro"); /* виведення на екран тексту */

getch(); /* затримка ( програма чекає поки користувач не натисне будь- яку клавішу) */

main(); /* виклик функції main, тобто повернення до початку */

}