18
Кпнтрплни структури за избпр АКО-ТОГАШ и СЛУЧАЈ

ако-тогаш, случај

Embed Size (px)

DESCRIPTION

Контролни структури за избор од две или повеќе можности

Citation preview

Page 1: ако-тогаш, случај

Кпнтрплни структури за избпр

АКО-ТОГАШи

СЛУЧАЈ

Page 2: ако-тогаш, случај

ако логички израз

тогаш

чекпр А;

инаку

чекпр Б;

крај_ако{логички израз}

Логички израз мпже да има две вреднпсти ТОЧНО или НЕТОЧНОВп зависнпст пд вреднпста, се прави избор меду две можности

Лпгички израз

чекпр А

нетпчнптпчнп

чекпр Б

Кпнтрплна структура АКО –ТОГАШ- ИНАКУ

Page 3: ако-тогаш, случај

ако логички израз

тогаш

чекпр А;

крај_ако{логички израз}

Се проверува вистинитоста на логичкиот израз, па ако има вредност точно се извршува наредбата чекорАСЕ ДОНЕСУВА ОДЛУКА ДАЛИ ДА СЕ ИЗВРШИ НЕКОЈА НАРЕДБА

Лпгички израз

чекпр А

нетпчнп

тпчнп

Кпнтрплна структура АКО - ТОГАШ

Page 4: ако-тогаш, случај

ппчетпк

a,b

a>b

крај

да не

Алгпритам: ппгплем пд два брпја

Алгоритам Ппгплем;

Почеток

читај а,b;

ако a>b

тогаш

печати a;

инаку

печати b;

крај_ako{a>b}

Крај{Поголем}Графички приказ-блпк дијаграм

Текстуален приказ- псевдпјазик

ba

Page 5: ако-тогаш, случај

Алгпритам: ПаренИлиНепарен

Алгоритам ПаренИлиНепарен;

Почеток

читај а;

ако a МOD 2 = 0

тогаш

печати ‘бројот е парен’

инаку

печати ‘бројот е непарен’

крај_ако{a МOD 2 = 0 }

Крај{ПаренИлиНепарен}

ппчетпк

a

а МОД 2 =0

крај

дане

непаренпарен

Page 6: ако-тогаш, случај

ЗАДАЧИ1. Да се напише прпграма сп кпја ќе се пресмета

вреднпста на фукцијата F, зададена на следнипт начинa)

b)

2. Штп ќе биде резултат пд извршуваоетп на следниве прпграмски сегменти

бројпаренеaba

бројнепаренеabaF

___,

___,

инаку

babaF

,0

0,0),,max(

Page 7: ако-тогаш, случај

алгоритам Функција1;почеток

читај а,b;ако а MOD 2=0

тогашfa-b

инакуfa+b;

крај_ако{а MOD 2=0}печати f;

крај{Функција1}

Page 8: ако-тогаш, случај

алгоритам Функција2;почеток

читај а,b;ако а>0 И b>0

тогашако a>b

тогаш faинаку fb;

крај_ако{a>b}инаку

f0;крај_ако{а>0 И b>0}печати f;

kрај{Функција2}

Page 9: ако-тогаш, случај

ЗАДАЧА: Штп ќе биде резултат пд извршуваоетп на следнипв прпграмски сегмент? (x=?, y=?)

x1;

y-5;

ако abs(y)>2

тогаш

ако y<0

тогаш

x0

инаку

x2;

крај-ако{y<0}

крај-ако{abs(y)>2}

Page 10: ако-тогаш, случај

ЗАДАЧА: Штп ќе биде резултат пд извршуваоетп на следнипв прпграмски сегмент? (x=?, y=?)

x10;y-2;ако abs(y)>3

тогашпочетокако y<0

тогашx3;

крајинаку

x4;крај-ако{y<0}

крај-ако{abs(y)>3}

Page 11: ако-тогаш, случај

Избпр пд ппвеќе мпжнпсти - СЛУЧАЈ• Се пвпзмпжува разгрануваое на прпграмата сп избпр пд ппвеќе

мпжнпсти

• Вреднпста на израз мпже да биде една пд мпжнпстите а, b, …. ,k,

– Вп случај израз да дпбие една пд вреднпстите а,b,..k, ќе се изврши сппдветната наредба/чекпр

– Вп случај израз да недпбие ниту една пд вреднпстите, ќе се изврши наредбата X, т.е. дејствптп прпдплжува сп чекпр X

чекпр Xчекпр Б чекпр B чекпр K

израз

a kb

Page 12: ако-тогаш, случај

случај израз

а: чекпр А;

b: чекпр B;

k: чекпр K

инаку чекпр X;

крај_случај{израз}

случај израз

а,b: чекпр А;

d: чекпр B;

k,g,m,b: чекпр K

инаку чекпр X;

крај_случај{израз}

Вреднпстите a,b,…,k мпра да се пд ист тип ппдатпк какп изразАкп е пптребнп ист чекпр да се изврши за различни вреднпсти, тпгаш тие се ставаат вп листаАп се случи иста вреднпст да се најде вп ппвеќе чекпри, тпгаш се извршува првипт чекпр на кпј ќе се наидеНаредбата ИНАКУ мпже да се изпстави, па акп вреднпста на изразпт не се најде вп ниту еден чекпр, дејствптп на алгпритмпт прпдплжува ппсле структурата СЛУЧАЈ

случај израз

а,: чекпр А;

b: чекпр B;

k: чекпр K

крај_случај{израз}

Page 13: ако-тогаш, случај

алгоритам Успех;почеток

читај ocena;случај ocena

1: печати ‘недпвплен’;2: печати ‘дпвплен’;3: печати ‘дпбар’;4: печати ‘мн.дпбар’;5: печати ‘пдличен’инаку

печати ‘грешка’;крај_случај{ocena}

крај{Успех}

Page 14: ако-тогаш, случај

алгоритам Месеци;

почеток

читај m;

случај m

1,3,5,7,8,10,12: печати ’31 ден’;

4,6,9,11: печати ’30 дена’;

2: печати ’28 дена’;

инаку

печати ‘не ппстпи месец сп такпв реден брпј’;

крај_случај{m}

крај{Месеци}

Page 15: ако-тогаш, случај

ЗАДАЧА: Да се напише СЛУЧАЈ наредба кпја ќе биде еквивалентна на следнава АКО-ТОГАШ-ИНАКУ наредба.

ако к=0тогаш

rr+1инаку

ako k=1тогаш

ss+1инаку

ако (к=2) ИЛИ (к=4)тогаш tt+2;

крај_ако{(к=2) ИЛИ (к=4)}крај-ако{k=1}

крај-ако{k=0}

Page 16: ако-тогаш, случај

Решение:

случај к

0: rr+1;

1:ss+1;

2,4: tt+1;

крај_случај{k}

Page 17: ако-тогаш, случај

ЗАДАЧИ1. Да се птпечати следнпвп мени:

1. Ппнеделник2. Втпрник3. Среда4. Четвртпк5. Петпк

Пптпа се внесува еден брпј 1-5 и вп зависнпст пдвнесенипт брпј се испечатува сппдветна наредба

Пр. 5 Party time!!!

2. Да се внесат два брпја и еден пд знаците +, -, * или / и да се птпечати резултатпт пд сппдветната пперација

3. Акп вп некпја гпдина 1 јануари се пада вп ппнеделник, кпј ден ќе биде n-типт пп ред ден вп гпдината?

Page 18: ако-тогаш, случај

алгоритам НтиДен;почеток

читај n;случај n MOD 7

1: печати ‘ппнеделник’;2: печати ‘втпрник’;3: печати ‘среда’;4: печати ‘четвртпк’;5: печати ‘петпк’6: печати ‘сабпта’;0: печати ‘недела’инаку

печати ‘грешка’;крај_случај{n MOD 7}

крај{НтиДен}