ЛАБОРАТОРНАЯ РАБОТА №4 Тема: Разработка, отладка и испытание простых циклических алгоритмов и программ с неизвестным числом повторений
Цель:Сформировать умения разрабатывать алгоритмы и программы итерационных циклов
Программное обеспечение: TURBO PASCAL 7.1
Оснащение:персональный компьютер, практикум
Время проведения: 2 уч. часа
Литература:
1. Немнюгин С.А. Turbo Pascal. Практикум. 2-е изд. СПб.: Питер, 2007. С. 64-67.
2. Немнюгин С. , Перколаб Л. Изучаем Turbo Pascal. СПб.: Питер, 2008. С. 80-105.
3. Павловская Т.А. Паскаль. Программирование на языке высокого уровня. Учебник для вузов. СПб.: Питер, 2008. С. 49-52.
ВОПРОСЫ ВХОДНОГО КОНТРОЛЯ:
1. Приведите классификацию типов данных.
2. Перечислите простые типы данных.
3. Сформулируйте определение цикла.
4. Перечислите виды циклов, использующихся в языке Паскаль.
5. Опишите простой цикл с заданным числом повторений.
КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Оператор цикла While
Общий вид оператора:
While логическое выражение Do оператор;
Здесь оператор - простой или составной оператор.
Работа оператора. Предварительно проверяется значение логического выражения. Пока оно истинно, выполняется оператор тела цикла (после Do). Как только оно становится ложным, происходит выход из цикла. Если с самого начала значение логического выражения ложно, то оператор не выполняется ни разу. Если логическое выражение никогда не принимает значение ложно, то происходит зацикливание.
Оператор цикла Repeat
Общий вид оператора:
Repeat
Тело цикла
Until логическое выражение;
Работа оператора. Выполняются операторы циклической части, проверяется значение логического выражения: если оно ложно, то вновь выполняются операторы циклической части; если же оно истинно, то цикл заканчивается. Если значение логического выражения истинно с самого начала, то операторы циклической части выполняются один раз. Если же логическое выражение никогда не принимает значение «истинно», то операторы тела цикла выполняются бесконечное число раз, т.е. происходит зацикливание.
Нижняя граница операторов тела цикла четко обозначается словом Until, поэтому нет необходимости заключать эти операторы в операторные скобки Begin- End. В то же время наличие дополнительных операторных скобок не является ошибкой.
Замечания:
1. Внутри цикла нельзя изменять ни начальное, ни конечное значения (N1, N2) переменной цикла K, а также само значение K.
2. Если в возрастающем цикле N1 > N2, то цикл не выполняется ни разу. Аналогично - для убывающего цикла с DownTo, если N2 < N1.
3. После завершения цикла значение переменной цикла K становится неопределенным, за исключением выхода из цикла с помощью оператора GoTo.
4. Во всех трех операторах цикла (While, Repeat, For) среди операторов циклической части можно использовать операторы условного и безусловного перехода If, GoTo. Но нельзя передавать управление извне цикла внутрь цикла.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Для вычисления В в 9-й степени при В < 0, когда Exp(9*Ln(B)) недопустим, можно использовать следующий цикл:
Способ 1
K:=1; P:=1;
While K <= 9 Do
Begin
P:=P*B;
K:=K+1
End;
Способ 2
K:=1; P:=1;
Repeat
P:=P*B;
K:=K+1
Until K > 9;
СОДЕРЖАНИЕ РАБОТЫ: Написать алгоритм, составить блок-схему и отладить программу для вычисления и вывода на печать таблицы значений функции у при a=0,1; 0,2; ..., 1.
Вариант | Задание |
№1, 11 | |
№2, 12 | |
№3, 13 | |
№4, 14 | |
№5, 15 | |
№6, 16 | |
№7, 17 | |
№8, 18 | |
№9, 19 | |
№10, 20 |
ВОПРОСЫ ВЫХОДНОГО КОНТРОЛЯ:
1. Приведите примеры объявления целых типов данных.
2. Перечислите варианты описания вещественных типов данных.
3. Запишите логические операции, приведите пример их использования.
4. Опишите структуру оператора цикла с предусловием.
5. Опишите структуру оператора цикла с постусловием.
ДОМАШНЕЕ ЗАДАНИЕ
Выучить определение цикла, структуру цикла с предусловием и постусловием. Приобрести навыки составления программы с циклом с предусловием и постусловием.