Алгоритмді құру



Дата02.04.2023
өлшемі0,56 Mb.
#173508
түріОқулық
Байланысты:
8-сын-1 тақырып
Бөж5, тест 3 тимс, 9 КЛ ПОУР 2 ЧЕТВЕРТЬ 2021-22гг, 9 класс.СОР

Проблеманы анықтау


Мақсаты:
  • Проблеманы анықтау жүйесін құрастыру;
  • Программаны ықшам, сапалы жазу дағдысын қалыптастыру;
  • Программаның математикалық моделі туралы түсінік қалыптастыру;

Информатика
8 сынып
Программалау ортасында берілген есептер негізінен белгілі бір оқиға немесе құбылысты компьютерде модельдеуден тұрады (1-сұлба). Оқулық-138 беті

 Практикалық жұмыс «Ағашты тең бөліктерге ажырату» жобасы Ұзындығы N (2≤N≤ 100) метрге тең ағашты М (2≤M< 20) бірдей бөлікке кесуге бола ма, болмай ма? Осыны анықта. Егер тең бөліктерге кесу мүмкін болмаса, бөліктерінің айырмашылығы бірден артық болмайтын бөліктерге бөл. (Оқулық-138 беті)


Оқулық 139 бет
Оқулық 139 бет

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


Есептің алгоритмі: Енгізу және нәтижені шығару компоненттерін таңдау. Біздің жағдайда Edit компонентін пайдаланамыз. Есептегі басты шартты N mod М = 0 тексеру үшін тармақталу операторын қолданамыз. Сандар тізбегін шығару үшін параметрлі цикл операторын пайдаланамыз.
4. Жоба пішінін құрастыру. Жобаның пішінін құрастыруда EditImageLabelButton компоненттерін таңдадық. Image компонентін таңдауда мақсат есепке иллюстрация кірістіру арқылы көрнекілігін арттыруды жоспарладық
Оқулық 140 бет
1 сурет

 5. Алгоритмді программа тіліне аудару. Жоспарланған алгоритм бойынша есептің программасын құрастырдық. Программаны құрастыру барысында қолданылған барлық компоненттердің бір-бірімен үйлесімді жұмыс жасауын үнемі қадағалап отыру қажет.


procedure TForm1.Button1Click(Sender: TObject); ​var t,i,j,n,z,k,m:longint; ​s:string; ​begin ​n:=strtoint(edit1.text); ​m:=strtoint(edit2.text); ​t:=n div m; ​if n mod m=0 then label1.caption:=’Ағаш тең бөлікке бөлінеді’ ​else label1.caption:=’Ағаш тең бөлікке бөлінбейді’; ​for i:=1 to m-(n mod m)do ​s:=s+inttostr(t)+’ ‘; ​for i:= 1 to n mod m do ​s:=s+inttostr(t+1)+’ ‘; ​edit3.text:=s; ​end;
Оқулық 140 бет

 Деректерді енгізу және тестілеу. Жоба дайын болғанда оны іске қосамыз. Жоба іске қосылғанда 2-суреттегі жобаны орындау пайда болады. Деректерді енгізу барысында назар аударатын жайт – есептің шартында берілген шектеулерден тыс деректер енгізілмеуі тиіс. Егер программаға 0 және 2 немесе 10 және 16 деректерін енгізсек, программа қате жауап береді.


Себебі, бірінші жағдайда ағаштың ұзындығы нөлге тең болуы мүмкін емес. Мұндай ағаш бөліктерге бөлінбейді. Ал, екінші жағдайда есеп шарты бойынша ағашты бүтін бөліктерге бөлу шарты орындалмайды.
Оқулық 140 бет
2 сурет

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

Тақырыпты бекіту


Үй тапсырмасы.§5.1 сұрақтары (Оқулық 142 бет)
https://forms.gle/xzZuYZKjiHecMgae6

Достарыңызбен бөлісу:




©www.engime.org 2024
әкімшілігінің қараңыз

    Басты бет