СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Алгоритмди программалоо

Категория: Математика

Нажмите, чтобы узнать подробности

Алгоритм боюнча маалымат

Просмотр содержимого документа
«Алгоритмди программалоо»

Тема: Структурасы тармактануучу болгон алгоритмдерди программалоо. Goto инструкциясы. If инструкциясы жана анын түрлөрү. Case инструкциясы. Тандоону уюштуруу. Доцент: Аркабаев Н.К.

Тема: Структурасы тармактануучу болгон алгоритмдерди программалоо. Goto инструкциясы. If инструкциясы жана анын түрлөрү. Case инструкциясы. Тандоону уюштуруу.

Доцент: Аркабаев Н.К.

Goto инструкциясы. Тармактануучу алгоритмдерди уюштурууда программанын бир тармагынан экинчи бир тармагына өтүү үчүн Goto шартсыз өтүү инструкциясы колдонулат. goto кызматчы сөзүнөн кийин эн-белги (метка) көрсөтүлүшү талап кылынат. Бул оператор көрсөтүлгөн эн-белги (метка) менен белгиленген операторго башкарууну берүүнү уюштурат. Бул операторду колдонуу үчүн көрсөтүлүүчү эн-белгилерди (меткаларды) программанын Label бөлүгүндө жарыялоо талап кылынат.

Goto инструкциясы.

Тармактануучу алгоритмдерди уюштурууда программанын бир тармагынан экинчи бир тармагына өтүү үчүн Goto шартсыз өтүү инструкциясы колдонулат. goto кызматчы сөзүнөн кийин эн-белги (метка) көрсөтүлүшү талап кылынат.

Бул оператор көрсөтүлгөн эн-белги (метка) менен белгиленген операторго башкарууну берүүнү уюштурат.

Бул операторду колдонуу үчүн көрсөтүлүүчү эн-белгилерди (меткаларды) программанын Label бөлүгүндө жарыялоо талап кылынат.

Структурасы тармактануучу болгон алгоритмдер. Мисал: Клавиатурадан кийрилген эки бүтүн сандын чоңун таап берүүчү программа түз.   «Текшерүү b? max:= a; max:= b; чыгаруу max аягы " width="640"

Структурасы тармактануучу болгон алгоритмдер.

Мисал: Клавиатурадан кийрилген эки бүтүн сандын чоңун таап берүүчү программа түз.

«Текшерүү"

Тармактануунун толук формасы

башы

  • программанын бөркү
  • a жана b ны кийир
  • a менен b ны салыштыр, эгерде a, b дан чоң болсо, анда a чоң болот, антпесе b чоң болот
  • чоң санды экранга чыгар
  • аягы

кийирүү a,b

ооба

жок

a b?

max:= a;

max:= b;

чыгаруу max

аягы

b then begin end else begin end ; writeln (‘Эки сандын чоңу: ', max); end. шарттуу оператордун толук формасы max := a ; max := b ; " width="640"

1-вариант

program qq1;

var a, b, max: integer;

begin

writeln(‘Эки бутун санды кийир:');

readln(a,b);

if a b then begin

end

else begin

end ;

writeln (‘Эки сандын чоңу: ', max);

end.

шарттуу оператордун толук формасы

max := a ;

max := b ;

b then max := a else max := b ; writeln (‘Эки сандын чоңу: ', max); end. Демек структурасы тармактануучу болгон алгоритмдерди уюштуруу үчүн Паскалда шарттуу оператор колдонулат. " width="640"

2-вариант

program qq2;

var a, b, max: integer;

begin

writeln(‘Эки бутун санды кийир:');

readln(a,b);

if a b then max := a

else max := b ;

writeln (‘Эки сандын чоңу: ', max);

end.

Демек структурасы тармактануучу болгон алгоритмдерди уюштуруу үчүн Паскалда шарттуу оператор колдонулат.

Шарттуу оператордун жалпы форматы:  if  then begin  {шарт аткарылган учурдагы аракет}   end  else begin  {шарт аткарылбаган учурдагы аракет}   end; Эскертүү: else кызматчы сөзүнөн мурда (;) үтүрлүү чекит символу коюлбайт шарттуу оператордун экинчи бөлүгү ( else …) жок болушу да мүмкүн (толук эмес формасы) эгерде блокто бир эле оператор кармалса, анда begin жана end кызматчы сөздөрүн алып салууга болот. else кызматчы сөзүнөн мурда (;) үтүрлүү чекит символу коюлбайт шарттуу оператордун экинчи бөлүгү ( else …) жок болушу да мүмкүн (толук эмес формасы) эгерде блокто бир эле оператор кармалса, анда begin жана end кызматчы сөздөрүн алып салууга болот.

Шарттуу оператордун жалпы форматы:

if then begin

{шарт аткарылган учурдагы аракет}

end

else begin

{шарт аткарылбаган учурдагы аракет}

end;

Эскертүү:

  • else кызматчы сөзүнөн мурда (;) үтүрлүү чекит символу коюлбайт шарттуу оператордун экинчи бөлүгү ( else …) жок болушу да мүмкүн (толук эмес формасы) эгерде блокто бир эле оператор кармалса, анда begin жана end кызматчы сөздөрүн алып салууга болот.
  • else кызматчы сөзүнөн мурда (;) үтүрлүү чекит символу коюлбайт
  • шарттуу оператордун экинчи бөлүгү ( else …) жок болушу да мүмкүн (толук эмес формасы)
  • эгерде блокто бир эле оператор кармалса, анда begin жана end кызматчы сөздөрүн алып салууга болот.
b then begin a := b end else b := a end ; if a b then begin a := b else begin b := a end ; end begin if a b then begin if a b then begin a := b a := b end end; else b a begin else begin b := a b := a end ; end ; end begin " width="640"

Катаны тапкыла!

if a b then begin

a := b

end

else

b := a

end ;

if a b then begin

a := b

else begin

b := a

end ;

end

begin

if a b then begin

if a b then begin

a := b

a := b

end

end;

else b a begin

else begin

b := a

b := a

end ;

end ;

end

begin

a then writeln (' Эки сандын чону: ', max); end. шарттуу оператордун толук эмес формасы max := b ; " width="640"

3-вариант

program qq3;

var a, b, max: integer;

begin

writeln(' Эки бутун санды кийир ');

read ( a, b );

max := a;

if b a then

writeln (' Эки сандын чону: ', max);

end.

шарттуу оператордун толук эмес формасы

max := b ;

b then begin a := b; end; else b := a; if a b then begin a := b; else b := a; a := b end if a b then a := b; else b := a; end; if a b then else begin if b = a then b := a; b := a; end ; a := b " width="640"

Катаны тапкыла!

if a b then begin

a := b;

end;

else b := a;

if a b then begin

a := b;

else b := a;

a := b

end

if a b then

a := b;

else b := a; end;

if a b then

else begin

if b = a then

b := a;

b := a;

end ;

a := b

Тандоо оператору. Case тандоо оператору if шарттуу операторунун жалпыланышы болуп ал кайра туташтыргычтын (переключатель) маанисинен көз каранды түрдө бир нече аракеттердин ичинен бирөөсүн аткарууга мүмкүнчүлүк берет. Кайра туташтыргыч катары case жана of сөздөрүнүн ортосуна жайгашуучу туюнтма пайдапанылат. Бул туюнтманын жыйынтыгы элементтеринин жалпы саны 65535 тен ашпаган иреттик типтеги гана маани болушу мүмкүн.

Тандоо оператору.

Case тандоо оператору if шарттуу операторунун жалпыланышы болуп ал кайра туташтыргычтын (переключатель) маанисинен көз каранды түрдө бир нече аракеттердин ичинен бирөөсүн аткарууга мүмкүнчүлүк берет.

Кайра туташтыргыч катары case жана of сөздөрүнүн ортосуна жайгашуучу туюнтма пайдапанылат. Бул туюнтманын жыйынтыгы элементтеринин жалпы саны 65535 тен ашпаган иреттик типтеги гана маани болушу мүмкүн.

Тандоо операторунун жалпы структурасы төмөнкүдөй формада болот:  Case  of  константалар1: Оператор1;  константалар2: Оператор2;  . . .  константаларN: ОператорN;  else ОператорE end;  Мында  – туюнтма же иреттик типтеги өзгөрүлмө. Оператор төмөнкүдөй иштейт: алгач  эсептелет, андан кийин анын мааниси  тизмесинен изделет жана табылган мааниге тиешелеш келген оператор аткарылат. Эгерде бир да маани табылбаса, анда else кызматчы сөзүнөн кийинки оператор аткарылат.

Тандоо операторунун жалпы структурасы төмөнкүдөй формада болот:

Case of

константалар1: Оператор1;

константалар2: Оператор2;

. . .

константаларN: ОператорN;

else ОператорE

end;

Мында – туюнтма же иреттик типтеги өзгөрүлмө.

Оператор төмөнкүдөй иштейт: алгач эсептелет, андан кийин анын мааниси тизмесинен изделет жана табылган мааниге тиешелеш келген оператор аткарылат. Эгерде бир да маани табылбаса, анда else кызматчы сөзүнөн кийинки оператор аткарылат.

Мисал. Клавиатурадан кийрилген айдын номерине жараша андагы күндөрдүн санын чыгаруучу программа түзгүлө. Чыгаруу: Ай боюнча күндөрдүн саны төмөнкүдөй: 28 күн – 2 (февраль) 30 күн – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь) 31 күн – 1 (январь), 3 (март), 5 (май), 7 (июль),  8 (август), 10 (октябрь), 12 (декабрь) ? Буга чейин биз билген операторлордун жардамында чечүүгө болобу?

Мисал.

Клавиатурадан кийрилген айдын номерине жараша андагы күндөрдүн санын чыгаруучу программа түзгүлө.

Чыгаруу: Ай боюнча күндөрдүн саны төмөнкүдөй:

28 күн – 2 (февраль)

30 күн – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь)

31 күн – 1 (январь), 3 (март), 5 (май), 7 (июль), 8 (август), 10 (октябрь), 12 (декабрь)

?

Буга чейин биз билген операторлордун жардамында чечүүгө болобу?

Алгоритми башы кийир M оба M  =  1? тандоо оператору D  :=  31; жок оба M  =  2? D  :=  28; жок оба M  =  12? D  :=  31; жок  чыгуу D ката бир дагы дал келүүчүлүк табылбаса аягы

Алгоритми

башы

кийир M

оба

M = 1?

тандоо оператору

D := 31;

жок

оба

M = 2?

D := 28;

жок

оба

M = 12?

D := 31;

жок

чыгуу D

ката

бир дагы дал келүүчүлүк табылбаса

аягы

0 then writeln(‘Бул айда ', D, ' күн бар.') else writeln(‘Айдын туура эмес номери'); end. ни один вариант не подошел " width="640"

Программасы

program qq;

var M, D: integer;

begin

writeln(‘Айдын номерин кийир:');

read ( M );

case M of

2: D:=28;

4,6,9,11: D:=30;

1,3,5,7,8,10,12: D:=31;

else D:=-1;

end;

if D 0 then

writeln(‘Бул айда ', D, ' күн бар.')

else

writeln(‘Айдын туура эмес номери');

end.

ни один вариант не подошел


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!