Элективный курс Программирование в Lazarus (11 кл)

Изучение основ программирования связано с развитием целого ряда таких умений и навыков, которые носят общеинтеллектуальный характер и формирование которых – одна из приоритетных задач современной школы. Изучение программирования развивает мышление школьников, способствует формированию у них многих приемов умственной деятельности. Здесь роль информатики сродни роли математики в школьном образовании. Поэтому не использовать действительно большие возможности программирования для развития мышления ш...
Раздел Информатика
Класс -
Тип Рабочие программы
Автор
Дата
Формат docx
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

ЭЛЕКТИВНЫЙ КУРС «ПРОГРАММИРОВАНИЕ В LAZARUS»

Автор: Суняйкина Е.К.

1. Пояснительная записка

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

Объектно-ориентированное программирование активно развивается и используется в современных языках программирования при разработке широкого спектра программных продуктов. Визуальная среда программирования Lazarus наиболее близка для понимания школьниками, так как языки Object Pascal и Free Pascal являются наследными, но более усовершенствованными продуктами языка Pascal, который знаком школьникам из курса общеобразовательной программы. В ходе знакомства с программой Lazarus учащиеся смогут приобрести теоретические и практические навыки по разработке алгоритмов и освоить технологию современного программирования. Активизация познавательного процесса позволяет учащимся более полно выражать свой творческий потенциал и реализовывать собственные идеи в изучаемой области знаний, создаёт предпосылки по применению приложений, созданных в среде Lazarus, и в других учебных курсах, а также способствует возникновению дальнейшей мотивации, направленной на освоение профессии программиста.

Изучая программирование на Pascal, учащиеся прочнее усваивают основы алгоритмизации, так как Pascal является одним из наиболее распространенных языков программирования для обучения. Что вполне естественно, так как является структурированным, логичным, легко читаемым и понимаемым.

Существует довольно много компиляторов для языка Pascal. Основным компилятором является Borland Pascal 7.0. В последние 15 лет велась активная разработка альтернативы компилятору Borland Pascal. Она получила название Free Pascal. Он совместим с Borland Pascal 7.0 и Object Pascal Delphi.

В 1999 г. Клифф Байзмент, Шейн Миллер и Майкл А. Гесса написали графическую среду для бесплатного компилятора FPC. Проект получал название Lazarus. На сегодняшний день следует признать, что идея оказалась весьма плодотворной потому, что среда существует и развивается и поныне. Она нашла свое место в учебном процессе и ее освоение позволит ученику осваивать язык Pascal, решать с его помощью различные задачи. Учитывая тенденцию перехода многих учреждений, в том числе и образовательных, на альтернативное программное обеспечение (Open Source), следует предусмотреть возможность для учащихся научиться работать в разных программных средах. Очевидно, что умение работать в одной программе дает учащимся инструмент и для работы в других, похожих средах программирования, поскольку понятия об интерфейсе и инструментальных возможностях визуальных сред программирования схожи между собой. Компилятор Free Pascal лежит в основе среды разработки Lazarus, которая предназначена для создания программ с графическим интерфейсом. Lazarus является аналогом платной среды DELPHI.

Цель курса: приобрести навыки разработки программных приложений в свободной визуальной среде программирования Lazarus.

Задачи курса:

  • формирование у учащихся интереса к профессиям, связанным с программированием;

  • формирование алгоритмической культуры учащихся;

  • развитие алгоритмического мышления учащихся;

  • приобретение учащимися знаний и навыков алгоритмизации в ее структурном варианте;

  • формирование у учащихся навыков грамотной разработки программы;

  • углубление у школьников знаний, умений и навыков решения задач по программированию и алгоритмизации;

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

В результате изучения дисциплины обучаемый должен:

иметь представление о:

- основных возможностях среды программирования Lazarus;

должен знать:

- инструментарий среды Lazarus, необходимый для разработки полнофункционального приложения;

- принципы работы основных компонентов Lazarus;

- основы объектно-ориентированного подхода в программировании;

уметь:

- конструировать интерфейс приложений и разрабатывать их дизайн;

- применять инструментарий среды Lazarus для разработки полнофункционального приложения;

владеть:

- приёмами организации и самоорганизации работы по созданию приложений в среде программирования Lazarus.


2. Состав учебно-методического комплекса

2.1. Учебно-методическое обеспечение

Учебно-методический комплекс по элективному курсу «Программирование в Lazarus» включает следующие учебные издания:

Основная литература

  1. Алексеев, Е. Р. Самоучитель по программированию на Free Pascal и Lazarus. - Донецк. : ДонНТУ, Технопарк ДонНТУ УНИТЕХ, 2009.

  2. Кучер, Т. В. Free Pascal и Lazarus. Учебник по программированию / Т.В. Кучер, О.В. Чеснокова, Е.Р. Алексеев. - М.: ДМК Пресс, 2010.

  3. Абрамкин, Г. П. Программирование в среде Турбо Паскаль: учебное пособие / Г. П. Абрамкин, Ю. С. Ефремов, О. В. Токарева. - М.: Директ-Медиа, 2013.

  4. Турбо-Паскаль в примерах: кн. для учащихся 10-11 кл. / А.Б. Николаев, Л.А. Акатнова, С.В. Алексахин и др. - М.: Просвещение, 2002.

Дополнительная литература

  1. Информатика. Задачник-практикум: В 2 т. / Под ред. И.Г. Семакина: Т.1. - М.: БИНОМ. Лаборатория знаний, 2002.

  2. Кирюхин, В. М. Методика проведения и подготовки к участию в олимпиадах по информатике: всероссийская олимпиада школьников [Электронный ресурс] / В. М. Кирюхин. - М.: БИНОМ. Лаборатория знаний, 2012.

  3. Сулейманов, Р. Р. Методика решения учебных задач средствами программирования. Методическое пособие [Электронный ресурс] / Р. Р. Сулейманов. - М.: БИНОМ. Лаборатория знаний, 2013.

Интернет-источники

В качестве дополнительной подготовки рекомендуется изучение информации, расположенной на сайтах:

  1. docs.altlinux.org/books/2010/freepascal.pdf - Free Pascal и Lazarus: Учебник по программированию / Е. Р. Алексеев, О. В. Чеснокова, Т. В. Кучер.

  2. edu.of.ru/profil/default.asp?ob_no=18573 - Сайт дистанционной поддержки программы «Интернет-поддержка профессионального развития педагогов».

  3. inc.istu.ru/ - Сайт отдела информатизации Ижевского ГТУ; Нормативно-правовая база использования СПО в образовательных учреждениях, ссылки на свободное ПО и др.;

  4. Free Pascal.ru - Информационный портал для разработчиков на Free Pascal & Lazarus & MSE. URL freepascal.ru

  5. Lazarus - News. URL: lazarus.freepascal.org.

  6. freepascal.ru/ - Русскоязычное сообщество Lazarus, полезные статьи по Free Pascal и Lazarus и активный форум;

  7. sourceforge.net/projects/freepascal/files/Documentation/ - официальная документация по Free Pascal;

  8. altlinux.org/Books:FreePascal - Free Pascal и Lazarus: Учебник по программированию;

  9. mansurov-oshtu.ucoz.ru/ - Основы программирования в среде Lazarus.

2.2. Перечень аппаратно-программных средств

Для проведения занятий необходим стандартный набор специализированной учебной мебели и учебного оборудования для компьютерного класса, а также мультимедийное оборудование для демонстрации презентаций. В перечне аппаратно-программных средств можно отметить следующее:

  • операционные системы Windows XP, Vista, Windows 7, Linux;

  • среда программирования Lazarus (русская и/или английская версия);

  • видеопроектор или интерактивная доска в качестве средств поддержки лекционных занятий;

  • Интернет-доступ, позволяющий осуществлять подбор материалов для выполнения заданий, подготовки информационного проекта, научных сообщений и др.

3. Содержание элективного курса «Программирование в Lazarus»

1.Среда программирования Lazarus.

1.1 Интерфейс среды программирования Lazarus.

1.2 Создание приложения в среде Lazarus.

2.Основы языка Паскаль.

2.1 Данные. Типы данных.

2.2 Организация ввода-вывода. Оператор присваивания.

2.3 Правила записи математических выражений. Операции и выражения. Стандартные функции.

3. Реализация основных алгоритмических структур.

3.1 Алгоритмы линейной структуры.

3.2 Алгоритмы разветвляющейся структуры. Основные понятия математической логики.

3.3 Решение задач «Организация ветвлений в программах».

3.4 Циклический алгоритм. Виды циклов.

3.5 Решение задач «Программирование циклических алгоритмов».

4. Массивы.

4.1 Одномерные массивы: описание и задание элементов. Действия над одномерными массивами.

4.2 Поиск, замена в одномерном массиве. Сортировка, способы сортировки.

4.3 Решение задач «Массивы».

4. Учебно-тематический план элективного курса

«Программирование в Lazarus»

Раздел(тема)

Количество часов

1. Среда программирования Lazarus

1.1

Интерфейс среды программирования Lazarus

1

1.2

Создание приложения в среде Lazarus

1

2.Основы языка Паскаль

2.1

Данные. Типы данных. Константы. Переменные

1

2.2

Организация ввода-вывода. Оператор присваивания

1

2.3

Правила записи математических выражений. Операции и выражения. Стандартные функции.

2

3. Реализация основных алгоритмических структур

3.1

Алгоритмы линейной структуры

2

3.2

Алгоритмы разветвляющейся структуры. Основные понятия математической логики.

2

3.3

Решение задач «Организация ветвлений в программах»

4

3.4

Циклический алгоритм. Виды циклов.

2

3.5

Решение задач «Программирование циклических алгоритмов»

4

4. Массивы

4.1

Одномерные массивы: описание и задание элементов. Действия над одномерными массивами.

2

4.2

Поиск, замена в одномерном массиве. Сортировка, способы сортировки.

1

4.3

Решение задач «Массивы».

4

Итого:

27

5. Примерные вопросы для самостоятельной работы

  1. Основные алгоритмические структуры. Примеры алгоритмов.

  2. Принципы структурного программирования.

  3. Типы величин (целые, вещественные, логические, символьные). Диапазон допустимых значений, представление в памяти ЭВМ, операции, определенные над величинами каждого типа.

  4. Вспомогательный алгоритм. Формальные и фактические параметры, соответствие между ними.

  5. Процедурные и непроцедурные языки программирования (обзор).

6. Примерные вопросы к итоговой аттестации

  1. Опишите процедуру получения установочного дистрибутива среды программирования Lazarus.

  2. Опишите технологию установки среды программирования Lazarus.

  3. Опишите состав среды программирования Lazarus.

  4. Покажите выполнение настроек среды программирования Lazarus.

  5. Опишите интерфейс среды программирования Lazarus.

  6. Опишите структуру Панели элементов среды программирования Lazarus.

  7. Опишите визуальную настройку интерфейса разрабатываемого приложения

  8. Покажите реализацию основного и контекстного меню приложения.

  9. Опишите основные алгоритмические структуры. Приведите примеры алгоритмов.

  10. Охарактеризуйте полную и неполную развилку. Приведите примеры.

  11. Покажите, какие виды циклов используются в программировании. Приведите примеры.

  12. Опишите типы величин (целые, вещественные, логические, символьные). Укажите диапазоны допустимых значений и операции, определенные над величинами каждого типа.

  13. Охарактеризуйте вспомогательные алгоритмы. Опишите формальные и фактические параметры, соответствие между ними.

  14. Проведите обзор процедурных и непроцедурных языков программирования.

  15. Опишите алфавит языка программирования Free Pascal и структуру программы на Free Pascal.

  16. Опишите основные операторы языка программирования Free Pascal.

  17. Покажите реализацию линейных алгоритмов в Free Pascal. Приведите примеры.

  18. Покажите реализацию условного оператора в Free Pascal. Приведите примеры.

  19. Покажите реализацию оператора выбора в Free Pascal. Приведите примеры.

  20. Охарактеризуйте перечислимый и диапазонный типы данных в Free Pascal. Приведите примеры.

  21. Охарактеризуйте циклы с предусловием и с постусловием в Free Pascal. Приведите примеры.

  22. Охарактеризуйте цикл с параметром в Free Pascal. Покажите преобразование цикла с параметром к циклу с пред- или постусловием. Приведите примеры.

  23. Покажите программирование вложенных циклов. Приведите примеры.

  24. Покажите реализацию одномерных массивов в Free Pascal. Приведите примеры задач.

7. Глоссарий

Алгоpитм - заранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов.

Алфавит - фиксированный для данного языка набор основных символов, т.е. «букв алфавита», из которых должен состоять любой текст на этом языке. Никакие другие символы в тексте не допускаются.

Библиотека стандартных подпрограмм - совокупность подпрограмм, составленных на одном из языков программирования и удовлетворяющих единым требованиям к структуре, организации их входов и выходов, описаниям подпрограмм.

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

Видимость - способность одной абстракции видеть другую и, таким образом, ссылаться на ее ресурсы извне. Абстракции видимы друг другу, только если они находятся в одном пространстве имен. Контроль экспорта может еще более ограничить доступ к видимым абстракциям.

Восходящее программирование - методика разработки программ, при которой крупные блоки собираются из ранее созданных мелких блоков. Восходящее программирование начинается с разработки ключевых процедур и подпрограмм, которые затем постоянно модифицируются.

Вывод - результаты работы программы, выдаваемые компьютером пользователю, другому компьютеру или во внешнюю память.

Выражение - запись правила для вычисления некоторого значения. Строится из констант, переменных и указателей функций, объединенных знаками операций.

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

Закрытая часть - часть интерфейса какого-либо класса, объекта или модуля, закрытая (невидимая) для других классов, объектов и модулей.

Закрытый метод - метод, который не предназначен для вызова извне объекта; получатель сообщения, которое приводит к вызову такого метода, должен быть обязательно экземпляром того же класса, которому принадлежит отправитель сообщения.

Идентификатор - символическое имя переменной, которое идентифицирует её в программе.

Инструментальное программное обеспечение - программное обеспечение, используемое в ходе разработки, корректировки или развития других программ: редакторы, компиляторы, отладчики, вспомогательные системные программы, графические пакеты и др.

Инструментальные программные средства - программы, используемые в ходе разработки, корректировки или развития других программ: редакторы, отладчики, вспомогательные системные программы, графические пакеты и др. По назначению близки системам программирования.

Инструментарий технологии программирования - программные продукты, предназначенные для поддержки технологии программирования.

Интерпретатор - разновидность транслятора. Переводит и выполняет программу с языка высокого уровня в машинный код строка за строкой.

Интерфейс - средство сопряжения устройств вычислительной техники (аппаратный интерфейс); организация взаимодействия человека и компьютерной программы (программный интерфейс)

Исполнитель алгоритма - человек или автомат (в частности, процессор компьютера), умеющий выполнять определённый набор действий. Исполнителя хаpактеpизуют среда, элементарные действия, система команд, отказы.

Класс - множество объектов, которые обладают одинаковой структурой, поведением и отношением с объектами из других классов. Множество объектов, связанных общностью структуры и поведения; абстрактное описание данных и поведения для совокупности похожих объектов, представители которой называются экземплярами класса.

Команда - описание элементарной операции, которую должен выполнить компьютер. Обычно содержит код выполняемой операции, указания по определению операндов (или их адресов), указания по размещению получаемого результата. Последовательность команд образует программу.

Компилятор - разновидность транслятора. Читает всю программу целиком, делает её перевод и создаёт законченный вариант программы на машинном языке, который затем и выполняется.

Конструктор - метод, используемый для создания нового объекта; обеспечивает решение двух задач: выделяет память под новую переменную и гарантирует, что переменная инициализируется надлежащим образом.

Контейнерные классы - классы, которые используются как структуры

Массив - последовательность однотипных элементов, число которых фиксировано и которым присвоено одно имя. Компьютерный эквивалент таблицы. Положение элемента в массиве однозначно определяется его индексами.

Меню - выведенный на экран дисплея список различных вариантов работы компьютера, по которому можно сделать конкретный выбор.

Метод - процедура или функция, связанная с классом, вызываемая в стиле пересылки сообщений. Операция над объектом, определенная как часть описания класса. Не любая операция является методом, но все методы - операции. Термины «метод», «сообщение» и «операция» обычно взаимозаменяемы. В некоторых языках методы существуют сами по себе и могут переопределяться подклассами; в других языках метод не может быть переопределен, - он служит как часть реализации обобщенных или виртуальных функций, которые можно переопределять в подклассах.

Модуль - единица кода, служащая строительным блоком физической структуры системы; программный блок, который содержит объявления, выраженные в соответствии с требованиями языка и образующие физическую реализацию части или всех классов и объектов логического проекта системы. Как правило, модуль состоит из интерфейсной части и реализации.

Модульное программирование - метод разработки программ, предполагающий разбиение программы на независимые модули. Считается, что: оптимальный по размерам модуль целиком помещается на экране дисплея; разделение большой программы на модули облегчает ее разработку, отладку и сопровождение.

Область видимости, контекст - применяемый к имени переменной, этот термин означает часть исходного текста программы, в которой идентификатор переменной обозначает именно ее, а не что-либо другое.

Объект - программный модуль: объединяющий в себе данные (свойства) и операции над ними (методы); обладающий свойствами наследования, инкапсуляции и полиморфизма. Объекты взаимодействуют между собой, посылая друг другу сообщения. Объект - конкретная реализация класса, обладающая характеристиками состояния, поведения и индивидуальности, синоним экземпляра. Нечто, чем можно оперировать. Объект имеет состояние, поведение и идентичность. Структура и поведение сходных объектов определены в общем для них классе. Термины «экземпляр» и «объект» взаимозаменяемы.

Объектное программирование - метод программирования, основанный на представлении программы как совокупности объектов, каждый из которых является экземпляром некоторого типа. Типы образуют иерархию, но не наследственную. В таких программах типы рассматриваются как статические, а объекты имеют более динамическую природу, которую ограничивают статическое связывание и мономорфизм.

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

Объектно-ориентированное проектирование - методология проектирования, соединяющая процесс объектно-ориентированной декомпозиции и систему обозначений для представления логической и физической, статической и динамической моделей проектируемой системы. Система обозначений состоит из диаграмм классов, объектов, модулей и процессов.

Оператор - фраза алгоритмического языка, определяющая некоторый законченный этап обработки данных. В состав опеpатоpов входят ключевые слова, данные, выражения и др.

Открытый метод - метод, который может быть вызван без ограничения извне объекта.

Отладка (англ. debugging) - этап компьютерного решения задачи, при котором происходит устранение явных ошибок в программе. Часто производится с использованием специальных программных средств - отладчиков.

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

Переменная - величина, значение которой может меняться в процессе выполнения программы.

Подпрограмма - самостоятельная часть программы, которая создаётся независимо от других частей и затем вызывается по имени. Когда имя подпрограммы используется в качестве оператора программы, выполняется вся группа операторов, представляющая тело подпрограммы.

Программирование - процесс подготовки задач для их решения с помощью компьютера; итерационный процесс составления программ.
Программист - специалист, занимающийся разработкой и проверкой программ. Различают системных и прикладных программистов.

Семантика - определяет смысловое значение предложений языка. Являясь системой правил истолкования отдельных языковых конструкций, семантика устанавливает, какие последовательности действий описываются теми или иными фразами языка и, в конечном итоге, какой алгоритм определен данным текстом на алгоритмическом языке. Система правил истолкования отдельных языковых конструкций. Определяет смысловое значение предложений языка. Устанавливает, какие последовательности действий описываются теми или иными фразами языка, и какой алгоритм определён данным текстом на алгоритмическом языке.

Синтаксис - набор правил построения фраз языка, позволяющий определить, какие комбинации символов являются осмысленными предложениями в этом языке. Правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. Синтаксис языка представляет собой набор правил, устанавливающих, какие комбинации символов являются осмысленными предложениями на этом языке.

Система команд - совокупность операций, выполняемых некоторым компьютером.

Система программирования - система для разработки новых программ на конкретном языке программирования. Предоставляет пользователю мощные и удобные средства разработки программ: транслятор, редактор текстов программ, библиотеки стандартных программ, отладчик и др.

Событие - что-то, что может изменить состояние системы.

Событийно-управляемое программирование - объектно-ориентированное программирование, при котором задаются реакции программы на различные события.

Среда разработки - набор классов, предоставляющих некоторые базовые услуги в определенной области. Таким образом, среда разработки экспортирует классы и механизмы, которые клиенты могут использовать или адаптировать.

Стиль программирования - набор приемов или методов программирования, которые используют программисты, чтобы получить правильные, эффективные, удобные для применения и легкочитаемые программы.

Структура - конкретное представление состояния объекта. Каждый объект имеет собственное состояние, независимое от других объектов, хотя все объекты одного класса имеют одинаковое представление состояния.

Структурное программирование - метод разработки программ, в частности, требующий разбиения программы на небольшие независимые части (модули). Обеспечивает возможность проведения строгого доказательства правильности программ, повышает уверенность в правильности конечной программы. Методология и технология разработки программных комплексов, основанная на принципах: программирования «сверху-вниз»; модульного программирования. При этом логика алгоритма и программы должны использовать три основные структуры: последовательное выполнение, ветвление и повторение.

Схема алгоритма (блок-схема) - графическое представление алгоритма в виде последовательности блоков, соединённых стрелками.

Тестирование - этап решения задачи на компьютере, в процессе которого проверяется работоспособность программы, не содержащей явных ошибок.

Тип данных - понятие языка программирования, определяющее структуру констант, переменных и других элементов данных, разрешенные их значения и операции, которые можно над ними выполнять.

Транслятор - программа-переводчик. Преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.

Цикл - приём в программировании, позволяющий многократно повторять одну и ту же последовательность команд (операторов).

Язык ассемблера - система обозначений, используемая для представления в удобочитаемой форме программ, записанных в машинном коде. Перевод программы с языка ассемблера на машинный язык осуществляется специальной программой, которая называется ассемблером и является, по сути, простейшим транслятором.

Язык высокого уровня - язык программирования, более близкий к естественному языку, чем машинный код или язык ассемблера. Каждый оператор в нём соответствует нескольким командам машинного кода или языка ассемблера.

Язык программирования - искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задается своим описанием и реализуется в виде специальной программы: компилятора или интерпретатора.

13


© 2010-2022