Шарттар. Тармақталу командасы

43

Сабақтың тақырыбы: Шарттар. Тармақталу командасы.

Сабақтың мақсаты:

  1. Оқушыларға шарт ұғымымен түсіндіру.
  2. Шарттардың түрлерін көрсету.Жаттығулар арқылы айыра білуді үйретіп бекіту.
  3. Тармақталу командасының операторларымен таныстыру. Жалпы тармақталу командасының программада жазылуы.
  4. Шартты тармақталу командасында қолдану.

 

 

Сабақтың тәрбиелік мақсаты:

 

Сабақтың өткізілу түрі: Жалпы лекция сабақ.арасында диалог,фронтальды  түрді қолдану.

 

Сабақта қолданылатын көрнекілік құралдар: Тақта,интерактивті тақта,компьютер,тест топшамалары.

 

Сабақтың жүру барысы:

 

 

Өтілетін тақырып Паскаль тілінің негізгі тақырыптарының бірі және өтілетін командалар мен операторларды қолдануда қиыншылықтар бар. Тақырып үлкен сондықтанда бұл тақырыпты негізінен екі сабаққа  бөліп қарастырған дұрыс.Сонымен шарт дегеніміз не соған түсіктеме берейік.

 

Шарт.

 

Өмірде біз шартты жиі қолданамыз, бірақ қолданып жатқанымызды байқамаймыз.Өмірде қолданып жүрген шартқа екі баланың әңгімесінен мысал келтіріп кетейік:

-Ертең балық аулауға барасың ба?

-Жаңбыр жаумаса барамын.

Мына жерде  баланың балыққа баратыны бармайтыны мынадай шартқа байланысты: ертең жаңбырдың болу,болмауында. Шарттар математикада, информатикада да кездесе. Математикалық, информатикалық шарттарға мысалдар: a<7, a=d, 3>2, 2=5,6<10, length(‘Алма’)=5,A[i]=8 тсс. Математикалық шарттарда салыстыру таңбаларын қолданамыз.Бірақ Паскаль тілінде салыстыру таңбаларында өзгешеліктер бар.

 

Математикада салыстыру /қатынас/ белгілері Паскаль тілінде жазылуы Оқылуы
= = Тең
<> Тең емес
> > Үлкен
>= Үлкен не тең
< < Кіші
<= Кіші не тең

 

Ескерту:          «=» таңбасы мен  «:=» таңбаларының  мағналары әр түрлі

  • а=3 – бұл салыстыру, шарт (а-ның мәні 3 санына тең бе деп түсіну керек)
  • а: =3 — меншіктеу бұл а айнымалысының мәні 3-ке тең

 

Көрсетілген шарттардың барлығы ақиқат емес, тіпті кейбіреуін ақиқат па әлде жалған ба екенін анықтайда алмаймыз. Жалпы шарттарды мына түрде бөліп қарастыруға болады.

 

 

Шарттар анықталған не анықталмаған болып екіге бөлінеді:

  1. Анықталған шарт: 4>3, 2=5, length(‘Боран’)=5, 3≠3,

 

Анықталған шарттарды ақиқат не жалған деп тағы екіге бөлуге болады.

Мыс:   3>2, 2=2  —  ақиқат, дұрыс, иә, +, 1, true, истина

3>6, 5≠5  —  жалған, дұрыс емес, -, 0, false, ложь

 

  1. Анықталмаған шарт: а>2, b=50,  A[i]=’S’, Massiv[j+2]=5, length(s)=4

 

Анықталмаған шарттағы а>2 шартын біз дұрыс шарт деп айта алмаймыз, оны біз дұрыс емес депте айта алмаймыз. Себебі біз а неге тең екенін білмейміз. Егер біз а-ның мәнін білетін болсақ, онда біздің анықталмаған шартымыз анықталған шартқа айналады да біз оның ақиқат не жалған екенін анықтай аламыз.Мысалымызда а=2 болса, онда 2>2 шартын аламыз. Бұл әрине анықталған, дұрыс емес шарт.

Жаттығу: Берілген шарттардың қайсысы анықталған , қайсысы анықталмаған шарт.Анықталған шарттардың ақиқат не жалған екенін анықтап беріңдер:

  1. 10=2
  2. 1/2>0.5
  3. s>s+1
  4. 2*3+1<=7
  5. san=14
  6. 21 div 4=5
  7. 40 mod 6 <5
  8. a*a>10

 

 

Бұдан басқа шарттарды жай,күрделі және қарама-қарсы шарттар деп бөліп қарастыруға болатын шарттар бар.Бұл тақырыпты келесі сабаққа қалдырамыз.

 

Ал қазір тармақталу командадаларымен танысамыз.

 

Тармақталу командасы.

Мысал:

Адам жолмен жүріп келе жатыр делік, жол екі жолға айырылсын. Жол мынадай сызбада болсын.

 

Жол екі тармаққа бөлініп кетті.Адам әрі қарай жүру үшін екі жолдың бірін таңдау керек. Егер жоғарғы жолмен жүрсе, онда төменгі жол жүрілмей қалады және кіресінше. Осы мысал сиякты программа жұмысын программадағы екі жолдың біреуін ғана оқып өтетіндей жасау қажет болады және осы жұмысты ұйымдастыратын командалар (кейде операторлар, бұйрықтар дейді)   бар. Ол командалар

 

 

IF -«иф»               (ЕГЕР)

THEN-«зэн»        (ОНДА),

ELSE-«элсе»          (ӘЙТПЕСЕ).

 

Бұл командаларды тармақталу командалары деп атайды.

Екі тармақтың бірін THEN, (ОНДА) жолдары,

ал екінші тармақтағы жолдарды ELSE, (ӘЙТПЕСЕ)  жолдары деп атайды.

 

 

If, then, else тармақталу командалары программада мына үлгіде (форматта) жазылады:Толық түрі

 

If     Q-шарт   then   begin

программа жолдары

end

                          else    begin

программа жолдары

end;

Егер then, else программа жолдары бір жолдан тұрса, онда  begin …. end операторларын жазбауға болады. Онда тармақталу командасының жалпы жазылуы мына түрде болуы мүмкін.

 

 

1)         If     Q-шарт   then   өрнек1  else өрнек2 ;

 

 

2)         If     Q-шарт   then өрнек1

                                   

else      begin

программа жолдары

end;

 

3)         If     Q-шарт   then   begin

программа жолдары

end

 

 else     өрнек2;

 

 

ЕСКЕРТУ: Тармақталу командасында анықталмаған шарт қолданылады және бірінші end командасының соңынан «;» белгісі қойылмайды.

Сонымен тармақталу командасының Q-шартты анықталмаған болу керек.

 

Тармақталу командасының жұмыс жасау принциптері.

Егер шартымыз дұрыс шарт болып шықса , онда программа  then программа жолдарын орындайды.Содан соң программа жұмысы else программа жолдарынан кейінгі жолға ауысады.

Егер шартымыз дұрыс емес, жалған шарт болып шықсы онда, программа жұмысы else программа жолдарына ауысады.

 

Бірақ біздің шартымыз анықталмаған шарт қой?

 

Тармақталу командасындағы Q-анықталмаған шартындағы айнымалыға алдын ала мәнді пернетақта арқылы еңгізіледі, не программа жұмыс жасау барысында сол айнымалының мәнін есептеп өзі тауып алады және айнымалы сол мәнге тең болады. Анықталмаған шартымыз анықталған шартқа  айналады. Осы тармақталу командасына байланысты мынадай Паскаль тіліндегі программалар жолдарын қарастырып кетейік.

 

 

 

 

 

Жаттығулар:

1) Мына программалық жолдар орындалғанда тармақталу командасындағы шарт қандай шарт болып шығады, then мен else жолдарының қайсысы орындалады және  і-дің мәні неге тең болады. Жауабын жазбаша толық түрде бер.

s:=5;

i:=2;

If  s>6 then i:=i+1 else i:=i-1;

 

 

2) Мына программалық жолдарға толық мәлімет бер.

 

k:=3;b:=2;

if b>0 then begin

k:=2*b+2

end

else begin

k:=k+b

end;

 

3) Мысал: Мынадай программа жолдары берілген болсын:

If     a>0   then           begin

Writeln (‘Доп’);

end

                          else    begin

Writeln (‘Қар’);

end;

 

   Егер а=6,-7,2,-1,0,100 , қай жол орындалады (then, else) және нәтижелер терезесіне екі сөздің қайсысы шығады, анықтап беріңдер.

 

а 6 -7 2 -1 0 100
Жол            
Нәтиже            

 

Осы мысалды компьютерде орындататын программа құрайық.

Программада а-ға мәнді пернетақта арқылы еңгізетіндей жасаймыз.

a>0 шартты бойынша

 

Program Esep1;

Var a:integer;

Begin

            Write(‘a=’);

            Readln(a);

             If     a>0   then           begin

Writeln (‘DOP’);

end

                          else    begin

Writeln (‘KAP’);

end;

            readln;

end.

 

Программаны интерактивті тақтада көрсету.

 

Жаттығу №1

 

a≥5  болса, экранға «Орал» сөзі, а<5 болса, «Астана» шығатын программа жаз.

 

 


 

 

a≥5  шарты бойынша

 

Program Esep2;

Var a:integer;

Begin

Write(‘a=’);

Readln(a);

If     a≥5  then begin

Writeln (‘Орал’);

end

else      begin

Writeln (‘Астана’);

end;

readln;

end.

 

 

a<5  шарты бойынша

 

Program Esep3;

Var a:integer;

Begin

Write(‘a=’);

Readln(a);

If     a<5  then begin

Writeln (‘Астана’);

end

else      begin

Writeln (‘Орал’);

end;

readln;

end.

 

 

Егер а-ға 5, -2, 8 сандарын берсек программа қалай жұмыс жасайды.

 

 

 

 

Егер а-ға 5, -2, 8 сандарын берсек программа қалай жұмыс жасайды.

 

 

 

Жаттығу №2

 

х айнымалысына мәнді пернетақтадан беру арқылы у-тің мәнін тап. Егер х>2 болса, онда  у:=x+5  өрнегі, ал х≤2 болса y:=x2-1 өрнегі бойынша. (Екі шарт бойынша программа құрастыр)

 

Жаттығу №3

 

болса, у-тің мәнін табатын Паскаль тілінде екі шарт бойынша программа жаз.