- •Основы программирования
- •Средства создания программ
- •Работа в интегрированной среде разработки программ turbo c (Borland c)
- •Основные функциональные клавиши и сочетания клавиш в Turbo c
- •Контрольные вопросы
- •Основы языка Си
- •Составляющие языка Си
- •Понятия алгоритмических языков (На примере языка Си)
- •Структура программы на языке Си
- •Директивы препроцессора
- •Главная функция
- •Переменные и массивы
- •Объявления переменных и массивов
- •Комментарии
- •Основные операции в Си
- •Арифметические операции
- •Логические операции и операции отношения
- •Операции присваивания
- •Функции ввода и вывода
- •Функция форматированного вывода printf( )
- •Функция форматированного ввода scanf( )
- •Функция неформатированного ввода getch( )
- •Функция неформатированного ввода gets( )
- •Функция неформатированного вывода puts( )
- •Программа – диалог
- •Контрольные к лабораторной работе «Программа-диалог»
- •Программа–тест
- •Контрольные вопросы к лабораторной работе «Программа-тест»
- •Конструкция switch/case/default
- •Операторы цикла
- •Цикл for
- •Стандартные математические функции
- •Пример выполнения лабораторной работы «Вычисление значения функции»
- •Контрольные вопросы к лабораторной работе «Вычисление значения функции»
- •Вложенные циклы.
- •Использование оператора break в циклах
- •Оператор continue
- •Оператор безусловного перехода goto
- •Действия с одномерными массивами
- •Инициализация массива
- •Ввод значений элементов массива с клавиатуры
- •Заполнение массива случайными числами
- •Вычисление суммы и произведения элементов массива
- •Поиск максимального элемента массива и его номера
- •Вычисление среднего арифметического
- •Перестановка элементов в массиве
- •Сортировка массива
- •Заполнение массива элементами из другого массива.
- •Контрольные вопросы к лабораторной работе «Одномерный массив»
- •Контрольные к лабораторной работе «Программа-диалог»
- •Контрольные вопросы к лабораторной работе «Программа-тест»
- •Контрольные вопросы к лабораторной работе «Вычисление значения функции»
- •Контрольные вопросы к лабораторной работе «Одномерный массив»
Контрольные к лабораторной работе «Программа-диалог»
Назначение директивы #include
Понятие формата. Виды форматов.
Управляющие последовательности в Си.
Функция форматированного вывода в Си. Форма записи, назначение и использование.
Функция форматированного ввода в Си. Форма записи, назначение и использование. Особенности её работы.
Функция неформатированного ввода в Си. Форма записи, назначение и использование.
Функция очистки буфера ввода и ее назначение.
Назначение функций atoi, atof, atol.
Программа–тест
Проиллюстрируем использование рассмотренных функций и условных операторов на примере программы–теста.
ПРИМЕР 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 балла.
В конце программы на экран выводится итоговая оценка и комментарий компьютера.