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

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

Покупка
Артикул: 678875.01.99
Доступ онлайн
425 ₽
В корзину
В учебном пособии раскрываются вопросы развития у обучающихся алгоритми- ческого мышления, формирования знаний о свойствах алгоритмов и приобретения практических навыков разработки программ с использованием языка программирова- ния Паскаль. Учебное пособие имеет выраженную практическую направленность в целях формирования профессиональной компетентности будущих специалистов в об- ласти принципов построения алгоритмов и методов проектирования программ. Предназначено для учащихся учреждений среднего специального образования по специальности «Программное обеспечение информационных технологий», будет так- же полезно для студентов и преподавателей вузов.
Лубашева, Т. В. Основы алгоритмизации и программирования / Лубашева Т.В. - Минск :РИПО, 2016. - 378 с.: ISBN 978-985-503-625-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/947743 (дата обращения: 10.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Т. В. Лубашева
Б. А. Железко 

ОСНОВЫ АЛГОРИТМИЗАЦИИ 

И ПРОГРАММИРОВАНИЯ

Допущено Министерством образования Республики Беларусь

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

«Программное обеспечение информационных технологий»

Минск
РИПО
2016

УДК 681.3.06(075.32)
ББК  32.973-018я723

Л82

А в т о р ы :  

ассистент кафедры экономической информатики Т. В. Лубашева

(гл. 3, 4, 6, приложения);

заведующий этой же кафедры, кандидат технических наук, доцент 

Б. А. Железко (предисловие, введение, гл. 1, 2, 5, заключение)

УО «Белорусский государственный экономический университет».

Р е ц е н з е н т ы :

цикловая комиссия «Программное обеспечение информационных технологий» 

филиала УО «Белорусский государственный университет информатики 

и радиоэлектроники» «Минский радиотехнический колледж» (С. А. Апанасевич);

доцент кафедры «Программное обеспечение информационных 

технологий» УО «Белорусский государственный университет информатики 
и радиоэлектроники», кандидат технических наук, доцент А. И. Парамонов.

Все права на данное издание защищены. Воспроизведенеие всей книги или любой ее 

части не может быть осуществлено без разрешения издательства.

Выпуск издания осуществлен при финансовой поддержке Министерства образования 

Республики Беларусь.

Лубашева, Т. В.

Л82
Основы алгоритмизации и программирования : учеб. пособие / Т. В. Лу
башева, Б. А. Железко. – Минск : РИПО, 2016. – 378 с. : ил.

ISBN 978-985-503-625-9.

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

Предназначено для учащихся учреждений среднего специального образования по 

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

УДК 681.3.06(075.32)
ББК  32.973-018я723

ISBN 978-985-503-625-9
© Лубашева Т. В., Железко Б. А., 2016
© Оформление. Республиканский институт

профессионального образования, 2016

ПРЕДИСЛОВИЕ

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

В данном учебном пособии представлен материал по алгоритмизации 

и программированию на основе языка Free Pascal. Кроме того, читатель 
познакомится с общими принципами создания визуальных приложений в 
инструментальных средах Lazarus и Delphi.

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

Вторая глава позволяет ознакомиться с основными понятиями алго
ритмизации, свойствами алгоритмов и способами их описания.

Третья и четвертая главы – ключевые в освоении алгоритмизации во
обще, и структурного программирования на примере языка Паскаль, который специально создавался Н. Виртом как язык для начального обучения программированию. При этом, когда речь идет об общих положениях 
и концепциях языка, в тексте используется термин «язык Паскаль», а когда разбираются примеры реализации конкретных алгоритмов, используется термин «язык Free Pascal».

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

на примерах широко известных сред визуального программирования 
Delphi и Lazarus, а также свободно распространяемого компилятора и среды программирования Free Pascal.

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

4

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

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

ВВЕДЕНИЕ

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

Данное учебное пособие предназначено для подготовки техников
программистов в соответствии с образовательным стандартом по специальности 2-40 01 01 «Программное обеспечение информационных технологий». В то же время в пособии учтены современные тенденции развития
данной дисциплины, что позволяет рассчитывать на сохранение актуальности материала в течение нескольких ближайших лет.

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

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

Для достижения вышеназванных целей в начале изучения алгоритми
зации и программирования должна быть решена задача формирования

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

6

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

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

Для успешного усвоения основных понятий программирования 

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

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

ГЛАВА 1. ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ 

ИНФОРМАЦИИ НА КОМПЬЮТЕРЕ

§ 1.1. ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ 

РЕШЕНИЯ ЗАДАЧИ НА ЭВМ

В общем виде решение любой задачи с использованием компьютера 

предполагает реализацию по меньшей мере следующих восьми этапов: 
1) постановка задачи; 2) формализация задачи; 3) выбор технологии программирования; 4) разработка алгоритма; 5) составление программы на 
выбранном языке программирования и ее отладка; 6) тестирование программы; 7) документирование программы, проведение расчетов; 8) использование полученных результатов.

Обычно данную последовательность действий называют технологи
ческим циклом решения задачи на ЭВМ (хотя непосредственно к программированию из них относятся четвертый и пятый этапы).

На этапе постановки задачи следует четко определить, что дано и 

что требуется найти. Важно описать полный набор исходных данных, 
необходимых для решения задачи.

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

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

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

8

циальным средствам описания алгоритмов (диаграммы, схемы алгоритмов, псевдокоды).

На пятом этапе результаты четвертого этапа переводят (вручную или 

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

Этап тестирования программы заключается в проведении серии 

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

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

На последнем этапе разработанная программа уже используется для 

решения практических задач.

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

Следует отметить, что в зависимости от ситуации один специалист 

(например, программист) может выполнять один, несколько или все этапы 
данного технологического цикла обработки информации на компьютере 
(выполнять одну или несколько функций – ролей).

Способ организации исполнения каждого этапа и взаимодействия 

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

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

Наиболее часто используют классическую (каноническую) водопад
ную (waterfall) модель, спиральную модель и модель, основанную на использовании средств быстрой разработки приложений. 

Глава 1. Технологический цикл обработки информации на компьютере

9

Первая из них предполагает тщательное планирование, скрупулезную 

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

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

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

Таким образом, разработчик программного обеспечения должен 

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

§ 1.2. ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ 

ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

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

10

Подход быстрой разработки приложений, или RAD (Rapid Appli
cation Development), – один из возможных подходов к разработке прикладного ПО в рамках спиральной модели ЖЦ.

Особенность спиральной модели ЖЦ ПО: прикладное ПО создается 

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

Подход RAD предусматривает наличие трех составляющих:
• 
небольших групп разработчиков (1–7 человек), выполняющих ра
боты по проектированию отдельных подсистем ПО;

• 
короткого, но тщательно проработанного производственного 

графика (до 3 месяцев);

• 
повторяющегося цикла, при котором разработчики по мере того, 

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

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

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

Основные принципы подхода RAD:
• 
разработка приложений итерациями;

• 
необязательность полного завершения работ на каждой стадии 

ЖЦ ПО;

• 
обязательность вовлечения пользователей в процесс разработки 

информационной системы;

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

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

• 
использование прототипирования, позволяющего полнее выяс
нить и удовлетворить потребности пользователей;

• 
тестирование и развитие проекта ПО, осуществляемые одновре
менно с разработкой;

Доступ онлайн
425 ₽
В корзину