Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Вінницький національний технічний університет
Факультет інформаційних технологій і комп'ютерної інженерії
Кафедра комп'ютерних наук
Лабораторна робота №5
з дисципліни: "Алгоритмізація та програмування"
Тема:
підготовка і розв’язання на ПК задач з використанням циклів
Мета:
набути практичні навики з підготовки, відладки та виконання програм з викристанням циклів
Хід роботи:
Цикл з передумовою
Цикл з передумовою — цикл, що виконується доки істинна деяка умова, вказана перед його початком. Ця умова перевіряється до початку виконання тіла циклу, тому тіло може бути не виконане жодного разу (якщо умова з початку хибна). У більшості процедурних мов програмування здійснюється за допомогою інструкції while, звідси його друга назва — while-цикл.
На мові Паскаль цикл з передумовою має такий вигляд:
while <умова> do
begin
<тіло циклу>
end;
На мові Сі:
while(<умова>)
{
<тіло циклу>
}
Цикл з післяумовою
Цикл з післяумовою — цикл, в якому умова перевіряється після виконання тіла циклу. Звідси випливає, що тіло циклу завжди виконується хоча б один раз. У мові Паскаль такий цикл здійснює інструкція repeat … until; у Сі — do … while.
На мові Паскаль цикл з післяумовою має такий вигляд:
repeat
<тіло циклу>
until <умова>
На мові Сі:
do
{
<тіло циклу>
}
while(<умова>)
У трактуванні умови циклу з післяумовою в різних мовах є розбіжності. У Паскалі і мовах похідних від нього умова такого циклу трактується як умова виходу (цикл завершується, коли умова істинна), а в Сі та його нащадках — як умова продовження (цикл завершується, коли умова хибна).
Цикл з лічильником
Цикл з лічильником — цикл, в якому деяка змінна змінює своє значення від заданого початкового значення до кінцевого значення з деяким кроком, і для кожного значення цієї змінної тіло циклу виконується один раз. В більшості процедурних мов програмування реалізується оператором for, в якому вказується лічильник (так звана «змінна циклу»), потрібна кількість проходів (або граничне значення лічильника) і, можливо, крок, з яким змінюється лічильник.
В деяких мовах, наприклад, Сі та інших, похідних від неї, цикл for, незважаючи на синтаксичну форму циклу з лічильником, в дійсності є циклом з передумовою. Тобто в Сі конструкція циклу:
for (i = 0; i < 10; ++i)
{
... тіло циклу
}
Тобто в конструкції for спочатку пишеться довільне речення ініціалізації циклу, потім — умова продовження і, насамкінець, виконувана після кожного тіла циклу деяка операція (це не обов’язково має бути зміна лічильника; це може бути модифікація вказівника або будь-яка зовсім стороння дія). Для мов такого типу вищезазначена проблема розв'язується дуже просто: змінна-лічильник поводиться цілком передбачувано і по завершені циклу зберігає своє останнє значення.
Цикл з передумовою
program algorithm;
var x: integer;
begin
ReadLn(x);
while x < 11 do
begin
x:=x+2;
end;
WriteLn(x);
end.
Цикл з післяумовою
program algorithm;
var x: integer;
begin
x := 5;
repeat
x := x+3;
until not (x < 25);
WriteLn(x);
end.
Цикл з лічильником
program algorithm;
var S, i: integer;
begin
S := 0;
i := 0;
for i <= 100 do
begin
S := S+i;
i++;
end;
WriteLn(S);
end.
Варіант 3
Завдання 1
Скласти програму обчислення значення функції