Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Завдання (інструкційна картка) для лабораторної роботи
Інструкційна картка
лабораторного заняття № 3
Тема. Програмування циклічних процесів у середовищі програмування Turbo Pascal.
Мета заняття. Сформувати практичні вміння та навички створювати програми з циклічними процесами. Формувати якості особистості студентів та пізнавальний інтерес; показати значення теми для програмування та розвязування задач; спонукати до пізнавальної, наукової, творчої діяльності; розвивати самостійність, увагу, відповідальність та творче мислення.
Методичне забезпечення
3. Інструкційні картки.
Матеріально-технічне забезпечення
Компютери, конспекти лекцій, роздруковані завдання по варіантах.
Питання для актуалізації опорних знань
У чому полягає відмінність між циклами з передумовою та циклами з постумовою?
Якому типу даних може належати лічильник в операторі for?
Яке значення має лічильник після завершення циклу for?
Що може спричинити зациклювання програми?
За яких умов цикли while і for не виконуються жодного разу?
Коли цикл виконується тільки один раз?
У чому полягає відмінність між операторами for ..to..do та for..downto..do?
Правила техніки безпеки
Перед початком роботи потрібно перевірити стан обладнання, робочого місця.
Під час роботи потрібно дотримуватися правил експлуатації компютерного обладнання.
При роботі за компютером слід дотримуватись правил особистої безпеки, зберігати відстань від рівня очей до монітора, від робочого стола до тіла.
Забороняється ходити по компютерній лабораторії, розливати рідину на підлогу, столи, обладнання, заходити з їжею, розмовляти між собою.
Загальні відомості з теми
1. Поняття циклу
Цикл це процес виконання певного набору команд деяку кількість разів. Якщо обчислювальний процес містить багаторазові обчислення за одними й тими самими математичними залежностями, але для різних значень початкових величин (змінних), його називають циклічним. Величини, які змінюються в циклі називають змінними циклу.
Алгоритм циклічної структури в загальному вигляді має вміщувати:
Цикли поділяють на цикли з заданою кількістю повторень та цикли з заздалегідь невідомою кількістю повторень. Реалізують цикли або за допомогою конструкції if-goto, або що значно ефективніше, за допомогою команд циклу. Є три види команд, за допомогою яких можна запрограмувати повторювані фрагменти програми: з параметром, з передумовою та з післяумовою.
2. Команда циклу з параметром (for)
Цикли з заданою кількістю повторень називають також циклами з лічильником. Число повторень тіла циклу в цьому випадку рахується за допомогою спеціальної змінної (лічильника), для якої відомі початкові та кінцеві (порогові) значення, а також крок зміни. Управління циклом виконується за допомогою порівняння поточних значень лічильника з заданим порогом. Змінну лічильника часто називають параметром циклу, а сам цикл -циклом з параметром.
Оператор циклу з параметром (for) має два види. Розглянемо перший: for <параметр> := <вираз 1> to <вираз 2> do <оператор 1>; Тут for (для), to (до), do (виконати) - зарезервовані (службові) слова; параметр - це змінна цілого, символьного, логічного або перерахованого типу, крім дійсного, а вирази 1 і 2 - це деякі константи такого ж самого типу, що й параметр вказівки які задають початкове та кінцеве значення параметра.
Дія команди. Параметру циклу присвоюється значення виразу 1. Якщо це значення менше, або рівне, ніж значення виразу 2, то виконується оператор 1. Після виконання оператору 1 значення параметра автоматично збільшується на 1 і знову порівнюється зі значенням виразу 2 і т.д. Коли значення параметра стане більшим, ніж значення виразу 2, то виконується наступна після циклу команда. Якщо під час першого порівняння виявиться, що значення виразу 1 більше ніж значення виразу 2, то тіло циклу не виконається жодного разу.
Блок-схема циклу з параметром має вигляд:
Примітка.
Параметр циклу повинен бути описаним у розділі змінних.
Приклад. Нехай s = 0. Після виконання команди циклу for i:= 4 to 6 do begin s:=s+i; z:=2*i end; змінна s набуде значення 0+4+5+6=15, а змінна z =12.
Зауваження. Значення параметра в середині циклу змінювати не можна.
Розглянемо другий різновид команди циклу for: for <параметр> := <вираз 1> downto <вираз 2> do <оператор 1>;
Ця команда діє як попередня, але значення параметра зменшується на 1 (downto - вниз до).
Приклад. Нехай s= 0. Після виконання команди циклу for i:= 6 do downto 4 begin s:=s+i z:=2*i end; змінна s набуде значення 0+6+5+4=15, а змінна z = 8.
3. Команда циклу з передумовою (while)
В більшості задач цикли доводиться виконувати невідому кількість разів. Ця ситуація виникає, якщо обчислення значення функції закінчується у випадках, коли досягнуто заданої точності, або коли виконання оператора залежить від інформації, що вводиться користувачем, або коли у масиві необхідно знайти елемент з конкретним значенням тощо. У цих випадках певну послідовність дій необхідно виконувати декілька разів, причому необхідне число повторень під час розробки програми невідоме і може бути визначеним тільки під час роботи програми, тобто в процесі обчислення задач.
Оператор циклу з передумовою while (поки) призначений для організації багатократного виконання групи вказівок (тіло циклу) до тих пір, доки залишається істинною умова виконання циклу.
Оператор циклу з передумовою має вигляд:
while <логічний вираз> do
begin
<вказівка 1>;
<вказівка 2>;
……….;
<вказівка N>
end;
Тут while (поки), do (виконати) - зарезервовані слова; логічний вираз -умова, яка визначає виконання циклу.
Дія команди. Обчислюється значення логічного виразу (умови). Якщо умова істинна (приймає значення true), то виконується група вказівок (тіло циклу). Виконання програми знову повертається до перевірки умови циклу. Якщо умова хибна (приймає значення false), то виконується вказівка, яка знаходиться після оператору повторення з передумовою.
Блок-схема оператора циклу з передумовою має вигляд:
Примітка.
Приклад. Нехай змінні x, s мають значення x= 4, s= 0. Після виконання команди
while x<=8 do
begin
s:=s+x; x:=x+1
end;
вони набудуть значень s=4+5+6+7+8=30, x=9.
Приклад. Вивести таблицю чисел від 20 до 30, їхні квадрати та куби за допомогою команди while можна так: i:= 20;
while i <= 30 do
begin
writeln(i:4, sqr(i):6, exp(3*ln(i)):8); i:= i + 1
end.
Задача 1. Знайти суму всіх натуральних чисел від 1 до N.
program SUMA1;
var I,N,S: integer; begin
writeln(Введіть кількість натуральних чисел:);
write(N=);
readln(N);
I:=1;
S:=0;
while I<=N do
begin
S:=S+i; i:=i+1 end; writeln(S=,S)
end.
4. Оператор циклу з післяумовою (repeat-until)
Оператор циклу з післяумовою призначений для організації багатократного виконання групи вказівок (тіло циклу) до тих пір, поки умова виконання циклу не стане істинною (логічний вираз дорівнює ш false, a trye).
Оператор циклу з післяумовою має вигляд: repeat
<вказівка 1>;
<вказівка 2>;
……….;
<вказівка N> until <логічний вираз>;
Тут repeat (повторювати), until (до тих пір поки) - зарезервовані слова; логічний вираз - умова, яка визначає завершення циклу.
Перевірка умови здійснюється не на початку циклу, а в кінці (що гарантує, як мінімум, одноразове виконання тіла циклу).
Дія команди. Спочатку виконуються вказівки, які входять до тіла циклу. Потім обчислюється значення умови-виразу. Якщо умова хибна (тобто має значення false), то знову виконуються вказівки тіла циклу. Якщо умова стає істинною (true), то виконання циклу припиняється і виконується наступна вказівка програми.
Примітка.
Блок-схема оператора циклу з післяумовою має вигляд:
Приклад. Нехай змінні x, у мають значення x=5, y=0. У результаті виконання команди repeat
у:=у+x;
z:=2*x;
x:=x2 until x<=1; змінні y, z, x набудуть значень y=0+5+3=8, z=6, x=1.
Задача 2. Знайти суму всіх натуральних чисел від 1 до N.
program SUMA2;
var i,N,S: integer;
begin
writeln(Введіть кількість натуральних чисел:);
write(N=);
readln(N);
i:=1;
S:=0;
repeat
S:=S+i;
i:=i+1;
until i>N;
writeln(S=,S);
end.
Для організації паузи в процесі виконання програми можна використовувати конструкцію Repeat Until KeyPressed (використовується до натискання будь-якої клавіші). В мові програмування Turbo Pascal логічна функція KeyPressed контролює натискання клавіш. Якщо жодна з клавіш не натиснута, ця функція приймає значення False, інакше True.
Зміст роботи
Вивчити теоретичний матеріал.
Виконати індивідуальне завдання.
Скласти звіт, в якому відповісти на теоретичні питання, описати алгоритм, описати програму, привести контрольний приклад виконання програми.
Індивідуальні завдання:
Методичні РЕКОМЕНДАЦІЇ
Для виконання лабораторної роботи потрібно перш за все опрацювати теоретичний матеріал.
Виконати індивідуальне завдання.
Показати результат роботи викладачеві.
Скласти звіт, в якому відповісти на теоретичні питання, описати алгоритм, тобто створити блок-схему, описати програму (лістинг програми з коментарями), привести контрольний приклад виконання програми (результат роботи програми).
Здати робоче місце, а оформлений звіт викладачеві на підпис.
Під час виконання лабораторної роботи дотримуватися правил безпеки.
Приклад циклічної програми
Обчислити значення виразу, що містить суму і добуток
Лістинг програми:
program SumaDobutok; uses Crt; var i: integer;
suma, dob, y: real;
fact: longint;
begin
clrscr;
suma:=0; {Спочатку сума дорівнює нулю, а добуток одиниці}
dob:=1;
fact:=1;
for i:= 1 to 25 do begin
fact:= fact*i; {Обчислюємо факторіал (fact=1*2*3*…*f}
suma: = suma+5*sqr(i)/fact; {Обчислюємо суму та}
dob:=dob*sqr(i); {добуток}
end;
y:=suma+dob;
writeln(y=, y:7:2);
readln
end.
Блок - схема програми:
Викладач ____________ М. О. Пашко
PAGE \* MERGEFORMAT 9