Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2-ОСНОВЫ ПРОГРАММИРОВАНИЯ.doc
Скачиваний:
87
Добавлен:
10.04.2015
Размер:
650.24 Кб
Скачать
      1. Контрольные к лабораторной работе «Программа-диалог»

  1. Назначение директивы #include

  2. Понятие формата. Виды форматов.

  3. Управляющие последовательности в Си.

  4. Функция форматированного вывода в Си. Форма записи, назначение и использование.

  5. Функция форматированного ввода в Си. Форма записи, назначение и использование. Особенности её работы.

  6. Функция неформатированного ввода в Си. Форма записи, назначение и использование.

  7. Функция очистки буфера ввода и ее назначение.

  8. Назначение функций atoi, atof, atol.

    1. Программа–тест

Проиллюстрируем использование рассмотренных функций и условных операторов на примере программы–теста.

ПРИМЕР 13:

Задание

Составить программу-тест по информатике.

Решение

#include<stdio.h>

#include<conio.h>

#define P printf

#define S scanf

void main()

{ int otwet, sum=0;

clrscr ();

P("\n Тест на проверку знаний о файловой структуре MS-DOS.");

Р("\n Введите номер \правильного ответа и нажать клавишу Enter.");

P("\n\n Bonpoc1: Файловая структура DOS имеет:");

P("\n 1 Древовидную форму. \n2. Форму таблицы \n Форму упорядоченного списка ");

S("%d",& otwet);

if ( otwet = =1) { sum ++; P("\t Правильно!"); }

else P("\t Неверно - Древовидную.");

P("\n\n Bonpoc 2. Файловая структура состоит из:");

Р("\n1.Каталога, в который помещены все файлы без \ \исключения.");

Р("\n2. Корневого каталога и подкаталогов в нем.");

Р("\n3. некоторого числа независимых каталогов \n");

S("%d",& otwet);

if ( otwet==2) { sum ++; P("\tBepнo!"); }

else P("\t Неверно.");

P("\n\n Bonpoc 3. Можно ли удалить корневой каталог?");

P("\n1.Можно \n2.Нельзя");

S("%d",&otwet);

if(otwet==2) { sum ++; P("\t Это действительно так."); }

else Р("\nВы не правы – НЕЛЬЗЯ! ");

Р("\n\nВопрос 4. Какие логические диски обычно отводятся под жесткий диск?");

Р("\n1. А: и В: и С: \n2. В: и С: и D: \n3. С: и D: и F:\n");

S("%d",& otwet);

if ( otwet = =3) { sum ++; P("\t Ответ правильный."); }

else Р("\nНет, это не так А: и В: - обозначение гибких дисков.");

Р("\n\n Вопрос 5. Какие из логических дисков зарезервированы под НГМД?");

Р("\n1.А: и В: \n2.В: и С: \n3. С: и D: \n4. А: \n");

S("%d",& otwet);

if ( otwet = = 1) { sum ++; P("\t Правильно."); }

else Р("\1Неправильно. А: и В: - обозначение гибких дисков.");

if (s < 3) s=2;

Р("\n\nТест закончен. Ваша оценка—%d", s);

if ( s<4 ) Р("\n Вам нужно еще поработать.");

else P("\n Я доволен Вами, Вы справились.");

getch( );

}

/*1*/ /*2*/ /*3*/ /*4*/ /*5*/ /*6*/ /*7*/ /*8*/ /*9*/ /*10*/ /*11*/ /*12*/ /*13*/ /*14*/ /*15*/ /*16*/ /*17*/ /*18*/ /*19*/ /*20*/ /*21*/ /*22*/ /*23*/ /*24*/ /*25*/ /*26*/ /*27*/ /*28*/ /*29*/ /*30*/

/*31*/

/*32*/ /*33*/ /*34*/ /*35*/ /*36*/ /*37* //*38*//*39*/

/*40*/

/*41*/ /*42*/

Пояснения:

Отметим, что в данном примере использование директив #define позволило заметно уменьшить размер текста программы.

Первая строка - это директива препроцессора, подключающая к программе средства связи с библиотечными функциями обмена ввода-вывода.

Вторая строка - это директива препроцессора, подключающая к программе средства связи с библиотечными функциями обмена консольного ввода-вывода. В строках 3 и 4 в результате директивы определения осуществляется связывание, а затем замена каждого символа Р и S на функции printf и scanf соответственно.

Пятая строка является заголовком функции с именем main. Спецификатор типа - void - указывает, что функция main в данной программе не возвращает никакого значения. Вся дальнейшая программа представляет собой тело функции и заключена в фигурные скобки.

В строке 6 определены две переменные целого типа: otvet - для ввода с клавиатуры номера правильного ответа, sum - для подсчета набранных баллов.

Тест состоит из 5 вопросов с вариантами ответов. Первый вопрос представляет собой блок операторов с 10-й строки по 15-ю. В строках 10,11 на экран выводится сам вопрос и три возможных ответа. Строка 12 - ввод с клавиатуры номера ответа.

В строке 13 после проверки условия в случае его выполнения оценка увеличивается на единицу и выводится комментарий. Строка 15 -вывод комментария в случае неправильного ответа.

Остальные вопросы составлены аналогично. Это блоки с 16-й по 23-ю строки, с 24-й по 29-ю, с 30-й по 35-ю, с 36-й по 41-ю строки.

В строке 42 в случае, если набрано менее 3 баллов, устанавливается оценка 2 балла.

В конце программы на экран выводится итоговая оценка и комментарий компьютера.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]