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

Основы алгоритмизации и программирования (среда PascalABC.Net)

Покупка
Основная коллекция
Артикул: 636941.06.01
Доступ онлайн
от 472 ₽
В корзину
Учебное пособие направлено на изучение общепрофессиональной дисциплины «Основы алгоритмизации и программирования» и может служить для самостоятельного обучения основам программирования и начального изучения языка Pascal. В данном пособии дисциплина изучается с помощью языка Pascal на базе приложения PascalABC.NET. Пособие рассматривает основные положения языка Pascal, разнообразные приемы программирования, начиная с простейших программ. Книга составлена с позиции изложения учебного материала таким образом, чтобы обучающиеся могли поэтапно видеть возможности языка Pascal, его практического применения, а также рассмотрения тонких мест составления конструкций программ. Книга содержит 104 примера, программы составления к ним подробно рассмотрены в тексте. Каждый пример сопровождается поясняющим рисунком результата работы программы. Каждая глава содержит блок самостоятельной работы и проверочных контрольных работ. Учебное пособие написано в соответствии с требованиями Федерального государственного образовательного стандарта среднего профессионального образования последнего поколения по специальности 09.02.04 «Информационные системы (по отраслям)». Также может быть использовано при изучении общепрофессиональной дисциплины «Основы программирования» по специальности 09.02.03 «Программирование в компьютерных системах».
Фризен, И. Г. Основы алгоритмизации и программирования (среда PascalABC.NET) : учебное пособие / И.Г. Фризен. — Москва : ФОРУМ : ИНФРА-М, 2023. — 392 с. — (Среднее профессиональное образование). - ISBN 978-5-00091-005-4. - Текст : электронный. - URL: https://znanium.com/catalog/product/1902735 (дата обращения: 03.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ОСНОВЫ 

АЛГОРИТМИЗАЦИИ 

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

(СРЕДА PascalABC.NET)

И.Г. ФРИЗЕН 

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

Москва                                        2023

ИНФРА-М

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

по специальностям 09.02.04 «Информационные системы (по отраслям)»

09.02.03 «Программирование в компьютерных системах»


УДК 004.42(075.32)
ББК 32.973-018.1я723
 
Ф88

Фризен И.Г.

Ф88  
Основы алгоритмизации и программирования (среда PascalABC.

NET) : учебное пособие / И.Г. Фризен. — Москва : ФОРУМ : ИНФРА-М, 
2023. — 392 с. — (Среднее профессиональное образование).

ISBN 978-5-00091-005-4 (ФОРУМ)
ISBN 978-5-16-012232-8 (ИНФРА-М, print)
ISBN 978-5-16-105049-1 (ИНФРА-М, online)
Учебное пособие направлено на изучение общепрофессиональной  

дисциплины «Основы алгоритмизации и программирования» и может 
служить для самостоятельного обучения основам программирования 
и начального изучения языка Pascal. В данном пособии дисциплина изучается 
с помощью языка Pascal на базе приложения PascalABC.NET. Пособие 
рассматривает основные положения языка Pascal, разнообразные 
приемы программирования, начиная с простейших программ. Книга со-
ставлена с позиции изложения учебного материала таким образом, чтобы 
обучающиеся могли поэтапно видеть возможности языка Pascal, его прак-
тического применения, а также рассмотрения тонких мест составления 
конструкций программ.

Книга содержит 104 примера, программы составления к ним подробно 

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

Учебное пособие написано в соответствии с требованиями Федераль-

ного государственного образовательного стандарта среднего профессио-
нального образования последнего поколения по специальности 09.02.04 
«Информационные системы (по отраслям)». Также может быть использо-
вано при изучении общепрофессиональной дисциплины «Основы прог-
раммирования» по специальности 09.02.03 «Программирование в ком-
пьютерных системах».

УДК 004.42(075.32)

ББК 32.973-018.1я723

А в т о р:

Ирина Григорьевна Фризен, кандидат педагогических наук, препо-

даватель Московского автомобильно-дорожного колледжа имени 
А.А. Николаева, руководитель структурного подразделения ДПО

ISBN 978-5-00091-005-4 (ФОРУМ)
ISBN 978-5-16-012232-8 (ИНФРА-М, print)
ISBN 978-5-16-105049-1 (ИНФРА-М, online)

© Фризен И.Г., 2016
© ФОРУМ, 2016

ВВЕДЕНИЕ

Несмотря на интенсивное развитие ЭВМ, разработка дружест-
венных интерфейсов и развитых инструментальных программных 
средств, облегчающих общение с ними, до сих пор остается непро-
стым делом при решении прикладных задач в любых областях чело-
веческой деятельности. По-прежнему решение ряда задач требует 
изучения не только основных математических понятий, но и не-
которых специальных разделов математики, основ программиро-
вания, а также хотя бы двух, а то и трех языков программирования 
для правильного составления программ.
К настоящему времени разработано несколько сотен, а с учетом 
модификаций — более тысячи языков программирования, каждый 
из которых является предпочтительным для решения конкретного 
класса задач. Специалисты в области информационных технологий 
при разработке и эксплуатации алгоритмов и программ решения 
задач в автоматизированных комплексах, при решении учебных 
и практических задач должны уметь ориентироваться в существующих 
и перспективных средствах написания программ и обоснованно 
производить выбор наиболее предпочтительного языка 
программирования для своих целей.
До середины, а может и конца 1980-х гг., понятие «программирование» 
было аналогом понятия «компьютерная грамотность». 
В настоящее время программирование все больше становится занятием 
для профессионалов, а под компьютерной грамотностью 
понимают в первую очередь навык использования многообразных 
средств информационных технологий. 
Решая ту или иную информационную задачу, конкурентоспособному 
специалисту  в области информационных технологий необходимо 
выбрать адекватное программное средство (электронные 
таблицы, СУБД, математические пакеты и т.п.), и только в том 
случае, когда подобные средства не дают возможности решить задачу, 
следует прибегать к универсальным языкам программирования.
Современное программирование — быстро развивающаяся наука. 
Принято различать программистов двух категорий: прикладных 
и системных. Системные программисты — это разработчики базовых 
программных средств ЭВМ (ОС, трансляторов, сервисных 
программ и т.п.), они являются профессионалами высочайшего 
уровня. Прикладные программисты решают более узкую задачу, 
но профессионализм их также должен быть достаточно высок. 

Согласно ФГОС специальности 09.02.04 «Информационные 
системы (по отраслям)» в результате изучения обязательной части 
профессионального цикла обучающийся по общепрофессио-
нальной дисциплине «Основы алгоритмизации и программиро-
вания» должен:
знать:
 
• общие принципы построения алгоритмов, основные алгоритми-
ческие конструкции;
 
• понятие системы программирования;
 
• основные элементы процедурного языка программирования, 
структуру программы, операторы и операции, управляющие 
структуры, структуры данных, файлы, кассы памяти;
 
• подпрограммы, составление библиотек программ;
 
• объектно-ориентированную модель программирования, по-
нятие классов и объектов, их свойств и методов;
уметь:
 
• использовать языки программирования, строить логически пра-
вильные и эффективные программы.
Задачи, которые следует ставить при первоначальном изучении 
программирования, — освоение основ методологии программиро-
вания. Для указанной цели наиболее подходящим является язык 
Pasсal.
Программирование — наука, неразрывно связанная с прак-
тикой. Невозможно научиться программировать, не составив и не 
отладив ни одной программы в той или иной оболочке программи-
рования. Именно навык работы в языковой среде дает возможность 
будущему специалисту получить необходимый навык работы в язы-
ковой среде, проходя все этапы создания программы — от идеи 
и алгоритма решения поставленной задачи до полного успешного 
ее завершения (создания программы или приложения). 
Для изучения  языка Pascal предлагается  использовать компи-
лятор PascalABC.NET. 
Учебное пособие содержит 104 примера, программы составления 
к ним подробно рассмотрены в тексте. Каждый пример сопровож-
дается поясняющим рисунком результата работы программы.
Каждая тема содержит блок самостоятельной работы и прове-
рочных контрольных работ.
Данное учебно-методическое пособие также может быть ис-
пользовано при изучении общепрофессиональной дисциплины 
«Основы программирования» для специальности 09.02.03 «Про-
граммирование в компьютерных системах». 

Тема 1
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ

1.1. СТАНОВЛЕНИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Становление (возникновение) языков программирования можно 
начать с революционных идей Ч. Бэббиджа, приведших к созданию 
автоматических цифровых вычислительных машин, и высказанных 
им еще в 20-х гг. XIX в. следующих принципов для вычислительной 
техники (впоследствии ставших фундаментальными).
1. Автоматическое выполнение операций, т.е. без остановок, 
требующих участия человека.
2. Программа должна вводиться в исполнительное устройство со 
скоростью, соизмеримой со скоростью выполнения операций. 
3. Для записи программы можно использовать перфокарты.
Технически это не имеет ничего общего с современными при-
емами хранения программ в ЭВМ, но принцип здесь, по существу, 
один. Им же было предложено создание специального устройства 
хранения данных (памяти). С этого момента начинается история 
программирования.
Первым в мире программистом по праву называют Аду Лавлейс. 
Она была современницей Бэббиджа и сумела по достоинству оце-
нить его цифровую, а главное, разрабатываемую аналитическую 
машину. 
Лавлейс разработала некоторые чертежи для машины Бэббиджа 
и исследовала вопросы, связанные с применением в ней двоичной 
системы счисления; при этом она высказала ряд идей, получивших 
широкое применение только в настоящее время. Эти идеи были 
напечатаны в «Примечаниях» (комментарии к статье Менабреа, 
в которой рассматривались революционные идеи создания аналитической 
машины Бэббиджа). Именно эти примечания и являются 
самой важной работой 27-летней Ады Лавлейс.
То, что и Бэббидж, и Ада прекрасно понимали, что именно они 
создали, доказывает довольно подробный разбор теоретических 
возможностей машины. Это дало основание отцу современной 
информатики А. Тьюрингу ввести в своей знаменитой брошюре 
«А может ли машина мыслить?» (1956) целый раздел под названием 
«Возражения леди Лавлейс».
На этом заканчивается история программирования XIX в. и наступает 
век ХХ. А начинается он с момента создания системы 

кодирования машинных команд с помощью специальных символов, 
предложенной сотрудником Пенсильванского университета 
Джоном Моучли. Далее к его работе присоединилась Грейс 
Мюррей Хоппер.
На заре компьютерной эры машинный код был единственным 
средством общения человека с компьютером. Поэтому огромным 
достижением создателей языков программирования было то, что 
они сумели заставить сам компьютер работать переводчиком с этих 
языков на машинный код. 
Процессор компьютера непосредственно понимает язык машинных 
команд. Писать программу на языке машинных команд — 
дело непростое, так как необходимо знать числовые (в первых машинах 
двоичные, а затем шестнадцатеричные) коды всех команд 
и самому распределять память под команды и данные.
Моучли и Хоппер были именно такими программистами и использовали 
первые средства автоматизации программирования — 
языки Автокоды, которые впоследствии стали называться Ассемблерами.

Языки типа Ассемблер являются машинно-ориентированными, 
т.е. они настроены на структуру машинных команд конкретного 
компьютера. Разные компьютеры с разными типами процессоров 
имеют разный Ассемблер. Но и это был прогресс. В Ассемблере 
переменные величины стали изображаться символическими именами, 
а числовые коды операций заменились на мнемонические 
(словесные) обозначения. Язык программирования стал понятнее 
для человека. 
В конце 1940-х гг., до прихода Грейс Мюррей Хоппер в фирму 
Джона Моучли, последний создал систему под названием Short 
Code, которая являлась примитивным языком программирования 
высокого уровня. В ней программист записывал решае мую задачу 
в виде математических формул, а затем, используя специальную 
табли цу, переводил символ за символом, преобразовывал эти фор-
мулы в двухлитерные коды. В дальнейшем специальная программа 
компьютера превращала эти коды в двоичный машинный код. 
Система, разработанная Джоном Моучли, была по существу одним 
из первых примитивных интерпретаторов.
Первыми «инструментами», которые экономили труд програм-
мистов, стали подпрограммы. В августе 1944 г. для релейной ма-
шины «Марк I» под руководством Грейс Хоппер была написана 
первая подпрограмма для вычисления sin(x).
В 50-е гг. прошлого века группа под руководством Г. Хоппер 
приступила к разработке нового языка и компилятора В-0. Новый 

язык позволил бы программировать на языке, близком к обычному 
английскому. 
При создании нового языка программирования Грейс Хоппер 
использовала революционный по тем временам подход. Для начала 
было отобрано около 30 английских легко запоминающихся слов 
типа: add (сложить), compare (сравнить), transfer (переслать). Слова 
были отобраны непростые — каждое из них содержит неповто-
римую комбинацию из первой и третьей букв, поэтому компилятор 
при генерации машинного кода мог игнорировать все остальные 
буквы в слове. В дальнейшем этот принцип стал использоваться 
при создании прочих языков программирования.
Итак, мы перешли к истории создания языков программиро-
вания, которые были независимо машинно-ориентированными 
(в дальнейшем их стали называть языками программирования вы-
сокого уровня).
В 1951 г. Грейс Хоппер создала первый в мире компилятор, и ею 
же был введен сам этот термин. Компилятор Хоппер осуществлял 
функцию объединения команд и в ходе трансляции производил 
организацию подпрограмм, выделение памяти ком пьютера, пре-
образование команд высокого уровня (в то время псевдокодов) 
в машинные команды. 
В 1954 г. группа под руководством Грейс Хоппер разработала 
систему, включающую язык программирования и компилятор, ко-
торая в дальнейшем получила название MATH-MATIC. 
Середина 1950-х гг. характеризуется стремительным прогрессом 
в области про граммирования. Роль программирования в ма-
шинных командах стала уменьшать ся. Начали появляться языки 
программирования нового типа, выступающие в роли посредника 
между машинами и программистами. Первым и одним из наи-
более распространенных был Фортран (FORTRAN, от FORmula 
TRANslator — перево дчик формул), разработанный группой про-
граммистов фирмы IBM в 1954 г. (первая версия). Как видно из на-
звания, первоначально язык создавался с целью использования при 
математических расчетах. 
В 1956 г. было завершено создание «необычного» языка и ком-
пилятора. Он получил название В-0, а с 1958 г. система В-0 по-
ступила на рынок под коммерческим названием FLOW-MATIC. 
В отличие от языка Фортран, ориентированного на разработку на-
учных приложений, FLOW-MATIC был первым языком для задач 
обработки коммерческих данных.
В 1959 г. началась работа по созданию еще более совершенного, 
аппаратно-независимого языка для коммерческих приложений, 

которая успешно завершилась в 1961 г. созданием языка COBOL 
(Common Business Oriented Language — универсальный язык, ориен-
тированный на задачи бизнеса). Одним из основных консультантов 
при создании языка была конечно же Грейс Мюррей Хоппер, по-
лучившая с тех пор забавное прозвище «бабушка Кобола». Кстати, 
COBOL до сих пор используется во многих финансовых приложе-
ниях.
Однако языков программирования было все еще мало. 
В конце 1950-х гг. плодом международного сотрудничества в об-
ласти програм мирования явился Алгол (ALGOL, от ALGOrithmic 
Language — алгоритмический язык). Алгол предназначен для за-
писи алгоритмов, которые строятся в виде после довательности 
процедур, применяемых для решения поставленных задач. Первая 
версия языка была представлена в Цюрихе в 1958 г. и называ-
лась Алгол 58. Позднее, в 1960 г., в Париже был принят стандарт 
Алгол 60, который и стал основным на долгие годы; и хотя не-
сколько раз вносились новые поправки и дополнения, это название 
оставалось неизменным до 1968 г. 
В нашей стране в те годы был создан под руководством Сергея 
Петровича Ер шова транслятор «Альфа», который представлял до-
вольно удачную русифицирован ную версию Алгола. Впоследствии 
академик Ершов сыграл важнейшую роль в становлении в СССР 
школьной информатики.
В середине 1960-х гг. сотрудники математического факуль-
тета Дартмутского колледжа Томас Курц и Джон Кемени создали 
специализированный язык програм мирования, который состоял 
из простых слов английского языка. Новый язык назвали универ-
сальным символическим кодом для начинающих (Beginners All-
Purpose Symbolic Instruction Code, или сокращенно BASIC). Годом 
рождения нового языка можно считать 1964 г. Сегодня универ-
сальный язык Бейсик (имеющий множество версий) приобрел 
большую популярность и получил широкое распро странение 
среди пользователей ЭВМ различных категорий во всем мире. 
В значи тельной мере этому способствовало то, что Бейсик на-
чали использовать как встро енный язык персональных ком-
пьютеров, широкое распространение которых началось в конце 
1970-х гг.
Но это было только начало. Долгое время BASIC не имел ком-
пилятора или интерпретатора, которые бы позволяли создавать 
полноценные исполняемые exe-файлы. И лишь в конце 1975 г. был 
создан первый его интерпретатор. Он был создан двумя програм-
мистами-любителями — Диком Уипплом и Джоном Арнольдом. 

В том же 1975 г. фирма Micro Instrumentation and Telemetry Systems 
выпустила свою версию языка BASIC. Ее создатели — никому 
не известные программист фирмы Honeywell и студент младших 
курсов Гарвардского университета Пол Аллен, а также его друг 
Билл Гейтс.
Microsoft до сих пор продвигает своего первенца — теперь это 
уже хорошо разросшийся Visual Basic — целый пакет визуального 
программирования, который вряд ли кто-нибудь обвинит в «объ-
ектной неориентированности», и его аналог для программирования 
в Интернете — VBScript. Несмотря на практически полностью из-
мененный интерфейс, этот язык и сейчас остается простым в из-
учении и отлично подходит для написания небольших, нетребова-
тельных к ресурсам программ1.
В начале 1960-х гг. все существующие языки программирования 
высокого уровня можно было пересчитать по пальцам, однако впо-
следствии их число достиг ло трех тысяч. Тогда были предприняты 
попытки преодолеть эту «разноголосицу» путем создания универ-
сального языка программирования. Пер вым детищем этого направ-
ления стал PL/I (Programming Language One) (1967). Он совмещал 
особенности трех лидеров данного сектора рынка — Фортрана, 
Кобола и Алгола. Однако разработчики далеко не всегда брали 
от его «родителей» все самое лучшее, в результате язык получился 
перегруженным возможностями и концепциями. Затем на эту роль 
претендовал Алгол 68 (1968). Предполагалось, что подобные языки 
будут развиваться и усовершенствоваться и вытеснят все остальные. 
Однако ни одна из этих попыток на сегодняшний день не увенча-
лась успехом. Всеохватность языка приводила к неоправданной, 
с точки зрения программиста, сложности конструк ций, неэффек-
тивности компиляторов. 
Развитие идеи Алгола о структуризации разработки алгоритмов 
нашло наи высшее отражение при создании в начале 1970-х гг. 
языка Паскаль швейцарским ученым Никлаусом Виртом. Язык 
Паскаль первоначально разрабатывался как учебный, и действи-
тельно, сейчас он является одним из основных языков обуче ния 
программированию в школах и вузах. Однако качества его в со-
вокупности оказались столь высокими, что им охотно пользуются 
и профессиональные про граммисты. 
Однако Вирт не остановился на достигнутом, и немного позднее 
появились Ада и Оберон, которые позволяли использовать типы 

1 
По материалам статьи Антона Карабешкина «История развития  языков 
программирования».

и объекты, что уже давало кардинально новые возможности для 
разработчиков.
Язык Ада был создан фактически по заказу Министерства обо-
роны США и, соответственно, при его активной поддержке. Пе-
риод с конца 1960-х до начала 1980-х гг. характеризуется бурным 
ростом числа различных языков программирования, сопровож-
давшим, как это ни парадок сально, кризис программного обес-
печения. Этот кризис особо остро переживало военное ведомство 
США. В январе 1975 г. Пентагон решил навести порядок в хаосе 
трансляторов и учредил комитет, которому было предписано раз-
работать один универсальный язык. На конкурсной основе комитет 
проработал сотни проектов и, когда стало ясно, что ни один из су-
ществующих языков не может их удовлетворить, принял два про-
екта для окончательного рассмотрения. В мае 1979 г. был объявлен 
победитель — группа ученых во главе с Жаном Ихбиа. Победивший 
язык окрестили АDА, в честь Огасты Ады Лавлейс, дочери англий-
ского поэта Джорджа Байрона. Окончательная версия специфи-
каций языка Ада появилась в феврале 1983 г., она и стала основной. 
Язык Ада — прямой наследник языка Паскаль. Это современный 
алгоритмический язык с традиционной структурой управления, 
возможностями определения типов и подпрограмм. Удовлетворяет 
язык и требованиям модульности. 
Последующее развитие языка Паскаль привело к появлению 
таких библиотек, как Turbo Vision, а также языка Object Pascal, который 
впоследствии стал основой для создания Delphi.
Большой отпечаток на современное программирование наложил 
язык Си (первая версия — 1972 г.), являющийся очень популярным 
в среде разработчиков систем программного обеспечения (включая 
операционные системы). Изначально он создавался как инструментальное 
средство для реализации операционной системы UNIX 
на ЭВМ фирмы DEC, но популярность его быстро переросла рамки 
конкретной машины, операционной системы и задач системного 
программирования. И сейчас язык Си можно по праву назвать 
одним из универсальных языков программирования. Он сочетает 
в себе черты как языка высокого уровня, так и машинно-ориентированного 
языка, допуская программиста ко всем машинным ресурсам, 
чего не обеспечивают такие языки, как Бейсик и Pascal.
Языки программирования служат разным целям, и их выбор 
определяется удобством пользователя, пригодностью для данного 
компьютера и данной задачи. А задачи для компьютера бывают 
самые разнообразные: вычислительные, эконо мические, графические, 
экспертные и т.д. Такая разнотипность решаемых компью-

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