Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы алгоритмизации и программирования в среде LAZARUS

Покупка
Основная коллекция
Артикул: 438500.05.01
К покупке доступен более свежий выпуск Перейти
Учебное пособие является руководством по программированию на языке Free Pascal в среде программирования Lazarus и содержит описание такого традиционного материала, как работа линейных, разветвляющихся и циклических структур, обработка одномерных и двумерных массивов, строк, программирование на основе функций и процедур. Рассматриваются типы данных, используемые в языке Free Pascal, сделан обзор основных элементов управления среды программирования Lazarus, большое внимание уделено методам ввода и вывода данных. Приведены примеры создания тестовых вопросов с различными элементами управления, приложений, использующих работу с графикой. В конце каждой главы имеется набор контрольных вопросов и упражнений, задач для самостоятельного решения. Изучение теоретического материала, анализ более 150 листингов программ, приведенных в учебном пособии, позволят школьникам подготовиться к сдаче единого государственного экзамена по дисциплине «Информатика», а студентам — выполнить практические или лабораторные работы по дисциплинам, связанным с изучением программирования. Учебное пособие предназначено для школьников, студентов и преподавателей, а также для всех, кто самостоятельно изучает программирование в среде Lazarus.
22
Тематика:
ББК:
УДК:
ОКСО:
ГРНТИ:
Гуриков, С. Р. Программирование в среде Lazarus для школьников и студентов : учебное пособие / С. Р. Гуриков. — Москва : ФОРУМ : ИНФРА-М, 2019. — 336 с. — (Высшее образование: Бакалавриат). - ISBN 978-5-00091-137-2. - Текст : электронный. - URL: https://znanium.com/catalog/product/1010784 (дата обращения: 26.03.2023). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ОСНОВЫ 
АЛГОРИТМИЗАЦИИ 
И ПРОГРАММИРОВАНИЯ  
В СРЕДЕ LAZARUS

С.Р. Гуриков

Рекомендовано в качестве учебного пособия
для студентов высших учебных заведений,
обучающихся по специальности
09.03.01 «Информатика и вычислительная техника»

УЧЕБНОЕ ПОСОБИЕ

Москва                                        2019

ИНФРА-М
УДК 004(075.8)
ББК 32.81я73
 
Г95

Гуриков С.Р.
Г95 
 
Основы алгоритмизации и программирования в среде LAZARUS : учеб. пособие / 
С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2019. — 336 с. — (Высшее образование: Бака-
лавриат).

ISBN 978-5-00091-137-2 (ФОРУМ)
ISBN 978-5-16-011345-6 (ИНФРА-М, print)
ISBN 978-5-16-103532-0 (ИНФРА-М, online)

Учебное пособие является руководством по программированию на языке Free Pascal в сре-
де программирования Lazarus и содержит описание такого традиционного материала, как ра-
бота линейных, разветвляющихся и циклических структур, обработка одномерных и двумер-
ных массивов, строк, программирование на основе функций и процедур.
Рассматриваются типы данных, используемые в языке Free Pascal, сделан обзор основных 
элементов управления среды программирования Lazarus, большое внимание уделено методам 
ввода и вывода данных. Приведены примеры создания тестовых вопросов с различными эле-
ментами управления, приложений, использующих работу с графикой.
В конце каждой главы имеется набор контрольных вопросов и упражнений, задач для са-
мостоятельного решения. Изучение теоретического материала, анализ более 150 листингов 
программ, приведенных в учебном пособии, позволят школьникам подготовиться к сдаче 
единого государственного экзамена по дисциплине «Информатика», а студентам — выпол-
нить практические или лабораторные работы по дисциплинам, связанным с изучением прог-
раммирования.
Учебное пособие предназначено для школьников, студентов и преподавателей, а также для 
всех, кто самостоятельно изучает программирование в среде Lazarus.

УДК 004(075.8)
ББК 32.81я73

Р е ц е н з е н т:
В.Н. Шакин — кандидат технических наук, доцент, заведующий кафедрой «Инфор-
матика», декан Общетехнического факультета Московского технического университета 
связи и информатики

ISBN 978-5-00091-137-2 (ФОРУМ)
ISBN 978-5-16-011345-6 (ИНФРА-М, print)
ISBN 978-5-16-103532-0 (ИНФРА-М, online)
© Гуриков С.Р., 2016
© ФОРУМ, 2016
Введение

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

Однако известно, что мало иметь современный персональный компьютер,

нужно также позаботиться и об установке программного обеспечения. Не секрет,
что лицензионные программы стоят немалых денег, которые не всегда есть в
бюджете того или иного учебного заведения. В частности, по этой причине ком-
пания Microsoft разработала ряд программ лицензирования программных про-
дуктов специально для учебных заведений, например, Microsoft Academic Open
License — для высших учебных заведений и учебных заведений среднего и сред-
него специального образования, а также Microsoft School Agreement — для началь-
ных и средних учебных заведений.

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

Следует отметить, что учебные заведения всех уровней могут использовать и

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

СПО имеет большой потенциал для использования в реалиях российской

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

Рынок программного обеспечения сегодня крайне изменчив и нестабилен,

но, тем не менее, он находится в непрерывном развитии, и многие технологии
обучения, в частности программированию, уже безвозвратно устарели. Ярким
примером этого является обучение в средах Turbo Pascal и QBasic. Эти две про-
граммы, активно использующиеся в настоящее время в школьных курсах, уже не
соответствуют уровню развития современных сред разработки, к тому же кон-
сольный интерфейс неудобен и зачастую препятствует адекватному восприятию
учебного материала.

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

Тем не менее, многие авторы учебных пособий по подготовке к единому го-
сударственному экзамену (ЕГЭ) по дисциплине «Информатика» продолжают
публиковать задания по разделу «Алгоритмизация и программирование» именно
на Pascal и QBasic. Стоит отметить, что такой известный автор как К.Ю. Поляков
в своем учебнике «Информатика» предпринял попытку описать основы про-
граммирования в среде Lazarus, однако несколько параграфов изложенного ма-
териала явно недостаточно для полноценного восприятия возможностей среды
быстрой разработки приложений.

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

Всем вышеперечисленным требованиям отвечает Lazarus — свободная среда

разработки программного обеспечения, практическим методам программирова-
ния в которой посвящен материал предлагаемого учебного пособия. Дистрибу-
тив программы Lazarus доступен для свободного скачивания по адресу: URL:
http://www.lazaruside.org/.

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

Пособие построено так, что непосредственно к программированию читатель

приступает с самого начала — первая программа описывается уже во второй гла-
ве (в первой главе приводятся теоретические основы алгоритмизации и програм-
мирования).

4
Введение
Во второй главе описаны различные способы ввода и вывода данных, приво-
дятся примеры организации взаимодействия нескольких форм, что актуально
при выполнении больших проектов, подробно описана окончательная настройка
приложения, а также рассказано о том, как осуществлять проверку корректности
ввода данных, разрабатывать главное и контекстное меню. Здесь же приводятся
примеры работы с различными (основными) компонентами среды программи-
рования на примере создания тестовых вопросов. Четкое понимание работы ка-
ждого компонента — залог успешного программирования приложений.

В третьей, четвертой, пятой и шестой главах подробно рассматриваются

операторы, относящиеся к трем «китам» программирования — линейному, раз-
ветвляющемуся и циклическому алгоритмам.

В седьмой и восьмой главах объясняется работа с одномерными и двумерными

массивами, рассматриваются «классические» способы их обработки.

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

Десятая глава содержит информацию о работе с файлами, умение работать с

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

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

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

Материал, изложенный в пособии, особенно будет полезен школьникам при

подготовке к ЕГЭ по дисциплине «Информатика», студентам, обучающимся на
технических специальностях техникумов, колледжей и вузов. Апробация учебно-
го пособия показала, что учащиеся, не имеющие подготовки в области програм-
мирования, не только успешно осваивают представленные в пособии приложе-
ния, но и вносят в них свои очень интересные изменения, направленные на
улучшение их работы.

Преподаватели могут оценить учебное пособие с точки зрения методики

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

Следует отметить, что учебное пособие не может претендовать на функцио-
нальную полноту или на полную оригинальность приведенных методов, алгорит-
мов и программ. Автор преследовал иную цель: привлечь внимание школьников,

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

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

6
Введение
Глава 1
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ АЛГОРИТМИЗАЦИИ
И ПРОГРАММИРОВАНИЯ

1.1. Алгоритм. Свойства алгоритма.
Способы описания алгоритма

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

Алгоритм — это точное и простое описание последовательности действий для

решения данной задачи. Алгоритм содержит несколько шагов, которые должны
выполняться в определенной последовательности. Каждый шаг алгоритма может
состоять из одной или нескольких простых операций.

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

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

1. Достать ключ.
2. Вставить ключ в замочную скважину.
3. Повернуть ключ два раза против часовой стрелки.
4. Вынуть ключ.
Представим, что мы поменяли местами второе и третье действия. Мы смо-
жем выполнить и этот алгоритм, но дверь не откроется, т. е. алгоритм станет не-
выполнимым.

Для алгоритма важен не только набор действий, но и то, в каком порядке они

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

Свойства алгоритма:
• дискретность (прерывность, раздельность) — алгоритм должен представ-
лять процесс решения задачи как последовательное выполнение простых шагов
(этапов);
• определенность — каждый шаг алгоритма должен быть четким и однознач-
ным. Выполнение алгоритма носит механический характер и не требует никаких
дополнительных сведений о решаемой задаче;

• результативность — алгоритм должен приводить к решению задачи за ко-
нечное число шагов;

• массовость — алгоритм решения разрабатывается в общем виде, т. е. он

должен быть применим для решения некоторого класса задач, различающихся
лишь исходными данными.

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

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

3. Табличный способ используется, например, в бухгалтерии при составлении

ежегодных отчетов, сводок и т. д.

4. Формульный способ находит свое применение при решении задач из об-
ласти математики, физики и т. д. Например, при решении квадратного уравне-
ния мы приступаем к нахождению дискриминанта уравнения, а затем, в зависи-
мости от полученного результата, находим корни уравнения по известным всем
формулам.

1.2. Назначение функциональных блоков

Начало и конец алгоритма
Вычислительная операция

Ввод/вывод данных
Проверка условия (логического выражения)

8
Глава 1. Теоретические основы алгоритмизации и программирования
Начало циклического алгоритма
Разрыв соединительных линий на странице

Начало процедуры
Линии потоков

Комментарий
Вывод на печать

1.3. Основные этапы решения задач
в среде программирования

Процесс решения задачи в среде программирования состоит из нескольких

этапов, часть из которых выполняется пользователем, а часть — компьютером.

1й этап. Общая постановка задачи
На этом этапе описывается содержание задачи, составляется перечень исход-
ных данных.

2й этап. Разработка математической модели
Цель этого этапа состоит в установлении формализованных связей между ис-
ходными данными и искомыми результатами. Этап заключается в записи расчет-
ных формул или функциональных зависимостей.

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

4й этап. Разработка программы
Программа составляется в полном соответствии с разработанным алгорит-
мом решения задачи.

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

1.4. Алфавит языка Free Pascal

Lazarus — Delphiсовместимая среда программирования для Free Pascal и хотя

правильнее говорить, что Free Pascal — это компилятор (программапереводчик) с
языка Pascal, в книге будет использоваться термин «язык программирования».

1.4. Алфавит языка Free Pascal
9
Изучение любого языка начинается с изучения алфавита, из букв складыва-
ются слова, из слов — предложения. Аналогично происходит процесс изучения
языка программирования. Сначала мы должны уяснить, какие символы можно
использовать для записи слов языка, из которых можно формировать определен-
ные конструкции. Итак, в алфавит языка Free Pascal входят:

1. Латинские буквы от a до z и от A до Z.
В языке Free Pascal нет различия между прописными и строчными буквами

алфавита, если только они не входят в символьные и строковые выражения.

2. Цифры от 0 до 9.
3. Специальные символы: + -
* / = , ; : [ ] ( ) { } $ # .
4. Зарезервированные (служебные) слова: For, Then, Else, Do, If и т. д.

1.5. Идентификаторы и общие правила их написания

Для того чтобы программа решения задачи обладала свойством массовости,

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

Программа на Free Pascal представляет собой последовательность инструк-
ций, которые называются операторами. Одна инструкция от другой отделяется
точкой с запятой.

Идентификатор может обозначать:
• инструкцию языка (:=, if, while, for);
• переменную;
• константу (целое или дробное число);
• арифметическую (+, , *, /) или логическую (And, Or, Not) операцию;
• подпрограмму (процедуру или функцию);
• отмечать начало (Procedure, Function) или конец (End) подпрограммы или

блока (Begin, End).

Следует учитывать, что:
• в идентификатор не могут входить пробелы, специальные символы алфавита;
• идентификатор начинается только с буквы или со знака подчеркивания;
• идентификатор может состоять из букв, цифр и знака подчеркивания;
• при написании идентификаторов можно использовать как прописные, так

и строчные буквы латинского алфавита;

• идентификатор не должен являться зарезервированным словом.
Например:

summa1
Правильно
Nomer.doma
Ошибка

2delta
Ошибка
Сумма
Ошибка

Block_35
Правильно

10
Глава 1. Теоретические основы алгоритмизации и программирования
  • document_id: 337894
  • product_id: 1010784
  • ins_time: 2018-12-28 22:31:08
  • upd_time: 2019-03-27 19:03:12
  • upp_upd_date: 2020-11-05
  • Full PDF: WARN Путь не доступен (не определен) /mnt/znanium_fullpdf/booksfull/done/1010/1010784.pdf
  • PDF pages: OK /mnt/resources/resources/1010/1010784/pdf Страниц(336), Путь /mnt/resources/resources/1010/1010784/pdf
  • XML pages: OK /mnt/resources/resources/1010/1010784/xml Страниц(336)
  • text *.idx: OK
  • Full text: OK /mnt/resources/resources/1010/1010784/txt/1010784.txt
  • Оглавления: OK Путь /mnt/resources/resources/1010/1010784/txt/1010784.toc.txt
К покупке доступен более свежий выпуск Перейти