Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Циклічні програми. Складність циклічної програми.




Лабораторна робота № 3.

Оператори повторення.

Мета: вивчення засобів мови Borland Pascal, за допомогою яких програмуються циклічні алгоритми. Поняття циклу, операторів повторення (циклу). Обмежений тип даних.

Короткі теоретичні відомості.

Оператор циклу з параметром.

Цикли - основний засіб у програмуванні, що дозволяє коротко записувати алгоритм, який здійснює велику кількість дій.

Для реалізації циклічних алгоритмів у мові Паскаль використовуються оператори повторення:

* оператор циклу з параметром;

* оператор циклу з передумовою;

* оператор циклу з постумовою.

Оператор циклу з параметром передбачає повторне виконання деякого оператора з одночасною зміною значення, що присвоюється керуючою змінною (параметру цього циклу). Він має вид:

For < параметр >:= <початкове значення > to <кінцеве значення > do <оператор >

або

For < параметр >:=< початкове значення > downto <кінцеве значення > do <оператор>

Синтаксична діаграма оператора циклу з параметром:

 
 

 

 


Оператор циклу

З параметром

 

Ім’я - це ім’я змінної - параметра циклу;

А - початкове значення параметра циклу;

В - кінцеве значення параметра циклу;

Оператор - тіло циклу.

 

Параметр циклу, початкове і кінцеве значення повинні бути одного й того ж скалярного типу (крім дійсного). Початкове і кінцеве значення обчислюються лише один раз - при вході в цикл, і, отже, повинні бути визначені до входу в цикл і не можуть бути змінені в тілі циклу.

Якщо початкове і кінцеве значення розділяє службове слово to, то після виконання оператора (тіло циклу) параметр циклу (наприклад v) приймає значення Succ(v), якщо ж дільником початкового і кінцевого значень служить слово downto, то параметр циклу v після виконання тіла циклу приймає значення Pred(v). Зокрема, якщо параметр v має тип Integer, то одночасно з виконанням тіла циклу здійснюється або присвоювання v:= v + 1 (to), або v:= v - 1 (downto). Додатково (примусово) змінювати значення параметра в тілі циклу не рекомендується, оскільки контроль за правильністю виконання такого циклу дуже затруджений. Якщо в циклі з to початкове значення більше, ніж кінцеве, то цикл не виконується взагалі. Аналогічно, якщо в циклі з downto початкове значення менше, ніж кінцеве, цикл також не виконується.

 

Приклад 1.

Program NFactorial; var Factorial, Argument: Integer; i: Integer;

Begin

Write(‘ введіть аргумент факторіала ‘);

Readln(Argument);

Factorial:= 1;

For i:= 2 to Argument do Factorial:= i*Factorial;

Writeln(Argument,’! = ‘, Factorial)

End.

У цьому прикладі

i - параметр циклу;

2 - початкове значення параметра циклу;

Argument - кінцеве значення параметра циклу;

Factorial:= i*Factorial - тіло циклу.

 

Часто крок зміни змінної, яка управляє циклом, відрізняється від 1, -1. Наступний приклад демонструє використання циклу з параметром у таких обчисленнях.

 

Приклад 2. Табулювання функції дійсної змінної.

Рrogram Tabulation;

const Pi=3.14159262;

var MinBound, MaxBound, Step: Real;

x, y: Real; Coef: Real;

i, n: Integer;

Begin

Write(‘Введіть межі табулювання ‘); Readln(MinBound, MaxBound);

Write(‘Введіть крок табулювання ‘); Readln(Step);

n:= Round((MinBound - MaxBound)/Step);

x:= MinBound; Coef:= 1/Sqrt(Pi);

for i:= 0 to n do begin

y:= Coef * exp(-Sqr(x)/2);

writeln(‘ x = ‘,x,’ y = ‘,y);

x:= x + Step

end;

End.

 

Програма табулює функцію y=1/p e-x2/2 в інтервалі значень [MinBound, MaxBound] з кроком Step. Зверніть увагу на те, що перед входом у цикл обчислюється N - верхня межа параметра циклу, а в тілі циклу обчислюється наступне значення х.

Циклічні програми. Складність циклічної програми.

Циклічними називають програми, що містять оператори циклів. Циклічна програма може містити декілька операторів циклу, що виконуються послідовно або входять в інші оператори. Найпростіші циклічні програми містять один оператор циклу і оператори, що керують введенням-виведенням. До найпростіших відносяться циклічні програми розглянутих прикладів.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...