Тест-программа для проверки знания таблицы умножения для учеников начальных классов

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,09 Мб
  • Опубликовано:
    2015-06-24
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Тест-программа для проверки знания таблицы умножения для учеников начальных классов

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ПОСТАНОВКА ЗАДАЧИ

2. РАЗРАБОТКА ПРОГРАММЫ В СРЕДЕ Dev - C++

3. СООТВЕТСТВИЯ МЕЖДУ ПЕРЕМЕННЫМИ, ПРИНЯТЫМИ

ПРИ ОПИСАНИИ ЗАДАЧИ И В ПРОГРАММЕ

. СТРУКТУРНАЯ СХЕМА ПРОГРАММЫ И ЕЕ ОПИСАНИЕ

. ЛИСТИНГ ПРОГРАММЫ

. контрольный пример и анализ результатов

. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЯ

тест программа знания проверка

ВВЕДЕНИЕ

Тестирование является одним из самых оптимальных методов оценивания знаний. Его стараются ввести в любую сферу деятельности для более качественной проверки знаний.

К примеру, если взять область образования, то одной из актуальных является проблема оценки уровня знаний (подготовленность) учащихся по различным предметам. Объективность оценки знаний учеников необходима, прежде всего, для принятия верного решения при проектировании деятельности учащихся по окончании средней общеобразовательной школы. Именно поэтому ввели Единый Государственный Экзамен ( ЕГЭ), который позволяет проверить знания одновременно у всех учеников старших классов при помощи тестирования.

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

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

Актуальность работы обусловлена нетрадиционным подходом к проверке знаний как механизму активизации познавательной деятельности учащихся.

Именно поэтому в своей курсовой я реализовала небольшую тест-программу для проверки знания таблицы умножения для учеников начальных классов. /1/

1.       ПОСТАНОВКА ЗАДАЧИ


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

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

За 10 и 9 правильных ответов - «отлично», за 8 и 7 - «хорошо», за 6 правильных ответов - «удовлетворительно», за 5 и менее - «плохо».

Данные (фамилия, имя отчество, количество правильных ответов и оценка) для каждого тестирующегося должны сохраняться в файл. Также программа должна содержать меню, которое позволяет нам разделить программу на 5 частей:

·        Ввод данных;

·        Переход к вопросам;

·        Оценивание;

·        Результаты тестирования;

·        Выход из программы;

Меню должно быть выполнено с использованием графических параметров. Учитывается местоположение окна меню, а также цвета фона и текста.

Вид меню:

МЕНЮ

. Ввод данных

. Перейти к вопросам

3. Оценка

. Результат

5. Выход

. РАЗРАБОТКА ПРОГРАММЫ В СРЕДЕ DEV-C++

Логично разделить программу на 3 части: начало работы, ввод ответов и выставление оценки. Обычно в начале любой программы на экран выводится информация о названии и назначении программы. Любая программа на C++ начинается с подключения всевозможных библиотек, необходимых для работы программы и заканчивается операторной скобкой «}». Между этими операторами располагается основной текст. Между ними операторы разделяются точкой с запятой. Сочетание { - } называют составным оператором или операторными скобками из-за того, что обычно так оформляют логически законченный фрагмент программы, например, вывод данных на экран. Если требуется выполнить какой-либо логический фрагмент программы в цикле или по условию, то его заключают в операторные скобки.

Чтобы вывести текст или значения переменных на экран монитора, используют оператор Printf. Оператор имеет следующий формат:(«форматная _строка, список _аргументов");

Если нужно вывести на экран строку, она заключается в апострофы. Несколько переменных и строк разделяются запятыми.

Следующим этапом необходимо включить в цикл вывода примеров, сгенерированных программой, и ввод ответов пользователя. Цикл вводится для того, чтобы повторить несколько однотипных действий, в нашей программе - вывод примеров. Цикл в данной программе организуется оператором do-while. При выполнении этой части программы, необходимо выполнить следующие действия:

·        Начало цикла (повторение);

·        Генерация примера;

·        Вывод примера на экран;

·        Ожидание ввода ответа;

·        Сравнение введённого ответа с правильным. Если введённый ответ является верным, то счётчик правильных ответов увеличивается на 1.

·        Условие, до выполнения которого выполняется цикл.

В следующей части программы условный оператор If анализирует количество правильных ответов пользователя и в зависимости от количества ответов программа выводит на экран разные оценки с указанием количества правильных ответов.

Формат записи:

If {ветвь условия 1} {оценка 1};

If {ветвь условия 2} {оценка 2};

If {ветвь условия 3} {оценка 3};

If {ветвь условия 4} {оценка 4};

После выполнения описанных действий оценка ответов выводится на экран и результат записывается в файл, после чего программа завершается.

. СООТВЕТСТВИЯ МЕЖДУ ПЕРЕМЕННЫМИ, ПРИНЯТЫМИ ПРИ ОПИСАНИИ ЗАДАЧИ И В ПРОГРАММЕ

Соответствия между переменными, принятыми при описании задачи и в главной программе, приведены в таблице 1.

Соответствия между переменными, принятыми при описании задачи и в функции NAME, предназначенной для ввода фамилии, имени, отчества и возраста приведены в таблице 2.

Соответствия между переменными, принятыми при описании задачи и в функции TEST, предназначенной для, непосредственно, проведения тестирования приведены в таблице 3.

Соответствия между переменными, принятыми при описании задачи и в функции OCENKA, предназначенной для оценивания учеников после прохождения теста, приведены в таблице 4.

Соответствия между переменными, принятыми при описании задачи и в функции REZULT, предназначенной для просмотра результатов обучаемых, приведены в таблице 5.

Таблица 1

Соответствия между переменными, принятыми при описании задачи и в главной программе

Обозначения, принятые при описании задачи

Обозначения, принятые при описании в программе

Примечание

-

ch

Переменная для присваивания

getch

Переменная меню

-

f

Переменная для работы с файлами

-

a

Первый множитель

-

b

Второй множитель

-

str, str3,str4

Переменная для ввода Ф.И.О.

-

str2

Переменная для ввода возраста

-

otvet

Ответ, введенный пользователем

-

i

Число неправильных ответов

-

n

Общее число ответов


Таблица 2

Соответствия между переменными, принятыми при описании задачи и в функции NAME

Обозначения, принятые при описании задачи

Обозначения, принятые при описании в программе

Примечание

-

str, str3,str4

Переменная для ввода Ф.И.О.

-

str2

Переменная для ввода возраста


Таблица 3

Соответствия между переменными, принятыми при описании задачи и в функции TEST

Обозначения, принятые при описании задачи

Обозначения, принятые при описании в программе

примечание

-

i

Число неправильных ответов

-

n

Общее число ответов

-

a

Первый множитель

-

b

Второй множитель

-

otvet

Ответ, введенный пользователем


Таблица 4

Соответствия между переменными, принятыми при описании задачи и в функции OCENKA

Обозначения, принятые при описании задачи

Обозначения, принятые при описании в программе

Примечание

-

n

Общее число ответов

-

f

Переменная для работы с файлами

-

name


Таблица 5

Соответствия между переменными, принятыми при описании задачи и в функции REZULT

Обозначения, принятые при описании задачи

Обозначения, принятые при описании в программе

Примечание

-

f

Переменная для работы с файлами

-

name

Имя файла


. СТРУКТУРНАЯ СХЕМА ПРОГРАММЫ И ЕЕ ОПИСАНИЕ

Структурная схема главной программы приведена на рисунке 1.

Блок 1: Ввод количества вопросов;

Блок 2: Проверка условия тестирования одного пользователя;

Блок 3: Вывод меню;

Блок 4: Код нажатой клавиши;

Блок 5: Ввод пункта меню;

Блоки 6, 7: Если был выбран пункт меню 1, то происходит обращение к функции NAME;

Блоки 8,9: Если был выбран пункт меню 2, то происходит обращение к функции TEST;

Блоки 10,11: Если был выбран пункт меню 3, то происходит обращение к функции OCENKA;

Блоки 12,13: Если был выбран пункт меню 4, то происходит обращение к функции REZULT;

Блок 14, 15: Если был выбран пункт меню 5, то происходит выход из программы.

Структурная схема функции NAME приведена на рисунке 2.

Блок 1: Ввод Фамилии, имени и отчества;

Блок 2: Ввод возраста.

Структурная схема функции TEST приведена на рисунке 3.

Блок 1: Обнуляем общее число ответов;

Блок 2: Обнуляем общее количество неправильных ответов;

Блок 3: Задается датчик случайных чисел;

Блок 4: Переменной n присваивается значение n+1;

Блок 5: Условие об общем количестве вопросов;

Блок 6: Присваивание переменной а случайного значения в интервале от 2 до 9;

Блок 7: Присваивание переменной b случайного значения в интервале от 2 до 9;

Блок 8: Вывод примера для решения (a*b=);

Блок 9: Условие ввода нуля;

Блок 10: Условие совпадения ответов, введенных пользователем и заданных в программе;

Блок 11: Вывод сообщения об ошибочном ответе;

Блок 12: Условие false;

Блок 13: Вывод сообщения о правильном ответе;

Блок 14: Переход к следующему примеру.

Структурная схема функции OCENKA приведена на рисунке 4.

Блоки 1, 2: Если количество неправильных ответов меньше 2, то оценка 5;

Блоки 3, 4: Если количество неправильных ответов 2, то оценка 4;

Блоки 5, 6: Если количество неправильных ответов 3 или 4, то оценка 3;

Блоки 7, 8: Если количество неправильных ответов 5 и больше, то оценка 2;

Блок 9: Связывание с файлом, с именем NAME;

Блок 10: Запись в файл фамилии, имени, отчества и возраста;

Блок 11: Вывод количества неправильных ответов;

Блоки 12, 13: Если количество неправильных ответов меньше 2, то в файл записывается оценка 5;

Блоки 14, 15: Если количество неправильных ответов 2 , то в файл записывается оценка 4;

Блоки 16, 17: Если количество неправильных ответов 3 или 4, то в файл записывается оценка 3;

Блоки 18, 19: Если количество неправильных ответов 5 и больше, то в файл записывается оценка 2;

Блок 20: Считывание файла;

Блок 21: Закрытие файла.

Структурная схема функции REZULT приведена на рисунке 5.

Блок 1: Связывание с файлом, с именем NAME и его открытие;

Блоки 2, 3: Если не конец файла, то переход на новую строку;

Блок 4: Закрытие файла;

. ЛИСТИНГ ПРОГРАММЫ

Листинг программы приведен в приложении А, окно выбора количества вопросов - в приложении Б вид меню - в приложении В, ввод данных с клавиатуры - в приложении Г, окно «тестирование» - в приложении Д, окно ответа обучаемого на оценку 5 - в приложении Е, окно ответа обучаемого на оценку 4 - в приложении Ж, окно ответа обучаемого на оценку 3 - в приложении З, окно ответа обучаемого на оценку 2 - в приложении И, окно результатов - в приложении К.

. КОНТРОЛЬНЫЙ ПРИМЕР И АНАЛИЗ РЕЗУЛЬТАТОВ

Пусть обучаемому нужно ответить на 10 вопросов из таблицы умножения и он ответил неправильно на 1 вопрос:

*3=6 правильно

*9=89 не правильно

*4=8 правильно

*8=40 правильно

*9=27 правильно

*5=20 правильно

*4=24 правильно

*4=8 правильно

*8=16 правильно, тогда его оценка по окончанию теста-отлично.

Результаты контрольного примера совпали с результатами работы программы (см. приложение Е).

Пусть обучаемому нужно ответить на 10 вопросов из таблицы умножения и он ответил неправильно на 2 вопроса:

*3=6 правильно

*9=81 правильно

*9=45 правильно

*6=18 правильно

*3=18 правильно

*8=46 не правильно

*7=47 не правильно

*8=56 правильно

*2=8 правильно

*8=16 правильно, тогда его оценка по окончанию теста-хорошо.

Результаты контрольного примера совпали с результатами работы программы (см. приложение Ж)

Пусть обучаемому нужно ответить на 10 вопросов из таблицы умножения и он ответил неправильно на 4 вопроса:

*3=6 правильно

*3=9 правильно

*4=8 правильно

*8=72 правильно

*9=72 не правильно

*2=14 не правильно

*9=64 не правильно

*9=28 не правильно

*6=30 правильно

*8=28 не правильно, тогда его оценка по окончанию теста-удовлетворительно.

Результаты контрольного примера совпали с результатами работы программы (см. приложение З)

Пусть обучаемому нужно ответить на 10 вопросов из таблицы умножения и он ответил неправильно на 5 вопросов:

*3=6 правильно

*3=9 правильно

*4=8 правильно

*3=12 правильно

*3=27 не правильно

*5=15 не правильно

*8=25 не правильно

*4=36 не правильно

*3=22 не правильно

*5=40 правильно, тогда его оценка по окончанию теста-плохо.

Результаты контрольного примера совпали с результатами работы программы (см. приложение И)

. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ

Программа, предназначенная для проверки знания таблицы умножения, она располагается на диске (см. приложение Л) и занимает 1 286 144 байт.

Для работы с программой нужно запустить на выполнение файл TEST-PROGRAM.EXE.

После запуска на экране появится меню (см. приложение В). Перед тем, как начать тестирование, выберете количество вопросов. После этого, чтобы начать тестирование, нажмите клавишу 1. Вам будет предложено ввести ваши фамилию, имя, отчество и возраст (см. приложение Г ). После этого необходимо нажать клавишу 2. Начинается тест (см. приложение Д). Вам задаются примеры из таблицы умножения, нужно ввести ответ и нажать ENTER, и так для каждого вопроса.

После окончания теста, в меню нажать клавишу 3 для просмотра своей оценки (см. приложение Е). Чтобы просмотреть результаты предыдущих тестирований, необходимо в меню нажать на клавишу 4, в данном пункте можно будет увидеть фамилию, имя, отчество и возраст предыдущих учеников, проходивших данный тест, а также количество правильных ответов из десяти предложенных и оценка. Для выхода из меню, нужно нажать на клавишу 5

ЗАКЛЮЧЕНИЕ

В результате выполнения курсовой работы мною была написана программа, которая проверяет знание таблицы умножения. В работе была полностью реализована постановка задачи. Кроме того, я изучила основные понятия и свойства языка C++, его операторы и ключевые слова, научилась работать в среде Dev - C++ и в итоге приобрела опыт разработки и написания простых программ на языке C++. На отладку программы было потрачено 5 часов.

В ходе дальнейших работ с программой, можно добавить в меню пункт «турнирная таблица» для просмотра лучших результатов, а также можно реализовать выбор категории возраста тестирующегося, чтобы просматривать результаты среди учеников различных возрастных категорий.

СПИСОК ЛИТЕРАТУРЫ:

1.     М. Демидова, С. Иванов, о. Карабанова. Оценка достижения планируемых результатов в начальной школе. «Просвещение», 2009.-215 с.

2.       Березин Б. И., Березин С. Б. Начальный курс C и C++ - 3-е изд. - ДИАЛОГ-МИФИ, 2001.- 288 с.

.         П. Франка. C++: Учебный курс. - 5-е изд. - «Питер», 2003. - 528 с.

.         А. В. Петров, В. Е. Алексеев, А.С. Ваулин. Вычислительная техника и программирование. «Высшая школа», 1990. - 479 с.

 

ПРИЛОЖЕНИЕ А

ЛИСТИНГ ПРОГРАММЫ


#include <stdio.h>

#include <conio.h>

#include <Windows.h>

#include <time.h>

#include <locale.h>

#include<iostream>ch;* f;otvet, i, n, a, b, maxn = 10; str[100], str2[100], st[100], str3[100], str4[100]; //функция которая считывает Фамилию Имя Отчество и возраст, и сохраняет их в глобальных переменных

int name()

{(LC_ALL, "Russian");("cls");("Введите фамилию, имя, отчество: ");

scanf("%s %s %s", str, str3, str4);("Введите ваш возраст: ");

scanf("%s", str2);

return 0;

}

//функция которая задаёт 10 вопросов

int test()

{(LC_ALL, "Russian");("cls");= 0;= 0;(time(NULL));

{

n++;

a = rand()%8 + 2;//генерируем случайные числа a и b

b = rand()%8 + 2;("%d * %d = ", a, b);//задаём вопрос("%d", &otvet);//считываем ответ

if(otvet == 0) break;//если ответ = 0 то выходим

if(a * b != otvet)//если мы ввели неправильных ответ

{

printf("Ты ошибся! Правильный ответ %d!\n", (a * b));

i++;

}

{("Правильно!\n");

}

}

while(true);

getch();

return 0;

}

//функция которая выводит оценку и записывает результат в файл

int ocenka()

{(LC_ALL, "Russian");("cls");

//проверяем оценку(i < 2) printf("Твоя оценка - 5! Молодец!\n");(i > 1 && i < 3) printf("Твоя оценка - 4! Хорошо!\n");(i > 2 && i < 5) printf("Твоя оценка - 3! Удовлетворительно.\n");

if(i > 4) printf("Твоя оценка - 2! Плохо! Займись учёбой!");

f = fopen("Rezult.txt", "a");//открываем файл для добавления информации

fprintf(f, "%s %s %s %s лет\n", str, str3, str4, str2);//выводим в файл Фамилию Имя Отчество

fprintf(f, "%d правильных ответов из %d\n", maxn-i, maxn);//Выводим количество правильных ответов

//выводим оценку

if(i < 2) fprintf(f, "Оценка - 5!\n");

if(i > 1 && i < 3) fprintf(f, "Оценка - 4!\n");(i > 2 && i < 5) fprintf(f, "Оценка - 3!\n");(i > 4) fprintf(f,"Оценка - 2!\n");(f, "\n");(f);//закрываем файл();

return 0;

}

//функция которая выводит данные из файла на экран

int rezult()

{str[100];("cls");(LC_ALL, "Russian");("chcp 1251"); = fopen("Rezult.txt", "r");//открываем файл для чтения

while(!feof(f))//пока не закончится файл

{

fgets(st, 100, f);//читаем строку

printf("%s ", st);//выводим на экран

}

fclose(f);//закрываем файл

getch();

return 0;

}

//главная функцияmain()

{(LC_ALL, "Russian");("Введите количество вопросов: \n");

scanf("%d", &maxn);

//безконечный цикл пока мы не выберем 5 пункт меню

while(1)

{("cls");("Меню:\n\n");("1.Ввод данных\n2.Перейти к вопросам\n3.Оценка\n4.Результат\n5.Выход");

ch = getch();//считываем введённый пункт меню

//в зависимости от того какой пункт меню выбрали вызываем соответствующие функции

switch(ch)

{'1':();;'2':();;'3':();;'4':();;'5':(0);;

}

}

return 0;

}

ПРИЛОЖЕНИЕ Б


ОКНО ВЫБОРА КОЛИЧЕСТВА ВОПРОСОВ


ПРИЛОЖЕНИЕ В


ВИД МЕНЮ

 

ПРИЛОЖЕНИЕ Г


ЭКРАН ВВОДА ДАННЫХ С КЛАВИАТУРЫ

ПРИЛОЖЕНИЕ Д

ЭКРАН «ТЕСТИРОВАНИЕ»

ПРИЛОЖЕНИЕ Е

ОКНО ОТВЕТА ОБУЧАЕМОГО НА ОЦЕНКУ 5



ПРИЛОЖЕНИЕ Ж

ОКНО ОТВЕТА ОБУЧАЕМОГО НА ОЦЕНКУ 4



ПРИЛОЖЕНИЕ З

ОКНО ОТВЕТА ОБУЧАЕМОГО НА ОЦЕНКУ 3


ПРИЛОЖЕНИЕ И

ОКНО ОТВЕТА ОБУЧАЕМОГО НА ОЦЕНКУ 2


ПРИЛОЖЕНИЕ К

ЭКРАН «РЕЗУЛЬТАТ ТЕСТИРОВАНИЯ»

Похожие работы на - Тест-программа для проверки знания таблицы умножения для учеников начальных классов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!