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




Скачати 51.14 Kb.
Назва“Програмування розгалужених та циклічних процесів на мові
Дата02.06.2013
Розмір51.14 Kb.
ТипДокументы




Л а б о р а т о р н а р о б о т а N 4
“Програмування розгалужених та циклічних процесів на мові

Турбо Паскаль”
Мета роботи вивчення правил побудови та алгоритмів роботи

розгалужених та циклічних обчислювальних процесів
Теоретичний вступ
1. Оператори зміни послідовності обчислень

Команди програми виконуються послідовно в порядку їх запису.

Для зміни послідовності виконання команд використосуються оператори

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

1.1. Оператор безумовного переходу

Оператор безумовного переходу goto призначений для

передачі управління на інший опереатор, який має мітку.

Формат оператора: goto мітка;

Мітою може бути: ціле число в діапазоні 0-9999;ідентифікатор

При роботі з операторами безумовного переходу необхідно

дотримуватися наступних правил:

1) мітка повинна бути описана в розділі label, що знаходиться

в тому самому блоці (програмі або підпрограмі), що й оператор goto;

1.2. Умовний оператор

Умовний оператор призначений для виконання певної дії в

залежності від деякої умови. Умовний опрератор може

задаватися в короткій або повній формі згідно одного із

наступних форматів:

1) коротка форма: if умова then оператор1;

2) повна форма: if умова then оператор1 else оператор2;

Це демонструється наступною схемою.

|

/ \ false

/умова\_________

\ / |

\ / |

| true |

| |

|----|----| |

|оператор1| |

|----|----| |

| |

|<----------|

|
Схема дії повного умовного оператора:

|

/ \ false

/умова\____________

\ / |

\ / |

| true |

| |

|----|----| |----|----|

|оператор1| |оператор2|

|----|----| |----|----|

| |

|<-------------|

|
Приклади умовних операторів:

const x:integer=5;x1:integer=-2;x2:integer=7;y:integer=2;

str1:string='BASIC';str2:string='PASCAL';

var ch:char;

begin

readln(ch); if x
writeln('символ є малою латинською буквою');

if str1
if x<=y then x:=x+y else x:=x-y;

if x>y then begin str1=str1+ch;writeln(str1)end

else begin str1=str1+' '+str2;writeln(str1) end;

Враховуючи, що після then та else може задаватися пустий

оператор, то можливі також наступні записи оператора if:

if (xx2) then

else writeln('Число x в діапазоні від',x1, 'до' x2);

if (x>=x1) and (x<=x2) then

writeln('Число x в діапазоні від',x1, 'до', x2) else;

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

операторів 1-2 використовуються інші оператори if. Для

усунення неоднозначності дії таких операторів

використовується наступне правило: довільне else відповідає

найближчій попередній частині then, що не містить свого else.

Наступні приклади демонструють вкладеність операторів if.

var a,b,c,d:integer; a:=1; b:=2; c:=3; d:=4;

if a>b then if c
Дія цього оператора відповідає наступній графічній схемі:

|

/ \ false

/ a>b \ ____________________

\ / |

\ / |

| true |

| |

/ \ false |

/ c
\ / | |

\ / | |

| true | |

| | |

/ \ false | |

/ c<0 \ _________ | |

\ / | | |

\ / | | |

| true | | |

| | | |

|----|----| |----|----| | |

| c:=0 | | a:=b | | |

|----|----| |----|----| | |

|<-----------| | |

|<-------------------- |

|<------------------------

|

1.3. Оператор вибору варіантів Case

Оператор вибору варіантів призначений для вибору однієї

із декількох альтернативних дій і має наступний формат:

Case ключ_вибору of список_констант_вибору: оператор1;

{..............................}

список_констант_вибору: операторm

Else оператор11, ... , оператор1n End;

Ключ вибору - це вираз порядкового типу з порядковими

номерами елементів від -32768 до 32767 (крім типу longint).

1)var operation: char; x,y,z: real;stop:boolean;

Begin {ввід x,operation,y} stop:=false;

Case operation of

'+': z:=x+y;'-': z:=x-y;'*': z:=x*y;'/': if y<>0 then z:=x/y

else begin stop:=true; writeln('Ділення на 0') end

else stop:=true; writeln('Недопустимий код операції') end;

if not stop then { вивід z } End.

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

1.4.1. Оператор циклу repeat-until з постумовою

Оператор циклу з постумовою repeat-until має наступний формат:

Repeat oператор1; оператор2; {........} операторn Until умова;

В якості операторів можуть бути довільні оператори мови

Турбо-Паскаль. Умова повинна бути виразом типу boolean.

Оператори тіла циклу між ключовими словами repeat-until

виконуються послідовно до тих пір, поки умова не прийме

значення true. Ключові слова repeat-until виконують роль

операторних дужок begin-end.

|<----------|

| |

|-----|-----| |

| тіло циклу| |

|-----|-----| |

| |

| |

/ \ false |

/умова\________|

\ /

\ /

| true

|

вихід
Приклад використання оператора циклу repeat-until:

var i:integer;

Begin repeat write('Введіть число від 0 до 9');

readln(i) until (i>=0) and (i<=9); {..........} End.

1.4.2. Оператор циклу while з передумовою

Формат оператора while: While умова do оператор;

Умова - це вираз типу boolean. Дія оператора: обчислюється

значення виразу і оператор виконується до тих пір, поки

значення виразу дорівнює true. Якщо спочатку вираз приймає

значення false, то оператор не виконається ні разу:

|

|------->|

| |

| / \ false

| /умова\_________вихід

| \ /

| \ /

| |

| | true

| |-----|-----|

| |тіло циклу |

| |-----|-----|

| |

|--------|

Program fact1;

var n,p:integer;

Begin write('Введіть ціле число->'); readln(n); p:=1;

while n>0 do begin p:=p*n; n:=n-1 end;

writeln('n!=',p) End.

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

for змінна_циклу := поч.значення to кінц.значення do оператор;

|

|-------|-------|

|обчислення |

|початкового та |

|кінцевого зна- |

|чень змінної |

| циклу |

|-------|-------|

|

|-------|-------|

| змінна_циклу:=|

| початкове |

| значення |

|-------|-------|

|----------->|

| / \

| /змінна\ false

| / циклу<= \____________вихід

| \ кінцеве /

| \ знач /

| \ /

| | true

| |

| |-------|-------|

| | тіло циклу |

| |-------|-------|

| |

| |-------|-------|

| |порядковий N |

| |змінної циклу:=|

| |порядковий N |

| |змінної циклу+1|

| |-------|-------|

| |

|------------|

Program fact2;

var n,i,p:integer;

Begin write('Введіть ціле число->'); readln(n); p:=1;

for i:=1 to n do p:=p*i; writeln('n!=',p) End.

Як вже відзначалося, змінна циклу може бути довільного

порядкового типу, крім longint.

Оператор циклу for задається також і в іншому форматі:

for змінна_циклу := поч.значення downto к.значення do оператор;

Дія оператора for-downto-to аналогічна дії оператора

for-to-do з тою різницею, що крок зміни порядкового номеру

змінної циклу дорівнює -1.
Завдання для роботи

Обчислити y=n!!, n>0, якщо

(2n-1)!!=1*3*5* ...*(2n-1), n>0;

(2n)!!=2*4*...*(2n), n>0;

Схожі:

“Програмування розгалужених та циклічних процесів на мові iconЛекція №11 Тема: Користувацькі функції
У будь-якій мові програмування існують підпрограми. У мові с вони називаються функціями, в асемблері — підпрограмами І викликаються...
“Програмування розгалужених та циклічних процесів на мові iconЛекція №2 Аpхітектуpа мп кр580ВМ80 Куpс "Програмування на мові asm-80"...
Куpс "Програмування на мові asm-80" побудований на основі навчального мікpопpоцесоpного комплекту (нмк), який має один кілобайт опеpативної...
“Програмування розгалужених та циклічних процесів на мові iconУрок №27 Тема. Урок повторення. Практична робота №10 «Програмування циклічних обчислень»
Задачі №1,№2,№3 виконати, використовуючи одну форму та 3 кнопки для їх виконання
“Програмування розгалужених та циклічних процесів на мові iconПрограмування на мові асемблера
Ми будемо розглядати процесори з точки зору програміста. Не дивлячись на різноманітність моделей процесорів, найбільш важливим з...
“Програмування розгалужених та циклічних процесів на мові iconТема введення в основи програмування на мові асемблер, за допомогою Win32api функцій
Тема – введення в основи програмування на мові асемблер, за допомогою Win32api функцій
“Програмування розгалужених та циклічних процесів на мові iconЛекція №6 Тема: Функції, їх параметри. Рекурсія. Прототипи функцій
З другого боку, функція це мінімальний виконуваний модуль програми на мові Сі. Синонімами цього іншого поняття в інших мовах програмування...
“Програмування розгалужених та циклічних процесів на мові icon1. Загальна економіко-математична модель задачі лінійного програмування....
Загальна лінійна економіко-математична модель економічних процесів та явищ — так звана загальна задача лінійного програмування подається...
“Програмування розгалужених та циклічних процесів на мові iconПіб: Ісак Юлія Юріївна Назва
В даному дипломному проекті були розроблені програма на мові програмування Delphi, схема управління кроковими двигунами та макет...
“Програмування розгалужених та циклічних процесів на мові iconДіанормет в лікуванні синдрому полікістозних яєчників
Спкя є безпліддя, гірсутизм та ожиріння. В наші дні синдром полікістозних яєчників ви- значається як наслідок складних ендогенних...
“Програмування розгалужених та циклічних процесів на мові iconЧислові функції
Примітивними числовими функціями є додавання, віднімання, множення та ділення. В мові програмування Лісп вони є n-арними, тобто кількість...
Додайте кнопку на своєму сайті:
Школьные материалы


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
nauch.com.ua
Головна сторінка