Практикумы с автоматической проверкой решений в среде КуМир

Содержание

Слайд 2

Автоматическая проверка решений

экономия времени учителя
много тестов для каждой задачи
случайные данные
особые случаи включены

Автоматическая проверка решений экономия времени учителя много тестов для каждой задачи случайные
в тесты
группировка задач в пакеты (курсы, практикумы)
самопроверка (при домашней работе)

предварительная работа учителя
проверка только «вход-выход» (не проверить код)

Слайд 3

Системы онлайн-проверки (eJudge и т.п.)

http://acm.timus.ru
http://informatics.mccme.ru

Системы онлайн-проверки (eJudge и т.п.) http://acm.timus.ru http://informatics.mccme.ru

Слайд 4

Contester (contester.ru), И. Клопов

Contester (contester.ru), И. Клопов

Слайд 5

PascalABC (.NET) (задачник М. Э. Абрамяна)

Task('Begin3');

http://ptaskbook.com (Pascal, C#, VB.NET, Python)

PascalABC (.NET) (задачник М. Э. Абрамяна) Task('Begin3'); http://ptaskbook.com (Pascal, C#, VB.NET, Python)

Слайд 6

КуМир: предыстория

1980-е: А.П. Ершов, ШАЯ = школьный алгоритмический язык, АЛГОЛ по-русски для

КуМир: предыстория 1980-е: А.П. Ершов, ШАЯ = школьный алгоритмический язык, АЛГОЛ по-русски
безмашинного курса информатики
1985: «Е-практикум» (МГУ)
1990: А.Г.Кушниренко, Г.В.Лебедев, Р.А.Сворень, «Основы информатики и вычислительной техники»
1990: «КуМир» с исполнителями (Робот, Чертёжник,…) для MS DOS, Ямаха, Корвет, УКНЦ и др.

Слайд 7

КуМир: современная версия

свободно распространяемое ПО (GPL 2.0)
Windows, Linux, Mac OS (?)
поддержка –

КуМир: современная версия свободно распространяемое ПО (GPL 2.0) Windows, Linux, Mac OS
НИИСИ РАН (А.Г. Кушниренко, А.Г. Леонов, М.А. Ройтберг)

Слайд 8

КуМир = Комплект Учебных МИРов

КуМир = Комплект Учебных МИРов

Слайд 9

Кумир: Водолей

Кумир: Водолей

Слайд 10

Задача «A+B»

C:= A + B

Задача «A+B» C:= A + B

Слайд 11

Кумир: автоматическая проверка

вызвать алгоритм «A плюс B»
передать ему исходные данные
получить результат

глобальные переменные
вызов

Кумир: автоматическая проверка вызвать алгоритм «A плюс B» передать ему исходные данные
алгоритма-функции
через параметры процедуры
через файлы
перенаправление потоков ввода и вывода

Варианты обмена данными:

в версии 2.0

Слайд 12

Обмен через глобальные переменные

цел A, B, C
алг А плюс B
нач
C:= A

Обмен через глобальные переменные цел A, B, C алг А плюс B
+ B
кон

алг @тестирование
нач
A:= 5; B:= 7
A плюс B
если C = A + B то
вывод "Верно!"
иначе __Ошибка__(A, B, C) все
кон

цел A, B, C

@тестирование

Ctrl+T

Слайд 13

Процедура: сообщение об ошибке

алг __Ошибка__(цел A, B, C)
нач
вывод "Получен ответ: "

Процедура: сообщение об ошибке алг __Ошибка__(цел A, B, C) нач вывод "Получен
вывод A, "+", B, "=", C, нс
вывод "Правильный ответ:",
вывод A, "+", B, "=", A+B
кон

__имя__ специальный алгоритм

Слайд 14

Тестовые данные в массиве

алг @тестирование
нач
цел N = 5, i;
целтаб

Тестовые данные в массиве алг @тестирование нач цел N = 5, i;
AA[1:N] = {1, 2, 3, 4, 5}
целтаб BB[1:N] = {5, 12, 23, 44, 75}
лог ОК; ОК:= да
нц для i от 1 до N
A:= AA[i]; B:= BB[i]
A плюс B
если C <> A + B то
__Ошибка__(A, B, C); ОК:= нет; выход
все
кц
если ОК то вывод "Верно!" все
кон

irand(1,100)

Слайд 15

Режим учителя

kumir.exe -t

ПКМ

Защитить эту строку от изменения
Скрыть эту строку и строки выше
Скрыть

Режим учителя kumir.exe -t ПКМ Защитить эту строку от изменения Скрыть эту
эту строку и строки ниже

Слайд 16

Шаблон с тестирующим алгоритмом

защищённые строки

скрытая часть

Шаблон с тестирующим алгоритмом защищённые строки скрытая часть

Слайд 17

Шаблон для ученика

место для программы

Шаблон для ученика место для программы

Слайд 18

Обмен данными через параметры

алг цел А плюс B (цел A, B)
нач
цел

Обмен данными через параметры алг цел А плюс B (цел A, B)
C
C:= A + B
знач:= C
кон

алг @тестирование
нач
цел A = 5, B = 7, C
C:= A плюс B (A, B)
если C = A + B то
вывод "Верно!"
иначе __Ошибка__(A, B, C) все
кон

алгоритм-функция

Слайд 19

Параметры-результаты

алг А плюс B (цел A, B, рез цел C, D)
нач
C:=

Параметры-результаты алг А плюс B (цел A, B, рез цел C, D)
A + B
D:= A * B
кон

алг @тестирование
нач
цел A = 5, B = 7, C, D
A плюс B (A, B, C, D)
если C=A+B и D=A*B то
вывод "Верно!"
иначе __Ошибка__(A, B, C, D) все
кон

результат

Слайд 20

Изменяемые параметры

алг Поменять (аргрез цел A, B)
нач
цел C
C:= A; A:=

Изменяемые параметры алг Поменять (аргрез цел A, B) нач цел C C:=
B; B:= C
кон

алг @тестирование
нач
цел A = 5, B = 7, C, D
C:= A; D:= B
Поменять (C, D)
если C=B и D=A то
вывод "Верно!"
иначе __Ошибка__(A, B, C, D) все
кон

и вход, и выход

Слайд 21

Обмен через файлы

использовать Файлы П
алг A плюс B
нач
цел A =

Обмен через файлы использовать Файлы П алг A плюс B нач цел
0, B = 0, C
Прочитать данные(A, B)
C:= A + B
Записать результат(C)
кон

обход бага в 1.9

Слайд 22

Алгоритмы чтения и записи данных

алг Прочитать данные(аргрез цел A, B)
нач
цел F

Алгоритмы чтения и записи данных алг Прочитать данные(аргрез цел A, B) нач
F:= открыть на чтение("input.txt")
Фввод F, A, B
закрыть(F)
кон

алг Записать результат(цел C)
нач
цел F
F:= открыть на запись("output.txt")
Фвывод F, C
закрыть(F)
кон

обход бага в 1.9

Слайд 23

Программа тестирования

алг @тестирование
нач
цел A = 5, B = 7, C =

Программа тестирования алг @тестирование нач цел A = 5, B = 7,
0
__Вывод_в_файл__(A, B)
A плюс B
__Ввод_результата__(C)
если C = A + B то
вывод "Верно!"
иначе
__Ошибка__(A, B, C)
все
кон

Слайд 24

КуМир: автоматическое тестирование

Шаблон:
защищённые строки (условие, объявление переменных, «обвязка» процедур и функций)
строки для

КуМир: автоматическое тестирование Шаблон: защищённые строки (условие, объявление переменных, «обвязка» процедур и
ввода программы
алгоритм тестирования (Ctrl+T)

предварительная работа учителя
проверка только «вход-выход» (не проверить код)
не проверить операции ввода/вывода с консоли

Слайд 25

КуМир: практикумы (версия 1.8+)

Практикум

Урок 1

Урок 2

Урок 3

шаблон + алгоритм проверки
тестовые

КуМир: практикумы (версия 1.8+) Практикум Урок 1 Урок 2 Урок 3 шаблон
обстановки для исполнителей

Слайд 26

КуМир: практикумы

Урок

Задача

Условие

Обстановки
исполнителя

Шаблон

КуМир: практикумы Урок Задача Условие Обстановки исполнителя Шаблон

Слайд 27

КуМир: практикумы

Рабочая тетрадь

Файл-практикум

Шаблоны с программами проверки

Обстановки
исполнителей

КуМир: практикумы Рабочая тетрадь Файл-практикум Шаблоны с программами проверки Обстановки исполнителей

Слайд 28

КуМир: практикумы

Практикум

Загрузить курс

КуМир: практикумы Практикум Загрузить курс

Слайд 29

КуМир: практикумы

Защищённые строки

КуМир: практикумы Защищённые строки

Слайд 30

КуМир: практикумы

Проверить

КуМир: практикумы Проверить

Слайд 31

КуМир: передача результата

алг цел @тестирование
нач
A:= 5; B:= 7
A плюс B

КуМир: передача результата алг цел @тестирование нач A:= 5; B:= 7 A
если C = A + B то
вывод "Верно!"
знач:= 5
иначе
__Ошибка__(A, B, C)
знач:= 0
все
кон

цел

знач:= 5

знач:= 0

от 0 до 10

Слайд 32

Проверка задач для Водолея

алг цел @тестирование
нач
Отмерить 1 литр
если @решено то

Проверка задач для Водолея алг цел @тестирование нач Отмерить 1 литр если

знач:= 10
вывод "Задание выполнено успешно"
иначе
знач:= 0
вывод "Задание не выполнено"
все
кон

@решено

Слайд 33

Проверка задач для Робота

Размер поля

цел ширина, высота
@@размер поля(ширина, высота)
вывод "Размер поля: ",

Проверка задач для Робота Размер поля цел ширина, высота @@размер поля(ширина, высота)
ширина, " на ", высота

Позиция Робота

цел x, y
@@робот(x, y)
вывод "Позиция Робота: (", x, ",", y, ")"

цел x, y
нц для x от 1 до ширина
нц для y от 1 до высота
| проверить клетку (x,y)
кц
кц

Слайд 34

Проверка задач для Робота

закрашена

отмечена

верхняя буква

нижняя буква

Робот

Для каждой клетки:
радиация
температура

Проверка задач для Робота закрашена отмечена верхняя буква нижняя буква Робот Для каждой клетки: радиация температура

Слайд 35

Проверка клеток на поле

если @@метка(x, y) то
вывод "отмечена "
все
если @@закрашена(x, y)

Проверка клеток на поле если @@метка(x, y) то вывод "отмечена " все
то
вывод "закрашена "
все
вывод "буквы: ("
вывод @@верхняя буква(x,y), ","
вывод @@нижняя буква (x,y), ")", нс
вывод "радиация: ", @@радиация(x,y), нс
вывод "темп.: ", @@температура(x,y), нс

Слайд 36

Готовые практикумы

материалы Д. П. Кириенко: http://server.179.ru/wiki/?page=DenisKirienko/Kumir

Исполнитель Водолей
Исполнитель Робот
Линейные алгоритмы. Циклы «N

Готовые практикумы материалы Д. П. Кириенко: http://server.179.ru/wiki/?page=DenisKirienko/Kumir Исполнитель Водолей Исполнитель Робот Линейные
раз». Вложенные циклы. Циклы с условием. Ветвления. Сложные условия. Циклы и условия. Вспомогательные алгоритмы. Переменные. Подсчёт шагов. Поиск выхода. Рекурсия.

Слайд 37

Готовые практикумы

http://kpolyakov.narod.ru/school/kumir.htm

Исполнитель Водолей
Линейные алгоритмы. Циклы «N раз». Циклы с условием. Переменные.

Готовые практикумы http://kpolyakov.narod.ru/school/kumir.htm Исполнитель Водолей Линейные алгоритмы. Циклы «N раз». Циклы с
Ветвления.
Исполнитель Робот
Линейные алгоритмы. Циклы «N раз». Циклы с условием. Ветвления. Сложные условия. Вспомогательные алгоритмы. Переменные. Алгоритмы-функции. Циклы с переменной. Алгоритмы с параметрами.

Слайд 38

Готовые практикумы

http://kpolyakov.narod.ru/school/kumir.htm

Массивы-1
Заполнение. Обработка всех элементов. Минимум и максимум. Подсчёт. Суммы и

Готовые практикумы http://kpolyakov.narod.ru/school/kumir.htm Массивы-1 Заполнение. Обработка всех элементов. Минимум и максимум. Подсчёт.
произведения. Поиск.
Массивы-2
Реверс. Циклический сдвиг. Отбор по условию. Сортировка. Двоичный поиск.

Слайд 39

Готовые практикумы

http://kpolyakov.narod.ru/school/kumir.htm

Символьные строки
Работа с отдельными символами. Замена символов. Подсчёт символов. Разбор

Готовые практикумы http://kpolyakov.narod.ru/school/kumir.htm Символьные строки Работа с отдельными символами. Замена символов. Подсчёт
символьных строк. Вычисление арифметических выражений.
Алгоритмы-функции
Функции с одним параметром. Функции с несколькими параметрами. Обработка символьных строк. Логические функции. Обработка массивов. Рекурсивные функции.

Слайд 40

Готовые практикумы

http://kpolyakov.narod.ru/school/kumir.htm

Задачи ЕГЭ – С2
Максимумы и минимумы. Подсчёт и поиск элементов.

Готовые практикумы http://kpolyakov.narod.ru/school/kumir.htm Задачи ЕГЭ – С2 Максимумы и минимумы. Подсчёт и
Суммы, средние и произведения. Последовательности. Матрицы.

Слайд 41

КуМир: практикумы

использование шаблонов-заготовок
автоматическое тестирование, в том числе для Водолея и Робота
несколько

КуМир: практикумы использование шаблонов-заготовок автоматическое тестирование, в том числе для Водолея и
тестовых обстановок для одной задачи
создание курсов: наборов задач, разбитых на темы
вся работа ученика – в одном XML-файле
удобно делать контрольные работы (в формате практикума)

Слайд 42

КуМир: проблемы

алг Fun(цел a) нач . a:=a+1 кон

...
. Fun(1) ... алг цел Fun(цел a) нач . знач:=1

КуМир: проблемы алг Fun(цел a) нач . a:=a+1 кон ... . Fun(1)
кон

низкая скорость
дизайн (интерфейс, исполнители…)
интерпретатор, невозможно создать исполняемый файл
ограничения синтаксиса
нет динамических структур данных
нет объектов (ООП)
непригоден для практически полезного программирования

Слайд 43

КуМир 2.0

некоторые изменения в языке (строки, файлы)
повышено быстродействие
вычисление 100! через

КуМир 2.0 некоторые изменения в языке (строки, файлы) повышено быстродействие вычисление 100!
«длинную арифметику»
Кумир 1.9: 3 мин 27 сек
Кумир 2.0: < 1 cек
транслятор в псевдокод foof.kum → foo.kod → выполнение
олимпиады, системы автоматической проверки (Contester)

Слайд 44

КуМир 2.0

КуМир 2.0

Слайд 45

КуМир: выводы

опыт 3 года, 7-11 классы
для изучения основ алгоритмизации не хуже Паскаля

КуМир: выводы опыт 3 года, 7-11 классы для изучения основ алгоритмизации не
и др.
школьники воспринимают русские команды легче английских
автоматическая проверка экономит время
в 6-7 классах – исполнители
один из вариантов для подготовки к ЕГЭ
лучший выбор для «непрограммистов»

Слайд 46

КуМир: где взять?

Сайт проекта «КуМир» в НИИСИ РАН: http://www.niisi.ru/kumir/ (последняя стабильная версия

КуМир: где взять? Сайт проекта «КуМир» в НИИСИ РАН: http://www.niisi.ru/kumir/ (последняя стабильная
1.9.0)
Cайт группы разработчиков: http://lpm.org.ru/kumir2/ (стабильные версии, текущие сборки, возможность сообщить об ошибках и др.) [email protected] (М.А. Ройтберг)
Версия 1.9: http://lpm.org.ru/~kumir/kumir-1.9.0-windows-32bit-setup.exe

Слайд 47

КуМир: ещё методические материалы

учебники А.Г. Кушниренко и соавторов: http://publ.lib.ru/ARCHIVES/K/KUSHNIRENKO... http://www.niisi.ru/kumir/books.htm
материалы Д. П.

КуМир: ещё методические материалы учебники А.Г. Кушниренко и соавторов: http://publ.lib.ru/ARCHIVES/K/KUSHNIRENKO... http://www.niisi.ru/kumir/books.htm материалы
Кириенко: http://server.179.ru/wiki/?page=DenisKirienko/Kumir
сборник задач Т. Удаловой http://www.licey.net/kumir/
Удалова Т.Л., Ануфриева М.В. Программирование. КуМир (2012). http://www.licey.net/book/1799
материалы Т. Прищепа http://ido.tsu.ru/other_res/school2/...

Слайд 48

КуМир: ещё методические материалы

Зайдельман Я.Н. Курс «Алгоритмизация и программирование: от первых шагов до

КуМир: ещё методические материалы Зайдельман Я.Н. Курс «Алгоритмизация и программирование: от первых
подготовки к ЕГЭ»  http://edu.1september.ru/courses/107/005/
материалы А.С. Башлакова http://www.klyaksa.net/htm/konspektsch/kumir/index.htm
дистанционные курсы МИОО (2010): http://www.mos-cons.ru/course/view.php?id=24
дистанционный семинар на сайте it-n.ru http://www.it-n.ru/Board.aspx?cat_no=85737...
Имя файла: Практикумы-с-автоматической-проверкой-решений-в-среде-КуМир.pptx
Количество просмотров: 46
Количество скачиваний: 0