- •Кафедра математики и информатики
- •Практикум
- •Введение
- •1. Арифметические основы построения эвм
- •2. Интегрированная среда Turbo Pascal 7.1
- •2.1. Основные элементы ide Turbo Pascal 7.1
- •2.2. Ввод программы в среде Turbo Pascal
- •2.3.Сохранение программы в файле
- •2.4. Работа с существующей программой
- •2.5. Компиляция программы в среде Turbo Pascal
- •(Успешная компиляция: Нажмите любую клавишу...)
- •2.6. Выполнение программы в среде Turbo Pascal
- •2.7. Выход из среды Turbo Pascal
- •3. Элементы языка Turbo Pascal
- •3.1. Алфавит
- •3.2. Идентификаторы
- •3.3. Разделители
- •3.4. Основные типы данных и операции с ними
- •3.5. Константы и переменные
- •3.6. Выражения
- •3.7. Стандартные математические функции языка Турбо - Паскаль
- •3.8. Структура программы на языке Pascal
- •X,y,z: Real; {переменные типа Real}
- •I,j,k: Integer; {переменные типа Integer}
- •3.9. Контрольные вопросы
- •4. Лабораторная работа №1: Программирование линейных вычислительных процессов
- •4.1. Оператор присваивания
- •4.2. Ввод исходных данных. Операторы Read и ReadLn
- •4.3. Вывод данных. Операторы Write и WriteLn
- •4.4. Примеры составления программы
- •4.5. Контрольные вопросы
- •Раздел Var;
- •4.6. Варианты заданий
- •5. Лабораторная работа №2: Программирование разветвляющихся процессов
- •5.1. Методические указания
- •5.2. Условный оператор If и составной оператор Begin … End
- •5.3. Логические операции
- •5.4. Оператор безусловного перехода Goto
- •5.5. Примеры составления программы
- •5.6. Контрольные вопросы
- •5.7. Варианты заданий
- •6. Лабораторная работа №3: Циклический процесс
- •6.1. Общие сведения
- •6.2. Цикл с параметром
- •6.3. Цикл с предусловием
- •6.4. Цикл с постусловием
- •6.5. Итерационные циклы
- •6.6. Контрольные вопросы
- •6.7. Варианты заданий
- •6.7.2. Циклы со счетчиками Составить программы используя разные циклы (с предусловием, с постусловием, с параметром)
- •6.7.2. Итерационные циклы
- •7. Лабораторная работа №4: Вложенные циклы
- •7.1. Общие сведения
- •7.2. Примеры выполнения задания
- •7.3. Контрольные вопросы
- •7.4. Варианты заданий
- •8. Лабораторная работа №5: Массивы
- •8.1. Одномерные и многомерные массивы
- •В квадратных скобках - индексы массива
- •8.2.Символьные массивы
- •8.3. Инициализация элементов массива
- •8.4. Примеры выполнения задания
- •8.5. Контрольные вопросы
- •8.6. Варианты заданий
- •9. Лабораторная работа №6: Сортировки
- •Приложение 1
- •Приложение 2 Структурограммы
- •Структурное программирование
- •Приложение 3
- •(Основная и дополнительная)
- •Приложение 4 Сообщения об ошибках компиляции
- •(Ошибка 15 : Файл не найден)
- •113. Error in statement (ошибка в операторе)
- •Приложение 5
- •21 Столетие Библиографический список
- •Содержание
5. Лабораторная работа №2: Программирование разветвляющихся процессов
Цель работы: изучение логических и побитовых операций, условного оператора, составного оператора и правил программирования разветвляющихся процессов.
5.1. Методические указания
В решении задач, подчас, необходимо вести действия с учётом некоторых условий. Процесс, который в зависимости от определённых условий обеспечивает выбор одного из заранее предусмотренных путей решения задачи, называется разветвляющимся. Алгоритм, реализующий такой вычислительный процесс, называется алгоритмом с разветвляющейся структурой. Каждое отдельное направление вычислений называется ветвью. Выбор той или иной ветви происходит в процессе выполнения алгоритма по результатам проверки некоторого логического условия, зависящего от исходных данных или промежуточных результатов. Для графического изображения ветвления используется блоки, приведённые на рис. 5.1.
В ромбе, как правило, записывается условие, на основе которого производится выбор ветви, в которой будет выполняться оператор.
Рис. 5.1. Блок схемы алгоритма принятия решения
В качестве условия могут использоваться операции сравнения, логические операции или переменные логического типа Boolean. При истинности условия (True) выполняется оператор(ы) в ветви с надписью "Да". "Оператор(ы) 2" будет выполнен, если условие примет ложное значение (False). На рис. 5.1 (б) при ложности условия не будет выполнен ни один оператор, такой блок часто называют "обход".
В общем случае выполнение разветвляющегося алгоритма можно разбить на ряд этапов (рис.5.2.)
I этап - выполнение операторов, общих для всех ветвей программы (блок 1);
II этап - принятие решений (логический блок 2), проверяется некоторое логическое условие и в зависимости от его значения False (Ложь) или True (Истина) осуществляется выбор одной из ветвей программы;
Рис. 5.2. Обобщенная блок-схема разветвляющегося процесса
III этап - реализация одного из выбранных путей решения задачи (блок 3 или 4), которые в свою очередь могут содержать ветвления (сложный разветвляющийся процесс);
IV этап - независимо от пути решения задачи осуществляется возвращение к общему линейному участку 2 (блок 5).
5.2. Условный оператор If и составной оператор Begin … End
Для записи на языке программирования Pascal ветвящихся вычислительных процессов используется условный оператор:
If <условие> Then <оператор_1> Else <оператор_2>;
где If, Then, Else - служебные слова; <условие> - логическое выражение.
Эта форма условного оператора приемлема для алгоритма изображённого на рис. 5.1 (а). При истинности условия, выполняется <оператор_1>, записанный за служебным словом Then, в противном случае - <оператор_2>, следующий за служебным словом Else.
Допускается использовать сокращённую форму записи условного оператора:
If <условие> Then <оператор>;
Данная форма приемлема для алгоритма изображённого на рис. 5.1 (б). Оператор, следующий за служебным словом Then, будет выполнен при истинном условии, в противном случае управление передаётся на следующий по порядку оператор.
Допускается использование вложенных условных операторов. При этом после служебных слов Then или Else записывается очередной условный оператор. Однако необходимо помнить следующее правило - каждому служебному слову Else соответствует предыдущее служебное слово Then. Степень вложенности неограниченна.
При необходимости выполнить более одного оператора при истинности или ложности условия необходимо использовать составной оператор (его ещё называют операторные скобки). Составной оператор начинается, как и тело программы, служебным словом Begin, заканчивается служебным словом End, за которым ставится " ; ", между ними записываются операторы, которые необходимо выполнить. Количество операторов, объединяемых составным оператором неограниченно.
Begin
<Оператор_1>;
<Оператор_2>;
<Оператор_3>;
…
<Оператор_N>;
End;