
Основы алгоритмизации и программирования
.pdf
РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
При изучении темы необходимо
● Читать:
Основная литература:
Грибанов В.П., Калмыкова О.В., Сорока Р.И. «Основы алгоритмизации и программирования». – М.: МЭСИ. – 2004.
Дополнительная литература:
1.Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – М.: Нолидж, 1998.
– 616 с.
2.Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. – 392 с.
3.Турбо Паскаль 7.0. – К.: Издательская группа BHV, 2000.
4.Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0. – М.: ДМК, 2000.
5.Культин Н. Turbo Pascal . Самоучитель+CD-ROM. – К.: BHV-Санкт-Петербург, 1997.
6.Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0. – М: Диалог–МИФИ, 1996
7.Немнюгин С.А. Turbo Pascal. – СПб: Питер, 2000.
8.Попов В.Б. Turbo Pascal для школьников. Версия 7.0. – Финансы и статистика, 1996.
Посетить сайты Интернет: http://delphid.dax.ru/ http://www.coding.hostmos.ru/ http://www.cydsoft.com/vr-online/ http://www.freepascal.org/ http://www.lazarus.freepascal.org http://dcprograms.narod.ru/ http://adept.h1.ru
http://www.iatp.kharkov.ua/sites/program/index.htm http://delphi.chertenok.ru/ http://programmerts.by.ru/tpascal/ishod/mat/ http://pts.h10.ru
Тема 4. Управляющие операторы языка
Содержание темы
Оператор перехода. Метки. Пустой оператор. Составной оператор.
Условный оператор. Оператор выбора.
Оператор цикла с известным числом повторений. Оператор цикла с предусловием.
Оператор цикла с постусловием. Сложные (вложенные) циклы.
146

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
Цели изучения темы
●Ознакомление с управляющими операторами языка Турбо Паскаль: оператором перехода, условным оператором, оператором выбора, операторами цикла различных видов – с известным числом повторений, с предусловием, с постусловием.
●Показать особенности использования каждого оператора.
Задачи изучения темы
●Показать, какие существуют управляющие операторы языка.
●Показать возможные варианты условного оператора.
●Показать особенности реализации каждого из трех операторов цикла.
●Показать особенности реализации оператора выбора.
●Показать возможности и необходимость вложенных операторов цикла.
Успешно изучив тему, студент
Знает: управляющие операторы языка Турбо Паскаль, правила их использования в программах.
Умеет: составлять программы решения задач с использованием условного оператора, операторов цикла, выбора.
Приобретает навыки: записи разветвляющихся и циклических алгоритмов с помощью соответствующих управляющих операторов языка.
Изучая тему, необходимо акцентировать внимание на следующих понятиях
●метка;
●оператор перехода;
●составной оператор;
●условный оператор;
●оператор выбора;
●метка варианта;
●оператор цикла типа арифметической прогрессии;
●оператор цикла с предусловием;
●оператор цикла с постусловием.
●тело цикла
●заголовок цикла
●вложенные операторы циклы
Порядок изучения темы
Для изучения темы выделяется 12 часов самостоятельной работы. Предусмотрена работа студентов в формах:
1.Изучение теоретического материала.
2.Выполнение практических заданий.
3.Решение задач.
147

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
4.Выполнение лабораторных работ.
5.Тестирование.
6.Изучение дополнительной литературы.
Методические указания
Вопросы темы:
1.Оператор перехода. Метки. Пустой оператор. Составной оператор.
2.Условный оператор.
3.Оператор выбора.
4.Оператор цикла с известным числом повторений.
5.Оператор цикла с предусловием.
6.Оператор цикла с постусловием.
При изучении первого вопроса:
Ознакомьтесь с материалом раздела «Оператор перехода. Пустой оператор. Составной оператор» базового учебного пособия «Основы алгоритмизации и программирования» и книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 69-76. Обратите внимание, что метки обязательно должны быть описаны в разделе описания меток. Запрещен переход внутрь оператора цикла, минуя его начало, внутрь составного оператора, переход на оператор, находящийся в одной из ветвей условного оператора и т.д. Кроме того, оператор перехода лучше не использовать в программе, т.к. при его применении программу тяжелее отлаживать и возможно появление ошибок. Допускается использование этого оператора в редких случаях и только тогда, когда переход происходит вниз по тексту программы и ни в коем случае не вверх.
При изучении второго вопроса:
Ознакомьтесь с материалом раздела «Условный оператор» базового учебного пособия «Основы алгоритмизации и программирования» и книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 50-52. Обратите внимание, что после ключевых слов then и else разрешается записывать только один оператор. Поэтому, если требуется выполнить несколько действий, то используется составной оператор.
При изучении третьего вопроса:
Ознакомьтесь с материалом раздела «Оператор выбора» базового учебного пособия «Основы алгоритмизации и программирования» и книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 56-57. Обратите внимание, что метки константы отличаются от меток, рассмотренных применительно к оператору перехода. Их не надо описывать в разделе описания меток и они могут иметь, например, символьный тип. Так же, как в условном операторе, если требуется выполнить несколько действий при определенном значении метки, то используется составной оператор.
При изучении четвертого вопроса:
Ознакомьтесь с материалом раздела «Операторы цикла» пунктом «Оператор цикла типа арифметической прогрессии» базового учебного пособия «Основы алгоритмизации и программирования» и книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 59-63. Обратите внимание, что шаг
148

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
изменения переменной цикла может принимать только два значения ± 1. Не допускается изменение параметра цикла, начального и конечного значений другими операторами в теле цикла. Также в теле цикла может быть только один оператор, поэтому широко используется составной оператор при необходимости выполнения нескольких действий. При неправильном задании границ цикла, когда нижняя граница больше верхней для конструкции to или верхняя граница больше нижней при конструкции downto, цикл не выполняется ни разу и это не является ошибкой.
При изучении пятого вопроса:
Ознакомьтесь с материалом раздела «Операторы цикла» пунктом «Оператор цикла с предусловием» базового учебного пособия «Основы алгоритмизации и программирования» и книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 58-59. В теле цикла также может быть только один оператор, поэтому широко используется составной оператор. Обратите внимание, что значение логического выражения в заголовке цикла обязательно должно изменяться, иначе произойдет зацикливание. Следовательно, в теле цикла должны быть предусмотрены операторы, изменяющие значения переменных, входящих в это логическое выражение.
При изучении шестого вопроса:
Ознакомьтесь с материалом раздела «Операторы цикла» пунктом «Оператор цикла с постусловием» базового учебного пособия «Основы алгоритмизации и программирования» и книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 58-59, 60-63. В теле цикла может быть произвольное количество операторов, поэтому здесь нет необходимости использовать составной оператор. Обратите внимание, что логические выражения в заголовках операторов while и repeat должны иметь противоположные значения для достижения одинакового результата.
Напишите на языке Паскаль программы тех алгоритмов, которые Вы разработали во время предыдущих практических занятий. Введите тексты программ в текстовом редакторе среды Турбо Паскаля и запустите на компиляцию и выполнение. Проверьте правильность полученных результатов. Если результаты получились не верные, проверяйте алгоритм. После чего вносите изменения и повторяйте процесс до тех пор, пока не будет получен ожидаемый результат.
Выполните лабораторную работу «Сумма ряда ». Для разработки алгоритма своей задачи проанализируйте тексты программ, приводимых в пункте «Оператор цикла с предусловием». Оформите отчет о выполненной лабораторной работе.
Структура отчета о лабораторной работе.
1.Титульный лист с указанием названия лабораторной работы, номера варианта, номера группы, автора работы и года.
2.Постановка задачи.
3.Алгоритм (блок-схема или схема МЭСИД).
4.Входные данные.
5.Результаты, ожидаемые и полученные во время работы программы.
6.Листинги.
149

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
Контрольные вопросы для самооценки
1.Что такое пустой оператор?
2.Что такое операторные скобки?
3.Что такое составной оператор? В составе каких операторов он используется?
4.Назначение и особенности использования оператора безусловного перехода.
5.Способы записи условного оператора.
6.Назначение и варианты использования оператора выбора.
7.Форма записи меток варианта.
8.Формы оператора цикла.
9.Принципы выбора типа оператора цикла.
10.Особенности записи и использования оператора цикла типа арифметической прогрессии.
11.Особенности записи и использования оператора цикла итерационного типа с предусловием.
12.Особенности записи и использования оператора цикла итерационного типа с постусловием.
13.Особенности организации вложенных циклов.
14.В составе каких управляющих операторов языка используется составной оператор?
При изучении темы необходимо:
● Читать:
Основная литература:
Грибанов В.П., Калмыкова О.В., Сорока Р.И. «Основы алгоритмизации и программирования». – М.: МЭСИ. – 2004.
Дополнительная литература:
1.Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. – 392 с.
2.Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – М.: Нолидж, 1998.
– 616 с.
3.Турбо Паскаль 7.0. – К.: Издательская группа BHV, 2000.
4.Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0. – М.: ДМК, 2000.
5.Культин Н. Turbo Pascal . Самоучитель+CD-ROM. – К.: BHV-Санкт-Петербург, 1997.
6.Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0. – М: Диалог–МИФИ, 1996.
7.Немнюгин С.А. Turbo Pascal. – СПб: Питер, 2000.
8.Попов В.Б. Turbo Pascal для школьников. Версия 7.0. – Финансы и статистика, 1996.
Посетить сайты Интернет: http://delphid.dax.ru/ http://www.coding.hostmos.ru/ http://www.cydsoft.com/vr-online/ http://www.freepascal.org/ http://www.lazarus.freepascal.org http://dcprograms.narod.ru/ http://adept.h1.ru
150

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
http://www.iatp.kharkov.ua/sites/program/index.htm
http://delphi.chertenok.ru/
http://programmerts.by.ru/tpascal/ishod/mat/
http://pts.h10.ru
Тема 5. Описание базовых структур
Содержание темы
Объявление массивов. Обращение к элементам массива. Определение типа множества. Свойства множеств.
Операции над множествами. Объявление записей. Обращение к элементам записи. Запись с вариантами.
Цели изучения темы
Ознакомление с основными структурами данных, используемыми при программировании.
Задачи изучения темы
●Получение навыков описания различных структур данных с помощью языка Турбо Паскаль.
●Получение навыков решения задач, в которых используются массивы (одномерные, двумерные).
●Получение навыков решения задач, в которых используются множества.
Успешно изучив тему, студент
Знает: основные структуры данных в программах.
Умеет: описывать различные структуры данных с помощью средств языка Турбо Паскаль.
Приобретает навыки: решения задач с использованием различных структур данных.
Изучая тему, необходимо акцентировать внимание на следующих понятиях:
●массив;
●индексирование;
●множество;
●пересечение множеств;
●объединение множеств;
●разность множеств;
●пустое множество;
●равенство множеств;
●запись;
151

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
●запись с вариантами;
●оператор присоединения.
Порядок изучения темы
Для изучения темы выделяется 16 часов самостоятельной работы. Предусмотрены теоретические и практические занятия:
1.Структурные типы данных.
2.Работа с множествами.
Предусмотрена работа студентов в формах:
1.Изучение теоретического материала.
2.Выполнение практических заданий.
3.Решение задач.
4.Выполнение лабораторных работ.
5.Тестирование.
6.Изучение дополнительной литературы.
Методические указания
Вопросы темы:
1.Объявление массивов. Обращение к элементам массива.
2.Определение типа множества. Свойства множеств. Операции над множествами.
3.Объявление записей. Обращение к элементам записи. Запись с вариантами.
При изучении первого вопроса:
Понятие массива и способы описания массива приводятся в разделе «Типы данных» базового учебного пособия «Основы алгоритмизации и программирования», кроме того там же в разделе «Операторы цикла» приведены примеры работы с массивами. Ознакомьтесь также с книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 77-82.
Выполните лабораторную работу «Одномерные массивы». При выполнении лабораторной работы текст программы вводится в компьютер, и программа запускается на компиляцию, а затем на выполнение. Для выполнения программы подготавливаются исходные данные в соответствии с условием задачи и просчитываются ожидаемые результаты. Оформите отчет о выполненной лабораторной работе.
Структура отчета о лабораторной работе.
1.Титульный лист с указанием названия лабораторной работы, номера варианта, номера группы, автора работы и года.
2.Постановка задачи.
3.Алгоритм (блок-схема или схема МЭСИД).
4.Входные данные.
5.Результаты, ожидаемые и полученные во время работы программы.
6.Листинги.
152

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
В книге Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 87-95 приводится разбор нескольких задач обработки одномерных массивов, которые могут быть полезны при выполнении лабораторной работы.
Обратите внимание на то, что в двумерном массиве первый индекс обычно относится к номеру строки, а второй индекс – к номеру столбца. Порядок циклов при вводе элементов двумерного массива определяется тем, как данные будут вводиться с клавиатуры. В процессе обработки двумерного массива порядок циклов определяется тем, что должно быстрее меняться. Если, например, требуется найти сумму элементов по строкам, то внешним будет цикл по строкам, а внутренним – по столбцам, т.к. быстрее должны перебираться столбцы в пределах одной строки, а когда все столбцы текущей строки будут перебраны, произойдет переход к следующей строке, и все повторится.
Выполните лабораторную работу «Двумерные массивы». В книге Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 104-112 разобраны задачи на обработку матриц, что может помочь при выполнении лабораторной работы. Оформите отчет о выполненной лабораторной работе. Структура отчета аналогична предыдущей лабораторной работе.
При изучении второго вопроса:
Ознакомьтесь с материалом раздела «Структурированные типы данных» базового учебного пособия «Основы алгоритмизации и программирования» и книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э.Баумана, 2001 стр.127-135. Внимательно разберите приведенные в пособии задачи. Обратите внимание на определенные трудности, связанные с выводом элементов множества.
Решите задачи из практикума «Задание для решения задач на множества».
При изучении третьего вопроса:
Ознакомьтесь с материалом раздела «Структурированные типы данных» пунктами 3.3 «Описание записи (RECORD)», 3.4 «Оператор присоединения» и 3.5 «Запись с вариантами» базового учебного пособия «Основы алгоритмизации и программирования» и книгой Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001, стр. 136-143.
Решите задачи из практикума «Задание для решения задач на записи».
Контрольные вопросы для самооценки
1.Описание одномерных массивов.
2.Способы описания двумерных массивов.
3.Как описываются множества?
4.Варианты использования множеств.
5.Основные операции над множествами.
6.Способы описания записи.
7.Обращение к компонентам записи.
8.Использование оператора присоединения With.
9.Назначение и общий вид записи с вариантами.
153

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
При изучении темы необходимо
● Читать:
Основная литература:
Грибанов В.П., Калмыкова О.В., Сорока Р.И. «Основы алгоритмизации и программирования». М.: МЭСИ. – 2004.
Дополнительная литература:
1.Иванова Г.С. Основы программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2001.-392с.
2.Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – М.: Нолидж, 1998.
– 616 с.
3.Турбо Паскаль 7.0. – К.: Издательская группа BHV, 2000.
4.Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0. – М.: ДМК, 2000.
5.Культин Н. Turbo Pascal . Самоучитель+CD-ROM. – К.: BHV-Санкт-Петербург, 1997.
6.Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0. – М: Диалог–МИФИ, 1996
7.Немнюгин С.А. Turbo Pascal. – СПб: Питер, 2000.
8.Попов В.Б. Turbo Pascal для школьников. Версия 7.0. – Финансы и статистика, 1996.
Посетить сайты Интернет: http://delphid.dax.ru/ http://www.coding.hostmos.ru/ http://www.cydsoft.com/vr-online/ http://www.freepascal.org/ http://www.lazarus.freepascal.org http://dcprograms.narod.ru/ http://adept.h1.ru
http://www.iatp.kharkov.ua/sites/program/index.htm http://delphi.chertenok.ru/ http://programmerts.by.ru/tpascal/ishod/mat/ http://pts.h10.ru
http://citforum.ru/programming/
Тема 6. Модульное программирование
Содержание темы
Структура программы.
Описание процедуры. Оператор вызова процедуры. Описание функции. Указатель функции. Формальные и фактические параметры.
Область действия имен. Процедуры без параметров.
Предварительно определенные процедуры. Рекурсивные процедуры и функции. Понятие модуля. Описание модуля.
Интерфейсная, исполняемая и инициализирующая части.
154

РУКОВОДСТВО ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ
Цели изучения темы
●Ознакомление со структурой программы на языке Паскаль.
●Ознакомление с описанием подпрограмм (процедур и функций).
●Ознакомление с возможностью передачи параметров в подпрограммы.
●Ознакомление с областью действия имен в программе.
●Ознакомление с организацией модульного программирования в Турбо Паскале.
Задачи изучения темы
●Показать необходимость выделения подпрограмм.
●Формирование навыков написания и отладки процедур с передачей параметров.
●Формирование навыков написания и отладки функций с передачей параметров.
●Формирование навыков написания и отладки модулей.
Успешно изучив тему, студент
Знает: зачем нужны подпрограммы; структуру программы, правила оформления процедур и функций, правила передачи параметров, оформление и подключение модулей; Умеет: составлять программы решения задач с использованием процедур, функций
и модулей; Приобретает навыки: программирования процедур, функций и модулей с переда-
чей параметров.
Изучая тему, необходимо акцентировать внимание на следующих понятиях:
•процедура;
•оператор вызова процедуры;
•функция;
•указатель функции;
•формальные параметры;
•фактические параметры;
•процедура без параметров;
•рекурсивная процедура;
•модуль;
•интерфейсная часть модуля;
•область действия имен;
•предварительно определенные процедуры.
Порядок изучения темы
Для изучения темы выделяется 20 часов самостоятельной работы. Предусмотрены теоретические и практические занятия:
1.Структура программы на языке Турбо Паскаль.
2.Использование модулей.
Предусмотрена работа студентов в формах:
1.Изучение теоретического материала.
2.Выполнение практических заданий.
155