Алгоритм циклической структуры Алгоритм циклической структуры– алгоритм, в котором производится многократное повторение однотипных действий.
Цикл – многократно повторяющийся участок алгоритма. Цикл включает заголовок цикла, тело цикла и конец цикла.
Циклы делятся на:
1. Цикл с предусловием (условие выхода из цикла проверяется в начале перед действиями в теле цикла).
2. Цикл с постусловием (условие выхода из цикла проверяется в конце после действий в теле цикла).
3. Цикл с параметром (цикл выполняется фиксированное количество раз, определяемое параметром цикла).
Для реализации алгоритма циклической структуры в языке Pascal используются следующие операторы:
1. Оператор цикла с предусловием имеет вид:
while U do Op
где while – пока, do – делать, U – условие, Op – оператор.
Оператор означает, что пока условие U истинное, повторять оператор Op в цикле; как только условие станет ложным, выйти из цикла.
2. Оператор цикла с постусловием имеет вид:
repeat
Op1;
…
OpN
until U
где repeat – повторять, until – до тех пор пока, Op1 – оператор 1-й, OpN – оператор N-й, U – условие.
Оператор означает, что повторять операторы Op1 и т.д., … OpN в цикле до тех пор, пока условие U не станет истинным; как только условие станет истинным, выйти из цикла.
3. Оператор цикла с параметром (при увеличении параметра) имеет вид:
for Par := Nz to Kz do Op
где for – для, to – до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.
Оператор означает, что для параметра Par , увеличивающегося от начального значения Nz до конечного значения Kz с шагом 1, повторять оператор Op в цикле.
4. Оператор цикла с параметром (при уменьшении параметра) имеет вид:
for Par := Nz downto Kz do Op
где for – для, downto – вниз до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.
Оператор означает, что для параметра Par , уменьшающегося от начального значения Nz до конечного значения Kz с шагом (-1), повторять оператор Op в цикле.
Параметр цикла(или счётчик циклов)– переменная порядкового типа, которая изменяется в цикле от начального до конечного значения с каким-либо шагом.
Порядок выполнения
1. Зайти в Borland Pascal.
2. Набрать текст программы для решения задачи № 1 и получить ответ (при ; ; ).
3. Исправить программу так, чтобы она решала задачу с использованием оператора цикла с постусловием.
4. Исправить программу так, чтобы она решала задачу с использованием оператора безусловного перехода.
5. Набрать текст программы для решения задачи № 2 и получить ответ.
6. Исправить программу так, чтобы она решала задачу с использованием оператора цикла с предусловием.
7. Исправить программу так, чтобы она решала задачу с использованием оператора цикла с параметром.
Примеры задач
Задача 1.
Вычислить значения функции при x, увеличивающемся от xн до xк с шагом Dx .
(Обозначения: ; ; )
| Задача 2.
Вычислить значения функции при x, изменяющемся от 0 до 10 с шагом 1.
| Program Lab10a;
| Program Lab10b;
| Var
| Var
| x,y,xn,xk,dx:real;
| x,y:real;
| Begin
| Begin
| writeln('Введи xn,xk,dx');
| x:=0;
| read(xn,xk,dx);
| repeat
| x:=xn;
| y:=sin(x)/cos(x);
| while x<=xk do
| writeln(x,y);
| begin
| x:=x+1;
| y:=exp(x);
| until x>10;
| writeln('при x=',x:10:3,' y=',y:10:3);
| End.
| x:=x+dx;
|
| end;
|
| End.
|
| Дополнительное задание
1. Вычислить , где с увеличивается от сн до ск с шагом Dс.
2. Вычислить , где P меняется от Pн = 0,3 до Pк = 1,5 с шагом DP = 0,2.
3. Вычислить , где y меняется от y н = 1 до y к = 5 с шагом Dy = 0,5.
4. Вычислить где w0 уменьшается от w н до w к с шагом Dw .
5. Вычислить где n – целое число и меняется от nн = 100 до nк = 10 с шагом Dn = -5.
6. Вычислить , где x увеличивается от xн до xк с шагом Dx.
7. Вычислить , где x увеличивается от xн до xк с шагом Dx.
Контрольные вопросы
1. Что такое алгоритм циклической структуры? Перечислите операторы, реализующие этот алгоритм.
2. Что такое цикл? Перечислите составляющие и разновидности циклов.
3. Какой вид имеет оператор цикла с предусловием и что он означает?
4. Какой вид имеет оператор цикла с постусловием и что он означает?
5. Какой вид имеет оператор цикла с параметром (при увеличении параметра) и что он означает?
6. Какой вид имеет оператор цикла с параметром (при уменьшении параметра) и что он означает?
7. Что такое параметр цикла? Может ли он быть целым числом, дробным числом?
8. Напишите, что означает каждая строка в вышеприведённых программах.
9. Напишите программу к одной из задач дополнительного задания.
|