5.3 Алгоритмді программалау

Python-да тармақталған алгоритмдерді пайдаланып, есептердің программасын қалай құрастыруға болады?

   Жаңа білім

   Ойлан

  • Алгоритмнің қандай түрлерін білесің? Есептерді программалауда тиімді алгоритм құру қаншалықты маңызды?

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

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

Блок-сызбалар арқылы алгоритмдік қадамдарды жоспарлап алғаннан кейін ғана есептің программасын жазуға кіріскен дұрыс. Алгоритмдер құрылымына қарай 3 түрге бөлінеді.

   Алгоритмдердің құрылымына қарай бөлінуі 

​Сызықтық алгоритмдер – тармақталу мен қайталану әрекеттері жоқ, барлық әрекет тізбекпен, бірінен соң бірі табиғи реттілікпен бір реттен орындалатын алгоритмдік құрылым (1-схема).

Тармақталу алгоритмдері – бастапқы қойылған шарттың орындалуына қарай есептеу жүргізудің бірінші немесе екінші жолымен жүруін көрсете-тін алгоритмдік құрылым (2-схема).

Циклдік алгоритм – бастапқы қойылған шарт орындалғанша қайталанатын командалар тізбегін көрсететін алгоритмдік құрылым. Циклдер көмегімен программа жазу оның жазылу процесін жеңілдетеді (3-сызба).

 Есептердің алгоритмін графикалық блок-сызбаны арқылы өрнектей алсақ, кейінгі қадамда блок-сызбаны негізге ала отырып, программа кодын құруды оңай жүзеге асыруға болады. Есеп қарастырайық. Екі таңбалы N саны берілген. Осы санның цифрларының қосындысы тақсан ба, әлде жұп сан ба? Анықта. Егер тақ сан болса, жауапқа – 1 саны, жұп сан болса – 0 саны шықсын. Есептің блок-схемасы 4-схемада берілген.

  Практикалық жұмыс

 Бүгін – Айдостың туған күні. Оған достары қонаққа келеді. Айдос қонақтарға дастарқан жаю үшін үйінің жанында орналасқан екі дүкеннен қажетті азық-түлік сатып алуы керек. Айдостың үйінен 1-дүкенге дейінгі арақашықтық – а метр, 2-дүкенге дейін – b метр. Ал екі дүкеннің арасы c метр болады. Айдосқа екі дүкенге де барып, үйіне қайтып келуі үшін ең қысқа жолды таңдауға көмектес (2-сурет).

«Дүкенге бару» жобасының программа коды 3-суретте берілген. Жоба-шарт программадан көріп тұрғаныңдай шарт тексерудің elif құрылымы арқылы орындалған.

Талдау
​«Дүкенге бару» жобасының программалық кодын талда. Программaға 
​1) a = 4; b = 5; c = 10 және
​2) a = 5; b = 5; c = 9 жағдайлары енгізілгенде қандай нәтижелер алынады?
​Алынған нәтижелерді талдап, түсініктеме бер.

   Практикалық жұмыс

  Жинақтау

  «Дүкенге бару» жобасының блок-схемасын құрып, оны сыныптастарыңа ұсын. Құрастырған блок-схемалардың алгоритм құрылымының қай түріне жатады? Түсініктеме бер.

Бағалау

Есептің алгоритмін құрастырудан программалау процесіне өту кезеңін графикалық тәсілде дайындап алудың маңызын бағала. Сыныптастарыңмен «Бірден есептің программасын жазудан бастау керек пе, әлде алдын ала оның алгоритмін графикалық түрде дайындап алған дұрыс па?» деген тақырыпта пікірталас ұйымдастыр.

№1 тапсырма

   Үштаңбалы N саны берілген. Осы санның цифларының арасындағы ең үлкенін тауып, экранға шығар. Тапсырманың блок-сызбасын құр.

Мысалы

Нәтиже

120

2

786

8

№2-тапсырма

   Сандармен жасалатын негізгі амалдардың бірі – оларды

салыстыру. K мен P бүтін сандары берілген. Осы сандарды салыстыр. Егер K > P шарты орындалса – " > " , егер K < P болса – "<", егер K = P болса – "=" таңбалары экранға шықсын.

Мысалы

Нәтиже

47 68

<

4 -1

>

-80 -80

=

 Үй тапсырмасы

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

Өтінемін күте тұрыңыз