Обучение современному программированию Материалы семинара для учителей информатики (Пермский государственный педагогический университет, 26.11.2009) С.С.Михалкович.

Презентация:



Advertisements
Похожие презентации
Курс «Основы программирования» на базе системы PascalABC.NET IV Международная научно-практическая конференция «Современные информационные технологии и.
Advertisements

Электронный задачник по программированию для системы 1С:Предприятие М. Э. Абрамян, М. Ю. Беренкеева Южный федеральный университет, факультет математики,
Основы программирования Цыбикова Т.Р.2.
СТРУКТУРА ПРОГРАММЫ Среда программирования Pascal ABC.
Упорядоченный набор данных одного типа называется массивом. Каждый элемент массива описывается в общем виде как A[i], где A – имя массива, i – номер элемента.
Например: семейство бабочек; Понятие одномерного массива поле цветов;
PROGRAM example1; const m=100; var a : ARRAY [1.. m] of INTEGER; i,k,n,q : INTEGER; BEGIN readln (n); randomize; WRITELN('Полученный массив:' ); FOR i.
Власова О.А. СОШ 5, Елабуга. Например: семейство бабочек ; Понятие одномерного массива поле цветов;
Подпрограммы в Паскале.
Работа с массивами Программирование в ЕГЭ. Что надо знать о массивах? Матрица – двумерный массив. Элементы массива могут иметь любой тип. Массив определяют.
МЕТОД ПОСЛЕДОВАТЕЛЬНОЙ ДЕТАЛИЗАЦИИ. ПРОЦЕДУРЫ И ФУНКЦИИ Урок 1.
Массив – совокупность конечного числа данных одного типа.
Программирование 1 © Бакунович А.В. PascalABS. Внимание 1.Запустить программу 2.Файл – сохранить как… 3.Сохранять в папке СВОЕГО Pascal (D:\Public\Pascal.
Язык программирования Паскаль 9 часть. Массивы.
Тема: « Вставка- удаление элементов массива » :18:06.
Массив- совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя. Ячейка - это элемент массива. Номер элемента.
Функции. Функция- это подпрограмма, которая вычисляет и возвращает некоторое значение. Функции описываются в разделе описаний следующим образом: Function.
класс-ПОВТОРЕНИЕ ОСНОВНЫХ ПОНЯТИЙ ТЕМЫ « ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ » 8 КЛАСС.
Службы сайта задачника Programming Taskbook как пример веб-служб, связанных с обучающими программными комплексами М. Э. Абрамян, В. Н. Брагилевский Южный.
Основы программирования Паскаль. Паскаль ( англ. Pascal) язык программирования общего назначения. Язык Паскаль был создан Никлаусом Виртом в
Транксрипт:

Обучение современному программированию Материалы семинара для учителей информатики (Пермский государственный педагогический университет, ) С.С.Михалкович Факультет математики, механики и компьютерных наук Южный федеральный университет

Характеристика современного этапа Проникновение Интернета во все сферы жизни Необходимость формировать компетенции обучаемых на раннем этапе Внедрение ЕГЭ. Возрастание роли ЕГЭ по информатике Переход на свободно распространяемое ПО в школах Разнообразие систем и языков программирования Малое количество систем программирования, созданных специально для обучения

Рейтинг популярности языков программирования. Индекс TIOBE Желательность опираться в обучении на известные языки

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

Первая среда программирования: желательные качества Простой интерфейс Отображение динамических подсказок Автоматическое форматирование текста Генерация шаблонов программ и конструкций Возможность создания простых интерактивных консольных приложений, поддерживающих русский язык Событийное программирование Генерация исполняемых файлов Freeware или Open Source Распространенность и популярность среды

Среды программирования для обучения. Borland Pascal 7.0

Среды программирования для обучения. Free Pascal 2.2

Среды программирования для обучения. Алго

Среды программирования для обучения. Scratch

Среды программирования для обучения. BlackBox Oberon

Среды программирования для обучения. КуМир

Среды программирования для обучения. Visual Basic.NET

Среды программирования для обучения. Microsoft Small Basic

Среды программирования для обучения. Turbo Delphi

Среды программирования для обучения. Lazarus

Среды программирования для обучения. PascalABC.NET

Проект PascalABC.NET Начало: 2002 г. Основная цель: создание среды программирования для обучения. Ориентация на студентов и школьников Полноценный язык Delphi Pascal с дополнениями, возникающими в современных языках Самые современные конструкции языков программирования: классы, интерфейсы, шаблоны, исключения и т.д. Возможность использования.NET библиотек Модули растровой и векторной графики Модули школьных Исполнителей Модуль электронного задачника Простая и мощная оболочка со средствами подсказки по коду

Оболочка PascalABC.NET. Подсказка при наведении на имя

Оболочка PascalABC.NET. Подсказка по точке

Исполнитель Робот. Автоматическая проверка заданий

Исполнитель Чертежник. Автоматическая проверка заданий

Модуль электронного задачника PT4 (автор Абрамян М.Э.). 250 бесплатных задач. Автоматическая проверка заданий

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

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

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

Создание заданий для Исполнителя Робот unit RobTasks; uses RobotTaskMaker; procedure FirstRob; begin TaskText('Задание myrob1. Закрасить клетки под закрашенными'); Field(10,6); HorizontalWall(0,3,4); VerticalWall(4,3,2); RobotBegin(1,4); VerticalWall(5,1,5); HorizontalWall(5,1,4); RobotEnd(6,2); Tag(6,2); end; begin RegisterTask('myrob1',FirstRob); RegisterGroup('myrob', 'Мои задания для Робота', 'RobTasks', 2); end.

Вызов созданных заданий для Исполнителя Робот uses Robot,RobTasks; begin Task('myrob1'); end.

Создание заданий для электронного задачника PT4 unit PT4Demo; uses PT4TaskMaker; procedure Demo3; 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; begin CreateGroup('Demo', 'Примеры задач', 'С.С.Михалкович, 2009', 'df6yui13dffdsttd', 9, InitTask); RegisterGroup('PT4Demo'); end.

Вызов созданных заданий для электронного задачника PT4 uses PT4, PT4Demo; begin Task('Demo3'); end.

Язык PascalABC.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. Тип 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 Sunday Sunday Sunday Sunday Sunday Sunday Sunday 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 LinkedList ; begin l.AddLast(3); l.AddLast(5); l.AddLast(7); foreach x: integer in l do write(x,' '); end. Высокоуровневые универсальные структуры данных

Легкость создания библиотек DLL library MyLib; procedure HelloWorld; begin writeln('Hello, world!'); end; end. {$reference 'MyLib.dll'} begin HelloWorld; end. Библиотека MyLib.pasОсновная программа Совместимость библиотек, написанных на разных.NET-языках

Библиотеки.NET. Использование компонента WebBrowser {$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(' myForm.Controls.Add(w); Application.Run(myForm); end. Классы для создания современных прикладных приложений

Сайт системы PascalABC.NET:

Сайт задачника Programming Taskbook:

Форум системы PascalABC.NET

Wiki-система проекта PascalABC.NET. Страница «Алгоритмы для начинающих»

Web-среда программирования PascalABC.NET

Дизайнер форм PascalABC.NET. Alpha-версия

Спасибо за внимание!