Самоучитель По Программированию На Free Pascal И Lazarus
Total Page:16
File Type:pdf, Size:1020Kb
КОМПЬЮТЕРНЫЕ НАУКИ И ТЕХНОЛОГИИ Министерство образования и науки Украины Донецкий национальный технический университет Центр компетентности в области компьютерных наук и технологий Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus УНИТЕХ ДОНЕЦК 2009 УДК 004.43 ISBN 978-966-8248-26-9 Рецензенты: Аноприенко А.Я. — кандидат технических наук, про- фессор, декан факультета компьютерных наук и тех- нологий Донецкого национального технического университета. Кононов Ю.Н. — доктор физико-математических наук, профессор кафедры прикладной механики и компьютерных технологий Донецкого национального университета. Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель А 47 по программированию на Free Pascal и Lazarus. - Донецк.: ДонНТУ, Технопарк ДонНТУ УНИТЕХ, 2009. - 503 с. Печатается по решению Ученого совета факультета компьютерных наук и технологий Донецкого национального технического университета, протокол №7 от 30 октября 2009 г. Ответственный за выпуск: заведующий кафедрой вычислительной математики и про- граммирования Донецкого национального технического университета, доктор технических наук, профессор Павлыш В.Н. Книга является учебником по алгоритмизации и программированию. В учебнике описан язык Free Pascal и среда визуального программирования Lazarus. Free Pascal и Lazarus яв- ляются мощными и свободно распространяемыми средствами программирования. В книге приведено большое количество примеров алгоритмов и программ. Особое внимание уделено работе с визуальными компонентами, их свойствами и методами. Подробно описаны такие этапы программирования как работа с подпрограммами и файлами. Также в книге можно по- знакомиться с основами объектно-ориентированного программирования и графическими средствами Lazarus. Книга содержит 25 вариантов заданий для самостоятельного решения по всем рассматриваемым темам. Издание предназначено для школьников, студентов, аспирантов и преподавателей, а также для всех, кто изучает программирование на Free Pascal и Lazarus. Материалы, составляющие данную книгу, распространяются на условиях лицензии GNU FDL. ISBN 978-966-8248-26-9 ООО «Технопарк ДонНТУ УНИТЕХ» Алексеев Е.Р., Чеснокова О.В., Кучер Т.В., 2009 Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus 3 Содержание Введение......................................................................................................7 Сведения об авторах.................................................................................10 1 Средства разработки программ на языке Free Pascal........................11 1.1 Процесс разработки программы...................................................11 1.2 Среда программирования Free Pascal..........................................13 1.2.1 Работа в текстовом редакторе Free Pascal.............................17 1.2.2 Запуск программы в среде Free Pascal и просмотр результа- тов.......................................................................................................18 1.3 Текстовый редактор Geany............................................................19 1.4 Среда визуального программирования Lazarus..........................20 1.4.1 Установка Lazarus в ОС Linux................................................22 1.4.2 Установка Lazarus под управлением ОС Windows...............25 1.4.3 Среда Lazarus...........................................................................28 1.4.4 Главное меню Lazarus.............................................................30 1.4.5 Окно формы.............................................................................34 1.4.6 Окно редактора Lazarus..........................................................34 1.4.7 Панель компонентов................................................................43 1.4.8 Инспектор объектов................................................................43 1.4.9 Первая программа в Lazarus...................................................44 1.4.10 Полезная программа..............................................................53 1.4.11 Консольное приложение среды Lazarus..............................59 1.4.12 Операторы ввода - вывода данных......................................61 2 Общие сведения о языке программирования Free Pascal.................64 2.1 Структура проекта Lazarus............................................................64 2.2 Структура консольного приложения............................................65 2.3 Элементы языка.............................................................................67 2.4 Данные в языке Free Pascal...........................................................68 2.4.1 Символьный тип данных........................................................69 2.4.2 Целочисленный тип данных...................................................69 2.4.3 Вещественный тип данных....................................................70 2.4.4 Тип дата-время.........................................................................70 2.4.5 Логический тип данных..........................................................71 2.4.6 Создание новых типов данных..............................................71 2.4.7 Перечислимый тип данных....................................................71 2.4.8 Интервальный тип...................................................................72 Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus 4 2.4.9 Структурированные типы.......................................................72 2.4.10 Указатели................................................................................75 2.5 Операции и выражения.................................................................76 2.5.1 Арифметические операции....................................................78 2.5.2 Операции отношения..............................................................80 2.5.3 Логические операции..............................................................80 2.5.4 Операции над указателями.....................................................81 2.6 Стандартные функции...................................................................81 2.7 Задачи для самостоятельного решения........................................94 3 Операторы управления........................................................................96 3.1 Основные конструкции алгоритма...............................................96 3.2 Оператор присваивания.................................................................97 3.3 Составной оператор.......................................................................98 3.4 Условные операторы......................................................................98 3.4.1 Условный оператор if…then…else.........................................98 3.4.2 Оператор варианта case ........................................................117 3.5 Обработка ошибок. Вывод сообщений в среде Lazarus...........121 3.6 Операторы цикла..........................................................................125 3.6.1 Оператор цикла с предусловием while .. do........................126 3.6.2 Оператор цикла с постусловием repeat … until..................127 3.6.3 Оператор цикла for … do......................................................129 3.7 Операторы передачи управления...............................................132 3.8 Решение задач с использованием циклов..................................132 3.9 Ввод данных из диалогового окна в среде Lazarus...................147 3.10 Задачи для самостоятельного решения....................................156 3.10.1 Разветвляющийся процесс..................................................156 3.10.2 Циклический процесс.........................................................161 4 Подпрограммы....................................................................................164 4.1 Общие сведения о подпрограммах. Локальные и глобальные переменные..........................................................................................164 4.2 Формальные и фактические параметры. Передача параметров в подпрограмму......................................................................................165 4.3 Процедуры....................................................................................166 4.4 Функции........................................................................................171 4.5 Решение задач с использованием подпрограмм........................176 4.6 Рекурсивные функции.................................................................198 4.7 Особенности работы с подпрограммами...................................202 4.7.1 Параметры-константы...........................................................202 Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus 5 4.7.2 Процедурные типы................................................................202 4.8 Разработка модулей......................................................................206 4.9 Задачи для самостоятельного решения......................................210 5 Использование языка Free Pascal для обработки массивов............213 5.1 Общие сведения о массивах........................................................213 5.2 Описание массивов......................................................................214 5.3 Операции над массивами............................................................216 5.4 Ввод-вывод элементов массива..................................................217 5.4.1 Организация ввода-вывода...................................................217