Разграната структура (селекција)

Селекција је управљачка структура која омогућава условно извршавање наредби. Она бира за извршавање једну од од наредби из скупа од једне, две или више наредби. Зависно од услова одабирања, тј. од вредности услова који се проверава, може да се деси да ниједна наредба не буде извршена. Наредбе између којих може да се врши избор могу да буду и просте и сложене.

Основна селекција: if-else

Основном селекцијом извршава се једна од две могуће наредбе.

Дијаграм тока:

Уколико логички израз uslov има вредност логичке истине (uslov!=0) извршава се naredba1. Ако је вредност услова логичка неистина (uslov=0) извршава се naredba2.

Основна селекција се у програмском језику реализује наредбом if чији је општи облик:

if (uslov) naredba1 else naredba2

Наредба if, ако није много дугачка, може се писати у једном реду (како је горе написано), или у више редова:

if (uslov) naredba1
     else naredba2

Ако су наредбе naredba1 и naredba2 секвенце, онда се пише на следећи начин:

if (uslov)
{
     naredba1-1
     naredba1-2
     …
     naredba1-n
}
else
{
     naredba2-1
     naredba2-2
     …
     naredba2-m
}

Дешава се да блок naredba2 у основној селекцији буде празан. Тада се, у ствари, ради о условном прескакању наредбе, па се таква управљачка структура назива условни прескок.

Дијаграм тока:

За представљање условног прескока у програмском језику C не постоји посебна наредба, већ се користи наредба if без дела else naredba2:

if (uslov) naredba

или

if (uslov)
{
     naredba1
     naredba2
     …
     naredban
}

Задаци:

1. Нацртати дијаграм тока и написати програм који одређује већи од 2 унета броја:

дијаграм тока:

#include<stdio.h>
main()
{
     int x,y,max;
     printf("unesi dva cela broja"); scanf("%d%d",&x,&y);
     if (x>y) max=x;
         else max=y;
     printf("veci broj je %d",max);
}

решење II:

дијаграм тока:

#include<stdio.h>
main()
{
     int x,y,max;
     printf("unesi dva cela broja"); scanf("%d%d",&x,&y);
     max=x;
     if (y>max) max=y;
     printf("veci broj je %d",max);
}
  1. Нацртати дијаграм тока и написати програм који израчунава апсолутну вредност броја x, користећи if наредбу
  2. Нацртати дијаграм тока и написати програм који одређује најмањи од 3 унета броја
  3. Нацртати дијаграм тока и написати програм који ако је x<y израчунава k=1, иначе k=0
  4. Нацртати дијаграм тока и написати програм који уређује унете бројеве у растући редослед
  5. Нацртати дијаграм тока и написати програм који израчунава вредност функције (max и min су већи од два броја, односно мањи од два броја, обе величине се могу одредити једном if наредбом)
  6. Нацртати дијаграм тока и написати програм који пореди два броја и исписује поруку који од њих је већи.
Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s