СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

О свободном программном обеспечении для образования. Free Pascal

Категория: Информатика

Нажмите, чтобы узнать подробности

Эта книга — не просто учебник по программированию на давно уже ставшем традиционным для преподавания языке Паскаль. Это первое издание на русском языке, посвященное свободной реализации этого языка — Free Pascal и свободной же интегрированной среде разработки Lazarus. Как и любые свободные програм- мы, компилятор Free Pascal compiler и среда Lazarus могут быть установлены на любое количество компьютеров бесплатно (без лицензионных отчислений), мо- гут использоваться без ограничений, их исходные тексты полностью доступны для изучения и модификации. А это означает, что они идеально подходят для задач и условий обучения программированию, не накладывая на учащих и уча- щихся дополнительных расходов и давая им возможность максимально полно разобраться в предмете (вплоть до анализа исходных текстов компилятора). Преимущества свободного программного обеспечения для образования были признаны в России на самом высоком уровне, и осенью 2007 года состоялся пер- вый открытый конкурс на разработку и поставку пакета свободного программ- ного обеспечения. Его победителем стала группа «Армада». Соисполнителем по этому конкурсу стала компания ALT Linux, работающая с 2001 года и являюща- яся российским лидером в разработке свободного ПО и дистрибутивов на базе Linux. В рамках проекта сотрудниками ALT Linux был разработан и протестирован пакет свободного программного обеспечения (ПСПО) 1 , который был внедрен бо- лее чем в 1000 школ трех пилотных регионов России — Республики Татарстан, Пермского края и Томской области. В этих регионах была отработана не только технология внедрения, но и технология организации техподдержки, что очень важно для успеха проекта. Несмотря на то что пилотных регионов только три, любая школа России могла добровольно присоединиться к проекту и бесплатно получить комплект ПСПО. Для популяризации этой возможности и проекта в целом был проведен ряд семинаров в разных уголках страны. По итогам 2008 года, в проекте внедрения участвует 2151 школа. 1 http://linux.armd.ru В 2010 году компания ALT Linux выпустила новый комплект образователь- ных дистрибутивов, Альт Линукс 5.0 Школьный 2 , который является авторским развитием пакета свободного программного обеспечения (ПСПО) 2007—2008 го- дов. Комплект включает в себя дистрибутивы операционной системы ALT Linux, содержащие все необходимые программы для подготовки уроков и обучения ин- форматике, значительный набор программ по математике, физике, черчению, астрономии и другим предметам, обучающие и развивающие игры, стандартный набор офисных программ. Альт Линукс Школьный может быть установлен практически на любой ком- пьютер, так как включает в себя версии, адаптированные под различные систем- ные требования аппаратного обеспечения. Дистрибутивы комплекта Альт Линукс 5.0 Школьный включают Free Pascal и Lazarus и идеально подходят для освоения материала книги и организации преподавания на основе языка Free Pascal. О книжной серии «Библиотека ALT Linux» «Библиотека ALT Linux» — серия книг о свободном программном обеспечении и самых разных областях его применения, издаваемая компанией ALT Linux совместно с издательством ДМК-Пресс. К настоящему моменту в серии вышли книги: • Г. В. Курячий, К. А. Маслинский Введение в ОС Linux: Курс лекций. Учеб- ное пособие. М., 2010. • В. Б. Волков Линукс Юниор: Книга для учителя. М, 2010. • И. А. Хахаев Свободный графический редактор GIMP: Первые шаги. М., 2010. • И. А. Хахаев и др. OpenOffice.org: Теория и практика. М., 2008. • Е. Р. Алексеев, Е. А. Чеснокова, Е. А. Рудченко Scilab: Решение инженер- ных и математических задач. М., 2008. • ALT Linux снаружи. ALT Linux изнутри. М., 2006. Материалы всех публикуемых в серии книг распространяются под свободны- ми лицензиями, а полные электронные версии книг представлены в открытом доступе в Интернете. Более подробную информацию о серии, вышедших и гото- вящихся книгах вы найдёте на сайте проекта 3 . Редакция серии приглашает к сотрудничеству авторов, заинтересованных в написании книг и отдельных статей, посвящённых использованию свободного программного обеспечения для решения самых разных задач: от самых простых пользовательских до профессиональных и узкоспециальных. Подробнее об усло- виях публикации можно узнать на сайте проекта. 2 http://www.altlinux.ru/products/5th-platform/school-box/ 3 http://books.altlinux.org Введение Авторы книги давно хотели написать учебник по программированию, кото- рый был бы полезен пользователям различных операционных систем. Благодаря компании ALT Linux, мы попытались это сделать. В качестве языка программи- рования был выбран язык Free Pascal, который представляется нам ясным, ло- гичным и гибким языком и приучает к хорошему стилю программирования. Сво- бодно распространяемые компиляторы языка Free Pascal реализованы во многих дистрибутивах Linux, есть свободные компиляторы и для ОС Windows. Кроме того, в этой книге мы попытались познакомить читателя с принципами создания визуальных приложений в среде Lazarus. В настоящее время существует множество подходов к изучению программи- рования. По мнению авторов, нельзя изучать программирование на каком-либо языке, не изучив методы разработки алгоритмов. Одним из наиболее наглядных методов составления алгоритмов является язык блок-схем. Об этом свидетель- ствует и многолетний опыт авторов преподавания программирования. Мы по- пытались написать учебник по алгоритмизации и программированию, насколько нам это удалось — судить читателю. Авторы надеются, что читатель имеет первоначальные навыки работы на персональном компьютере под управлением ОС Linux или Windows и знаком со школьным курсом математики. Книга состоит из десяти глав. В первой главе читатель узнает о средствах разработки программ на Free Pascal, напишет свои первые программы. Во второй главе изложены основные элементы языка (переменные, выра- жения, операторы) Free Pascal. Описаны простейшие операторы языка: присва- ивания и ввода-вывода, приведена структура программы, приведены примеры простейших программ линейной структуры. Третья глава является одной из ключевых в изучении программирования. В ней изложена методика составления алгоритмов с помощью блок-схем. Приве- дено большое количество примеров блок-схем алгоритмов и программ различной сложности. Авторы рекомендуют внимательно разобрать все примеры и выпол- нить упражнения этой главы, и только после этого приступать к изучению по- следующих глав книги. В четвёртой главе читатель на большом количестве примеров познакомится с подпрограммами. Описан механизм передачи параметров между подпрограм- мами. Один из параграфов посвящён рекурсивным подпрограммам. В заверше- нии главы рассмотрен вопрос создания личных модулей. Пятая и шестая главы посвящены изучению алгоритмов обработки массивов и матриц. Здесь же читатель познакомится и с реализацией этих алгоритмов на языке Free Pascal. Именно эти главы совместно с третьей являются ключом к пониманию принципов программирования. Седьмая глава знакомит читателя с обработкой файлов на языке Free Pas- cal под управлением ОС Linux и Windows. На практических примерах изложен механизм прямого и последовательного доступа к файлам и обработки ошибок ввода-вывода. Описана работа с бестиповыми и текстовыми файлами. Восьмая глава посвящена обработке строк и записей. Приведённые примеры позволят читателю разобраться с принципами обработки таблиц в языке Free Pascal. В девятой главе авторы описали принципы объектно-ориентированного про- граммирования и их реализацию в языке Free Pascal. В десятой главе рассмотрены графические возможности Lazarus, изложено подробное описание алгоритма построения графиков непрерывных функций на экране дисплея. Приведены тексты программ изображения графиков функций с подробными комментариями. К каждой теме прилагаются 25 вариантов задач для самостоятельного реше- ния, что позволит использовать книгу не только начинающим самостоятельно изучать программирование, но и преподавателям в учебном процессе. С рабочими материалами книги можно познакомиться на сайте Евгения Ро- стиславовича Алексеева — http://www.teacher.dn-ua.com. Авторы благодарят компанию ALT Linux и лично Кирилла Маслинского за возможность издать эту книгу. Авторы выражают благодарность своим родным за помощь и понимание. Алексеев Е. Р., Чеснокова О. В., Кучер Т. В. Донецк, январь 2009 г. Глава 1 Средства разработки программ на языке Free Pascal В этой главе мы начинаем знакомство с программированием на языке Free Pascal. Язык программирования Free Pascal ведёт своё начало от классического языка Pascal, который был разработан в конце 60-х годов XX века Никлаусом Виртом. Н. Вирт разрабатывал этот язык как учебный язык для своих студен- тов. С тех пор Pascal, сохранив простоту и структуру языка, разработанного Н. Виртом, превратился в мощное средство программирования. С помощью со- временного языка Pascal можно производить простые расчёты, разрабатывать программы для проведения сложных инженерных и экономических вычислений. 1.1 Процесс разработки программы Разработку программы можно разбить на следующие этапы: 1) Составление алгоритма решения задачи. Алгоритм — это описание после- довательности действий, которые необходимо выполнить для решения по- ставленной задачи. 2) Написание текста программы. Текст программы пишут на каком-либо язы- ке программирования (например на Free Pascal) и вводят его в компьютер с помощью текстового редактора. 3) Отладка программы. Отладка программы —это процесс устранения оши- бок из текста программы. Все ошибки делятся на синтаксические и логи- ческие. При наличии синтаксических ошибок (ошибок в написании опера- торов) программа не запускается. Подобные ошибки исправляются проще всего. Логические ошибки— это ошибки, при которых программа работает, но неправильно. В этом случае программа выдаёт не те результаты, кото- рые ожидает разработчик или пользователь. Логические ошибки исправить сложнее, чем синтаксические, иногда для этого придётся переписывать от- дельные участки программы, а иногда и перерабатывать весь алгоритм. 4) Тестирование программы. Тестирование программы — процесс выявления ошибок в работе программы. Процессы отладки и тестирования сопровождаются неоднократным запуском программы на выполнение. Процесс запуска программы может быть осуществлён только после того, как введённая в компьютер программа на алгоритмическом языке Pascal 1 будет переведена в двоичный машинный код и создан исполняемый файл. Процесс перевода текста программы в машинный код называют трансля- цией. Все трансляторы делятся на два класса: • интерпретаторы — трансляторы, которые переводят каждый оператор программы в машинный код, и по мере перевода операторы выполняются процессором; • компиляторы переводят всю программу целиком, и если перевод всей про- граммы прошёл без ошибок, то полученный двоичный код можно запускать на выполнение. Если в качестве транслятора выступает компилятор, то процесс перевода тек- ста программы в машинный код называют компиляцией. При переводе програм- мы с языка Pascal в машинный код используются именно компиляторы 2 . Рассмотрим основные этапы обработки компилятором программы на языке Pascal. 1) Компилятор анализирует, какие внешние библиотеки 3 нужно подключить, разбирает текст программы на составляющие элементы, проверяет син- таксические ошибки и в случае их отсутствия формирует объектный код (в Windows — файл с расширением .obj, в Linux — файл с расширением .o). Получаемый на этом этапе двоичный файл (объектный код) не включает в себя объектные коды подключаемых библиотек. 2) На втором этапе компоновщик подключает к объектному коду програм- мы объектные коды библиотек и генерирует исполняемый код программы. Этот этап называется компоновкой или сборкой программы. Полученный на этом этапе исполняемый код программы можно запускать на выполнение. На сегодняшний день существует множество компиляторов языка Pascal, сре- ди которых можно выделить Borland Pascal, Delphi, а также свободно распро- страняемый кроссплатформенный компилятор языка Free Pascal и среду визу- ального программирования Lazarus. 1.2 Среда программирования Free Pascal Рассмотрим процесс установки компилятора Free Pascal в ОС Linux. Для установки программ в операционной системе Linux служит менеджер пакетов. В разных дистрибутивах Linux используются различные менеджеры 1 Как и на любом другом языке. 2 Вместо термина «компилятор» в литературе иногда используют термин «транслятор ком- пилирующего типа». 3 В библиотеках языка Pascal хранится объектный (двоичный) код стандартных (таких, как sin(x), cos(x) и др.) функций и процедур языка. Рис. 1.1. Менеджер пакетов Synaptic пакетов, например, в ALT Linux можно воспользоваться программой Synaptic. Окно Synaptic представлено на рис. 1.1. В школьной линейке дистрибутивов ALT Linux Free Pascal и Lazarus присутствуют сразу после установки операционной системы. Обратите внимание, что для установки программ необходимо установить спи- сок источников программ (список репозиториев 4 ). Для установки Free Pascal в окне Synaptic (см. рис. 1.1) необходимо щёлкнуть по кнопке Найти и в открывшемся окне ввести fpc (см. рис. 1.2). Менеджер программ находит программу FreePascal, после чего в окне Synaptic необходи- мо отметить программы fpc (Free Pascal Compiler Meta Package) для установки (с помощью контекстного меню или с помощью кнопки Отметить для обновле- ния) и начать установку, щёлкнув по кнопке Применить. После этого начнётся процесс загрузки пакетов из Интернета и их установки.