Файл: Разработка программы проверки знания таблицы умножения.pdf
Добавлен: 28.03.2023
Просмотров: 152
Скачиваний: 2
Оператор cout << переменная- выводит строку на экран дисплея.
Для вывода значений с клавиатуры используется следующая форма оператор cin>> переменная.
Оператор endl, так называемый манипулятор переводит курсор в начало следующей строки.
Директивы препроцессора в C++ начинаются с символа #, её завершением является перевод на новую строку. Директива “#include” дана для определения файлов и библиотек, которые надо подключить в код программы. Директив в С++ много, директива “using” позволяет ввести в программу объекты из различных пространств имён.
Разделяющие знаки такие как пробелы, табулятор, перевод страницы, перевод строки компилятор игнорирует.
Для строковых констант значение задается один раз и сохраняется. Существует два способа интерпретации строковых констант, в одном строка как массив символов, в другом- как объект класса. Символ 'n' называется управляющей или escape – последовательности, следующий вывод текста начинается с новой строки.
Файл включающийся с помощью директивы #include называется заголовочным, он подключает файл, который содержит для работы необходимые данные.
Комментарии (подсказка) в программе позволяют понять, что делают те или иные части программы, компилятор их игнорирует. В C++ присутствует два типа: однострочный и многострочный. Однострочный на строке после //, многострочный /* комментарии*/ может размещаться на нескольких строках.
Для любой сложной задачи можно составить программу используя три структуры: следование, ветвления, цикл, они являются базовыми конструкциями. Следование- последовательное выполнение двух или более операторов. Ветвление- выполнение действия от логического условия (true или false). Цикл- многократное выполнение оператора.
Оператор выбора (ветвление) if в зависимости от логического условия выбирает одно из двух продолжений программы, существует форма if else. Если же вариантов выбора намного больше используется специальный оператор swith.
Операторы цикла: for, while, do while реализующие циклический процесс. Телом цикла называется повторяющая последовательность действий. Шагом или итерацией называется проход цикла. При использовании оператора for количество шагов известно, если нам не известно сколько шагов должен произвести цикл, то пользуются операторами while и do while.
В языке C++ существуют специальные операторы перехода цикла: continue, break, return. С помощью оператора continue происходит переход к следующему шагу цикла, break прерывает цикл, и управление передается следующему оператору, return- выход из функции. Если цикл находится внутри другого цикла он называется вложенным.
Типы данных. Типы данных показывают сколько в памяти компьютера они занимают места. Они делятся на основные и составные. К основным или стандартным, которые ещё называются арифметические, то есть используются в арифметических операциях относятся шесть типов: int, char, wchar_t, bool – целые типы, float, double – с плавающей точкой. Для составных типов основные дополняются четырьмя спецификаторами, которые уточняют диапазон значений: short- короткий, long- длинный, signed- знаковый, unsigned- без знаковый.
Целый тип int- к нему относятся все целые числа, размер которых зависит от компьютера и компилятора. Диапазон значений от -2147483648 до +2147483647. Для 16 – разрядного процессора int занимает 2 байта, для 32 - разрядного процессора- 4 байта.
Short int (короткий целый)- не может быть больше чем int, диапазон значений от -32768 до +32767, под числом требуется 2 байта.
Long int (длинный целый)- не может быть меньше чем int, диапазон значений от -2147483648 до +2147483648, под число требуется 4 байта.
Каждый тип может быть знаковым или без знаковым, тип unsigned только положительные числа.
Целым константам в соответствии с их видом приписывается тот или иной тип, если константа типа long то приписывается суффикс L или l после числа, если unsigned то U или u.
Символьный тип char- любые символы, которым отводится один байт. Может быть со знаком в диапазоне от -128 до 127, без знака от 0 до 255.
Символьные константы записываются 'A', 'a'.
Расширенный тип wchar_t- для работы с набором символов для которых недостаточно одного байта.
Логический тип bool- специальный тип для представления логических значений, величины принимают только значение true (правда) или +false (ложь). В С++ 0- соответствует false, любое другое число- true.
Вещественные числа float, вещественные числа с плавающей точкой double и long double- записываются в виде десятичных дробей или в виде мантиссы и порядка. Float- с одинарной точностью, составляет семь десятичных значащих цифр, занимает 4 байта. Double- двойной точностью, составляет 15 значащих чисел, занимает 8 байт. Long double- с расширенной точностью составляет 19 значащих цифр занимает 10 байт. Тип константы указывается с помощью суффиксов F, f (float) после числа, или l,L (long double). Вещественная константа по умолчанию- double.
Перечисляемый тип данных- если переменная может принимать несколько разных константных значений, то используется ключевое слово enum. Так как типы данных разные, то надо произвести преобразование операндов. В С++ существуют правила преобразования, операнды преобразуются к типу того операнда, который имеет наибольший размер.
Язык C++ - типизированный язык, всякая величина принадлежит к какому- либо типу. Во время выполнения программы величина переменной может меняться.
Операции в С++ разбиваются на группы: арифметические, логические, битовые, операции сравнения и присваивания. Есть две унарные операции, которые производятся над одним числом: инкремент (++) – увеличение переменной на единицу, декремент (--) – уменьшение переменной на единицу. Переменной можно установить текущее значение с помощью операции присваивания, в качестве оператора присваивания используется знак равенства (=).
Язык С++ позволяет также работать с массивами, указателями, ссылками, классами и объектами. [3], [4]
Глава 2. Разработка программы проверки знания таблицы умножения
2.1 Цель работы
Создание тест-программы, для проверки знаний таблицы умножения учащихся младших классов. В программе должна быть предусмотрена возможность введение данных:
1. Номер задания
2. Дата выполнения
Для учащихся разного возраста, необходимо предусмотреть разное количество вопросов в тесте.
После запуска теста, программа просит указать количество примеров таблицы умножения, которые ученик должен решить и ввести ответ. Правильный ответ подтверждается сообщением программы “правильно”, не правильный ответ вызывает сообщение “не правильно” и значение правильного ответа. После окончания теста программа выставляет оценку, которая может имеет следующие значения:
1. 10 или 9 верных ответов – “отлично”
2. 8 или 7 верных ответов – “хорошо”
3. 6 верных ответов – “удовлетворительно”
4. 5 или меньше – “плохо”
Результат тестирования необходимо сохранить в файл, содержащий данные:
1. Номер задания
2. Дата выполнения
3. Количество верных ответов
4. Оценку
Меню программы должно содержать пять частей:
1.Ввод данных
2.Переход к тестированию
3.Оценка
4.Результаты
5.Выход
2.2 Разработка программы на языке C++
Мы можем разделить код программы на три части:
1. Начало
2. Тестирование
3. Оценка
Каждая программа на языке C++ сначала подключает библиотеки, необходимые для работы. Теперь нам необходимо запустить функцию считывания и сохранения в глобальных переменных значений, введенных пользователем (Номер задания и Дата выполнения) (рис 1).
Рисунок 1- Скриншот подключения библиотек и функция считывания номера задания и даты выполнения, с сохранением в глобальных переменных.
Далее при помощи оператора do-while запускаем цикл вывода на экран сгенерированных программой примеров и ввода ответов ученика. Цикл используется для выполнение однотипных операций, здесь это вывод примеров и запись ответов (рис 2).
Это часть программы выполняет следующие операции:
1. Запуск цикла
2. Генерация примера
3. Вывод на экран (примера)
4. Ожидание ответа
5. Анализ введенного ответа. При правильном ответе, счетчик ответов увеличится на единицу.
6. Завершение выполнения цикла при определенном условии.
Рисунок 2 - Скриншот цикла тестирования и анализа ответов
Далее при помощи оператора if мы анализируем правильные ответы ученика и записываем в файл (рис. 3).
Рисунок 3- Скриншот анализа правильных ответов и запись результатов в файл.
Выводим на экран оценку и количество верных ответов из файла на экран (рис. 4).
Рисунок 4- Скриншот вывода оценки на экран.
Далее нам необходимо запустить основную функцию программы, которая включает в себя запрос ввода количества вопросов в тесте и основное меню программы (рис. 5).
Рисунок 5- Скриншот основной функции программы.
На этом этапе, написание кода можно считать завершённым и можно переходить к процессу компиляции и отладки. В результате работы компилятора мы получаем готовую программу в виде исполняемого EXE файла (Приложение 1 “Таблица_умножения.exe”).
После запуска файла программа запрашивает количество вопросов в тесте (рис.6).
Рисунок 6- Скриншот запроса количества вопросов в тесте.
После ввода количества вопросов (в нашем случае десять), нажимаем Ввод и попадаем в меню программы (рис. 7).
Рисунок 7- Скриншот меню программы.
После выбора первого пункта меню программа запрашивает номер задания и дату выполнения (рис. 8).
Рисунок 8- Скриншот ввода данных.
После ввода данных выбираем второй пункт меню и приступаем к тестированию ученика, в нашем случае программа выдаст десять примеров. В случае правильного решения программа сообщит “Правильно”, если ответ неверный программа выдаст сообщение “Не правильно” и правильный ответ (рис. 9).
Рисунок 9- Скриншот прохождения теста.
Выбрав третий пункт меню, программа выдаст оценку знаний учащегося (рис 10).
Рисунок 10- Скриншот оценки знаний таблицы умножения.
Также, программа ведет запись результатов тестирования в файл, номера заданий, даты прохождения тестов, количества правильных ответов. Просмотр результатов тестов осуществляется выбором четвёртого пункта меню “Результаты” (рис11).
Рисунок 11- Скриншот чтения результатов тестов из файла.
Выбор пятого пункта меню приводит к завершению программы. На этом создание программы для тестирования знаний таблицы умножения можно считать выполненной.
ЗАКЛЮЧЕНИЕ
В главе первой рассмотрен теоретический материал в области развития языков программирования, классификация по разным признакам, а также рассмотрены характеристики языков высокого уровня и области их применения (Fortran, Cobol, Basic, Pascal, C/C++, Java, C#, Ada, Prolog, Delphi, Lisp, Pl/1). Изучен язык программирования C++, его синтаксис и структура. В языке используются: переменные, константы и литералы. Даны основные типы данных с диапазонами значений. Перечислены основные группы управляющих конструкций- операторы выбора и операторы цикла.
В главе второй показана разработка тест- программы проверки знаний таблицы умножения для учащихся младших классов.
Вывод: С++ является языком широкого использования для создания любых видов программ.
СПИСОК ЛИТЕРАТУРЫ
1.Баженова И.Ю., Сухомлин В. А. Введение в программирование: учебное пособие. – Москва: Интернет – Университет информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2020. – 326c.
2. Белева Л.Ф. Программирование на языке С++: учебное пособие. – Саратов: Ай Пи Эр Медиа, 2018. – 81с.
3. Букунов С.В. Основы программирования на языке С++: учебное пособие. Санкт – Петербург: Санкт – Петербургский государственный архитектурно – строительный университет, ЭБС АСВ, 2015.- 201с.
4. Васильев А. Н. Самоучитель на С++ с примерами и задачами. – СПб: Наука и техника, 2016.- 480c.
5. Зоткин С.П. Программирование на языке высокого уровня С/ C++: конспект лекций. – Москва: Московский государственный строительный университет, Ай Пи Эр Медиа, ЭБС АСВ, 2016ю -140с.
6. Зырянов К.И., Кисленко Н.П. Программирование на С++: учебное пособие. – Новосибирский государственный архитектурно – строительный университет (Сибстрин), Новосибирск: НГАСУ, 2017. – 128c.