189
Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей информатики (ВМК МГУ, 26.08.2011) М. Э. Абрамян [email protected] Центр компьютерного образования Факультет математики, механики и компьютерных наук Южный федеральный университет (г. Ростов-на- Дону)

Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

  • View
    259

  • Download
    10

Embed Size (px)

Citation preview

Page 1: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

Система программирования PascalABC.NET

и электронный задачник Programming Taskbook

Доклад на летней школе для учителей информатики (ВМК МГУ, 26.08.2011)

М. Э. Абрамян [email protected]

Центр компьютерного образования

Факультет математики, механики и компьютерных наук

Южный федеральный университет (г. Ростов-на-Дону)

Page 2: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

2

План доклада

Система программирования PascalABC.NET Электронный задачник Programming Taskbook Веб-среда PascalABC.NET WDE Компоненты для преподавателя

Page 3: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

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

PascalABC.NET

Обзор возможностей

Среда разработки

Новое в языке

Дополнительные модули

PascalABC.NET и платформа .NET

Модули для обучения

Page 4: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

4

1. Легкость создания простых программ2. Простота методов ввода-вывода3. Простые управляющие конструкции4. Простота разработки подпрограмм и модулей5. Наличие простых средств для работы

с массивами, строками и файлами6. Простые средства для работы с графикой7. Поддержка современной объектной модели

и наличие развитых объектных библиотек8. Наличие учебной литературы по этому языку

Система PascalABC.NET

Первый язык программирования

Page 5: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

5

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

1. Простой интерфейс2. Отображение динамических подсказок3. Автоматическое форматирование текста4. Генерация шаблонов программ и конструкций языка5. Возможность создания простых интерактивных

консольных приложений на русском языке6. Генерация исполняемых файлов7. Freeware (не требует платы за использование)8. Распространенность и популярность среды

Система PascalABC.NET

Page 6: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

6

Проект PascalABC.NET Начало: 2002 г. Основная цель: создание среды программирования для

обучения Полноценный язык Delphi Pascal Самые современные конструкции языков

программирования: классы, интерфейсы, шаблоны, исключения и т. д.

Возможность использования .NET библиотек Модули растровой и векторной графики Модули школьных Исполнителей Модуль электронного задачника Простая и мощная оболочка со средствами динамической

подсказки и отладки приложений

Система PascalABC.NET

Page 7: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

7

Первый вариант учебной среды: система Pascal ABC

Система PascalABC.NET

Page 8: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

8

Ограничения Pascal ABC

Нельзя создавать исполняемые файлы

Отсутствуют динамические подсказки и средства автоматического форматирования текста программ

Нельзя использовать стандартные библиотеки платформы .NET

Система PascalABC.NET

Сайт системы: http://sunschool.math.sfedu.ru/pabc/

Page 9: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

9

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 10: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

10

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 11: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

11

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 12: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

12

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 13: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

13

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 14: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

14

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 15: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

15

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 16: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

16

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 17: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

17

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 18: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

18

Система программирования PascalABC.NET

Система PascalABC.NET. Обзор возможностей

Page 19: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

19

Сайт PascalABC.NET http://pascalabc.net/

Система PascalABC.NET. Обзор возможностей

Page 20: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

20

Окно программной среды

Система PascalABC.NET. Среда разработки

Page 21: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

21

Запуск с отображением результатов в окне вывода

Система PascalABC.NET. Среда разработки

Page 22: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

22

Запуск с отображением результатов в окне вывода

Система PascalABC.NET. Среда разработки

Page 23: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

23

Запуск вне программной оболочки

Система PascalABC.NET. Среда разработки

Page 24: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

24

Запуск вне программной оболочки

Система PascalABC.NET. Среда разработки

Page 25: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

25

Запуск вне программной оболочки

Система PascalABC.NET. Среда разработки

Page 26: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

26

Установка точки прерывания

Система PascalABC.NET. Среда разработки

Page 27: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

27

Остановка и просмотр текущего значения

Система PascalABC.NET. Среда разработки

Page 28: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

28

Редактирование текущего значения

Система PascalABC.NET. Среда разработки

Page 29: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

29

Просмотр текущих значений всех переменных

Система PascalABC.NET. Среда разработки

Page 30: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

30

Пошаговое выполнение программы

Система PascalABC.NET. Среда разработки

Page 31: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

31

Подсказка при наведении

Система PascalABC.NET. Среда разработки

Page 32: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

32

Подсказка по контексту

Система PascalABC.NET. Среда разработки

Page 33: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

33

Подсказка по параметрам

Система PascalABC.NET. Среда разработки

Page 34: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

34

Подсказка по точке

Система PascalABC.NET. Среда разработки

Page 35: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

35

Подсказка по точке

Система PascalABC.NET. Среда разработки

Page 36: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

36

Автоформатирование

var i,j:integer;beginfor i:=1 to 5 dobeginfor j:=1 to 5 dowrite(i*j:3);writeln;end;end.

Система PascalABC.NET. Среда разработки

Page 37: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

37

Описание, инициализация, ввод и вывод

Система PascalABC.NET. Новое в языке

begin write('Введите n: '); var fact: integer := 1; // описание внутри раздела операторов // с возможностью немедленной инициализации var n := ReadInteger; // ввод с помощью функций, // «вывод типа» по типу инициализатора for var i := 2 to n do // описание параметра цикла в заголовке // (здесь также используется вывод типа), // параметр цикла существует только в цикле fact *= i; // комбинированные операторы присваивания writelnFormat(‘{0}! = {1}', n, fact); // форматный вывод в стиле .NETend.

Введите n: 77! = 5040

Вывод

Page 38: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

38

Упрощенный синтаксис для модулей

Система PascalABC.NET. Новое в языке

unit MyUnit;

function Even(x: integer): boolean;begin result := not Odd(x);end; end.

Секции interface и implementation можно не указывать; в этом случае все элементы модуля доступны для подключившей его программы.

Секции initialization и finalization (или блок begin-end) вместо секции initialization доступны для модулей, использующих как традиционный, так и упрощенный синтаксис.

Page 39: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

39

Самодокументирование модулей

Система PascalABC.NET. Новое в языке

/// Мой модульunit MyUnit;

/// Возвращает True, если число x/// является четнымfunction Even(x: integer): boolean;begin result := not Odd(x);end; end.

Любые элементы модуля (и сам модуль) можно снабжать специальными комментариями, которые будут использоваться системой контекстной подсказки после первой компиляции модуля.

Page 40: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

40

Самодокументирование модулей

Система PascalABC.NET. Новое в языке

Page 41: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

41

Конструкторы и деструкторы объектов

Система PascalABC.NET. Новое в языке

var p1, p2: Pupil;begin p := Pupil.Create(‘Иванов’); // стиль Delphi p := new Pupil(‘Иванов’); // стиль С#end.

Все методы классов могут описываться непосредственно при определении класса (хотя могут и отдельно – в стиле Delphi).

При описании конструктора надо использовать ключевое словоconstructor, после которого указывается либо имя Create, либо не указывается никакого имени.

Деструкторы можно определять (с помощью слова destructor), но они являются обычными методами, так как при их вызове не происходит разрушения объекта (за разрушение объекта в .NET отвечает сборщик мусора).

Page 42: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

42

Работа с динамическими массивами

Система PascalABC.NET. Новое в языке

var a1: array of integer; // одномерный динамический массив a2: array [,] of integer; // двумерный динамический массивbegin SetLength(a1, 5); // выделение памяти в стиле Delphi SetLength(a2, 5, 5); // (при повторном вызове SetLength старое // содержимое массива сохраняется) a1 := new integer[10]; // выделение памяти в стиле C# a2 := new integer[10, 10]; // (производится копирование ссылок) writeln(Length(a1)); // определение размера в стиле Delphi writeln(a1.Length); // определение размера в стиле C# writeln(Length(a2, 0), ' ', a2.GetLength(0)); var a3: array of real := (1, 2, 3); // описание массива с инициализацией var a4 := new real[3] (1, 2, 3); // описание массива // с выводом типа и инициализациейend.

Page 43: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

43

Модуль растровой графики GraphABC

Система PascalABC.NET. Дополнительные модули

Page 44: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

44

Реализация анимации без мерцания

Система PascalABC.NET. Дополнительные модули

Page 45: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

45

Реализация анимации без мерцания

Система PascalABC.NET. Дополнительные модули

Page 46: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

46

Простейшие событийные приложения

Система PascalABC.NET. Дополнительные модули

Page 47: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

47

Модуль векторной графики ABCObjects

Система PascalABC.NET. Дополнительные модули

Page 48: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

48

Что дает платформа .NET

Многообразие библиотек Возможность совместного использования кода,

написанного на разных .NET-языках Современные языковые средства: многомерные

динамические массивы, классы, интерфейсы, шаблоны классов и подпрограмм, исключения, средства параллельности и пр.

Сборка мусора (не нужно явно возвращать динамическую память)

Система PascalABC.NET и платформа .NET

Page 49: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

49

Многообразие стандартных .NET-библиотек

System – базовые классы .NETSystem.Collections – классы коллекцийSystem.Text.RegularExpressions – классы

для работы с регулярными выражениямиSystem.Data – классы для работы с БДSystem.Drawing – классы для рисования в окнеSystem.Net – классы для работы с сетьюSystem.Web – классы для работы с WebSystem.Windows.Forms – классы для создания

оконных приложений…

Система PascalABC.NET и платформа .NET

Page 50: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

50

Тип DateTime

uses System;

var d: DateTime;

begin d := DateTime.Now; for var i := 1 to 10 do begin writeln(d.ToShortDateString, ' ', d.DayOfWeek); d := d.AddDays(7); end;end.

04.10.2009 Sunday11.10.2009 Sunday18.10.2009 Sunday25.10.2009 Sunday01.11.2009 Sunday08.11.2009 Sunday15.11.2009 Sunday22.11.2009 Sunday29.11.2009 Sunday06.12.2009 Sunday

Вывод

Упрощение решения традиционных задач

Система PascalABC.NET и платформа .NET

Page 51: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

51

Строки как классы

var s: string := 'Каждый Охотник Желает Знать Где Сидит Фазан';

begin var ss : array of string := s.Split(' '); System.Array.Sort(ss); s := string.Join(',', ss); writeln(s);end.

Где,Желает,Знать,Каждый,Охотник,Сидит,Фазан

Вывод

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

Система PascalABC.NET и платформа .NET

Page 52: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

52

Регулярные выражения

uses System.Text.RegularExpressions;begin var s := '23 abc 67 a345b 534n 8'; var sum := 0; foreach var m: Match in Regex.Matches(s, '\b\d+\b') do sum += StrToInt(m.Value); write('Сумма чисел = ', sum);end.

Сумма чисел = 98

Вывод

Мощные средства обработки текстовых данных

Система PascalABC.NET и платформа .NET

Page 53: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

53

Коллекции

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.

Высокоуровневые универсальные структуры данных

3 4 5Вывод

Система PascalABC.NET и платформа .NET

Page 54: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

54

Легкость создания .NET библиотек

Библиотека MyLib.pas Основная программа

Совместимость библиотек, написанных на разных .NET-языках

{$reference 'MyLib.dll'}

begin HelloWorld;end.

library MyLib;

procedure HelloWorld;begin writeln('Hello, world!');end;

end.

Система PascalABC.NET и платформа .NET

Page 55: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

55

Использование сложных компонентов

{$apptype windows}{$reference 'System.Windows.Forms.dll'}

uses System.Windows.Forms, System.Net;

begin var myForm := new Form; var w := new WebBrowser; w.Url := new System.Uri ('http://pascalabc.net'); w.Dock := DockStyle.Fill; myForm.Controls.Add(w); Application.Run(myForm);end.

Классы для создания современных прикладных приложений

Система PascalABC.NET и платформа .NET

Page 56: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

56

Исполнитель Робот

Система PascalABC.NET. Обучающие компоненты

Page 57: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

57

Исполнитель Робот

Реализован в системе PascalABC.NET в виде подключаемого модуля Robot

Содержит более 130 заданий по темам: Условный оператор Циклы (с параметром, с условием, вложенные) Процедуры (без параметров и с параметрами) Совместное использование циклов и условных

операторовИмеет конструктор, позволяющий разрабатывать

новые задания

Система PascalABC.NET. Обучающие компоненты

Page 58: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

58

Исполнитель Чертежник

Система PascalABC.NET. Обучающие компоненты

Page 59: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

59

Исполнитель Чертежник

Реализован в системе PascalABC.NET в виде подключаемого модуля Drawman

Содержит 70 заданий по темам: Цикл с параметром Вложенные циклы Процедуры без параметров Процедуры с параметрамиИмеет конструктор, позволяющий разрабатывать

новые задания

Система PascalABC.NET. Обучающие компоненты

Page 60: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

Электронный задачник Programming Taskbook

Назначение и возможности

Пример использования

Образцы заданий

Обработка динамических структур данных

Page 61: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

Назначение, языки и программные среды

Задачник предназначен для обучения программированию на языках Pascal, Visual Basic, C++, C#, Visual Basic .NET

Может использоваться в следующих программных средах: Borland Delphi 7, Turbo Delphi 2006,

Free Pascal Lazarus 0.9, Pascal ABC, PascalABC.NET Visual Basic 4-5 Visual C++ 6 Visual Studio .NET 2003, 2005, 2008

(языки C++, C#, Visual Basic .NET) Имеется русская и английская версии

Задачник Programming Taskbook

Page 62: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

62

Возможности

Отображение на экране текста задания и связанных с ним данных

Предоставление исходных данных программе учащегося

Дополнительный контроль за правильностью операций ввода-вывода

Проверка результатов, полученных программой учащегося

Регистрация задания как выполненного после проведения серии успешных тестовых испытаний программы

Задачник Programming Taskbook

Page 63: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

Базовый набор учебных заданий

Ввод-вывод, оператор присваивания, целочисленный и логический типы данных – 110 заданий

Управляющие операторы (условный оператор, оператор выбора, операторы цикла) – 120 заданий

Обработка последовательностей, минимумы и максимумы – 70 заданий

Процедуры и функции – 60 заданий Одномерные и двумерные

массивы (матрицы) – 240 заданий

Задачник Programming Taskbook

Page 64: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

64

Базовый набор учебных заданий

Символы и строки – 70 заданий Двоичные и текстовые

файлы – 150 заданий Использование составных типов данных

в процедурах и функциях – 70 заданий Рекурсивные алгоритмы – 30 заданий Линейные динамические структуры (стеки,

очереди, двусвязные списки) – 80 заданий Деревья – 100 заданий

Задачник Programming Taskbook

Page 65: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

65

Состав

Ядро: библиотека pt4.dll (pt4pabc.dll для среды PascalABC.NET)

Библиотеки, обеспечивающие доступ к ядру из различных программных сред: pt4.pas, pt4.bas, pt4.h и pt4.cpp, pt4net.dll

Дополнительные модули: PT4Demo (просмотр заданий) PT4Load (создание и загрузка

программ-заготовок) PT4Result (просмотр результатов)

Задачник Programming Taskbook

Page 66: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

66

Условия использования

Вариант, входящий в состав PascalABC.NET: является свободно распространяемым (freeware) позволяет выполнять 270 заданий из базового набора предназначен для самостоятельного изучения

программирования Возможность использования дополнительных заданий

из базового набора требует лицензирования (количество доступных заданий зависит от уровня лицензии)

На сайте задачника (http://ptaskbook.com/) приведены условия предоставления лицензии преподавателям средних и высших учебных заведений

На сайте веб-среды PascalABC.NET WDE (http://pascalabc.net/wde/) в настоящее время доступны для выполнения все 1100 заданий, входящих в базовый набор задачника

Задачник Programming Taskbook

Page 67: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

67

Сайт Programming Taskbook http://ptaskbook.com/

Задачник Programming Taskbook

Page 68: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

68

Просмотр заданий в демо-режиме: модуль PT4Demo

Задачник Programming Taskbook. Пример использования

Page 69: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

69

Просмотр заданий в демо-режиме: модуль PT4Demo

Задачник Programming Taskbook. Пример использования

Page 70: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

70

Вывод формулировок заданий в html-браузере

Задачник Programming Taskbook. Пример использования

Page 71: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

71

Выбор и загрузка задания: модуль PT4Load

Задачник Programming Taskbook. Пример использования

Page 72: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

72

Выбор и загрузка задания: модуль PT4Load

Задачник Programming Taskbook. Пример использования

Page 73: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

73

Выбор и загрузка задания: модуль PT4Load

Задачник Programming Taskbook. Пример использования

Page 74: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

74

Вид заготовки программы в редакторе

Задачник Programming Taskbook. Пример использования

Page 75: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

75

Ознакомительный запуск

Задачник Programming Taskbook. Пример использования

Page 76: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

76

Первый вариант решения: ввод данных

Задачник Programming Taskbook. Пример использования

Page 77: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

77

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

Задачник Programming Taskbook. Пример использования

Page 78: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

78

Второй вариант решения: ошибочный алгоритм

Задачник Programming Taskbook. Пример использования

Page 79: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

79

Результат тестирования ошибочного алгоритма

Задачник Programming Taskbook. Пример использования

Page 80: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

80

Исправление одной ошибки

Задачник Programming Taskbook. Пример использования

Page 81: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

81

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

Задачник Programming Taskbook. Пример использования

Page 82: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

82

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

Задачник Programming Taskbook. Пример использования

Page 83: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

83

Отладочная печать

Задачник Programming Taskbook. Пример использования

Page 84: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

84

Окно задачника с панелью отладки

Задачник Programming Taskbook. Пример использования

Page 85: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

85

Правильное решение

Задачник Programming Taskbook. Пример использования

Page 86: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

86

Вид окна задачника после пяти тестовых запусков

Задачник Programming Taskbook. Пример использования

Page 87: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

87

Просмотр результатов:модуль PT4Result

Задачник Programming Taskbook. Пример использования

Page 88: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

88

Одномерные массивы (группа Array, 140 заданий)

Задачник Programming Taskbook. Образцы заданий

Page 89: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

89

Двумерные массивы (группа Matrix, 100 заданий)

Задачник Programming Taskbook. Образцы заданий

Page 90: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

90

Символьные строки(группа String, 70 заданий)

Задачник Programming Taskbook. Образцы заданий

Page 91: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

91

Двоичные файлы(группа File, 90 заданий)

Задачник Programming Taskbook. Образцы заданий

Page 92: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

92

Текстовые файлы(группа Text, 60 заданий)

Задачник Programming Taskbook. Образцы заданий

Page 93: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

93

Текстовые файлы(группа Text, 60 заданий)

Задачник Programming Taskbook. Образцы заданий

Page 94: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

94

Рекурсивные алгоритмы(группа Recur, 30 заданий)

Задачник Programming Taskbook. Образцы заданий

Page 95: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

95

Стек

Очередь

Двусвязный список

Бинарное дерево

Задачник Programming Taskbook. Обработка динамических структур данных

Примеры динамических структур

Page 96: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

96

Стек

Двусвязный список

Задачник Programming Taskbook. Обработка динамических структур данных

Реализация динамических структур

Page 97: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

97

Бинарное дерево

Задачник Programming Taskbook. Обработка динамических структур данных

Реализация динамических структур

Page 98: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

98

Необходимо предварительно сформировать исходные структуры данных в памяти (для тестирования алгоритма решения задания)

Необходимо обеспечить наглядное отображение как исходных, так и результирующих структур данных (для проверки правильности решения)

Задачник Programming Taskbook. Обработка динамических структур данных

Особенности заданий на обработку структур данных

Page 99: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

99

Группа Dynamic (80 заданий на обработку линейных структур):

Стек (13 заданий) Очередь (15 заданий) Двусвязный список (41 задание) Список с барьерным

элементом (11 заданий)

Задачник Programming Taskbook. Обработка динамических структур данных

Линейные динамические структуры

Page 100: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

100

Группа Tree (100 заданий на обработку деревьев):

Анализ бинарного дерева (24) Формирование бинарного дерева (10) Преобразование бинарного дерева (13) Бинарные деревья с обратной связью (9) Бинарные деревья поиска (15) Бинарные деревья разбора выражений (14) Деревья с множественным ветвлением (15)

Задачник Programming Taskbook. Обработка динамических структур данных

Деревья

Page 101: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

101

Задачник Programming Taskbook. Обработка динамических структур данных: примеры

Обработка стека

Page 102: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

102

Обработка стека

uses PT4;

var P: PNode;

begin

Task('Dynamic5');

read(P);

write(P^.Data, P^.Next);

Dispose(P);

end.

Задачник Programming Taskbook. Обработка динамических структур данных: примеры

Page 103: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

103

Обработка списка

Задачник Programming Taskbook. Обработка динамических структур данных: примеры

Page 104: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

104

Обработка списка (вариант решения с указателями)

uses PT4;var d: integer; p1, p2: PNode;begin Task('Dynamic33'); read(d, p1); new(p2); p2^.Data := d; p2^.Next := p1; p2^.Prev := p1^.Prev; p1^.Prev := p2; if p2^.Prev <> nil then p2^.Prev^.Next := p2; write(p2);end.

Задачник Programming Taskbook. Обработка динамических структур данных: примеры

Page 105: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

105

Обработка списка (два объектных варианта решения)

uses PT4;var d: integer; a1, a2: Node;begin Task('ObjDyn33'); read(d, a1); a2 := new Node(d, a1, a1.Prev); a1.Prev := a2; if a2.Prev <> nil then a2.Prev.Next := a2; write(a2);end.

Задачник Programming Taskbook. Обработка динамических структур данных: примеры

uses PT4;begin Task('ObjDyn33'); var a:= new Node(ReadInteger, ReadNode); a.Prev := a.Next.Prev; a.Next.Prev := a; if a.Prev <> nil then a.Prev.Next := a; write(a);end.

Page 106: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

106

Обработка списка (успешный запуск объектного варианта)

Задачник Programming Taskbook. Обработка динамических структур данных: примеры

Page 107: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

107

Обработка дерева

Задачник Programming Taskbook. Обработка динамических структур данных: примеры

Page 108: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

108

Обработка дерева

uses PT4;procedure DoubleValue(p: PNode);begin if p = nil then exit; p^.Data *= 2; DoubleValue(p^.Left); DoubleValue(p^.Right);end;var p1: PNode;begin Task('Tree35'); read(p1); DoubleValue(p1);end.

Задачник Programming Taskbook. Обработка динамических структур данных: примеры

Page 109: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

Веб-среда разработки PascalABC.NET WDE

Веб-сервисы и их особенностиОсновные возможности среды

Работа с файламиГрафика

WDE и Programming Taskbook Типовые задачи ЕГЭ в WDE

Page 110: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

110

Хранение пользовательских файлов на сервере

Управление файлами

Управление доступом к файлам

Редактирование файлов в окне браузера

Веб-среда PascalABC.NET WDE

Веб-сервисы и их особенности

Page 111: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

111

Преимущества:

Не надо устанавливать приложение на локальный компьютер

Платформенная независимость

Доступ к редактированию файлов с любого компьютера, подключенного к Интернету

Веб-среда PascalABC.NET WDE

Веб-сервисы и их особенности

Page 112: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

112

Веб-среда PascalABC.NET WDE. Основные возможности

Редактор с подсветкой синтаксиса и компиляция программ

Page 113: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

113

Веб-среда PascalABC.NET WDE. Основные возможности

Позиционирование на ошибках

Page 114: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

114

Веб-среда PascalABC.NET WDE. Основные возможности

Выполнение интерактивных консольных программ

Page 115: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

115

Веб-среда PascalABC.NET WDE. Основные возможности

Выполнение интерактивных консольных программ

Page 116: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

116

Веб-среда PascalABC.NET WDE. Работа с файлами

Сохранение файлов программ на сервере

Page 117: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

117

Веб-среда PascalABC.NET WDE. Работа с файлами

Управление личными файлами и папками

Page 118: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

118

Веб-среда PascalABC.NET WDE. Работа с файлами

Скачивание файлов программ на локальный компьютер

Page 119: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

119

Веб-среда PascalABC.NET WDE. Работа с файлами

Скачивание откомпилированных exe-файлов и dll-библиотек

Page 120: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

120

Веб-среда PascalABC.NET WDE. Работа с файлами

Размещение в Интернете ссылок на тексты программ

При выборе опубликованной программы она немедленно загружается в среду WDE

Ссылки на опубликованные программы можно размещать на любых Интернет-страницах

Page 121: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

121

Веб-среда PascalABC.NET WDE. Работа с файлами

Открытие совместного доступа на чтение

Автор может изменять свои программы, открытые для совместного доступа

В дальнейшем автор может закрыть доступ к некоторым своим программам

Page 122: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

122

Веб-среда PascalABC.NET WDE. Графика

Множество Мандельброта

Page 123: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

123

Множество Мандельброта

Веб-среда PascalABC.NET WDE. Графика

Page 124: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

124

Множество Мандельброта

Веб-среда PascalABC.NET WDE. Графика

Page 125: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

125

Анимация (ханойские башни)

Веб-среда PascalABC.NET WDE. Графика

Page 126: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

126

Анимация (ханойские башни)

Веб-среда PascalABC.NET WDE. Графика

Page 127: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

127

Анимация (ханойские башни)

Веб-среда PascalABC.NET WDE. Графика

Page 128: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

128

Анимация (ханойские башни)

Веб-среда PascalABC.NET WDE. Графика

Page 129: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

129

Анимация (ханойские башни)

Веб-среда PascalABC.NET WDE. Графика

Page 130: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

130

События

Веб-среда PascalABC.NET WDE. Графика

Page 131: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

131

События

Веб-среда PascalABC.NET WDE. Графика

Page 132: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

132

События

Веб-среда PascalABC.NET WDE. Графика

Page 133: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

133

События

Веб-среда PascalABC.NET WDE. Графика

Page 134: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

134

События

Веб-среда PascalABC.NET WDE. Графика

Page 135: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

135

События

Веб-среда PascalABC.NET WDE. Графика

Page 136: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

136

События

Веб-среда PascalABC.NET WDE. Графика

Page 137: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

137

Страницы сайта задачника с формулировками заданий

Веб-среда PascalABC.NET WDE и электронный задачник

Курсивом выделены имена заданий, для которых имеются полные решения

Page 138: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

138

Автоматическая загрузка программы в WDE

Веб-среда PascalABC.NET WDE и электронный задачник

Page 139: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

139

Окно задачника в WDE

Веб-среда PascalABC.NET WDE и электронный задачник

Page 140: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

140

Окно задачника в WDE

Веб-среда PascalABC.NET WDE и электронный задачник

Пример верного решения приводится только в случае, если решение является ошибочным

Page 141: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

141

Задание на обработку файлов

Веб-среда PascalABC.NET WDE и электронный задачник

В окне задачника для WDE содержимое двоичных файлов отображается полностью; прокрутка не требуется

Page 142: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

142

Загрузка заготовки программы в WDE

Веб-среда PascalABC.NET WDE и электронный задачник

Page 143: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

143

Задание на обработку деревьев

Веб-среда PascalABC.NET WDE и электронный задачник

Page 144: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

144

Страница сайта PascalABC.NET c задачами ЕГЭ группы C

Веб-среда PascalABC.NET WDE и типовые задачи ЕГЭ (группа C)

Page 145: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

145

Загрузка программы с задачей ЕГЭ в WDE

Веб-среда PascalABC.NET WDE и типовые задачи ЕГЭ (группа C)

Особенность заданий, связанных с ЕГЭ: модуль PT4ExamWeb осуществляет перенаправление потоков ввода-вывода; данные читаются и пишутся в специальные текстовые файлы «незаметным» для программы учащегося образом.

Page 146: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

146

Вид окна задачника для задач ЕГЭ

Веб-среда PascalABC.NET WDE и типовые задачи ЕГЭ (группа C)

Page 147: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

147

Вид развернутого окна задачника для задач ЕГЭ

Веб-среда PascalABC.NET WDE и типовые задачи ЕГЭ (группа C)

Для переключения между стандартным и развернутым видом окна достаточно выполнить на окне щелчок мышью.

Page 148: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

Компоненты для преподавателя

Конструктор вариантов

Контрольный центр

Конструкторы учебных заданий

Page 149: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

149

Комплекс Teacher Pack: основные компоненты

Конструктор вариантов PTVarMaker: позволяет создавать наборы вариантов

индивидуальных заданий позволяет создавать новые группы заданий

на основе уже существующих Контрольный центр PABCTeach:

предназначен для автоматизации действий при подготовке и проведении групповых занятий

обеспечивает настройку рабочих каталогов учащихся и их резервное сохранение

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

Конструктор учебных заданий PT4TaskMaker

Компоненты для преподавателя

Page 150: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

150

Раздел комплекса Teacher Pack на сайте задачника

Компоненты для преподавателя

Page 151: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

151

Окно конструктора вариантов

Компоненты для преподавателя. Конструктор вариантов

Page 152: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

152

Генерация вариантов

Компоненты для преподавателя. Конструктор вариантов

Page 153: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

153

Генерация вариантов

Компоненты для преподавателя. Конструктор вариантов

Page 154: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

154

Генерация вариантов

Компоненты для преподавателя. Конструктор вариантов

Page 155: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

155

Компоненты для преподавателя. Конструктор вариантов

Тексты сгенерированных вариантов в html-формате

Page 156: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

156

Компоненты для преподавателя. Конструктор вариантов

Пример набора данных, не связанного с задачником

Page 157: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

157

Компоненты для преподавателя. Конструктор вариантов

Тексты сгенерированных вариантов

Page 158: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

158

Компоненты для преподавателя. Конструктор вариантов

Пример ошибочного набора данных

Page 159: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

159

Компоненты для преподавателя. Конструктор вариантов

Создание контрольного файла (check-файла)

Page 160: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

160

Компоненты для преподавателя. Конструктор вариантов

Использование контрольных файлов

Page 161: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

161

Компоненты для преподавателя. Конструктор вариантов

Использование контрольных файлов

Page 162: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

162

Компоненты для преподавателя. Контрольный центр

Окно контрольного центра PABCTeach

Page 163: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

163

Компоненты для преподавателя. Контрольный центр

Просмотр результатов из контрольного центра

Page 164: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

164

Компоненты для преподавателя. Контрольный центр

Просмотр результатов из контрольного центра

Page 165: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

165

Компоненты для преподавателя. Контрольный центр

Просмотр сводной информации

Page 166: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

166

Компоненты для преподавателя. Контрольный центр

Отключение файла с вариантами заданий

Page 167: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

167

Компоненты для преподавателя. Контрольный центр

Просмотр информации обо всех выполненных заданиях

Page 168: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

168

Компоненты для преподавателя. Контрольный центр

Просмотр информации обо всех выполненных заданиях

Page 169: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

169

Конструкторы учебных заданий

RobotTaskMaker: создание новых групп заданий для исполнителя Робот

DMTaskMaker: создание новых групп заданий для исполнителя Чертежник

PT4TaskMaker: создание новых групп заданий

для задачника Programming Taskbook компоновка имеющихся и новых заданий для задачника

Programming Taskbook в новые группы автоматическая генерация html-описаний

для новых групп заданий

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

Page 170: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

170

Структура модуля с новой группой заданий для Робота

unit MyRob;

uses RobotTaskMaker;

procedure Rb1;begin…end;procedure Rb2;begin…end;

procedure Rb3;begin…end;

begin RegisterGroup('myrob', 'Мои задания для Робота', ‘MyRob', 3); RegisterTask('myrob1', Rb1); RegisterTask('myrob2', Rb2); RegisterTask('myrob3', Rb3);end.

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

Page 171: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

171

Пример реализации нового задания для Робота

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

procedure Rb2;begin TaskText('Задание myrob2. ' + 'Закрасить помеченные клетки'); Field(10, 8); RobotBegin(1, 8); RobotEnd(10, 1); HorizontalWall(1, 1, 8); HorizontalWall(1, 7, 8); VerticalWall(1, 2, 5); VerticalWall(9, 1, 5); TagRect(2, 2, 9, 7);end;

Page 172: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

172

Дополнительные возможности

Задания из новых групп, подобно встроенным заданиям, можно выбирать с помощью мастера загрузки заданий PT4Load

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

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

Page 173: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

173

Пример использования модуля PT4Load

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

Page 174: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

174

Пример использования модуля PT4Load

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

Page 175: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

175

Пример использования модуля PT4Load

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

Page 176: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

176

Созданная заготовка и вид окна с заданием

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

uses Robot, MyRob;begin Task('myrob2');

end.

Page 177: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

177

Раздел справочной системы, посвященный конструкторам

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

Page 178: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

178

Конструктор позволяет разрабатывать новые группы заданий в виде dll-библиотек

Созданные библиотеки с заданиями доступны для любых сред и языков, поддерживаемых задачником

Для подключения новой группы к задачнику достаточно разместить dll-библиотеку с этой группой в подкаталоге LIB задачника или в рабочем каталоге учащегося

Среды для разработки новых групп: Free Pascal Lazarus, Borland Delphi, PascalABC.NET

Конструктор PT4TaskMaker

Компоненты для преподавателя. Конструктор PT4TaskMaker

Page 179: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

179

Основные возможности

Определение общих свойств группы заданий (название, краткое описание, число заданий, …)

Указание формулировки задания и ее форматирование (использование специальных символов, индексов, выделение фрагментов текста, …)

Определение наборов исходных и контрольных данных любых базовых типов: integer, real, boolean, char, string

Настройка дополнительных характеристик (например, указание числа тестовых испытаний)

Компоненты для преподавателя. Конструктор PT4TaskMaker

Page 180: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

180

Структура проекта с новой группой (Delphi-проект)

library PT4MakerDemo;uses PT4TaskMaker;// вспомогательные процедуры, реализующие конкретные задания…procedure InitTask(num: integer); stdcall; begin // главная процедура группы, вызывает вспомогательные процедурыend; procedure inittaskgroup; begin CreateGroup('MakerDemo', 'Примеры различных задач', 'М. Э. Абрамян, 2010', 'qwqfsdf13dfttd', 8, InitTask); // определение преамбулы группы и ее подгрупп…end; exports inittaskgroup; end.

Компоненты для преподавателя. Конструктор PT4TaskMaker

Page 181: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

181

Пример реализации нового задания

procedure Task1;var a, b: real;begin CreateTask('Ввод и вывод данных, оператор присваивания'); TaskText('Даны стороны прямоугольника {a} и {b}. ', 0, 2); TaskText('Найти его площадь {S}~=~{a}\*{b} и периметр ' + '{P}~=~2\*({a}~+~{b}).', 0, 4); a := (1 + Random(100)) / 10; b := (1 + Random(100)) / 10; DataR('a = ', a, xLeft, 3, 4); DataR('b = ', b, xRight, 3, 4); ResultR('S = ', a * b, 0, 2, 4); ResultR('P = ', 2 * (a + b), 0, 4, 4); SetTestCount(3);end;

Компоненты для преподавателя. Конструктор PT4TaskMaker

Page 182: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

182

Вид окна задачника с новым заданием

Компоненты для преподавателя. Конструктор PT4TaskMaker

Page 183: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

183

Включение имеющихся заданий в новую группу

procedure InitTask(num: integer);begin case num of 1: Task1; 2..11: UseTask('Array', num - 1); 12..21: UseTask('Param', num - 11); end;end;

Компоненты для преподавателя. Конструктор PT4TaskMaker

Группы, содержащие задания из других групп (сводные группы), могут, в частности, использоваться при проведении проверочных работ для того, чтобы затруднить применение учащимися шпаргалок

Page 184: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

184

Компоненты для преподавателя. Конструктор PT4TaskMaker

Создание сводной группы без программирования

Page 185: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

185

Автоматическая генерация текста заданийuses PT4;begin Task('Demo#');end.

Компоненты для преподавателя. Конструктор PT4TaskMaker

Page 186: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

186

Дополнительные возможности

Наличие встроенных образцов текстовых данных: 116 слов, 61 предложение, 85 многострочных текстов (русских и английских)

Возможность использования в задании файловых данных (двоичных и текстовых)

Возможность использования в задании указателей и динамических структур (линейных и иерархических)

Средства для разработки заданий по параллельному MPI-программированию

Компоненты для преподавателя. Конструктор PT4TaskMaker

Page 187: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

187

Компоненты для преподавателя. Конструктор PT4TaskMaker

Разработка новой группы в системе PascalABC.NET

Page 188: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

188

Некоторые направления дальнейшего развития

Расширение набора заданий, связанных с ЕГЭ по информатике

Реализация компонентов для преподавателя в Веб-среде PascalABC.NET WDE

Интеграция в Веб-среду PascalABC.NET WDE других распространенных языков программирования с возможностью использования для них электронного задачника Programming Taskbook

Page 189: Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей

Спасибо за вниманиеС любезного разрешения авторов

в презентации были использованы графические материалы доклада Ю.В. Беляковой и С.С. Михалковича

«Графическая библиотека для Web-среды программирования PascalABC.NET», прочитанного на V Международной научно-практической конференции

«Современные информационные технологии и ИТ-образование» (2010 г.)