Инфоурок Информатика Другие методич. материалыПаскаль тілінде басқару операторлары

Паскаль тілінде басқару операторлары

Скачать материал

3-сабақ. Шартты оператор

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

Шартты оператор құрылымы келесі түрде болады:

IF шарт THEN 1-оператор ELSE 2-оператор;

Алдымен шарт есептеліп, егер нәтиже – TRUE (ақиқат) болса, онда 1-оператор орындалады, егер нәтиже FALSE (жалған) тең болса, онда керісінше 2-оператор орындалады.

Шартты операторда then кейін және else кейін синтаксис бойынша тек бір оператор ғана тұра алады. ELSE сөзінің алдында нүктелі үтір ешқашан қойылмайды. Егер берілген шартты орындау (немесе орындамау) кезінде бір емес, бірнеше әрекет орындау қажет болса, онда оларды бір құрама операторға, яғни бұл әрекеттер тізбегін begin... end операторлар жақшасына алу керек.

Команда форматы: BEGIN оператор; оператор; ... оператор END;
Мысалы:
If a<b then
begin
R:=a;
A:=b
B:=r
End;

 

Блок-схемада шартты оператор келесі түрде болады:

Мысал 1: Екі сан енгізу, оларды салыстыру, нәтижені мына түрде шығарыңыз: a<b? a=b, a>b

Program chisla;

Var a,b:integer;

Begin

Readln(a,b);

If a<b then writeln(a,'<',b)

else if a=b then writeln(a,'=',b) else writeln(a,'>',b);

End.

Шартты оператордың қысқартылған түрі бар:

IF условие THEN оператор1;

 

 

 

 

Мысал 2: Сан енгізу, егер ол оң болса, оны 2 есе арттыру.

Program chislo2;

Var a:integer;

Begin

Writeln('а санын енгізіңіз');

Readln(a);

If a>0 then a:=a*2;

Writeln(a);

Readln;

End.

 

Логикалық операциялар және амалдар.

Егер шарт орындалса, сәйкес амал ақиқат деп айтылады, егер орындалмаса – амал жалған. Күрделі шартарды құру үшін Паскальда төрт логикалық операциялар бар:

NOT – терістеу (ЕМЕС),

AND – логикалық көбейту (ЖӘНЕ),

OR – логикалық қосу (НЕМЕСЕ),

XOR – ариметикалық "немесе".

Әр түрлі мәндегі операторлар үшін логикалық операциялар нәтижесі кестеде келтірілген, мұндағы Т- true (ақиқат), F - false (жалған), ал А және В қатынас операциялар нәтижесі.

A

B

Not A

A and B

A or B

A xor B

T

T

F

T

T

F

T

F

F

F

T

T

F

F

T

F

F

F

F

T

T

F

T

T

Логикалық операциялар приоритеті: 1) not; 2) and; 3) or; 4) xor.

Логикалық амалдар мысалдары:
a) (0<x) AND (x<=1)
b) (a=0) OR (abs(x)<5)
c) NOT (x=y)

Қатынас операциялардың приритеті логикалық операция приоритетінен төмен, сондықтан оларды логикалық операциялармен бірге қолданған кезде жақшаға алған жөн.

Айнымалылар, константалар, салыстырулар, логикалық операциялар мен жақшалардан логикалық амалдар құруға болады.

Келесі есепті қарастырайық:

а және b қабырғалы тікбұрышты саңылау мен х, у, z қабырғалы кірпіш бар. Кірпіш саңылаудан өте ала ма, соны анықтау қажет.

Шешуі.

Кірпіштің әрқайсысын 90 градусқа бұруға болатын 3 қыры бар, яғни әр қыр үшін екі жағдайды тексеру қажет. Барлығы алты. Мынадай шарттар аламыз:

(a>x)and(b>y) or (b>x) and (a>y) or

(a>x) and(z>y) or (z>x) and(a>y) or

(b>x) and(z>y) or (z>x) and(b>y)

Бағдарлама коды:

Program prim_8;

Var a,b,x,y,z:integer;

F:boolean;

Begin

Write('Саңылау өлшемін енгізіңіз ');

Readln(a,b);

Write('Кірпіш өлшемін енгізіңіз ');

Readln(x,y,z);

If (a>x)and(b>y) or (b>x)and(a>y) or (a>x)and(z>y) or

(z>x)and(a>y) or (b>x)and(z>y) or (z>x)and(b>y)

then Writeln ('Кірпіш саңылауға өте алады')

Else Writeln ('Кірпіш саңылауға өте алмайды');

Readln;

End.

 

Таңдау операторы Case.

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

Case операторының форматы мынадай:

Case реттік айнымалы of

1_мән: 1_оператор;

2_мән: 2_оператор;

n_мән: n_оператор;

Else оператор;

End;

Else жолы жоқ сase операторының қысқартылған түрін қолдануға болады. Бұл жағдайда басқару, егер ешбір мән реттік айнымалы мәнімен сәйкес келмесе, end кейінгі операторға беріледі.

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

Мысал 1

Case i of

1,3,5,7:Writeln('Тақ сандар');

2,4,6,8:Writeln('Жұп сандар');

10..100: Writeln('10-нан 100-ге дейінгі сандар');

End;

 

Саse операторының блок-схемасы:

Мысал 2: Апта нөмірін енгізу, нөмірге байланысты  «дүйсенбі», «сейсенбі» және  т.б. атауларды шығару, егер нөмір 7-ден көп немесе 1 аз болса, онда «мұндай апта күні жоқ» деп шығару керек.

Program den;

Var n:integer;

Writeln('Апта нөмірін енгізіңіз');

Readln(n);

Case n of
1: writeln ('дүйсенбі');
2: writeln ('сейсенбі');
3: writeln ('сәрсенбі');

4: writeln ('бейсенбі');

5: writeln ('жұма');

6: writeln ('сенбі');

7: writeln ('жексенбі');

Else writeln ('мұндай апта күні жоқ');

End;

 

Есептерді шешу:

Шартты оператор қолдануы мысалы ретінде екі санның ең үлкенін табу есебін қарастырайық.

Берілген есептің алгоритмін құрайық:

Берілгені:

a,b – деректер типі (?) – мысалы бүтін сандар

Шешуі:

Егер a>b онда Жауап шығару:’Екі санның үлкені а’

Әйтпесе Жауап шығару:’ Екі санның үлкені b’

1-тапсырма

1.     Turbo Pascal бағдарламалау ортасын ашу.

2.     Берілген алгоритм бойынша бағдарлама теру.

3.     Бағдарламаны компиляциядан өткізу, орындауға жіберу.

4.     Барлық жағдайлар үшін бағдарлама жұмысын тексеру.

program Number;

var

a,b:integer;

Begin

Writeln('Екі a және b санын енгізіңіз:');

Readln(a,b);

If a>b

then Writeln(' Екі санның үлкені а=',a)

else Writeln(' Екі санның үлкені b=',b);

end.

Сұрақ: Біздің бағдарлама бізді барлық жағынан қанағаттандыра ма?

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

Егер a=b

Онда Жауап шығару «Сан a=b»

program Number;

var

a,b:integer;

Begin

Writeln('a және b бүтін сандарын енгізіңіз:');

Readln(a,b);

If a>b

then Writeln('Екі санның үлкені а=',a)

else

if a=b

then Writeln('Сан a=b=',a)

else Writeln('Екі санның үлкені b=',b);

end.

 


Есеп 2. Бүтін сан берілген. Егер ол оң болса, онда оған 1 қосу; әйтпесе оны өзгертпеу. Нәтижені шығару.

Program if_1;

Var a:integer;

Begin

Writeln('Сан енгізіңіз');

Readln(a);

If a>0 then a:=a+1;

Writeln('Нәтиже ',a);

Readln;

End.

 

 

 

 

 

 

 

 

 

 

 

 

Есеп 3. Бүтін К саны берілген. К санына сәйкес бағалау жолын шығару ( 1 – «нашар», 2 – «қанағаттанарлықсыз», 3 – «қанағаттанарлық», 4 – «жақсы», 5 – «өте жақсы». Егер К 1-5 диапазонында жатпаса, «қате» шығару.

Program case_1;

Var k:integer;

Begin

Writeln('бағаны енгізіңіз');

Readln(k);

Case k of

1:Writeln(' нашар');

2:Writeln(' қанағаттанарлықсыз');

3:Writeln ('қанағаттанарлық');

4:Writeln('жақсы');

5:Writeln('өте жақсы');

Else Writeln('мұндай баға жоқ');

end;

Readln;

End.


 

 

 

 

Тапсырмалар

1.     Нәтижесі дұрыс есептелген амалдарды белгілеңіз:

a)     60>20 = true

b)    not (30> 10) = false

c)     (3>2) and (5>6) = true

d)    (60>70) or (100<90) = true

e)     (60>70) and (100<90) = true.

2.     А:=5;   B:=10;   C:=15 деп алайық. (true, false) амалының нәтижесін есептеңіз:

Амал

Нәтиже

Амал

 

Нәтиже

 

 

 

(А=В) or (A<=B)

 

Not (A>=5)

 

(А=В) and (A<=B)

 

(С=А+В) or (B>C)

 

not(A=B) and (A<B)

 

(С<=А-В) or (B<C)

 

(В<=12)ог(С=15)

 

(С<=А+В) or (B>C)

 

(B<=12)and(C=15)

 

(С=А+В) and(B<C)

 

3.     Әр сөйлем үшін логикалық амал жазыңыз:

А (18; 80) диапазонында жатады ___________________________________

А [18; 80) диапазонында жатады ___________________________________

А (-10; 18) диапазонында жатады __________________________________

А [-10; 18] диапазонында жатады __________________________________

А -1 кіші немесе 1 артық__________________________________________

А [18; 80) диапазонында жатпайды __________________________________

А 0 артық және 10 тең емес_________________________________________

А 4 және 5 еселі (mod қолданыңыз)_________________________________

4.     Алгоритм үзіндісінің сөздік сипаттауын Паскаль тілінде жазыңыз:

1)    Егер Х саны 47 тең болса, онда айнымалы Х 15 арттыру, әйтпесе 36 азайту;

2)    Егер айнымалы S 21 тең болмаса, онда айнымалы S 6 есе көбейту , әйтпесе 53 кеміту;

3)    Егер айнымалы U тақ болса, онда оны 8 арттыру, әйтпесе 53 есе көбейту;

4)    Егер Z  саны 48 үлкен болса, онда 51 арттыру, әйтпесе 51 кеміту;

5)    Егер X 15 кіші болса, онда Y мәніне X/2 меншіктеу, ал Z мәніне 15/ X меншіктеуәйтпесе Y мәніне X*2 меншіктеу, ал   Z мәніне 15- X меншіктеу.

5.     ах=b теңдеуінің шешімін табатын бағдарлама шығатындай бағдарлама жолдарын дұрыс ретпен орналастырыңыз:

1)  writeln(‘шешімі жоқ)

 

2)  a,x,b:real;

 

3)   if

 

4)  writeln(‘x=’,b/a);

 

5)  a<>0

 

6)   begin

 

7)   then

 

8)   readln(a,b)

 

9)   end.

 

10)  else

 

6.     Берілген бағдарламаны орындағаннан кейін экранға не шығады:

a=8, n=5

a=3, n=3

Program  Primer;

Var  x, y:integer;

Begin

  Read(a,n);

 if a<=10 then writeln(a*2)

 else writeln(n*2);

 End.

Program  Primer;

Var  x, y:integer;

Begin

  Read(a,n);

 If a mod 3<>0

 then writeln(a+5)      

else writeln(n+2);

 End.

7.     Кестені толтырыңыз:

Program Primer;

x

y

a

19

10

 

6

44

 

100

49

 

55

22

 

Var    a, x, y:integer;

Begin

Read(x,y);

If (x+y>50) or  (y>100)  Then

A:=x+y

Else

A:=2*x+y;

Write(a);

End.

8.     Бағдарлама фрагментін блок-схема түрінде көрстеңіздер:

а)

IF a>b THEN

k:=k+l

ELSE

IF b>c THEN

k:=k+2

ELSE

 k:=k+3;

Writeln(k)

9.     Берілген CASE операторына эквивалентті IF операторын жазыңыздар:

CASE x OF

2, 5 : writeln ('Тең түсу');

7..11: writeln ('Жеңіс')

ELSE

writeln ('Жеңіліс')

END;

10. Бағдарлама фрагментін орындағаннан кейін экранға не шығатынын анықтаңыз:

k:=10;

CASE k mod 3 OF

0: writeln('k=4m');

1: writeln('k=4m+l');

2: writeln('k=4m+2');

3: writeln('k=4m+3');

END;

d:=30;     s:=1000;

Case d of

1..5:  s:=15;

6..10:  s:=36;

11..25:  s:=30;

End;

Writeln(s);

11. Берілген IF операторына эквивалентті CASE операторын жазыңыздар:

 ……………………….

If (x>=a) and (x<=b) then

     writeln ('Жақсы')

else

     If (x = d) or (x = f) then

writeln ('Нашар')

     else

writeln ('Қате енгізу');

……………………….

12. Келесі есептер үшін бағдарлама құрыңыз:

Есептер

Белгі

        Х саны берілген.                       х2+1, если х <0

1)      Функция мәнін есептеу: У=      x-2,1,если  х>

                                         sin x, если  0х

 

2)       Мектепте оқитын енгізген жылы бойынша (1-ден 11 дейін сан) «Сәлем, k-сыныптық хабарламасын шығару. Мысалы, егер k=1, «Сәлем, бірінші сыныптық

 

 

 

Бағдарлама құру:

1.     Функция мәнін есептейтін блок-схема және бағдарлама құру.

2.     Бүтін сан берілген. Егер ол оң болса, 1 қосу; әйтпесе 2 азайту. Нәтижені шығару.

3.     Бүтін сан берілген. Егер ол оң болса, 1 қосу; егер теріс болса, 2 азайту; егер нөлге тең болса, 10 ауыстыру. Нәтижені шығару.

4.     Бүтін үш сан берілген. Жиын ішінде оң сандар санын табу.

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Паскаль тілінде басқару операторлары"

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Инструктор по тяжелой атлетике

Получите профессию

Бухгалтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Тақырыбы: Паскаль тілінде басқару операторлары

Мақсаты: Паскаль  тілінде  шартты,  таңдау  операторлардың  жасалу жолын  көрсете  отырып  есеп  шығаруға  дағдыландыру. 

                                       Шартты оператор

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

Таңдау операторы Case.

Берілген оператор бірнеше (екіден артық) мүмкін болу шешімдері бар жағдайда мүмкін болу нұсқаларының ішінен біреуін таңдауды жүзеге асырады.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 655 383 материала в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 09.01.2015 658
    • DOCX 111.5 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Атанбай Айдана Сарсенгалиевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Атанбай Айдана Сарсенгалиевна
    Атанбай Айдана Сарсенгалиевна
    • На сайте: 9 лет и 1 месяц
    • Подписчики: 0
    • Всего просмотров: 53359
    • Всего материалов: 16

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Фитнес-тренер

Фитнес-тренер

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Теория и методика обучения информатике в начальной школе

Учитель информатики в начальной школе

300/600 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе
  • Сейчас обучается 95 человек из 34 регионов
  • Этот курс уже прошли 222 человека

Курс профессиональной переподготовки

Разработка и сопровождение требований и технических заданий на разработку и модернизацию систем и подсистем малого и среднего масштаба и сложности

Системный аналитик

600 ч.

9840 руб. 5900 руб.
Подать заявку О курсе
  • Сейчас обучается 64 человека из 34 регионов
  • Этот курс уже прошли 83 человека

Курс повышения квалификации

Особенности подготовки к сдаче ЕГЭ по информатике и ИКТ в условиях реализации ФГОС СОО

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 106 человек из 42 регионов
  • Этот курс уже прошли 576 человек

Мини-курс

Интегрированное управление бизнес-процессами

3 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Эффективное планирование и управление временем

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 41 человек из 19 регионов
  • Этот курс уже прошли 15 человек

Мини-курс

Классики и современники: литературные портреты и психология творчества

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 23 человека из 17 регионов
  • Этот курс уже прошли 14 человек