Міністерствоосвіти танауки України
КiровоградськийДержавний Технiчний Унiверситет
Кафедрапрограмного забезпечення
Дисципліна: «Програмуванняна мові C»
Курсоваробота
тема:«Скласти та відлагодити програму длятестування знань з дисципліни «Програмування на мові С»»
Зміст
Вступ
1. Призначення та областьвикористання
2. Технічніхарактеристики
2.1 Постановка задачі
2.2 Опис алгоритму
2.3 Опис та обґрунтуванняметоду організації вхідних та вихідних даних
2.4 Опис та обґрунтуваннявибору складу технічних та програмних засобів
Висновки
Перелік літератури
Лістинг програми
Вступ
Для ефективної роботи систем керуваннярізними пристроями їх підключають до комп’ютерів. З комп’ютера можутьвидаватися різноманітні команди для пристрою, пристрій може передавати різнісигнали комп’ютеру про свій стан.
Для зв’язку використовуються спеціальніпристрої, такі як послідовні та паралельні адаптери. Послідовні передають даніпо одному біту, паралельні – одночасно. Паралельні забезпечують більшушвидкість роботи, але вимагають більше з’єднувальних ліній.
У даній роботі розглянуто програму, якаприймає дані з зовнішнього пристрою через паралельний порт. Якщо дані незмінюються (там знаходиться якесь одне значення), то програма повідомляє проце.
1.Призначення та область використанняПрограма призначена для тестування якості знань студентівпри вивченні дисципліни «Програмування мовою С». Її можна використовувати як унавчальних цілях, так і як приклад програми, що працює з файлами та текстом.
2.Технічні характеристики
2.1Постановка задачіВикористовуючи мову програмування С, необхідно скласти та підлагодитипрограму, яка б дозволяла протестувати знання користувача з дисципліни «Програмуванняна мові С» та виставити оцінку.
2.2Опис алгоритму
1.Вивести на екран повідомлення про призначення програми.
2.Відкрити текстовий файл з запитаннями.
3.Якщо виникла помилка, то стоп.
4.Прочитати з файлу і вивести на екран запитання і варіанти відповідей.
5.Отримати з клавіатури відповідь користувача.
6.Якщо відповідь правильна, то збільшити лічильник правильних відповідей на 1.
7.Повторити з пункту 4 у циклі 10 разів.
8.Обчислити оцінку і вивести на екран результат тестування.
9.Кінець.
2.3Опис та обґрунтування методу організації вхідних та вихідних даних
Вхіднимиданими до програми, по-перше, є файл c-ask, який містить запитання та відповіді. Кількістьрядків у цьому файлі кратна чотирьом (запитання та 3 варіанти відповідей).Також вхідними даними є відповідь, яку користувач вводить з клавіатури.
Дляотримання інформації з файлу використовуються такі функції з stdio.h:
fopen – відкрити файл
fclose – закрити файл
fgets – прочитати рядок зфайла
Для отриманнякоду клавіші використовується функція getch().
Вихіднимиданими в програмі є оцінка, яка з’явиться на екрані після закінчення тесту. Длявиводу використовується функція printf().
2.4Опис та обґрунтування вибору складу технічних та програмних засобів
Програмає невибагливою до системних ресурсів. Вона може працювати під керуваннямопераційної системи MS-DOS на комп’ютерах з процесором 8086 та старшим. Об’єм пам’яті можебути значно меншим за 640 КБайт.
Длякомпіляції програми використовується Turbo C.
ВисновкиОтже,розроблена програма, яка тестує знання з дисципліни «Програмування на мові С».Можливо використовувати інші запитання, для цього треба відредагувати файл c-ask з запитаннями.
Переліклітератури
1.Конспект лекцій з дисципліни «Програмування на мові С»
2.Довідка (HELP) з середовища Turbo C фірми BORLAND.
Лістингпрограми
#include
#include
voidmain() {
FILE*f;
int i,j, co=0;
charc;
chars[81];
charkey[10]= «3221321213»;
clrscr();
printf(«Доброго дня! Зараз ви пройдете тестування на знання мови\n»);
printf(«програмування С. Вам буде задано 10 запитань i на кожне дано\n»);
printf(«три варiанти вiдповiдей. Щоб вiдповiсти, введiть потрiбну \n»);
printf(«цифру. Бажаємо успiхiв!\n\n\n»);
f=fopen(«c-ask», «r»);
if(f==NULL)
{
printf(«Помилка вiдкриття файла c-ask! \n»);
return;
}
for(i=0; i
{
for(j=0; j
fgets(s, 80, f);
puts(s);
}
printf(«\nВведiть номер правильної вiдповiдi: \n»);
do {
c=getch();
} while(c!=0x31&&c!=0x32&&c!=0x33);
if(c==key[i])
{
printf(«\n\nВiрно! \n\n»);
co++;
}
elseprintf («\nНевiрно! \n\n»);
}
fclose(f);
clrscr();
printf(«Результат тесту: \n»);
printf(«Задано 10 запитань\n»);
printf(«Отримано % d вiрних вiдповiдей\n», co);
if(co
printf(«Оцiнка за 5-бальною системою:%d\n», (int) ((float) co/10*5));
printf(«До побачення!\n»);
getch();
}