60c1cc27c066ae219e3591cc44fb564d.ppt
- Количество слайдов: 44
Обучение современному программированию Материалы семинара для учителей информатики (Пермский государственный педагогический университет, 26. 11. 2009) С. С. Михалкович miks@math. sfedu. ru Факультет математики, механики и компьютерных наук Южный федеральный университет
Характеристика современного этапа Проникновение Интернета во все сферы жизни Необходимость формировать компетенции обучаемых на раннем этапе Внедрение ЕГЭ. Возрастание роли ЕГЭ по информатике Переход на свободно распространяемое ПО в школах Разнообразие систем и языков программирования Малое количество систем программирования, созданных специально для обучения
Рейтинг популярности языков программирования. Индекс TIOBE Желательность опираться в обучении на известные языки www. tiobe. com
Первый язык программирования: желательные качества Легкость создания простых программ Простота методов ввода-вывода Простые управляющие конструкции Простота разработки подпрограмм и модулей Наличие простых средств для работы с массивами, строками и файлами Простые средства для работы с графикой Поддержка ООП Наличие развитых объектных библиотек Наличие учебной литературы по этому языку
Первая среда программирования: желательные качества Простой интерфейс Отображение динамических подсказок Автоматическое форматирование текста Генерация шаблонов программ и конструкций Возможность создания простых интерактивных консольных приложений, поддерживающих русский язык Событийное программирование Генерация исполняемых файлов Freeware или Open Source Распространенность и популярность среды
Среды программирования для обучения. Borland Pascal 7. 0
Среды программирования для обучения. Free Pascal 2. 2
Среды программирования для обучения. Алго
Среды программирования для обучения. Scratch
Среды программирования для обучения. Black. Box Oberon
Среды программирования для обучения. Ку. Мир
Среды программирования для обучения. Visual Basic. NET
Среды программирования для обучения. Microsoft Small Basic
Среды программирования для обучения. Turbo Delphi
Среды программирования для обучения. Lazarus
Среды программирования для обучения. Pascal. ABC. NET
Проект Pascal. ABC. NET Начало: 2002 г. Основная цель: создание среды программирования для обучения. Ориентация на студентов и школьников Полноценный язык Delphi Pascal с дополнениями, возникающими в современных языках Самые современные конструкции языков программирования: классы, интерфейсы, шаблоны, исключения и т. д. Возможность использования. NET библиотек Модули растровой и векторной графики Модули школьных Исполнителей Модуль электронного задачника Простая и мощная оболочка со средствами подсказки по коду
Оболочка Pascal. ABC. NET. Подсказка при наведении на имя
Оболочка Pascal. ABC. NET. Подсказка по точке
Исполнитель Робот. Автоматическая проверка заданий
Исполнитель Чертежник. Автоматическая проверка заданий
Модуль электронного задачника PT 4 (автор Абрамян М. Э. ). 250 бесплатных задач. Автоматическая проверка заданий
Модуль растровой графики Graph. ABC
Модуль векторной графики ABCObjects
Простейшие событийные приложения
Создание заданий для Исполнителя Робот unit Rob. Tasks; uses Robot. Task. Maker; procedure First. Rob; begin Task. Text('Задание myrob 1. Закрасить клетки под закрашенными'); Field(10, 6); Horizontal. Wall(0, 3, 4); Vertical. Wall(4, 3, 2); Robot. Begin(1, 4); Vertical. Wall(5, 1, 5); Horizontal. Wall(5, 1, 4); Robot. End(6, 2); Tag(6, 2); end; begin Register. Task('myrob 1', First. Rob); Register. Group('myrob', 'Мои задания для Робота', 'Rob. Tasks', 2); end.
Вызов созданных заданий для Исполнителя Робот uses Robot, Rob. Tasks; begin Task('myrob 1'); end.
Создание заданий для электронного задачника PT 4 unit PT 4 Demo; uses PT 4 Task. Maker; procedure Demo 3; 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; begin Create. Group('Demo', 'Примеры задач', 'С. С. Михалкович, 2009', 'df 6 yui 13 dffdsttd', 9, Init. Task); Register. Group('PT 4 Demo'); end.
Вызов созданных заданий для электронного задачника PT 4 uses PT 4, PT 4 Demo; begin Task('Demo 3'); end.
Язык Pascal. ABC. NET. Простейшие новые возможности var n: integer; begin write('Введите n: '); readln(n); var fact : = 1; for var i : = 2 to n do fact *= i; writeln(n, '! = ', fact); end.
Что дает платформа. NET Многообразие библиотек Возможность совместного использования кода, написанного на разных. NET-языках Современные языковые средства: динамические массивы, классы, интерфейсы, шаблоны классов и подпрограмм, исключения, средства параллельности и пр. Сборка мусора (не нужно явно возвращать динамическую память)
Многообразие стандартных библиотек (на примере. NET) System. Collections – классы коллекций System. Data – классы для работы с БД System. Drawing – классы для рисования в окне System. Net – классы для работы с сетью System. Web – классы для работы с Web System. Windows. Forms – классы для создания оконных приложений …
Библиотеки. 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 Упрощение решения традиционных задач
Библиотеки. NET. Строки как классы var s: string : = 'Каждый Охотник Желает Знать Где Сидит Фазан'; begin var ss : array of string : = s. Split(' '); System. Array. Sort(ss); s : = string. Join(', ', ss); writeln(s); end. Вывод Где, Желает, Знать, Каждый, Охотник, Сидит, Фазан Высокоуровневые базовые примитивы, которые следует использовать для решения алгоритмических задач
Библиотеки. NET. Коллекции uses System. Collections. Generic; var l : = new Linked. List<integer>; begin l. Add. Last(3); l. Add. Last(5); l. Add. Last(7); foreach x: integer in l do write(x, ' '); end. Высокоуровневые универсальные структуры данных
Легкость создания библиотек DLL Библиотека My. Lib. pas Основная программа library My. Lib; {$reference 'My. Lib. dll'} procedure Hello. World; begin writeln('Hello, world!'); end; begin Hello. World; end. Совместимость библиотек, написанных на разных. NET-языках
Библиотеки. NET. Использование компонента Web. Browser {$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'); my. Form. Controls. Add(w); Application. Run(my. Form); end. Классы для создания современных прикладных приложений
Сайт системы Pascal. ABC. NET: http: //pascalabc. net
Сайт задачника Programming Taskbook: http: //ptaskbook. com
Форум системы Pascal. ABC. NET
Wiki-система проекта Pascal. ABC. NET. Страница «Алгоритмы для начинающих»
Web-среда программирования Pascal. ABC. NET
Дизайнер форм Pascal. ABC. NET. Alpha-версия
Спасибо за внимание!
60c1cc27c066ae219e3591cc44fb564d.ppt