099795225429eba0bdc26aeeae55a98e.ppt
- Количество слайдов: 189
М. Э. Абрамян mabr@math. sfedu. ru Центр компьютерного образования Факультет математики, механики и компьютерных наук Южный федеральный университет (г. Ростов-на-Дону) Система программирования Pascal. ABC. NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей информатики (ВМК МГУ, 26. 08. 2011)
План доклада l l Система программирования Pascal. ABC. NET Электронный задачник Programming Taskbook Веб-среда Pascal. ABC. NET WDE Компоненты для преподавателя 2
Система программирования Pascal. ABC. NET Обзор возможностей Среда разработки Новое в языке Дополнительные модули Pascal. ABC. NET и платформа. NET Модули для обучения
Система Pascal. ABC. NET Первый язык программирования 1. 2. 3. 4. 5. Легкость создания простых программ Простота методов ввода-вывода Простые управляющие конструкции Простота разработки подпрограмм и модулей Наличие простых средств для работы с массивами, строками и файлами 6. Простые средства для работы с графикой 7. Поддержка современной объектной модели и наличие развитых объектных библиотек 8. Наличие учебной литературы по этому языку 4
Система Pascal. ABC. NET Первая среда программирования 1. 2. 3. 4. 5. 6. 7. 8. Простой интерфейс Отображение динамических подсказок Автоматическое форматирование текста Генерация шаблонов программ и конструкций языка Возможность создания простых интерактивных консольных приложений на русском языке Генерация исполняемых файлов Freeware (не требует платы за использование) Распространенность и популярность среды 5
Система Pascal. ABC. NET Проект Pascal. ABC. NET l l l l l Начало: 2002 г. Основная цель: создание среды программирования для обучения Полноценный язык Delphi Pascal Самые современные конструкции языков программирования: классы, интерфейсы, шаблоны, исключения и т. д. Возможность использования. NET библиотек Модули растровой и векторной графики Модули школьных Исполнителей Модуль электронного задачника Простая и мощная оболочка со средствами динамической подсказки и отладки приложений 6
Система Pascal. ABC. NET Первый вариант учебной среды: система Pascal ABC 7
Система Pascal. ABC. NET Ограничения Pascal ABC l l l Нельзя создавать исполняемые файлы Отсутствуют динамические подсказки и средства автоматического форматирования текста программ Нельзя использовать стандартные библиотеки платформы. NET Сайт системы: http: //sunschool. math. sfedu. ru/pabc/ 8
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 9
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 10
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 11
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 12
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 13
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 14
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 15
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 16
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 17
Система Pascal. ABC. NET. Обзор возможностей Система программирования Pascal. ABC. NET 18
Система Pascal. ABC. NET. Обзор возможностей Сайт Pascal. ABC. NET http: //pascalabc. net/ 19
Система Pascal. ABC. NET. Среда разработки Окно программной среды 20
Система Pascal. ABC. NET. Среда разработки Запуск с отображением результатов в окне вывода 21
Система Pascal. ABC. NET. Среда разработки Запуск с отображением результатов в окне вывода 22
Система Pascal. ABC. NET. Среда разработки Запуск вне программной оболочки 23
Система Pascal. ABC. NET. Среда разработки Запуск вне программной оболочки 24
Система Pascal. ABC. NET. Среда разработки Запуск вне программной оболочки 25
Система Pascal. ABC. NET. Среда разработки Установка точки прерывания 26
Система Pascal. ABC. NET. Среда разработки Остановка и просмотр текущего значения 27
Система Pascal. ABC. NET. Среда разработки Редактирование текущего значения 28
Система Pascal. ABC. NET. Среда разработки Просмотр текущих значений всех переменных 29
Система Pascal. ABC. NET. Среда разработки Пошаговое выполнение программы 30
Система Pascal. ABC. NET. Среда разработки Подсказка при наведении 31
Система Pascal. ABC. NET. Среда разработки Подсказка по контексту 32
Система Pascal. ABC. NET. Среда разработки Подсказка по параметрам 33
Система Pascal. ABC. NET. Среда разработки Подсказка по точке 34
Система Pascal. ABC. NET. Среда разработки Подсказка по точке 35
Система Pascal. ABC. NET. Среда разработки Автоформатирование var i, j: integer; begin for i: =1 to 5 do begin for j: =1 to 5 do write(i*j: 3); writeln; end. 36
Система Pascal. ABC. NET. Новое в языке Описание, инициализация, ввод и вывод begin write('Введите n: '); var fact: integer : = 1; // описание внутри раздела операторов // с возможностью немедленной инициализации var n : = Read. Integer; // ввод с помощью функций, // «вывод типа» по типу инициализатора for var i : = 2 to n do // описание параметра цикла в заголовке // (здесь также используется вывод типа), // параметр цикла существует только в цикле fact *= i; // комбинированные операторы присваивания writeln. Format(‘{0}! = {1}', n, fact); // форматный вывод в стиле. NET end. Вывод Введите n: 7 7! = 5040 37
Система Pascal. ABC. NET. Новое в языке Упрощенный синтаксис для модулей unit My. Unit; function Even(x: integer): boolean; begin result : = not Odd(x); end. l l Секции interface и implementation можно не указывать; в этом случае все элементы модуля доступны для подключившей его программы. Секции initialization и finalization (или блок begin-end) вместо секции initialization доступны для модулей, использующих как традиционный, так и упрощенный синтаксис. 38
Система Pascal. ABC. NET. Новое в языке Самодокументирование модулей /// Мой модуль unit My. Unit; /// Возвращает True, если число x /// является четным function Even(x: integer): boolean; begin result : = not Odd(x); end. l Любые элементы модуля (и сам модуль) можно снабжать специальными комментариями, которые будут использоваться системой контекстной подсказки после первой компиляции модуля. 39
Система Pascal. ABC. NET. Новое в языке Самодокументирование модулей 40
Система Pascal. ABC. NET. Новое в языке Конструкторы и деструкторы объектов var p 1, p 2: Pupil; begin p : = Pupil. Create(‘Иванов’); // стиль Delphi p : = new Pupil(‘Иванов’); // стиль С# end. l l l Все методы классов могут описываться непосредственно при определении класса (хотя могут и отдельно – в стиле Delphi). При описании конструктора надо использовать ключевое слово constructor, после которого указывается либо имя Create, либо не указывается никакого имени. Деструкторы можно определять (с помощью слова destructor), но они являются обычными методами, так как при их вызове не происходит разрушения объекта (за разрушение объекта в. NET отвечает сборщик мусора). 41
Система Pascal. ABC. NET. Новое в языке Работа с динамическими массивами var a 1: array of integer; // одномерный динамический массив a 2: array [, ] of integer; // двумерный динамический массив begin Set. Length(a 1, 5); // выделение памяти в стиле Delphi Set. Length(a 2, 5, 5); // (при повторном вызове Set. Length старое // содержимое массива сохраняется) a 1 : = new integer[10]; // выделение памяти в стиле C# a 2 : = new integer[10, 10]; // (производится копирование ссылок) writeln(Length(a 1)); // определение размера в стиле Delphi writeln(a 1. Length); // определение размера в стиле C# writeln(Length(a 2, 0), ' ', a 2. Get. Length(0)); var a 3: array of real : = (1, 2, 3); // описание массива с инициализацией var a 4 : = new real[3] (1, 2, 3); // описание массива // с выводом типа и инициализацией end. 42
Система Pascal. ABC. NET. Дополнительные модули Модуль растровой графики Graph. ABC 43
Система Pascal. ABC. NET. Дополнительные модули Реализация анимации без мерцания 44
Система Pascal. ABC. NET. Дополнительные модули Реализация анимации без мерцания 45
Система Pascal. ABC. NET. Дополнительные модули Простейшие событийные приложения 46
Система Pascal. ABC. NET. Дополнительные модули Модуль векторной графики ABCObjects 47
Система Pascal. ABC. NET и платформа. NET Что дает платформа. NET l l Многообразие библиотек Возможность совместного использования кода, написанного на разных. NET-языках Современные языковые средства: многомерные динамические массивы, классы, интерфейсы, шаблоны классов и подпрограмм, исключения, средства параллельности и пр. Сборка мусора (не нужно явно возвращать динамическую память) 48
Система Pascal. ABC. NET и платформа. NET Многообразие стандартных. NET-библиотек System – базовые классы. NET System. Collections – классы коллекций System. Text. Regular. Expressions – классы для работы с регулярными выражениями System. Data – классы для работы с БД System. Drawing – классы для рисования в окне System. Net – классы для работы с сетью System. Web – классы для работы с Web System. Windows. Forms – классы для создания оконных приложений … 49
Система Pascal. ABC. NET и платформа. NET Тип Date. Time uses System; var d: Date. Time; begin d : = Date. Time. Now; for var i : = 1 to 10 do begin writeln(d. To. Short. Date. String, ' ', d. Day. Of. Week); d : = d. Add. Days(7); end. Вывод 04. 10. 2009 11. 10. 2009 18. 10. 2009 25. 10. 2009 01. 11. 2009 08. 11. 2009 15. 11. 2009 22. 11. 2009 29. 11. 2009 06. 12. 2009 Sunday Sunday Sunday Упрощение решения традиционных задач 50
Система Pascal. ABC. NET и платформа. NET Строки как классы var s: string : = 'Каждый Охотник Желает Знать Где Сидит Фазан'; begin var ss : array of string : = s. Split(' '); System. Array. Sort(ss); s : = string. Join(', ', ss); writeln(s); end. Вывод Где, Желает, Знать, Каждый, Охотник, Сидит, Фазан Высокоуровневые базовые примитивы, которые удобно использовать для решения алгоритмических задач 51
Система Pascal. ABC. NET и платформа. NET Регулярные выражения uses System. Text. Regular. Expressions; begin var s : = '23 abc 67 a 345 b 534 n 8'; var sum : = 0; foreach var m: Match in Regex. Matches(s, 'bd+b') do sum += Str. To. Int(m. Value); write('Сумма чисел = ', sum); end. Вывод Сумма чисел = 98 Мощные средства обработки текстовых данных 52
Система Pascal. ABC. NET и платформа. NET Коллекции uses System. Collections. Generic; var l : = new List<integer>; begin l. Add(3); l. Add(5); l. Insert(0, 4); foreach x: integer in l do write(x, ‘ '); end. Вывод 345 Высокоуровневые универсальные структуры данных 53
Система Pascal. ABC. NET и платформа. NET Легкость создания. NET библиотек Библиотека My. Lib. pas Основная программа library My. Lib; {$reference 'My. Lib. dll'} procedure Hello. World; begin writeln('Hello, world!'); end; begin Hello. World; end. Совместимость библиотек, написанных на разных. NET-языках 54
Система Pascal. ABC. NET и платформа. NET Использование сложных компонентов {$apptype windows} {$reference 'System. Windows. Forms. dll'} uses System. Windows. Forms, System. Net; begin var my. Form : = new Form; var w : = new Web. Browser; w. Url : = new System. Uri ('http: //pascalabc. net'); w. Dock : = Dock. Style. Fill; my. Form. Controls. Add(w); Application. Run(my. Form); end. Классы для создания современных прикладных приложений 55
Система Pascal. ABC. NET. Обучающие компоненты Исполнитель Робот 56
Система Pascal. ABC. NET. Обучающие компоненты Исполнитель Робот Реализован в системе Pascal. ABC. NET в виде подключаемого модуля Robot Содержит более 130 заданий по темам: l Условный оператор l Циклы (с параметром, с условием, вложенные) l Процедуры (без параметров и с параметрами) l Совместное использование циклов и условных операторов Имеет конструктор, позволяющий разрабатывать новые задания 57
Система Pascal. ABC. NET. Обучающие компоненты Исполнитель Чертежник 58
Система Pascal. ABC. NET. Обучающие компоненты Исполнитель Чертежник Реализован в системе Pascal. ABC. NET в виде подключаемого модуля Drawman Содержит 70 заданий по темам: l Цикл с параметром l Вложенные циклы l Процедуры без параметров l Процедуры с параметрами Имеет конструктор, позволяющий разрабатывать новые задания 59
Электронный задачник Programming Taskbook Назначение и возможности Пример использования Образцы заданий Обработка динамических структур данных
Задачник Programming Taskbook Назначение, языки и программные среды l l Задачник предназначен для обучения программированию на языках Pascal, Visual Basic, C++, C#, Visual Basic. NET Может использоваться в следующих программных средах: l l l Borland Delphi 7, Turbo Delphi 2006, Free Pascal Lazarus 0. 9, Pascal ABC, Pascal. ABC. NET Visual Basic 4 -5 Visual C++ 6 Visual Studio. NET 2003, 2005, 2008 (языки C++, C#, Visual Basic. NET) Имеется русская и английская версии
Задачник Programming Taskbook Возможности l l l Отображение на экране текста задания и связанных с ним данных Предоставление исходных данных программе учащегося Дополнительный контроль за правильностью операций ввода-вывода Проверка результатов, полученных программой учащегося Регистрация задания как выполненного после проведения серии успешных тестовых испытаний программы 62
Задачник Programming Taskbook Базовый набор учебных заданий l l l Ввод-вывод, оператор присваивания, целочисленный и логический типы данных – 110 заданий Управляющие операторы (условный оператор, оператор выбора, операторы цикла) – 120 заданий Обработка последовательностей, минимумы и максимумы – 70 заданий Процедуры и функции – 60 заданий Одномерные и двумерные массивы (матрицы) – 240 заданий
Задачник Programming Taskbook Базовый набор учебных заданий l l l Символы и строки – 70 заданий Двоичные и текстовые файлы – 150 заданий Использование составных типов данных в процедурах и функциях – 70 заданий Рекурсивные алгоритмы – 30 заданий Линейные динамические структуры (стеки, очереди, двусвязные списки) – 80 заданий Деревья – 100 заданий 64
Задачник Programming Taskbook Состав l l l Ядро: библиотека pt 4. dll (pt 4 pabc. dll для среды Pascal. ABC. NET) Библиотеки, обеспечивающие доступ к ядру из различных программных сред: pt 4. pas, pt 4. bas, pt 4. h и pt 4. cpp, pt 4 net. dll Дополнительные модули: l l l PT 4 Demo (просмотр заданий) PT 4 Load (создание и загрузка программ-заготовок) PT 4 Result (просмотр результатов) 65
Задачник Programming Taskbook Условия использования l Вариант, входящий в состав Pascal. ABC. NET: l l l является свободно распространяемым (freeware) позволяет выполнять 270 заданий из базового набора предназначен для самостоятельного изучения программирования Возможность использования дополнительных заданий из базового набора требует лицензирования (количество доступных заданий зависит от уровня лицензии) На сайте задачника (http: //ptaskbook. com/) приведены условия предоставления лицензии преподавателям средних и высших учебных заведений На сайте веб-среды Pascal. ABC. NET WDE (http: //pascalabc. net/wde/) в настоящее время доступны для выполнения все 1100 заданий, входящих в базовый набор задачника 66
Задачник Programming Taskbook Сайт Programming Taskbook http: //ptaskbook. com/ 67
Задачник Programming Taskbook. Пример использования Просмотр заданий в деморежиме: модуль PT 4 Demo 68
Задачник Programming Taskbook. Пример использования Просмотр заданий в деморежиме: модуль PT 4 Demo 69
Задачник Programming Taskbook. Пример использования Вывод формулировок заданий в html-браузере 70
Задачник Programming Taskbook. Пример использования Выбор и загрузка задания: модуль PT 4 Load 71
Задачник Programming Taskbook. Пример использования Выбор и загрузка задания: модуль PT 4 Load 72
Задачник Programming Taskbook. Пример использования Выбор и загрузка задания: модуль PT 4 Load 73
Задачник Programming Taskbook. Пример использования Вид заготовки программы в редакторе 74
Задачник Programming Taskbook. Пример использования Ознакомительный запуск 75
Задачник Programming Taskbook. Пример использования Первый вариант решения: ввод данных 76
Задачник Programming Taskbook. Пример использования Результат тестирования 77
Задачник Programming Taskbook. Пример использования Второй вариант решения: ошибочный алгоритм 78
Задачник Programming Taskbook. Пример использования Результат тестирования ошибочного алгоритма 79
Задачник Programming Taskbook. Пример использования Исправление одной ошибки 80
Задачник Programming Taskbook. Пример использования Результаты тестирования 81
Задачник Programming Taskbook. Пример использования Результаты тестирования 82
Задачник Programming Taskbook. Пример использования Отладочная печать 83
Задачник Programming Taskbook. Пример использования Окно задачника с панелью отладки 84
Задачник Programming Taskbook. Пример использования Правильное решение 85
Задачник Programming Taskbook. Пример использования Вид окна задачника после пяти тестовых запусков 86
Задачник Programming Taskbook. Пример использования Просмотр результатов: модуль PT 4 Result 87
Задачник Programming Taskbook. Образцы заданий Одномерные массивы (группа Array, 140 заданий) 88
Задачник Programming Taskbook. Образцы заданий Двумерные массивы (группа Matrix, 100 заданий) 89
Задачник Programming Taskbook. Образцы заданий Символьные строки (группа String, 70 заданий) 90
Задачник Programming Taskbook. Образцы заданий Двоичные файлы (группа File, 90 заданий) 91
Задачник Programming Taskbook. Образцы заданий Текстовые файлы (группа Text, 60 заданий) 92
Задачник Programming Taskbook. Образцы заданий Текстовые файлы (группа Text, 60 заданий) 93
Задачник Programming Taskbook. Образцы заданий Рекурсивные алгоритмы (группа Recur, 30 заданий) 94
Задачник Programming Taskbook. Обработка динамических структур данных Примеры динамических структур l Стек l Очередь l Двусвязный список l Бинарное дерево 95
Задачник Programming Taskbook. Обработка динамических структур данных Реализация динамических структур l Стек l Двусвязный список 96
Задачник Programming Taskbook. Обработка динамических структур данных Реализация динамических структур l Бинарное дерево 97
Задачник Programming Taskbook. Обработка динамических структур данных Особенности заданий на обработку структур данных l l Необходимо предварительно сформировать исходные структуры данных в памяти (для тестирования алгоритма решения задания) Необходимо обеспечить наглядное отображение как исходных, так и результирующих структур данных (для проверки правильности решения) 98
Задачник Programming Taskbook. Обработка динамических структур данных Линейные динамические структуры Группа Dynamic (80 заданий на обработку линейных структур): l Стек (13 заданий) l Очередь (15 заданий) l Двусвязный список (41 задание) l Список с барьерным элементом (11 заданий) 99
Задачник Programming Taskbook. Обработка динамических структур данных Деревья Группа Tree (100 заданий на обработку деревьев): l Анализ бинарного дерева (24) l Формирование бинарного дерева (10) l Преобразование бинарного дерева (13) l Бинарные деревья с обратной связью (9) l Бинарные деревья поиска (15) l Бинарные деревья разбора выражений (14) l Деревья с множественным ветвлением (15) 100
Задачник Programming Taskbook. Обработка динамических структур данных: примеры Обработка стека 101
Задачник Programming Taskbook. Обработка динамических структур данных: примеры Обработка стека uses PT 4; var P: PNode; begin Task('Dynamic 5'); read(P); write(P^. Data, P^. Next); Dispose(P); end. 102
Задачник Programming Taskbook. Обработка динамических структур данных: примеры Обработка списка 103
Задачник Programming Taskbook. Обработка динамических структур данных: примеры Обработка списка (вариант решения с указателями) uses PT 4; var d: integer; p 1, p 2: PNode; begin Task('Dynamic 33'); read(d, p 1); new(p 2); p 2^. Data : = d; p 2^. Next : = p 1; p 2^. Prev : = p 1^. Prev; p 1^. Prev : = p 2; if p 2^. Prev <> nil then p 2^. Prev^. Next : = p 2; write(p 2); end. 104
Задачник Programming Taskbook. Обработка динамических структур данных: примеры Обработка списка (два объектных варианта решения) uses PT 4; var d: integer; a 1, a 2: Node; begin Task('Obj. Dyn 33'); read(d, a 1); a 2 : = new Node(d, a 1. Prev); a 1. Prev : = a 2; if a 2. Prev <> nil then a 2. Prev. Next : = a 2; write(a 2); end. uses PT 4; begin Task('Obj. Dyn 33'); var a: = new Node(Read. Integer, Read. Node); a. Prev : = a. Next. Prev; a. Next. Prev : = a; if a. Prev <> nil then a. Prev. Next : = a; write(a); end. 105
Задачник Programming Taskbook. Обработка динамических структур данных: примеры Обработка списка (успешный запуск объектного варианта) 106
Задачник Programming Taskbook. Обработка динамических структур данных: примеры Обработка дерева 107
Задачник Programming Taskbook. Обработка динамических структур данных: примеры Обработка дерева uses PT 4; procedure Double. Value(p: PNode); begin if p = nil then exit; p^. Data *= 2; Double. Value(p^. Left); Double. Value(p^. Right); end; var p 1: PNode; begin Task('Tree 35'); read(p 1); Double. Value(p 1); end. 108
Веб-среда разработки Pascal. ABC. NET WDE Веб-сервисы и их особенности Основные возможности среды Работа с файлами Графика WDE и Programming Taskbook Типовые задачи ЕГЭ в WDE
Веб-среда Pascal. ABC. NET WDE Веб-сервисы и их особенности q Хранение пользовательских файлов на сервере q Управление файлами q Управление доступом к файлам q Редактирование файлов в окне браузера 110
Веб-среда Pascal. ABC. NET WDE Веб-сервисы и их особенности Преимущества: q Не надо устанавливать приложение на локальный компьютер q Платформенная независимость q Доступ к редактированию файлов с любого компьютера, подключенного к Интернету 111
Веб-среда Pascal. ABC. NET WDE. Основные возможности Редактор с подсветкой синтаксиса и компиляция программ 112
Веб-среда Pascal. ABC. NET WDE. Основные возможности Позиционирование на ошибках 113
Веб-среда Pascal. ABC. NET WDE. Основные возможности Выполнение интерактивных консольных программ 114
Веб-среда Pascal. ABC. NET WDE. Основные возможности Выполнение интерактивных консольных программ 115
Веб-среда Pascal. ABC. NET WDE. Работа с файлами Сохранение файлов программ на сервере 116
Веб-среда Pascal. ABC. NET WDE. Работа с файлами Управление личными файлами и папками 117
Веб-среда Pascal. ABC. NET WDE. Работа с файлами Скачивание файлов программ на локальный компьютер 118
Веб-среда Pascal. ABC. NET WDE. Работа с файлами Скачивание откомпилированных exe-файлов и dll-библиотек 119
Веб-среда Pascal. ABC. NET WDE. Работа с файлами Размещение в Интернете ссылок на тексты программ q При выборе опубликованной программы она немедленно загружается в среду WDE q Ссылки на опубликованные программы можно размещать на любых Интернетстраницах 120
Веб-среда Pascal. ABC. NET WDE. Работа с файлами Открытие совместного доступа на чтение q Автор может изменять свои программы, открытые для совместного доступа q В дальнейшем автор может закрыть доступ к некоторым своим программам 121
Веб-среда Pascal. ABC. NET WDE. Графика Множество Мандельброта 122
Веб-среда Pascal. ABC. NET WDE. Графика Множество Мандельброта 123
Веб-среда Pascal. ABC. NET WDE. Графика Множество Мандельброта 124
Веб-среда Pascal. ABC. NET WDE. Графика Анимация (ханойские башни) 125
Веб-среда Pascal. ABC. NET WDE. Графика Анимация (ханойские башни) 126
Веб-среда Pascal. ABC. NET WDE. Графика Анимация (ханойские башни) 127
Веб-среда Pascal. ABC. NET WDE. Графика Анимация (ханойские башни) 128
Веб-среда Pascal. ABC. NET WDE. Графика Анимация (ханойские башни) 129
Веб-среда Pascal. ABC. NET WDE. Графика События 130
Веб-среда Pascal. ABC. NET WDE. Графика События 131
Веб-среда Pascal. ABC. NET WDE. Графика События 132
Веб-среда Pascal. ABC. NET WDE. Графика События 133
Веб-среда Pascal. ABC. NET WDE. Графика События 134
Веб-среда Pascal. ABC. NET WDE. Графика События 135
Веб-среда Pascal. ABC. NET WDE. Графика События 136
Веб-среда Pascal. ABC. NET WDE и электронный задачник Страницы сайта задачника с формулировками заданий Курсивом выделены имена заданий, для которых имеются полные решения 137
Веб-среда Pascal. ABC. NET WDE и электронный задачник Автоматическая загрузка программы в WDE 138
Веб-среда Pascal. ABC. NET WDE и электронный задачник Окно задачника в WDE 139
Веб-среда Pascal. ABC. NET WDE и электронный задачник Окно задачника в WDE Пример верного решения приводится только в случае, если решение является ошибочным 140
Веб-среда Pascal. ABC. NET WDE и электронный задачник Задание на обработку файлов В окне задачника для WDE содержимое двоичных файлов отображается полностью; прокрутка не требуется 141
Веб-среда Pascal. ABC. NET WDE и электронный задачник Загрузка заготовки программы в WDE 142
Веб-среда Pascal. ABC. NET WDE и электронный задачник Задание на обработку деревьев 143
Веб-среда Pascal. ABC. NET WDE и типовые задачи ЕГЭ (группа C) Страница сайта Pascal. ABC. NET c задачами ЕГЭ группы C 144
Веб-среда Pascal. ABC. NET WDE и типовые задачи ЕГЭ (группа C) Загрузка программы с задачей ЕГЭ в WDE Особенность заданий, связанных с ЕГЭ: модуль PT 4 Exam. Web осуществляет перенаправление потоков ввода-вывода; данные читаются и пишутся в специальные текстовые файлы «незаметным» для программы учащегося образом. 145
Веб-среда Pascal. ABC. NET WDE и типовые задачи ЕГЭ (группа C) Вид окна задачника для задач ЕГЭ 146
Веб-среда Pascal. ABC. NET WDE и типовые задачи ЕГЭ (группа C) Вид развернутого окна задачника для задач ЕГЭ Для переключения между стандартным и развернутым видом окна достаточно выполнить на окне щелчок мышью. 147
Компоненты для преподавателя Конструктор вариантов Контрольный центр Конструкторы учебных заданий
Компоненты для преподавателя Комплекс Teacher Pack: основные компоненты l Конструктор вариантов PTVar. Maker: l l l Контрольный центр PABCTeach: l l позволяет создавать наборы вариантов индивидуальных заданий позволяет создавать новые группы заданий на основе уже существующих предназначен для автоматизации действий при подготовке и проведении групповых занятий обеспечивает настройку рабочих каталогов учащихся и их резервное сохранение позволяет контролировать текущие результаты каждого учащегося и группы в целом Конструктор учебных заданий PT 4 Task. Maker 149
Компоненты для преподавателя Раздел комплекса Teacher Pack на сайте задачника 150
Компоненты для преподавателя. Конструктор вариантов Окно конструктора вариантов 151
Компоненты для преподавателя. Конструктор вариантов Генерация вариантов 152
Компоненты для преподавателя. Конструктор вариантов Генерация вариантов 153
Компоненты для преподавателя. Конструктор вариантов Генерация вариантов 154
Компоненты для преподавателя. Конструктор вариантов Тексты сгенерированных вариантов в html-формате 155
Компоненты для преподавателя. Конструктор вариантов Пример набора данных, не связанного с задачником 156
Компоненты для преподавателя. Конструктор вариантов Тексты сгенерированных вариантов 157
Компоненты для преподавателя. Конструктор вариантов Пример ошибочного набора данных 158
Компоненты для преподавателя. Конструктор вариантов Создание контрольного файла (check-файла) 159
Компоненты для преподавателя. Конструктор вариантов Использование контрольных файлов 160
Компоненты для преподавателя. Конструктор вариантов Использование контрольных файлов 161
Компоненты для преподавателя. Контрольный центр Окно контрольного центра PABCTeach 162
Компоненты для преподавателя. Контрольный центр Просмотр результатов из контрольного центра 163
Компоненты для преподавателя. Контрольный центр Просмотр результатов из контрольного центра 164
Компоненты для преподавателя. Контрольный центр Просмотр сводной информации 165
Компоненты для преподавателя. Контрольный центр Отключение файла с вариантами заданий 166
Компоненты для преподавателя. Контрольный центр Просмотр информации обо всех выполненных заданиях 167
Компоненты для преподавателя. Контрольный центр Просмотр информации обо всех выполненных заданиях 168
Компоненты для преподавателя. Конструкторы учебных заданий l l l Robot. Task. Maker: создание новых групп заданий для исполнителя Робот DMTask. Maker: создание новых групп заданий для исполнителя Чертежник PT 4 Task. Maker: l l l создание новых групп заданий для задачника Programming Taskbook компоновка имеющихся и новых заданий для задачника Programming Taskbook в новые группы автоматическая генерация html-описаний для новых групп заданий 169
Компоненты для преподавателя. Конструкторы учебных заданий Структура модуля с новой группой заданий для Робота unit My. Rob; uses Robot. Task. Maker; procedure Rb 1; begin … end; procedure Rb 2; begin … end; procedure Rb 3; begin … end; begin Register. Group('myrob', 'Мои задания для Робота', ‘My. Rob', 3); Register. Task('myrob 1', Rb 1); Register. Task('myrob 2', Rb 2); Register. Task('myrob 3', Rb 3); end. 170
Компоненты для преподавателя. Конструкторы учебных заданий Пример реализации нового задания для Робота procedure Rb 2; begin Task. Text('Задание myrob 2. ' + 'Закрасить помеченные клетки'); Field(10, 8); Robot. Begin(1, 8); Robot. End(10, 1); Horizontal. Wall(1, 1, 8); Horizontal. Wall(1, 7, 8); Vertical. Wall(1, 2, 5); Vertical. Wall(9, 1, 5); Tag. Rect(2, 2, 9, 7); end; 171
Компоненты для преподавателя. Конструкторы учебных заданий Дополнительные возможности l l Задания из новых групп, подобно встроенным заданиям, можно выбирать с помощью мастера загрузки заданий PT 4 Load Для выбранного задания автоматически генерируется заготовка программы 172
Компоненты для преподавателя. Конструкторы учебных заданий Пример использования модуля PT 4 Load 173
Компоненты для преподавателя. Конструкторы учебных заданий Пример использования модуля PT 4 Load 174
Компоненты для преподавателя. Конструкторы учебных заданий Пример использования модуля PT 4 Load 175
Компоненты для преподавателя. Конструкторы учебных заданий Созданная заготовка и вид окна с заданием uses Robot, My. Rob; begin Task('myrob 2'); end. 176
Компоненты для преподавателя. Конструкторы учебных заданий Раздел справочной системы, посвященный конструкторам 177
Компоненты для преподавателя. Конструктор PT 4 Task. Maker l l Конструктор позволяет разрабатывать новые группы заданий в виде dll-библиотек Созданные библиотеки с заданиями доступны для любых сред и языков, поддерживаемых задачником Для подключения новой группы к задачнику достаточно разместить dll-библиотеку с этой группой в подкаталоге LIB задачника или в рабочем каталоге учащегося Среды для разработки новых групп: Free Pascal Lazarus, Borland Delphi, Pascal. ABC. NET 178
Компоненты для преподавателя. Конструктор PT 4 Task. Maker Основные возможности l l Определение общих свойств группы заданий (название, краткое описание, число заданий, …) Указание формулировки задания и ее форматирование (использование специальных символов, индексов, выделение фрагментов текста, …) Определение наборов исходных и контрольных данных любых базовых типов: integer, real, boolean, char, string Настройка дополнительных характеристик (например, указание числа тестовых испытаний) 179
Компоненты для преподавателя. Конструктор PT 4 Task. Maker Структура проекта с новой группой (Delphi-проект) library PT 4 Maker. Demo; uses PT 4 Task. Maker; // вспомогательные процедуры, реализующие конкретные задания … procedure Init. Task(num: integer); stdcall; begin // главная процедура группы, вызывает вспомогательные процедуры end; procedure inittaskgroup; begin Create. Group('Maker. Demo', 'Примеры различных задач', 'М. Э. Абрамян, 2010', 'qwqfsdf 13 dfttd', 8, Init. Task); // определение преамбулы группы и ее подгрупп … end; exports inittaskgroup; end. 180
Компоненты для преподавателя. Конструктор PT 4 Task. Maker Пример реализации нового задания procedure Task 1; var a, b: real; begin Create. Task('Ввод и вывод данных, оператор присваивания'); Task. Text('Даны стороны прямоугольника {a} и {b}. ', 0, 2); Task. Text('Найти его площадь {S}~=~{a}*{b} и периметр ' + '{P}~=~2*({a}~+~{b}). ', 0, 4); a : = (1 + Random(100)) / 10; b : = (1 + Random(100)) / 10; Data. R('a = ', a, x. Left, 3, 4); Data. R('b = ', b, x. Right, 3, 4); Result. R('S = ', a * b, 0, 2, 4); Result. R('P = ', 2 * (a + b), 0, 4, 4); Set. Test. Count(3); end; 181
Компоненты для преподавателя. Конструктор PT 4 Task. Maker Вид окна задачника с новым заданием 182
Компоненты для преподавателя. Конструктор PT 4 Task. Maker Включение имеющихся заданий в новую группу procedure Init. Task(num: integer); begin case num of 1: Task 1; 2. . 11: Use. Task('Array', num - 1); 12. . 21: Use. Task('Param', num - 11); end; Группы, содержащие задания из других групп (сводные группы), могут, в частности, использоваться при проведении проверочных работ для того, чтобы затруднить применение учащимися шпаргалок 183
Компоненты для преподавателя. Конструктор PT 4 Task. Maker Создание сводной группы без программирования 184
Компоненты для преподавателя. Конструктор PT 4 Task. Maker Автоматическая генерация текста заданий uses PT 4; begin Task('Demo#'); end. 185
Компоненты для преподавателя. Конструктор PT 4 Task. Maker Дополнительные возможности l l Наличие встроенных образцов текстовых данных: 116 слов, 61 предложение, 85 многострочных текстов (русских и английских) Возможность использования в задании файловых данных (двоичных и текстовых) Возможность использования в задании указателей и динамических структур (линейных и иерархических) Средства для разработки заданий по параллельному MPI-программированию 186
Компоненты для преподавателя. Конструктор PT 4 Task. Maker Разработка новой группы в системе Pascal. ABC. NET 187
Некоторые направления дальнейшего развития l l l Расширение набора заданий, связанных с ЕГЭ по информатике Реализация компонентов для преподавателя в Веб-среде Pascal. ABC. NET WDE Интеграция в Веб-среду Pascal. ABC. NET WDE других распространенных языков программирования с возможностью использования для них электронного задачника Programming Taskbook 188
Спасибо за внимание С любезного разрешения авторов в презентации были использованы графические материалы доклада Ю. В. Беляковой и С. С. Михалковича «Графическая библиотека для Web-среды программирования Pascal. ABC. NET» , прочитанного на V Международной научно-практической конференции «Современные информационные технологии и ИТ-образование» (2010 г. )
099795225429eba0bdc26aeeae55a98e.ppt