Алгоритмнің түрлері

Сабақтың тақырыбы:   Алгоритмнің түрлері.

Сабақтың мақсаты: а)білімділік: Компьютерде есептер шығару кезеңдерін, программалау тілдерінің құрылымын, командалары мен операторларының қызметін түсініп, оларды тиімді пайдалана білу.

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

б)тәрбиелік: алгоритмдік тілдің ережелерін білуге, өз бетінше алгоритм құрып, оған программа жазуға және компьютерде теріп, орындау іскерлігін қалыптастыру

  1. Ұйымдастыру бөлімі
  2. Оқушыларды түгелдеу, журнал толтыру, оқушылардың дәптерлерін, оқулықтарын қарап шығу.
    2. Сынып, тақта, парта тазалығын қарап шығу, қажет болса ескертулер жасау.
    3. Оқушылардың назарын сабаққа аудару.

    2. Өткенді қайталау.
    Алгоритм дегеніміз не?
    Кім ашқан?

Алгоритмге мысал

Алгоритмде қолданылатын блок-сызба

Алгоритмнің ұсыну формалары қандай?

Алгоритмдік тілде ұсынуға мысал

Графикалық яғни блок-сызба түрінде ұсынуға мысал

Программа тілінде ұсынуға мысал

Программа дегеніміз не?

Алгоритмнің қасиеттері.

Жаңа сабақ

Бүгінгі өтетін сабағымыз осы алгоритмнің түрлері.

Алгоритмнің үш түрі бар: сызықтық, тармақталған, циклдік.

Егер алгоритмнің n қадамы болса және олардың барлығы басынан аяғына дейін бірінен соң бірі тізбектеле орындаса , ондай алгоритмді  сызықтық алгоритм деп аталады.

Сызықтық алгоритмде барлық бұйрықтар алгоритмде  көрсетілгендей тізбектей орындалады.

Оның блок сызбасы мынадай

Мысалы: Үшбұрыштың ауданын табу. Табаны В, биіктігі Н үшбұрыштың ауданын есептейтін алгоритм құру керек. Формула: S=B*H/2

 

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

Шартты тексеру блогын блок-сызбада ромбымен таңбалаймыз. Егер шарт дұрыс болса, онда есепті шешу үшін «иә» тармағы пайдаланылады, ал оған кері жағдайда «жоқ» тармағы пайдаланылады. Егер, әйтпесе, онда (IF, THEN, ELSE) сөздері қолданылады.

Тармақталу алгоритмі 2 түрге бөлінеді: толық тармақталу, қысқаша тармақталу

Қысқаша тармақталу.                              Толық тармақталу.

Қысқаша тармақталу.                              Толық тармақталу.

 

Есеп. А және В сандары берілген. Екі санның үлкенін табу алгоритмі.

 

Алг (арг нақ А,В, нәт лит max)

max:=B

 

Басы

Енізу А,В

max:=B

 

max:=A

Егер А>B

Онда max:=A

Әйтпесе max:=B

бітті

соңышығару max

 

program esep

var a, b, max: real;

begin

write (‘екі санды енгіз:’;);

read (a,b);

if  a>b then max:=a else max:=b;

write (‘max=’, max:6:3);

end

Алгоритмнің бірнеше рет қайталануын циклдік алгоритм деп атайды. Блок сызбада циклдік алгоритмнің шарты алтыбұрышты фигураға жазылады. Циклдік алгоритмде үшін, әзірше, дейін (FOR, WHILE, REPEAT) түйінді сөздері қолданылады.


1-ден n-ға дейінгі  сандардың қосындысын есептейтін программа құрайық.
Мысалы: Қызыл асықты іздеу мысалына сәйкестендіріп алгоритмнің блок-сызбасын құрастырайық.

Program esep

Var s, i, n:integer;

S:=0

Begin

S:=0

Write (‘бүтін сан енгіз’);

Read (n);

S:=s+1

For i:=1 to n do

Begin

S:=s+1;

End;

Write (‘қосынды s=’, s);

End.

aлг есеп

aрг i, n

нәт s

басы

үшін I=1 дейін n

S=s+1

шығару s

соңы

 

Қима қағаздарда 3 түрлі атаулар жазылған, бірдей атауды алған оқушылар бір топ болып жиналады, яғни нәтижесінде 3 топ құрылады.

1-топ «Алгоритм»

2-топ  «Программа»

3-топ «Блок-сызба»

 

Сендерге мынадай тапсырма:

Берілген бүтін х, y, z  үш санның көбейтіндісін шығаратын программа жазыңдар.

Әр топ өз атына сай, яғни алгоритм тобы осы тапсырманың алгритмін құрады, «Программа» тобы осы есептің паскальдағы программасын құрады, ал «Блок-сызба» тобы осы есептің блок-сызбасын сызады.

 

Сабақты бекіту: Бүгінгі сабақтан біз не үйрендік? Пікірімізді алдымыздағы жапсырғыш қағазға жазып, тақтаға жапсырамыз.

 

Үйге тапсырма: А және В бүтін сандары берілген.  Осы сандардың  S-қосындасын, R-айырмасын,  K-көбейтіндісін табу алгоритмін құру керек.

Мұнда сызықтық алгоритмге құрастырамыз.

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