Шартсыз өту- GOTO және шартты өту- IF операторлары

  1. Компьютерде программа операторлары   қатар  нөмірлерінің  өсу   ретіне   қарай   бірінен  соң  бірі  орындалады  .    Мұны  программаның   табиғи   реттілікпен   орындалуы  деп  атайды.   Бірақ   практикада   көптеген   есептер   мұндай   сызықтық   схемаға   келе   бермейді.   Есептерді   шешуде   келесі   есептелу   жолдары   тәуелді   болатын    шарттар  жикездеседі.                   Программма   операторының  табиғи   орындалуы   реттілігін  өзгерту   үшін  басқаруды  беру   операторларын  пайдаланады;

шарттсыз  өту  операторы  GOTO;

шартты  өту  операторы  IF.

  1. Шартсыз өту   операторы  GOTO

Шартсыз   өту  операторы    GOTO  (өту)  есептеуді  одан   әрі   жалғастырулда   программаның   келесі  кезекте  орындалатын   операторын көрсету үшін  , яғни  программаның  қандай  да   бір   бөлігін  орап  өту  үшін   қолданылады.   Оператордың   жалпы  жазылу   пішімі:GOTO k.

Мұнда     GOTO     -оператордың  аты;  k-GOTO   операторынан  соң  орындалаты операторлық қатардың нөмірі.Осылайша GOTO   ,                   операторы  программаның  табиғи   реттілікпен   орындалуын   бұзады.  Мысалы,  10  GOTO       120операторы  нөмірі10-оператордан   кеиін   нөмірі  120-  оператор  орындалады  дегенді  білдіреді.   Мына   төмендегі:

10 А  =7

20 GOTO  40

30 A = 1

40 A=A + 3

50 PRINTA

60 END

программа  орындалғанда 10-қатардағы  меншіктеу  операторы  А  айнымалысына     7  мәнін  меншіктейді,  20- қатардағы   оператордан  кейін  40- қатардағы оператор  орындалады,  онда  А  айнымалысына,  сол  айнымалының  алғашқы  мәніне  3-ті   қосқандағы  мән  меншіктеліп  нәтижесі   баспаға  шығарылады.  Ал  мына  төмендегі   программа  орындалғанда

Ы. Алтынсариннің  “Кел  балалар   оқылық”    атты  өлең   шумағы   экранға  шығады.

10 REM  өлең

20 PRINT  “ Кел, балалар,  оқылық,”:GOTO 70

30 PRINT  “Ықыласпен  тоқылық.”:GOTO 80

40 PRINT  “Шамнан  шырақ жағылар”:GOTO90

50 PRINT  “Іздемей-ақ  табылар”GOTO 100

60 PRTNT “Оқығанды  көңілге, ”:GOTO 30

70 PRINT “Оқысаңыз  балалар”: GOTO 40

80 PRINT “ Тілегенің  алдыңнан,”: GOTO 50

90 END

Бұл  программа  орындалғанда  мына  төмендегідей  нәтиже экранға  шығады:  Кел , балалар ,оқылық,

Оқығанды  көңілге,

Ықыласпен  тоқылық.

Оқысаңыз  балалар,

Шамнан  шырақ  жағылар.

Тілегенің  алдыңнан ,

Іздемей-ақ  , табылар.

3.Шартты  өту  операторы IF.

Тармақталу  альгоритімі   мектептік  алгаритімдік   тілге  егер   командасы   арқылы  жүзеге   асырылатындығын   сіздер   бұрыннан  білесіздер.  Мектептік   алгоритмдік  тілде  егер  командасы   толық  және  қысқартылған   пішімдерде  жазылады:

  Толық  пішімі:Қысқартылған   пішімі:

Егер  <   шарт >  егер <шарт >Онда   <1-әрекет > онда <әрекет >    

әйтпесе <2-әрекет >бітті .

бітті.

Ал BASIC   программалау   тілінде   осы   егер   командасының   қызметін   атқаратын  арнайы   оператор  бар .   Оны   шартты  өту  операторы    деп  атайды.  Бұл   операторды  да   толық   және   қысқартылған   пішімде   жазып   пайдалануға  болады.

Шартты   өту  операторының   толық  пішімде   жазылу  түрлері:

1.k IF   el  x e2   THEN  k +10  ELSEk+20

2.kIF el x  e2      THEN  ml  ELSE  m2

3.kIF el  x e2      THEN el ELSE e2

4.kIF el  x e2   GOTO  k+10 ELSE  k+20

Мұнда:

  • K-қатар нөмірі;
  • IF(егер) – оператордың аты ;
  • El x  r2-тексерілетін  шарт ;
  • El, e2- арифметикалық өрнектер;
  • Х- қатынас операциясының  таңбалары

(>,< =<,=<=,=,<>):

  • Ml,m2 –шарттың сақталу   немесе   сақталмауына  байланысты   орындалатын  операторлар;
  • THEN (онда)-қызметші сөз;
  • ELSE (әйтпесе) – қызметші  сөз;

K+10 шарт  сақталған  жағдайда   орындалатын  қатардың   нөмірі;

  • К+20-шарт сақталмаған  жағдайда  орындалатын  қатардың  нөмері.
  • GOTO-шартсыз өту  операторы                                                                                  Сонымен,  мектептік  алгаритмдік  тіл  мен  BARIS   прагламау  тілінде  тармақталу  алгаритімінің  толық  пішімін  сплыстырмалы  түрде  былай  жазып  көрсетуге  болады:

егер<шарт>  k IF P THEN k+10 ELSE k+20

онда<1-әрекет>  k+10<1әрекет>:GOTO k+30

әйтпесе<2-әрекет> k+20<2-әрекет>

бітті  k+30 REM  бітті

Енді  осы  шартты  өту  операторының  толық  пішімдегі  жазылу  түрлеріне  мысалдар  келтірейік.

10  REM      Күн   мерзімін  анықтау.

  • INPUT ,,Егер  қазір  кеш  болса  1-ді;егер  күндіз  болса  2-ні

Басыңыз,,; А

  • IFA=1 THEN  PRINT  ,,Кеш  жарық” ELSE IF A=2

THEN PRINT  “Қайырлы күн!”  ELSE STOP

  • END

3-жағдайға мысал. А және В екі натурал санның үлкенін табу. Ол үшін алдымен айнымалылардың аттарын былайша таңбалайық:

  • Алгоритмдік тілде: A, B, Y.
  • BASIC тілінде: A, B, Y.

Мұнда А, В – аргументтер, Y – нәтиже.

алг  ЕСҮ (нақ а, в, у)

берілгені  a,b

керек  у

басы

егер a>b

онда  y:=b   “Y=”;Y

бітті

соңы

10 REM  екі санының үлкенін табу.

20 INPUT “А және В айнымалыларын енгіз”; А, В

30 REM басы

40 IF  A>B THEN  Y=A  ELSE Y=B

50 REM бітті

60 PRINT

70 END

Бір  қатарға бірнеше операторларды жазуға рұқсат ететін  BASIC тілінің түрлерінде  IF операторы қатардың кез келген жеріне жазыла алады. Шартты өту операторының қысқартылған пішімдегі жазылу түрлері:

  1. k IF NOT  e1 x e2  THEN  k+20
  2. k IF e1 x  e2  THEN  m
  3. k IF e1 x e2   THEN  k+10
  4. k IF e1 x e2 GOTO  k+10

Мұнда:

  • k – қатар нөмері;
  • IF (егер) – оператордың аты;
  • NOT – логикалық теріске шығару операциясы;
  • e1 x e2 – тексерілетін шарт;
  • THEN (онда) – қызметші сөз;
  • k +10 шарт сақталған жағдайда орындалатын қатардың нөмірі;
  • k+20 шарт сақталмаған жағдайда орындалатын қатардың нөмірі;
  • m – шарт сақталған кезде орындалатын оператор;
  • GOTO – шартсыз өту операторы.

Алгоритмдік  тілде: ASIC бағдарламалау тілінде:

егер  <шарт>

онда <әрекет>

бітті

Шартты өту операторының қысқартылған пішімдегі жазылу түрлері үшін жоғарыда келтірілген мысалды қайтадан жазып көрсетейік.

2-жағдайда мысал

10 REM күн мерзімін анықтау.

20 INPUT  “Егер қазір кеш болса 1-ді, күндіз болса 2-ні басыңыз”; А

30 IF A=1 THEN PRINT  “Кеш жарық!”: GOTO 50

40 PRINT “Қайырлы күн!”

50 END

Мұнда, IF операторы шартты тексереді, егер ол шарт қанағаттандырылса, онда THEN қызметші сөзінен кейінгі оператор орындалады. Егер шарт қанағаттандырылмаса, онда программаның орындалуы келесі қатардан басталады.

Енді осы мысалды  – жағдай үшін жазайық.

10 REM күн мерзімін анықтау.

20 INPUT  “Егер қазір кеш болса 1-ді, күндіз болса 2-ні басыңыз”; А

30 IF  A=2 THEN  60

40 PRINT  “Қайырлы кеш!”

50 GOTO 70

60 PRINT “Қайырлы күн!”

70 END

<IF – THEN  k +10> операторы <IF – THEN  GOTO  k +10> және<IF- GOTO

k +10> операторларымен баламалы.

Мектептік алгоритмдік тілде таңдау командасының жалпы жазылу пішімі мынадай болатын:

Құрама команданың бұл түрін  BASIC тілінде алгоритмдік тілмен салыстырмалы түрде былай жазамыз.

k REM  Таңдау командасы

k+10 IF <1-шарт> THEN  m+10

k+20 IF <2-шарт> THEN m+20

k+p  IF <n – шарт> THEN m+n

m <n+1 – әрекет>: GOTO b

m+10<1- әрекет>: GOTO b

m+20<2-әрекет>: GOTO b

m+n <n – әрекет>

b END

10 REM  Функция

20 INPUT “=”;x

30 REM басы

40 REM таңдау

50 IF X<=0 AND X>-2 THEN Y=X 2:GOTO 90

60 IF X<=3 AND X>0 THEN Y=SIN (X)

65 GOTO 90

70 IF X<=5 SND X>3 THEN Y=SQR (X)

75 GOTO 90

80 Y=0

90 REM беті

100 REM соңы

110 PRINT “Y=”;Y

«Baribar.kz-тің» Telegram-каналына жазыламыз!