ebook img

Turbo Pascal для школьников PDF

352 Pages·2010·3.865 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Turbo Pascal для школьников

УДК 004.438 Turbo Pascal (075) ББК 32.973.26–018.1я72 П58 Р Е Ц Е Н З Е Н Т : В.П. Грибанов, кандидат экономических наук, доцент, профессор кафедры «Математическое обеспечение и администрирование информационных систем» Московского государственного университета экономики, статистики, информатики (МЭСИ) Попов В.Б. П58 Turbo Pascal для школьников: учебно-методическое пособие / В.Б. По- пов. – М.: Финансы и статистика; ИНФРА-М, 2010. – 352 с.:ил. ISBN 978-5-279-03466-6 (Финансы и статистика) ISBN 978-5-16-004257-2 (ИНФРА-М) Пособие представляет собой курс по изучению популярного языка программирования Pascal. В нем последовательно излагаются основные принципы структурного программирования в интегрированной среде про- граммирования Turbo Pascal. Учебный материал разделен на десять глав. Изложение материала ведется на основе примеров рабочих программ. Для проверки усвоения теоретического материала в конце каждой главы имеют- ся контрольные вопросы. Выполнение заданий по разработке приложений поможет сформировать прочные навыки программирования. Для учащихся общеобразовательных, высших и средних учебных за- ведений, может быть использовано для самообразования. 2404000000 - 006 УДК 004.438 Turbo Pascal (075) П без объявл. 0 1 0 ( 0 1 ) - 2 0 1 0 ББК 32.973.26–018.1я72 ISBN 978-5-279-03466-6 © Попов В.Б., 2010 ISBN 978-5-16-004257-2 © Издательство «Финансы и статистика», 2010 ПРЕДИСЛОВИЕ Уважаемый читатель, эта книга представляет собой курс по изучению одно- го из популярных языков программирования – Pascal. В ней последовательно излагаются основные принципы структурного программирования, языка про- граммирования Pascal, объектно-ориентированного программирования, при этом большое внимание уделяется использованию при разработке программ интегрированной среды программирования Turbo Pascal. Во введении рассматриваются эволюция и направления развития языков программирования, интегрированная среда программирования. Из главы 1 вы узнаете, что такое компьютерная программа, каково назна- чение языков программирования, а также научитесь использовать интегриро- ванную среду программирования Turbo Pascal для редактировния, компиляции и отладки программы. В главе 2 вы познакомитесь с алфавитом и словарем языка Pascal, методами описания синтаксических конструкций языка программирования, структурой Pascal-программы. В главе 3 вы получите сведения о типах данных в языке Pascal, узнаете, как правильно записывать различные выражения, организовывать ввод данных и вывод результатов работы. Познакомившись с главой 4, вы научитесь использовать операторы языка Pascal для записи линейных, разветвляющихся и циклических алгоритмов, а также узнаете порядок тестирования и отладки программ. Материал главы 5 посвящен изучению структурного подхода к разработке алгоритмов и программ. Изучив эту главу, вы научитесь практически исполь- зовать процедуры и функции языка Pascal. В главах 6–9 вы познакомитесь с описанием структурированных типов данных: строк, массивов, множеств, записей, файлов и научитесь практически использовать процедуры и функции их обработки. В главе 10 описываются динамические структуры данных, средства их обработки, вы научитесь рационально использовать память компьютера, ис- пользуя динамические переменные. В конце книги дается словарь терминов. Материалы, представленные в приложении, познакомят вас c меню интегрированной среды программирова- ния Турбо Pascal 7.0. Материал каждой главы содержит большое количество подробно разобран- ных примеров программ. Все приведенные примеры программ можно найти в Интернете по адресу: http://www.vb-popov.narod.ru. Несколько слов о том, как пользоваться этой книгой. Каждая глава книги является самостоятельным разделом, поэтому при изу- чении учебного материала возможны различные подходы. Начинающим про- 4 Предисловие граммистам рекомендуем внимательно изучить теоретический материал и затем перейти к последовательному изучению остальных частей книги с выполнением всех практических упражнений. Читателям, которые знают теоретический ма- териал, рекомендуется повторить синтаксические описания (структур данных, операторов, процедур и функций), проверить прочность знания, ответив на контрольные вопросы в конце глав, а затем перейти к выполнению заданий практической части. В конце каждой главы подводятся итоги того, чему вы научились, а также приводятся вопросы, которые вы можете использовать для проверки успешно- сти усвоения теоретического материала, и даются задания для самостоятельной работы. Очевидно, что данное пособие не может охватить все детали использования среды программирования Turbo Pascal 7.0, поэтому в конце книги приводится список литературы и ссылок на информационные ресурсы в Интернете, которые могут расширить ваши знания по программированию. Выражаю глубокую признательность всем коллегам, которые помогли вы- ходу этой книги. Все замечания и пожелания по поводу данной книги будут приняты автором с благодарностью по адресу: [email protected]. ВВЕДЕНИЕ Языки программирования претерпели большие изменения с тех пор, как в 1940 гг. началось их использование. Первые языки программирования были очень примитивными и мало чем отличались от формализованных упорядо- чений двоичных чисел (единиц и нулей), понятных компьютеру. Их называют языками программирования низкого уровня. Использование таких языков было крайне неудобно с точки зрения программиста, так как он должен был знать числовые коды всех машинных команд и собственноручно распределять память под команды программы и данные. Чтобы упростить общение человека с компьютером, были разработаны язы- ки программирования типа Ассемблер (assemblylanguage), в которых переменные величины стали изображаться символическими именами, а числовые коды опера- ций были заменены на мнемонические (словесные) обозначения, которые легче запомнить. В результате язык программирования приблизился к человече скому языку, но удалился от языка машинных команд. Поэтому, чтобы компьютер мог работать на языке Ассемблера, понадобился транслятор — программа, перево- дящая текст программы на Ассемблере в эквивалентные машинные команды. Языки типа Ассемблер являются машинно-ориентированными, потому что они настроены на структуру машинных команд конкретного компьютера. Разные компьютеры с разными типами процессоров имеют разный Ассемблер. В 1950-х гг. в связи с широким применением компьютеров в различных областях науки и техники возникла серьезная проблема: простые пользователи не могли работать с компьютером из-за сложности языков программирования, а профессиональные программисты были не в состоянии обслужить огромное количество пользователей. Решением данной проблемы стало создание языков программирования высокого уровня, форма записи программ на которых по сравнению с Ассемблером и машинными языками ближе к традиционной ма- тематической форме и разговорному языку. Важным преимуществом языков программирования высокого уровня является машинная независимость, поэтому одна и та же программа на таком языке может быть выполнена на компьютерах различных типов, оснащенных соответствующим транслятором. К недостаткам программ, написанных на языках высокого уровня, относятся большой объем занимаемой памяти и более медленное выполнение, чем у программ на машин- ных языках или языках Ассемблера. Первыми популярными языками высокого уровня, появившимися в 1950-х гг., были Фортран, Кобол и Алгол. В 1960-1970-х гг. разработано огромное количество новых языков про- граммирования. В 1965 г. появились два новых важных языка. Для обучения программированию был разработан язык, который являлся упрощенной версией Фортрана и получил название Бейсик (Beginner's All-purpose Simbolic Instruction Code — многоцелевой код символических команд для начинающих). Бейсик 6 Введение предоставил пользователю разнообразные средства для диалога с компьютером во время выполнения программы. Вторым языком, появившемся в 1965 г., был ПЛ/1 (Programming Language 1 — язык программирования 1). При его созда- нии преследовалась цель создать язык, сочетающий в себе лучшие свойства Алгола, Кобола и Фортрана и в конечном итоге заменяющий своих предшест- венников. Однако этого не произошло в связи с тем, что ПЛ/1 не проявил тех преимуществ, которые оправдали бы переход к нему. К тому же большое количество средств и разнообразие операторов ПЛ/1 привели к сложности в его изучении. В 1971 г. профессор Н. Вирт из Института информатики Швейцарской высшей политехнической школы в Цюрихе разработал новый язык, получивший название «Паскаль» (в честь математика XVII в. Блеза Паскаля). Язык Паскаль основан на Алголе и создавался как учебный язык, в нем строго соблюдена структурная линия программирования. В силу своих достоинств Паскаль послу- жил источником для создания многих современных языков программирования, таких, как Ада, Си и Модула-2. Большую популярность приобрел язык Си, который первоначально был разработан для компьютеров, использующих операционную систему UNIX. Он является относительно простым языком, в нем нет операций над символь- ными строками и списками, но в отличие от Паскаля в нем заложены воз- можности непосредственного обращения к некоторым машинным командам, к определенным участкам памяти компьютера. Си широко используется как инструментальный язык для разработки операционных систем, трансляторов, баз данных, а также других системных и прикладных программ. В развитии языков программирования выделяются два основных направ- ления: процедурное и непроцедурное. В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается способом получения его при помощи некоторой процедуры — определенной последовательности дей ствий. Основными средствами, применяемыми в этих языках, являются величины (в том числе и табличные) присваивания, циклы, процедуры. При построении процедурной программы необходимо ясно пред- ставлять, какие действия и в какой последовательности будут производиться при ее выполнении. Среди процедурных языков можно, в свою очередь, вы- делить структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы. В операционных языках для этого используются несколько операций. Широкое распространение получили среди структурных языков: Паскаль, Си, Ада, ПЛ/1, среди операционных языков — Фортран, Бейсик, Фокал. Непроцедурное (декларативное) программирование появилось в начале 1970-х гг., но его развитие началось в 1980-е гг. в связи с проектом по созда- нию компьютеров пятого поколения, целью которого явилась подготовка почвы для создания интеллектуальных машин. К непроцедурному программированию относятся функциональные и логические языки. В функциональных языках про- грамма описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь разбиваются на еще Введение 7 более простые, и т. д. Один из основных элементов в функциональных языках — рекурсия, т.е. вычисление значения функции через значение этой же функции от других элементов. Наиболее распространенными среди функциональных языков являются Лисп и Рефал. Лисп, являющийся языком обработки списков, давно и активно применяется в системах искусственного интеллекта. Рефал, построенный на алгоритмах Маркова, удобен для обработки текстов и является единственным из распространенных в мире языков программирования, разработанным в на- шей стране. Промежуточное положение занимает язык Лого, который содержит средства и процедурного, и функционального программирования. На начальном уровне он похож на классический процедурный язык, а при решении сложных задач обработки данных на первый план выходят функциональные методы. Функциональная программа, как и процедурная, описывает действия, кото- рые надо совершить для достижения результата (вызов функции — это тоже действие), но ее построение требует скорее математического, чем алгоритми- ческого мышления. В логической традиции программа вообще не описывает действий. Она за- дает данные и соотношения между ними. После этого можно задавать вопросы. Машина перебирает известные (заданные в программе) данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог (programing language), хотя он и содержит некоторые средства управле- ния перебором, т. е. процедурные элементы. Построение логической програм- мы вообще не требует алгоритмического мышления. Здесь нет динамики, нет описания действий, программа описывает статические отношения объектов, а динамика находится в механизме перебора и скрыта от программиста. Можно выделить еще один класс языков программирования — объектно- ориентированные языки сверхвысокого уровня. На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Объектно-ориентированные языки, благодаря богатому пользовательскому интерфейсу, предлагают человеку решить задачу в удобной для него форме. Примером такого языка может служить язык программирования визуального общения Smalltak. Трудно провести четкую гра- ницу между системами программирования сверхвысокого уровня и прикладным программным обеспечением. Как те, так и другие системы позволяют работать с ними неквалифицированному пользователю, не являющемуся программистом. Трудоемкость создания сложных компьютерных программ и разнообразие средств, используемых в процессе разработки программы для написания кода, компиляции и отладки, привело в 1980-х гг. XX в. к осознанию необходимости интеграции этих средств. В те годы фирма Borland International, Inc. (США) разработала систему Турбо Паскаль, которую называют интегрированной (integration — объединение отдельных элементов в единое целое) средой про- граммирования, так как она объединяет в себе возможности ранее разрознен- ных средств, используемых при разработке программ: редактора текстов, ком- пилятора, компоновщика и отладчика. Часто ее кратко называют IDE (Integrated Development Environment — интегрированная среда разработки). 8 Введение В конце XX в. стандартом интерфейса пользователя компьютерных про- грамм становится графический интерфейс (GUI). Примечание. GUI (graphical user interface) — графический интерфейс пользователя, ис- пользующий окна (windows), значки (icons) и мышь (mouse). Взаимодействие пользователя с программой средствами GUI основано на интуитивно понятных принципах, что обеспе- чивает продуктивное использование компьютера даже неподготовленным пользователем. GUI предлагает более сложное и дружелюбное окружение пользователя, чем командно-управляемый интерфейс DOS. Однако при разработке приложе- ний c GUI возникали большие трудности программирования, потому что для отображения объектов интерфейса пользователя (меню, окон, кнопок и т. п.) требовалось написание фрагмента кода программы, создающего и настраива- ющего объект «по месту». Увидеть же закодированные объекты можно было только в ходе исполнения программы. При таком подходе достижение того, чтобы объекты выглядели и вели себя заданным образом, было утомительным процессом, требующим неоднократных исправлений кода с последующим за- пуском программы и просмотром полученного результата. С целью преодоления трудностей на этапе создания интерфейса пользова- теля в конце XX в. широкое распространение получило визуальное програм- мирование. Средства визуального программирования предоставляют програм- мисту возможность наглядным образом конструировать интерфейс, изображая объекты интерфейса на экране на этапе конструирования элементов интерфейса программы с автоматической генерацией соответствующего кода. После того, как объект помещен в форму среды визуального программирования, все его атрибуты сразу отображаются в виде кода, который соответствует объекту как единице, исполняемой в ходе работы программы. Благодаря средствам визуальной разработки можно работать с объектами, держа их перед глазами и получая результаты практически сразу. Способность видеть объекты такими, какими они появляются в ходе исполнения программы, снимает необходимость проведения множества операций вручную. Одним из популярных средств разработки приложений с использованием методов визуального программирования является среда программирования Delphi. Язык, на котором разрабатываются приложения в Delphi, — это Object Pascal. С одной стороны, это прежний Pascal, поскольку все его основные конструкции сохранены. С другой стороны, важнейшая составная часть язы- ка, модель объектов, подверглась коренному преобразованию. Причем Delphi, начиная с 4-й версии, наряду с приложениями, использующими графический пользовательский интерфейс, позволяет создавать консольные приложения. Примечание. Консольные приложения — это особый вид Windows-приложений. Такое приложение имеет полный доступ к функциям Win API, но не имеет графического ин- терфейса и выполняется в текстовом режиме. Язык Delphi будет подробно описан в новой книге. ГЛАВА 1 Среда программирования Turbo Pascal В этой главе вы узнаете, что такое компьютерная программа, каково назна- чение языков программирования, а также научитесь использовать интегриро- ванную среду программирования Turbo Pascal для редактирования, компиляции и отладки программы. После изучения главы вы будете знать: ● Что такое компьютерная программа. ● Назначение языков программирования. ● Назначение и виды трансляторов. ● Порядок использования интегрированной среды Turbo Pascal при создании и отладке программ. ● Порядок использования справочной системы Turbo Pascal. Компьютерная программа Для того чтобы компьютер выполнил какую-либо работу, необходимо со- ставить для него упорядоченную последовательность команд (инструкций) – компьютерную программу. Для записи компьютерных программ используются языки программирования. Язык программирования Pascal Язык программирования Pascal был разработан в 1968–1971 гг. Никлаусом Виртом. Он был назван в честь выдающегося французского математика и фи- лософа Блеза Паскаля (1623–1662) и первоначально создавался для обучения программированию как систематической дисциплине, однако вскоре стал широко использоваться в профессиональном программировании. Популярности языка Pascal у программистов способствовали следующие фак торы. 1. Благодаря своей компактности и удачному первоначальному описанию Pascal оказался довольно легким для изучения. 2. Pascal отражает фундаментальные и наиболее важные концепции (идеи) алгоритмов в очевидной и легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы. 3. Язык позволяет четко реализовать идеи структурного программирования и структурной организации данных. 10 Глава 1 4. Pascal сыграл большую роль в развитии методов аналитического дока- зательства правильности программ и позволил реально перейти от методов отладки программ к системам автоматической проверки правильности про- грамм. 5. Применение языка Pascal позволило значительно поднять планку надеж- ности разрабатываемых программ за счет требований языка к описанию исполь- зуемых в программе переменных, проверки согласованности программы при компиляции без ее выполнения. 6. Использование в языке Pascal простых и гибких структур управления: ветвлений и циклов. Трансляторы Поскольку текст записанной на языке Pascal программы непонятен компью- теру, требуется перевести его на машинный язык. Такой перевод программы с языка программирования на язык машинных кодов называется трансляцией (translation, англ. – перевод), а выполняется он специальными программами – трансляторами. Существует три вида трансляторов: интерпретаторы, компиляторы и ас- семблеры. Интерпретатором называется транслятор, производящий пооператорную (покомандную) обработку и выполнение исходного кода программы. Компилятор преобразует (транслирует) всю программу в модуль на ма- шинном языке, после чего программа записывается в память компьютера и лишь потом исполняется. Ассемблеры переводят программу, записанную на языке ассемблера (авто- кода), в программу на машинном языке. Любой транслятор решает следующие основные задачи: 1) анализирует транслируемую программу, в частности, определяет, содер- жит ли она синтаксические ошибки; 2) генерирует выходную программу (ее часто называют объектной или рабочей) на языке машинных команд (в некоторых случаях транслятор гене- рирует выходную программу на промежуточном языке, например на языке ассемблера); 3) распределяет память для объектной программы (в простейшем случае это заключается в назначении каждому фрагменту программы: переменным, константам, массивам и другим объектам адресов памяти). Интегрированная среда программирования Turbo Pascal 7.0 Для повышения качества и скорости разработки программ в середине 80-х гг. XX в. была создана система программирования Turbo Pascal. Слово «Turbo» в названии системы программирования – это отражение торговой марки фирмы-разработчика Borland International, Inc. (США). Систему програм-

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.