ebook img

Решение задач на ЭВМ. Программирование на языке Pascal PDF

198 Pages·01.561 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

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Федеральное агентство связи Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования Поволжский государственный университет телекоммуникаций и информатики С.Г. Бедняк, О.И. Захарова РЕШЕНИЕ ЗАДАЧ НА ЭВМ. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL Учебное пособие Самара, ИУНЛ ПГУТИ, 2014 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» ББК 32.973 УДК 681.3 Бедняк С.Г., Захарова О.И. Решение задач на ЭВМ. Програм- мирование на языке Pascal: Учебное пособие. – Самара: ИУНЛ ПГУТИ, 2014. – 198 с. Рецензент: Кандидат технических наук, доктор педагогических наук, профессор ПГСГА, В.И. Пугач В учебном пособии рассмотрены вопросы, связанные с решением задач на ЭВМ, этапы решения задач, понятие и основные свойства алго- ритмов. Программирование – это один из этапов решения задачи на ЭВМ, это составная часть вычислительного эксперимента. Учебное пособие содержит основополагающие сведения о языке программирования Turbo Pascal. В справочные материалы включены ос- новные операторы, которые используются для рассмотрения следующих тем: линейные, ветвящиеся, циклические алгоритмические конструкции, одномерные массивы, матрицы, символьные переменные, графика. Рассмотрены практические примеры, реализующие принцип «изу- чение в процессе разработки». Большое внимание уделено построению алгоритмов решения задач разного типа. Методика позволяет использо- вать книгу как в качестве самоучителя, справочных материалов так и для обучения под руководством преподавателя. Учебное пособие предназначено для старшеклассников, студентов, преподавателей. ISBN 978-5-904029-44-9  Бедняк С.Г.  Захарова О.И. 2 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Оглавление Стр. 1. Решение задач на ЭВМ ................................................................................... 5 2. Понятия алгоритма и программы .............................................................. 8 3. Базовые алгоритмические структуры программирования ............... 12 4. Интегрированная среда программирования Borland Pascal ............ 15 4.1. Приемы работы с окнами, редактором и файлами ..................... 16 4.2. Основные стандартные функции языка Паскаль ...................... 30 4.3. Структура программы ....................................................................... 33 4.4. Линейные алгоритмические конструкции и программирование алгоритмов линейной структуры .................................................................. 40 4.5. Ветвящиеся алгоритмические конструкции и программирование алгоритмов разветвляющейся структуры ............. 42 4.6. Программирование алгоритмов циклической структуры ....... 50 4.7. Программирование с использованием функций и процедур....... 64 4.8. Обработка одномерных и двумерных массивов ............................ 71 4.9. Строки, множества, записи ............................................................. 85 4.10. Графические построения ................................................................... 97 4.11. Файлы .................................................................................................... 115 5. Список использованной и рекомендуемой литературы ................... 123 Приложение 1 .................................................................................................... 125 Тематический контроль ................................................................................. 125 Операторы условного перехода.................................................................... 125 Задание № 1 ......................................................................................................... 125 Задание № 2 ......................................................................................................... 128 Задание № 3 ......................................................................................................... 132 Задание № 4 ......................................................................................................... 136 Операторы цикла ............................................................................................. 142 Задание № 5 ......................................................................................................... 142 Задание № 6 ......................................................................................................... 146 Задание № 7 ......................................................................................................... 149 Символьные переменные .............................................................................. 161 Задание № 8 ......................................................................................................... 161 Массивы (одномерные) .................................................................................. 163 Задание № 9 ......................................................................................................... 163 Массивы (одномерные символьные) .......................................................... 170 Задание № 10....................................................................................................... 170 Массивы (двумерные) ..................................................................................... 173 Задание № 11....................................................................................................... 173 Массивы (двумерные символьные) ............................................................ 178 3 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Задание № 12....................................................................................................... 178 Задания к самостоятельной работе ............................................................. 183 1. Массивы (одномерные) ................................................................................ 183 2. Массивы (двумерные) ................................................................................... 184 3. Комплексная работа по темам: «Операторы условного перехода», «Операторы цикла», «Массивы», «Графика» ............................................ 185 4. Список задач различной сложности для программирования на Паскале ................................................................................................................ 187 5. Тест для самопроверки ................................................................................ 193 4 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 1. Решение задач на ЭВМ При решении любой задачи на ЭВМ предполагается, что некоторая информация подвергается обработке по предварительно составленной инструкции, называемой программой. Поэтому под решением задачи на ЭВМ подразумевается гораздо больший круг действий, чем только работа компьютера. На первом этапе выбирается общий подход к решению, устанавливается, каким целям должно служить решение задачи и при каких условиях оно будет существовать. Здесь происходит разбиение задачи на более мелкие, определяется последователь- ность их решения и выполняется ряд других действий, т.е. осу- ществляется общая постановка задачи. После этого этапа необходимо дать математическое описа- ние задачи. Для того чтобы можно было интересующее нас явление подвергнуть математическому анализу, должны быть выполнены некоторые условия, должна существовать математическая теория явления, описывающая его закономерности в виде формул. Такой набор формул называют математической моделью явления. Лишь в очень простых и редких случаях математическая модель является в то же время и расчетной схемой, т.е. позволяет по имеющимся исходным данным получить требуемые результаты. Модель опре- деляет искомые величины, как правило, неявно, в виде системы за- висимостей, которым эти величины должны удовлетворять, но та- кая система зависимостей обычно неполна, она оставляет матема- тику большую или меньшую свободу выбора. Выбор надо прове- сти так, чтобы получить наилучшее значение некоторого критерия. Указание этого критерия также входит в математическую модель. Когда критерий выбран или написана полная система урав- нений, определяющих исследуемое явление, задача становится уже чисто математической – задача математически поставлена. Однако при решении многих практических задач приходится упрощать их постановку, чтобы суметь воспользоваться теми методами реше- ния, которые может предложить современная математика, или же разработать новый метод решения. За математической постановкой и разработкой метода ре- шения следует реализация выбранного метода на ЭВМ. Конечный 5 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» результат предыдущих постановочных этапов – метод решения за- дачи – описан математическим языком, т.е. достаточно формально. Программа для ЭВМ – это также формальное описание того же ме- тода. Казалось бы, превратить одно формальное описание в другое – дело несложное и тоже формальное, т.е. может быть выполнено механически. Но это не совсем так. Программист хорошо чувству- ет, насколько приблизительно и неполно описывают математики методы решения даже чисто вычислительных задач. Это связано с тем, что математик рассчитывает на известный уровень знаний, опыта и интуиции. Все эти качества присущи только человеку. Компьютер обладает тоже подобием знаний и опыта, но в совсем иной форме, чем человек. Для «разговора» с ЭВМ человек вынуж- ден пользоваться или её собственным языком, или в лучшем случае языком, значительно более формализованным, а следовательно, и более бедным, чем естественный человеческий язык, которым пользуются математики. С другой стороны, язык вычислительной машины хотя и формален, но далеко не абстрактен. В весьма конкретном языке ЭВМ должны быть отражены принципиальные особенности ма- шины, например, отсутствие понятия непрерывности, конечность величин, определенные законы машинной арифметики. Так, ариф- метические операции в вычислительной технике, строго говоря, имеют не так уж много общего с математическими операциями над вещественными числами. ЭВМ выполняет приближенные опера- ции над приближенными представлениями вещественных чисел, т.к. точно представить все вещественные числа в действительном мире конечных вычислительных машин невозможно. Определен- ные способы приближенного представления чисел и действий с ними встроены в конструкцию ЭВМ. Этап реализации метода решения содержит в себе исследо- вание математической модели явления и переход от неё к расчет- ной схеме, включая анализ с оценкой погрешности результатов, собственно программирование – перевод схемы на язык машины, когда формируется последовательность операций, выполняемых машиной, и, наконец контроль за выполнением программы маши- ной. 6 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Процесс программирования обычно состоит из двух частей: составления блок-схемы программы – графического изображения последовательности действий (алгоритма) и написания программы на языке, который ЭВМ понимает непосредственно или с помощью транслятора, т.е. программы-переводчика. Программу в простейшем случае можно определить, как последовательность предложений, написанных на некотором про- извольном языке и допускающую однозначность толкования. Контроль за выполнением программы машиной включает в себя отладку программы и получение результатов. Отладка необ- ходима, поскольку вероятность допустить ошибку при написании программы очень велика. Для обнаружения и устранения ошибок используется сама вычислительная машина. Под отладкой пони- мают не только устранение ошибок, допущенных при записи про- граммы, но и процесс оптимизации (совершенствования) програм- мы. Последний этап решения задачи – обработка результатов. Продолжительность его зависит от конкретной задачи. Математик будет интерпретировать полученные данные в соответствии с по- ставленной целью и иногда все делать заново. В обработке резуль- татов, так же как и в их получении, участвует и ЭВМ (выводит данные на телевизионный экран, рисует графики, строит диаграм- мы и т.д.). Таким образом, в результате прохождения всех этапов ре- шения задачи в машине реализуется некоторый процесс. Реализуе- мый на ЭВМ процесс может быть назван вычислительным экспе- риментом. При этом ЭВМ не освобождает пользователя от пони- мания сущности задачи, так как он должен уметь составлять алго- ритм решения задачи, что требует глубокого знания особенностей задачи. Это значит, что он должен научиться описывать процесс на языке математики, строить математическую модель. Можно сделать вывод, что программирование – это лишь один из этапов решения задачи на ЭВМ, это лишь составная часть вычислительного эксперимента. 7 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 2. Понятия алгоритма и программы Процесс постановки задачи для вычислительной машины в определённой степени аналогичен постановке задачи человеку, производящему вычисления авторучкой на бумаге. Но если во вто- ром случае это можно успешно сделать средствами обычного раз- говорного языка с привлечением тех понятий, которые использу- ются в математической литературе, то для ЭВМ словесное описа- ние оказывается громоздким, недостаточно чётким и строгим. Возникает необходимость в создании аппарата для полно- го, ясного и однозначного описания вычислительных процессов. Это описание должно содержать формулы, по которым происходит расчет, определять последовательность их применения, условия, при которых используется та или иная формула, а также указывать правила перехода от одной формулы к другой, от одной части вы- числительного процесса к другой части. После того как машиной получено задание, реализация вы- числительного процесса внутри ЭВМ происходит автоматически без вмешательства человека. Аппарат для описания процесса дол- жен содержать сведения, как поступить машине при любых обсто- ятельствах, которые могут возникнуть во время её работы, т.е. за- ранее необходимо предусмотреть все возможные ситуации. Маши- на является аккуратным исполнителем задания, но она не может принять решение, если программист не дал ей соответствующие указания. ЭВМ необходимо указать характер и свойства тех или иных математических объектов – чисел, векторов, матриц и т.д., которые служат исходными данными для решения задачи или ис- пользуются в ходе вычислений. Таким образом, при составлении задания машине возникает необходимость в точном и полном описании определенного вы- числительного процесса или любой иной последовательности дей- ствий, выполняемых ЭВМ. Конструктивное описание, состоящее из конечного множества правил и определяющее процесс перера- ботки данных, называется алгоритмом. Алгоритм задает некото- рый свод правил, описывающих процесс, протекающий во времени и определяющий последовательность действий для перехода от ис- ходных данных к желаемому результату. Описание таких правил Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» может быть выполнено на обычном языке с помощью математиче- ских формул или специальных символов. Правила обработки информации для ЭВМ задаются в про- грамме – последовательности предложений, написанных на неко- тором произвольном, понятном ЭВМ языке, допускающей одно- значность толкования и реализующей данный алгоритм, т.е. про- грамма – это запись алгоритма для решения задачи на ЭВМ. Разра- ботка алгоритма для решения любой задачи является наиболее от- ветственным и важным моментом, так как именно алгоритм опре- деляет ту последовательность действий, которая выполняется ма- шиной. Ошибки, допущенные при записи алгоритма, обычно при- водят к неверному ходу вычислительного процесса и, следователь- но, к неверному результату. Результат может быть верным, но по- лученным не оптимальным путем, если используется алгоритм, не учитывающий индивидуальных особенностей задачи. Основная за- дача при эффективном использовании ЭВМ – построение хороше- го алгоритма. Основу вычислительного эксперимента составляет после- довательность: модель-алгоритм-программа. Цикл вычислительно- го эксперимента разбивается на описанные выше этапы: построе- ние физической и соответствующей ей математической модели; разработка вычислительного алгоритма в виде программы для ЭВМ; проведение расчетов на ЭВМ; обработка, анализ и интерпре- тация результатов расчетов, включая сопоставление с физическим экспериментом. В случае необходимости происходит уточнение или пересмотр математической модели, т.е. возврат к первому эта- пу и повторение цикла вычислительного эксперимента. Любой алгоритм должен обладать следующими свойства- ми:  детерминированностью (повторяемостью) – одно- значностью получаемого результата при одних и тех же исходных данных;  массовостью – возможностью получения результата при различных исходных данных для некоторого класса сходных задач; 9 Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»  результативностью – обязательным получением не- которого результата либо сообщения о том, что данный алгоритм неприменим для решения поставленной задачи;  дискретностью – возможностью разбиения алгоритма на отдельные элементарные действия. На практике распространены три формы представления ал- горитма:  словесная (инструкции);  графическая;  на языках программирования. Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных и задается в произвольном изложении на естественном языке. Эта форма пред- ставления алгоритмов имеет ряд недостатков. Для достаточно сложных алгоритмов описание становится слишком громоздким и ненаглядным. Эта форма используется только на начальных стади- ях разработки алгоритма. Графическая форма представления алгоритмов является более компактной и наглядной. Алгоритм изображается в виде по- следовательности связанных между собой блоков (геометрических фигур), каждый из которых соответствует выполнению одного или нескольких действий. Внутри блока записывается содержание вы- полняемого этапа. Графическое представление называется блок-схемой алго- ритма. Условные графические обозначения блоков стандартизиро- ваны. Например, этап вычисления изображается прямоугольником; проверка условия изображается ромбом и т.д. (Таблица 2.1). Отдельные блоки алгоритмов соединяются между собой лини- ями потоков информации. Направления линий потока сверху - вниз и слева – направо определены основными и, если линии потоков не имеют изломов, стрелками не обозначаются. Правила построения алгоритмов стандартизованы. Наглядность и обозримость графических схем, целостность восприятия, однозначность в отображении вычислительного про- цесса облегчают работу с алгоритмом, проверку его правильности и внесение изменений. 10

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.