Будь умным!


У вас вопросы?
У нас ответы:) SamZan.ru

Тема дисципліни Програмування основних алгоритмічних структур

Работа добавлена на сайт samzan.ru: 2015-07-10


Завдання (інструкційна картка) для лабораторної роботи

Тема дисципліни. Програмування основних алгоритмічних структур.

Інструкційна картка

лабораторного заняття № 3

Тема. Програмування циклічних процесів у середовищі програмування Turbo Pascal.

Мета заняття. Сформувати практичні вміння та навички створювати програми з циклічними процесами. Формувати якості особистості студентів та пізнавальний інтерес; показати значення теми для програмування та розв’язування задач; спонукати до пізнавальної, наукової, творчої діяльності; розвивати самостійність, увагу, відповідальність та творче мислення.

Методичне забезпечення

  1.  Глинський Я. М. Паскаль: навчальний посібник / Глинський Я. М., Анохін В. Є., Ряжська В. А. – Львів: СПД Глинський, 2010. – 192 с.
  2.  Нога Л. В. Конспект лекцій з дисципліни “Основи програмування та алгоритмічні мови” Частина 1 і 2 / Нога Л. В. – Херсон: Веселка, 2006. – 134 с.

3. Інструкційні картки.

Матеріально-технічне забезпечення

Комп’ютери, конспекти лекцій, роздруковані завдання по варіантах.

Питання для актуалізації опорних знань

У чому полягає відмінність між циклами з передумовою та циклами з постумовою?

Якому типу даних може належати лічильник в операторі for?

Яке значення має лічильник після завершення циклу for?

Що може спричинити зациклювання програми?

За яких умов цикли while і for не виконуються жодного разу?

Коли цикл виконується тільки один раз?

У чому полягає відмінність між операторами for ..to..do та for..downto..do?

Правила техніки безпеки

Перед початком роботи потрібно перевірити стан обладнання, робочого місця.

Під час роботи потрібно дотримуватися правил експлуатації комп’ютерного обладнання.

При роботі за комп’ютером слід дотримуватись правил особистої безпеки, зберігати відстань від рівня очей до монітора, від робочого стола до тіла. 

Забороняється ходити по комп’ютерній лабораторії, розливати рідину на підлогу, столи, обладнання, заходити з їжею, розмовляти між собою.

Загальні відомості з теми

1. Поняття циклу

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

Алгоритм циклічної структури в загальному вигляді має вміщувати:

  1.  підготовку циклу: задавання початкових значень змінних циклу перед першим його виконанням;
  2.  тіло циклу: дії, що повторюються в циклі для різних значень змінних циклу;
  3.  модифікацію: зміна значень змінних циклу перед кожним новим його повторенням;
  4.  управління циклом: перевірка умов продовження (або закінчення) циклу та перехід до початку тіла циклу, якщо виконується умова продовження циклу (або вихід   циклу після його закінчення).

Цикли поділяють на цикли з заданою кількістю повторень та цикли з заздалегідь невідомою кількістю повторень. Реалізують цикли або за допомогою конструкції 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, то тіло циклу не виконається жодного разу.

Блок-схема циклу з параметром має вигляд:

Примітка.

  1.  Вказівку повторення з параметром зручно використовувати в тих випадках, коли попередньо можна визначити кількість повторень.

Параметр циклу повинен бути описаним у розділі змінних.

  1.  Значення параметру циклу після закінчення виконання вказівки повторення володіє кінцевим значенням, тому перед повторним його ви користуванням йому необхідно знову присвоїти нове початкове значення.
  2.  Після службового слова do може стояти тільки один оператор. Якщо ж у циклі необхідно виконати групу операторів, то їх замикають в оператори! дужки beginend.

Приклад. Нехай 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), то виконується вказівка, яка знаходиться після оператору повторення з передумовою.

Блок-схема оператора циклу з передумовою має вигляд:

Примітка.

  1.  Якщо умова у вказівці повторення хибна при першій же перевірці, то тіло циклу не виконується жодного разу. Умова оператора є умовою входження в цикл.
  2.  Умову оператора повторення з передумовою необхідно підбирати таким чином, щоб в деякий момент вона змінила своє значення з true на false, інакше виникне ситуація зациклюванняпрограми.
  3.  Програмісту необхідно самому потурбуватись про необхідність збільшення (зменшення) лічильника циклу на 1. Це можна зробити таким чином I:=I+1.
  4.  Входження в тіло оператора повторення можливе тільки через заголовок цього оператора.

Приклад. Нехай змінні 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), то виконання циклу припиняється і виконується наступна вказівка програми.

Примітка.

  1.  Тіло циклу, яке складається з групи вказівок, не потрібно брати в дужки (begin - end), оскільки службові слова repeat - until відіграють роль дужок.
  2.  Тіло циклу в операторі циклу з післяумовою виконується щонайменше один раз.
  3.  Умова оператору є умовою виходу з циклу.
  4.  Входження в тіло оператору циклу можливо тільки через заголовок цього оператору.

Блок-схема оператора циклу з післяумовою має вигляд:

Приклад. Нехай змінні   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.

Зміст роботи

Вивчити теоретичний матеріал.

Виконати індивідуальне завдання.

Скласти звіт, в якому відповісти на теоретичні питання, описати алгоритм, описати програму, привести контрольний приклад виконання програми.

Індивідуальні завдання:

  1.  Обчислити значення виразу .
  2.  Обчислити значення виразу .
  3.  Задано натуральне число n, дійсне число x. Обчислити .
  4.  Задано натуральне число n, дійсне число x. Обчислити .
  5.  Задано натуральне число n, дійсне число x. Обчислити .
  6.  Задано натуральне число n, дійсне число x. Обчислити .
  7.  Задано натуральне число n, дійсне число x. Обчислити .
  8.  Обчислити значення виразу 
  9.  Обчислити значення виразу для дійсного х, яке змінюється з 0,5 до 1,4 із кроком 0,1.
  10.  Обчислити наближене значення функції Y = sinx, використовуючи вираз  при х = 0,5.
  11.  Обчислити таблицю значень функції  на відрізку  з кроком  для а з кроком 0,1.
  12.  Обчислити таблицю значень функції  на відрізку  з кроком 0,2 для х з кроком 0,5. Точку х=а виключити.

Методичні РЕКОМЕНДАЦІЇ

Для виконання лабораторної роботи потрібно перш за все опрацювати теоретичний матеріал.

Виконати індивідуальне завдання.

Показати результат роботи викладачеві.

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

Здати робоче місце, а оформлений звіт – викладачеві на підпис.

Під час виконання лабораторної роботи дотримуватися правил безпеки.

Приклад циклічної програми

Обчислити значення виразу, що містить суму і добуток

 

Лістинг програми: 

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




1. около onym имя
2. Составление бизнес-плана
3. Доклад- Виндельбанд Вильгельм
4. ТЕМА- Противник захватил в плен несколько партизан и заключил их в лагерь для пленных
5. Контрольная работа вариант 6 - по курсу- Экологическое право
6.  Методика и методология преподавания и изучения
7. Реферат- На пути к Брестскому миру
8. это сумма благ в виде материальных интеллектуальных и финансовых средств используемых в качествересурса
9. Аудит специальность Экономика и бухгалтерский учет для группы
10. Структурное программирование
11. Развитие сельского хозяйства и промышленности России на рубеже 19-20 веков
12. Лекція 5 Розрахунок єдиного податку
13. первообразная для функции то выражение вида где C произвольное число также является первообразной дл
14. 11 л л л л л пр
15. Семья и дошкольные учреждения
16. 75 УДК 3382460218043338
17. тема прав свобод и обязанностей человека и гражданина ТЕМА 5
18. ТЕМА 2.4 ПЕРСОНАЛ ОРГАНИЗАЦИИ Характеристика трудовых ресурсов
19. темами На теоретическом уровне ОБЩИЙ МЕНЕДЖМЕНТ изучает общие даже универсальные принципы применимые к
20. на промышленных объектах; на объектах добычи хранения и переработки легковоспламеняющихся горючих и вз