Основы алгоритмизации и программирования в среде LAZARUS
Покупка
Основная коллекция
Тематика:
Программирование и алгоритмизация
Издательство:
Издательство ФОРУМ
Автор:
Гуриков Сергей Ростиславович
Год издания: 2019
Кол-во страниц: 336
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-00091-137-2
ISBN-онлайн: 978-5-16-103532-0
Артикул: 438500.05.01
К покупке доступен более свежий выпуск
Перейти
Учебное пособие является руководством по программированию на языке Free Pascal в среде программирования Lazarus и содержит описание такого традиционного материала, как работа линейных, разветвляющихся и циклических структур, обработка одномерных и двумерных массивов, строк, программирование на основе функций и процедур.
Рассматриваются типы данных, используемые в языке Free Pascal, сделан обзор основных элементов управления среды программирования Lazarus, большое внимание уделено методам ввода и вывода данных. Приведены примеры создания тестовых вопросов с различными элементами управления, приложений, использующих работу с графикой.
В конце каждой главы имеется набор контрольных вопросов и упражнений, задач для самостоятельного решения. Изучение теоретического материала, анализ более 150 листингов программ, приведенных в учебном пособии, позволят школьникам подготовиться к сдаче единого государственного экзамена по дисциплине «Информатика», а студентам — выполнить практические или лабораторные работы по дисциплинам, связанным с изучением программирования.
Учебное пособие предназначено для школьников, студентов и преподавателей, а также для всех, кто самостоятельно изучает программирование в среде Lazarus.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
- 10.03.01: Информационная безопасность
- 27.03.04: Управление в технических системах
- ВО - Магистратура
- 09.04.02: Информационные системы и технологии
- ВО - Специалитет
- 09.05.01: Применение и эксплуатация автоматизированных систем специального назначения
- 10.05.01: Компьютерная безопасность
- 10.05.02: Информационная безопасность телекоммуникационных систем
- 10.05.03: Информационная безопасность автоматизированных систем
- 10.05.04: Информационно-аналитические системы безопасности
- 10.05.05: Безопасность информационых технологий в правоохранительной сфере
- 10.05.07: Противодействие техническим разведкам
ГРНТИ:
Скопировать запись
Основы алгоритмизации и программирования в среде LAZARUS, 2023, 438500.08.01
Основы алгоритмизации и программирования в среде LAZARUS, 2022, 438500.07.01
Программирование в среде Lazarus для школьников и студентов, 2017, 438500.02.01
Программирование в среде Lazarus для школьников и студентов, 2016, 438500.01.01
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ В СРЕДЕ 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
К покупке доступен более свежий выпуск
Перейти