Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Решение задач на ЭВМ. Программирование на языке Pascal. Учебное пособие
.pdf
Федеральное агентство связи
Федеральное государственное образовательное бюджетное
учреждение высшего профессионального образования
Поволжский государственный университет
телекоммуникаций и информатики
С.Г. Бедняк, О.И. Захарова
РЕШЕНИЕ ЗАДАЧ НА ЭВМ.
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL
Учебное пособие
Самара, ИУНЛ ПГУТИ,
2014

ББК 32.973
УДК 681.3
Бедняк С.Г., Захарова О.И. Решение задач на ЭВМ. Програм-
мирование на языке Pascal: Учебное пособие. – Самара: ИУНЛ
ПГУТИ, 2014. – 198 с.
Рецензент:
Кандидат технических наук, доктор педагогических наук,
профессор ПГСГА, В.И. Пугач
В учебном пособии рассмотрены вопросы, связанные с решением
задач на ЭВМ, этапы решения задач, понятие и основные свойства алгоритмов.
Программирование – это один из этапов решения задачи на ЭВМ,
это составная часть вычислительного эксперимента.
Учебное пособие содержит основополагающие сведения о языке
программирования Turbo Pascal. В справочные материалы включены ос-
новные операторы, которые используются для рассмотрения следующих
тем: линейные, ветвящиеся, циклические алгоритмические конструкции,
одномерные массивы, матрицы, символьные переменные, графика.
Рассмотрены практические примеры, реализующие принцип «изу-
чение в процессе разработки». Большое внимание уделено построению
алгоритмов решения задач разного типа. Методика позволяет использовать книгу как в качестве самоучителя, справочных материалов так и для
обучения под руководством преподавателя.
Учебное пособие предназначено для старшеклассников, студентов,
преподавателей.
ISBN 978-5-904029-44-9
Бедняк С.Г.
Захарова О.И.
2

3
Оглавление
Стр.
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

Задание № 12....................................................................................................... 178
Задания к самостоятельной работе ............................................................. 183
1. Массивы (одномерные) ................................................................................ 183
2. Массивы (двумерные) ................................................................................... 184
3. Комплексная работа по темам: «Операторы условного перехода»,
«Операторы цикла», «Массивы», «Графика» ............................................ 185
4. Список задач различной сложности для программирования на
Паскале ................................................................................................................ 187
5. Тест для самопроверки ................................................................................ 193
4

5
1. Решение задач на ЭВМ
При решении любой задачи на ЭВМ предполагается, что
некоторая информация подвергается обработке по предварительно
составленной инструкции, называемой программой. Поэтому под
решением задачи на ЭВМ подразумевается гораздо больший круг
действий, чем только работа компьютера.
На первом этапе выбирается общий подход к решению,
устанавливается, каким целям должно служить решение задачи и
при каких условиях оно будет существовать. Здесь происходит
разбиение задачи на более мелкие, определяется последовательность их решения и выполняется ряд других действий, т.е. осуществляется общая постановка задачи.
После этого этапа необходимо дать математическое описание задачи. Для того чтобы можно было интересующее нас явление
подвергнуть математическому анализу, должны быть выполнены
некоторые условия, должна существовать математическая теория
явления, описывающая его закономерности в виде формул. Такой
набор формул называют математической моделью явления. Лишь
в очень простых и редких случаях математическая модель является
в то же время и расчетной схемой, т.е. позволяет по имеющимся
исходным данным получить требуемые результаты. Модель определяет искомые величины, как правило, неявно, в виде системы зависимостей, которым эти величины должны удовлетворять, но такая система зависимостей обычно неполна, она оставляет математику большую или меньшую свободу выбора. Выбор надо провести так, чтобы получить наилучшее значение некоторого критерия.
Указание этого критерия также входит в математическую модель.
Когда критерий выбран или написана полная система уравнений, определяющих исследуемое явление, задача становится уже
чисто математической – задача математически поставлена. Однако
при решении многих практических задач приходится упрощать их
постановку, чтобы суметь воспользоваться теми методами решения, которые может предложить современная математика, или же
разработать новый метод решения.
За математической постановкой и разработкой метода решения следует реализация выбранного метода на ЭВМ. Конечный

результат предыдущих постановочных этапов – метод решения задачи – описан математическим языком, т.е. достаточно формально.
Программа для ЭВМ – это также формальное описание того же метода. Казалось бы, превратить одно формальное описание в другое
– дело несложное и тоже формальное, т.е. может быть выполнено
механически. Но это не совсем так. Программист хорошо чувствует, насколько приблизительно и неполно описывают математики
методы решения даже чисто вычислительных задач. Это связано с
тем, что математик рассчитывает на известный уровень знаний,
опыта и интуиции. Все эти качества присущи только человеку.
Компьютер обладает тоже подобием знаний и опыта, но в совсем
иной форме, чем человек. Для «разговора» с ЭВМ человек вынужден пользоваться или её собственным языком, или в лучшем случае
языком, значительно более формализованным, а следовательно, и
более бедным, чем естественный человеческий язык, которым
пользуются математики.
С другой стороны, язык вычислительной машины хотя и
формален, но далеко не абстрактен. В весьма конкретном языке
ЭВМ должны быть отражены принципиальные особенности машины, например, отсутствие понятия непрерывности, конечность
величин, определенные законы машинной арифметики. Так, арифметические операции в вычислительной технике, строго говоря,
имеют не так уж много общего с математическими операциями над
вещественными числами. ЭВМ выполняет приближенные операции над приближенными представлениями вещественных чисел,
т.к. точно представить все вещественные числа в действительном
мире конечных вычислительных машин невозможно. Определенные способы приближенного представления чисел и действий с
ними встроены в конструкцию ЭВМ.
Этап реализации метода решения содержит в себе исследование математической модели явления и переход от неё к расчетной схеме, включая анализ с оценкой погрешности результатов,
собственно программирование – перевод схемы на язык машины,
когда формируется последовательность операций, выполняемых
машиной, и, наконец контроль за выполнением программы машиной.
6

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

2. Понятия алгоритма и программы
Процесс постановки задачи для вычислительной машины в
определённой степени аналогичен постановке задачи человеку,
производящему вычисления авторучкой на бумаге. Но если во втором случае это можно успешно сделать средствами обычного разговорного языка с привлечением тех понятий, которые используются в математической литературе, то для ЭВМ словесное описание оказывается громоздким, недостаточно чётким и строгим.
Возникает необходимость в создании аппарата для полного, ясного и однозначного описания вычислительных процессов.
Это описание должно содержать формулы, по которым происходит
расчет, определять последовательность их применения, условия,
при которых используется та или иная формула, а также указывать
правила перехода от одной формулы к другой, от одной части вычислительного процесса к другой части.
После того как машиной получено задание, реализация вычислительного процесса внутри ЭВМ происходит автоматически
без вмешательства человека. Аппарат для описания процесса должен содержать сведения, как поступить машине при любых обстоятельствах, которые могут возникнуть во время её работы, т.е. заранее необходимо предусмотреть все возможные ситуации. Машина является аккуратным исполнителем задания, но она не может
принять решение, если программист не дал ей соответствующие
указания. ЭВМ необходимо указать характер и свойства тех или
иных математических объектов – чисел, векторов, матриц и т.д.,
которые служат исходными данными для решения задачи или используются в ходе вычислений.
Таким образом, при составлении задания машине возникает
необходимость в точном и полном описании определенного вычислительного процесса или любой иной последовательности действий, выполняемых ЭВМ. Конструктивное описание, состоящее
из конечного множества правил и определяющее процесс переработки данных, называется алгоритмом. Алгоритм задает некото-
рый свод правил, описывающих процесс, протекающий во времени
и определяющий последовательность действий для перехода от исходных данных к желаемому результату. Описание таких правил

может быть выполнено на обычном языке с помощью математических формул или специальных символов.
Правила обработки информации для ЭВМ задаются в программе – последовательности предложений, написанных на некотором произвольном, понятном ЭВМ языке, допускающей однозначность толкования и реализующей данный алгоритм, т.е. программа – это запись алгоритма для решения задачи на ЭВМ. Разработка алгоритма для решения любой задачи является наиболее ответственным и важным моментом, так как именно алгоритм определяет ту последовательность действий, которая выполняется машиной. Ошибки, допущенные при записи алгоритма, обычно приводят к неверному ходу вычислительного процесса и, следовательно, к неверному результату. Результат может быть верным, но полученным не оптимальным путем, если используется алгоритм, не
учитывающий индивидуальных особенностей задачи. Основная задача при эффективном использовании ЭВМ – построение хорошего алгоритма.
Основу вычислительного эксперимента составляет последовательность: модель-алгоритм-программа. Цикл вычислительного эксперимента разбивается на описанные выше этапы: построение физической и соответствующей ей математической модели;
разработка вычислительного алгоритма в виде программы для
ЭВМ; проведение расчетов на ЭВМ; обработка, анализ и интерпретация результатов расчетов, включая сопоставление с физическим
экспериментом. В случае необходимости происходит уточнение
или пересмотр математической модели, т.е. возврат к первому этапу и повторение цикла вычислительного эксперимента.
Любой алгоритм должен обладать следующими свойствами:
детерминированностью (повторяемостью) – одно-
значностью получаемого результата при одних и тех же исходных
данных;
массовостью – возможностью получения результата
при различных исходных данных для некоторого класса сходных
задач;
9

результативностью – обязательным получением не-
которого результата либо сообщения о том, что данный алгоритм
неприменим для решения поставленной задачи;
дискретностью – возможностью разбиения алгоритма
на отдельные элементарные действия.
На практике распространены три формы представления алгоритма:
словесная (инструкции);
графическая;
на языках программирования.
Словесный способ записи алгоритмов представляет собой
описание последовательных этапов обработки данных и задается в
произвольном изложении на естественном языке. Эта форма представления алгоритмов имеет ряд недостатков. Для достаточно
сложных алгоритмов описание становится слишком громоздким и
ненаглядным. Эта форма используется только на начальных стадиях разработки алгоритма.
Графическая форма представления алгоритмов является
более компактной и наглядной. Алгоритм изображается в виде последовательности связанных между собой блоков (геометрических
фигур), каждый из которых соответствует выполнению одного или
нескольких действий. Внутри блока записывается содержание выполняемого этапа.
Графическое представление называется блок-схемой алгоритма. Условные графические обозначения блоков стандартизированы. Например, этап вычисления изображается прямоугольником;
проверка условия изображается ромбом и т.д. (Таблица 2.1).
Отдельные блоки алгоритмов соединяются между собой лини-
ями потоков информации. Направления линий потока сверху - вниз
и слева – направо определены основными и, если линии потоков не
имеют изломов, стрелками не обозначаются. Правила построения
алгоритмов стандартизованы.
Наглядность и обозримость графических схем, целостность
восприятия, однозначность в отображении вычислительного процесса облегчают работу с алгоритмом, проверку его правильности
и внесение изменений.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
