- •Кафедра математики и информатики
- •Практикум
- •Введение
- •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 Столетие Библиографический список
- •Содержание
6.3. Цикл с предусловием
Оператор While предназначен для реализации цикла с предусловием (рис. 6.2 (а)). Синтаксис его выглядит следующим образом:
While <Условие> Do <Оператор>;
где While, Do - служебные слова;
<Условие> - логическое выражение, операция сравнения или переменная логического типа Boolean;
<Оператор> - оператор, входящий в тело цикла.
Перед началом выполнения тела цикла осуществляется проверка значения условия. Тело цикла с предусловием выполняется, пока <Условие> имеет истинное значение (True). Как только значение условия станет ложным (False), цикл прекращает работу и управление передаётся на оператор, следующий за циклом. Таким образом, если при первом вхождении в цикл значение условия ложно, то тело цикла не выполнится ни одного раза. Следует отметить, что в теле цикла необходимо предусмотреть операторы, выполнение которых может повлиять на изменение значения условия, иначе цикл будет выполняться бесконечно. Цикл While используется, как правило, в тех случаях, когда заранее неизвестно количество повторений тела цикла.
По синтаксису языка, допускается выполнение в теле цикла одного оператора. При необходимости использовать два и более операторов применяется составной оператор.
Например:
While M<=X Do
Begin
<Оператор 1>;
<Оператор 2>;
…
<Оператор N>;
End;
Пример 2. Разложить целое число, вводимое с клавиатуры, на простые множители.
Определим переменную X для ввода разлагаемого числа, M - переменная, используемая в качестве делителя.
Program Example_6_2;
Var
X,M: Integer;
Begin
Write ('Введите целое число... ');
ReadLn (X);
WriteLn ('Разложение числа ',x,' на простые множители');
M:=2;
While M<=X Do
If (X Mod M)=0 then
Begin
Write (' * ',M);
X:=X Div M
End
Else
M:=M+1
End.
6.4. Цикл с постусловием
При разработке программ очень удобно бывает использовать цикл с постусловием (рис. 6.2 (б) ). Синтаксис цикла с постусловием выглядит следующим образом:
Repeat
<Оператор 1>;
<Оператор 2>;
…
<Оператор N>;
Until <Условие>;
В операторе цикла с постусловием выражение, которое управляет повторным выполнением последовательности операторов тела цикла (условие), содержится после служебного слова Until. Между служебными словами Repeat и Until заключаются операторы, входящие в тело цикла.
Правила использования данного цикла, аналогично правилам цикла с While. Однако, прежде чем будет проверено условие выполнения тела цикла, выполняются операторы, входящие в состав цикла. Цикл работает при ложном (False) значении условия.
Пример 3. Вычислить значение суммы .
Program Example_6_3;
Uses Crt; {подключаем модуль}
Var {описываем переменные}
N: Integer;
S: Real;
Begin {Начало программы}
ClrScr; {очищаем экран}
S:=0; {задаем начальное значение}
N:=1; {задаем начальное значение}
Repeat
S:=S+1/N; {Тело цикла}
N:=N+1 {Увеличиваем значение}
Until N>50; {Проверка на условие}
WriteLn ('Результат суммирования... ',S); {Вывод сообщение и результат}
End. {Конец программы}