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

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

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

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

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

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

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

10 А=7

20 GOTO40

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 elx e2 THENk +10ELSEk+20

2.kIF el xe2THENmlELSEm2

3.kIF elx e2THEN el ELSE e2

4.kIF elx e2 GOTOk+10 ELSEk+20

Мұнда:

  • K-қатар нөмірі;
  • IF(егер) – оператордың аты ;
  • El xr2-тексерілетіншарт ;
  • 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бітті

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

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

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

Басыңыз,,; А

  • IFA=1 THENPRINT,,Кешжарық” 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 IFA>B THENY=AELSE Y=B

50 REM бітті

60 PRINT

70 END

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

  1. k IF NOTe1 x e2THENk+20
  2. k IF e1 xe2THENm
  3. k IF e1 x e2 THENk+10
  4. k IF e1 x e2 GOTOk+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 IFA=2 THEN60

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

50 GOTO 70

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

70 END

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

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

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

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

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

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

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

k+pIF <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