ebook img

Основы программирования на языке Pascal PDF

208 Pages·2.794 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 Основы программирования на языке Pascal

3 ВВЕДЕНИЕ Я зык программирования Паскаль был разработан профессором Технического университета в г. Цюрихе Никлаусом Виртом в начале 80-х годов прошлого столетия в целях обучения осно- вам программирования и назван в честь выдающегося французского физика, математика и философа Блеза Паскаля. Достоинства языка Паскаль заключаются в том, что он:  служит хорошим средством обучения программированию;  близок к естественному языку;  имеет небольшой объем рабочей документации;  стал первым языком, в котором нашли наиболее полное отражение концепции структурного программирования;  надежен в процессе разработки программного обеспечения (требует обязательного описания всех объектов, запрещает «принцип умол- чания», реализует строгую архитектуру программы). В пользу этого языка говорит и тот факт, что практически для всех микропроцессоров были разработаны собственные версии компилято- ров и системы программирования. Наиболее популярными на сего- дняшний день являются системы программирования Turbo Pascal 7.0 и Borland Pascal 7.0. Дальнейшим развитием Borland/Turbo Pascal является Object Pascal – основной инструмент системы визуального программирова- ния Delphi, которая в последние годы становится все более популяр- ной среди программистов, создающих прикладные программные про- дукты в среде Windows. В учебном пособии рассматриваются основы программирования в среде Borland Pascal. Книга рассчитана главным образом на начи- нающих программистов, которые с ее помощью смогут получить базо- вые знания в области разработки собственных программ. В ней содер- жится большой объем теоретического материала, приводится много различных примеров с решениями для практического использования богатых возможностей языка программирования Pascal, а также пред- ложены задачи для самостоятельного решения. Данная книга может оказаться весьма полезной и студентам. В основу учебного пособия положен учебный курс “Программиро- вание на языке Паскаль”, разработанный преподавателями кафедры математического обеспечения АСУ Белорусского государственного университета. Этот курс в течение уже многих лет преподается авто- рами для учащихся минских школ на базе специального факультета бизнеса и информационных технологий Белгосуниверситета. 4 Авторы выражают благодарность декану факультета прикладной математики и информатики Белгосуниверситета Павлу Алексеевичу Мандрику, декану спецфакультета бизнеса и информационных техно- логий Белгосуниверситета Валерию Николаевичу Шалиме за неоце- нимую помощь в подготовке и издании учебного пособия, а также за- ведующему кафедрой математического обеспечения АСУ факультета прикладной математики и информатики Белгосуниверситета Виктору Владимировичу Краснопрошину и своим коллегам за полезные заме- чания и предложения, высказанные при написании данной книги. Все замечания и пожелания по поводу данной книги будут приняты авторами с благодарностью. 5 1. АЛГОРИТМЫ И СПОСОБЫ ИХ ОПИСАНИЯ П онятие алгоритма является одним из основных понятий матема- тики и информатики. Слово “алгоритм” своими корнями связа- но со словом algorithmi – латинской формой написания имени среднеазиатского математика Мохаммеда ибн аль-Хорезми, который в IX веке изложил правила выполнения четырех арифметических дейст- вий над числами в десятичной системе счисления. Эти правила до сих пор служат примерами простейших математических алгоритмов. Алгоритмами являются правила дорожного движения, инструкции по пользованию различными приборами, кулинарные рецепты и т. д. Каждый из нас ежедневно пользуется различными алгоритмами, даже не зная, что это такое. Дадим определение алгоритма, которое, хотя и не является строгим, но для дальнейшей работы будет весьма удобным. Пусть мы имеем исполнителя, который владеет набором элемен- тарных операций (т.е. таких операций, которые он заведомо умеет вы- полнять). При этом нам также необходимо поручить исполнителю вы- полнение какой-то задачи. Тогда алгоритмом назовем инструкцию по выполнению поставленной задачи, выдаваемую исполнителю и со- ставленную в терминах элементарных операций. При задании алгоритма неявно предполагается, что исполнитель умеет:  переходить к выполнению следующей операции сразу же после вы- полнения предыдущей;  осуществлять проверку условий. Последнее означает, что некото- рые из доступных исполнителю операций представляют собой провер- ку каких-то условий, которую необходимо осуществить во время вы- полнения поставленной задачи (а не во время написания алгоритма). В зависимости от результатов проверки исполнитель осуществляет вы- бор из двух (реже – из нескольких) операций, которые необходимо выполнить далее. Итак, алгоритм – строгая и четкая конечная система правил, кото- рая определяет последовательность действий над объектами и после конечного числа шагов приводит к достижению поставленной цели. Всем алгоритмам присущи некоторые общие свойства. Перечислим эмпирические (подмеченные на практике) свойства:  понятность – все действия, описанные в алгоритме должны быть понятны исполнителю;  определенность – каждое действие должно быть четко и однознач- но определено; 6  сходимость – выполнение алгоритма должно завершиться за конеч- ное число шагов;  дискретность – исполнение алгоритма должно состоять из отдель- ных шагов;  результативность – достижение после конечного числа шагов иско- мого результата;  универсальность – состоит в том, что алгоритм служит для решения не одной конкретной задачи, а целого класса однотипных задач. Для описания алгоритмов существует много различных способов: например, словесное описание, которое удобно применять, если ис- полнителем является человек, графические способы представления, псевдокод (ограниченное подмножество естественного языка). Мы, по крайней мере, на начальном этапе, будем использовать один из спосо- бов графического представления алгоритма – механизм блок-схем, в которых каждая элементарная операция обозначается специальным блоком, а последовательность, в которой выполняются эти операции – стрелками между блоками. Основные блоки, используемые для по- строения алгоритма, показаны на рисунке 1.1. начало конец операция а) блок начала б) блок заверше- в) операция, не связанная с алгоритма ния алгоритма проверкой условия да нет список элементов условие г) блок проверки условия д) блок ввода-вывода 1 1 е) узел (соединение линий) ж) переносы Рис. 1.1. Элементы блок-схем 7 Перечисленные блоки являются основными; кроме них, могут быть использованы и другие блоки. Рассмотрим основные базовые структуры (управляющие конструк- ции алгоритмов), из которых можно построить блок-схему для любого алгоритма. Они показаны на рисунке 1.2. да нет a p b a b а) следование б) ветвление или развилка p нет a да a нет p да в) цикл с предусловием г) цикл с постусловием Рис. 1.2. Основные базовые структуры блок-схем Следование означает последовательное выполнение действий. Если алгоритм содержит только такую структуру, он называется линейным. Ветвление или развилка содержит блок проверки условия. Словес- но эту структуру можно описать так: если условие p истинно, то вы- полнить действие a, иначе – действие b. Одно из действий может от- сутствовать. Алгоритм, имеющий такую структуру, называется ветвя- щимся. Повторение или цикл имеет два варианта: цикл с предусловием (ЦИКЛ – ПОКА) и цикл с постусловием (ЦИКЛ – ДО). Алгоритм, со- держащий структуры повторения, называется циклическим. 8 Действия структуры ЦИКЛ – ПОКА формулируются следующим образом: пока условие p истинно, то выполнять действие a. Цикл с предусловием может быть не выполнен ни разу. Действия структуры ЦИКЛ – ДО формулируются так: надо выпол- нять действие a до тех пор, пока условие p не станет истинным. Такой цикл выполнится, по меньшей мере, один раз. В большинстве языков программирования существует цикл, вы- полняемый определенное количество раз (цикл с параметром). Этот цикл использует присваивание в качестве элементарной операции: оп- ределяется новая (или используется ранее созданная) переменная, ко- торой присваивается значение выражения. Естественно, считается, что исполнитель умеет вычислять значение выражений, записанных в ал- горитме. Иногда в литературе его изображают так, как показано на ри- сунке 1.3. (В некоторых языках параметр может изменяться не только на 1). i ← 1 нет i = 1, …, N i <= N да тело цикла тело цикла i ← i+1 а) Один из видов цикла, б) Упрощенная запись этого управляемый переменной i и же цикла повторяющийся N раз Рис. 1.3. Цикл, выполняемый определенное количество раз Пример 1.1. Ввести три целых числа и найти минимальное из них. В этом случае, очевидно, к элементарным операциям относится ввод и вывод чисел, а также их сравнение (проверка условия). Заме- тим, что несмотря на кажущуюся простоту этой задачи, для ее реше- ния можно предложить, по крайней мере два различных алгоритма. Первый алгоритм показан на рисунке 1.4, а второй – на рисунке 1.5. 9 начало Ввод a,b,c да нет a<b да нет да нет a<c b<c Вывод a Вывод c Вывод b Вывод c конец Рис. 1.4. Первый алгоритм нахождения минимума из трех целых чисел начало 1 нет да c<min Ввод a,b,c min ← c min ← a нет да Вывод min b<min min ← b конец 1 Рис. 1.5. Второй алгоритм нахождения минимума из трех целых чисел Очевидно, второй алгоритм является более удобным, поскольку он допускает обобщение на произвольное количество чисел. В то же вре- мя изменение первого алгоритма, если минимум придется искать не из трех, а из четырех чисел, затруднительно. Рассмотрим теперь два примера, в которых требуется грамотно по- строить цикл.

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.