Программа өңдеудің кіріктірілген ортасында есептерді қалай шешуге болады? Есептің моделі дегеніміз не? Есептің моделін құру үшін қандай білім қажет деп ойлайсың? Программа өңдеудің кіріктірілген ортасында есептерді шешу қандай кезеңдерден тұрады деп ойлайсың? Жаңа білім
Адам баласы өмірге келген күннен бастап үнемі туындаған мәселені шешумен айналысады (алғаш жүру, сөйлеу т.б.). Осындай мәселелерді шешу – адамның өмір сүруі үшін оның жан-жақты дамуы, жалпы қоғамда өмір сүру үшін маңызды. Әр адамның атқаратын қызметіне, өмір сүру жолына қарай оның алдында күнделікті әртүрлі мәселелер туындайды. Өмірдің адам алдына қойған мәселелерінің дер кезінде шешімін тауып, туындаған қиындықты сабырмен, ақылмен және тапқырлықпен жеңе білу адамның маңызды қасиеттерінің бірі болып саналады.
Адамды кіші жастан өмір сүруге үйретуде, тәрбиелеуде мектепте оқитын пәндердің рөлі өте жоғары. Себебі, өмірдің барлық салаларын қамтитын бұл пәндер арқылы әр пәннің өзіне ғана тән есеп-тапсырмалары ұсынылады (математика, физика, информатика, тіл үйрену пәндері, тарих және т.б). Осы тапсырмаларды шешу барысында адамның ақыл-ойы жетіліп, пайымдауы артады, ақыл-ой иесі ретінде қоғамда өмір сүруге бейімделіп, ойлау іс-әрекеті қалыптасады.
Программалау ортасында берілген есепті орындау қандай кезеңдерден тұрады?
Программалау ортасында берілген есептер негізінен белгілі бір оқиға немесе құбылысты компьютерде модельдеуден тұрады
1-сұлба. Орындалу кезеңдері
Берілген есепті немесе тапсырманы программалау ортасында орындау кезеңдерімен танысып шықтық. Ол үшін есепті шешу кезеңдерін практикалық тұрғыдан пайдаланып, тапсырмаларды орындап көрейік. Lazarus-та «Ағашты тең бөліктерге бөлу» жобасын қарастырайық. Жобаның толық орындалу кезеңдері практикалық жұмыс ретінде берілген. Осы жобаны мұқият талдап, компьютерде орында.
Практикалық жұмыс
«Ағашты тең бөліктерге ажырату» жобасы
Ұзындығы N (2≤N≤ 100) метрге тең ағашты М (2≤M< 20) бірдей бөлікке кесуге бола ма, болмай ма? Осыны анықта. Егер тең бөліктерге кесу мүмкін болмаса, бөліктерінің айырмашылығы бірден артық болмайтын бөліктерге бөл.
1. Берілген есептің шартын дұрыс түсіну. Есеп шарты бойынша екі шарт туындайды:
1-шарт: Ұзындығы N метр ағашты М бірдей бөлікке бөлу.
2-шарт: Бірдей бөлікке бөлу мүмкін болмаған жағдайда бөліктердің ұзындық айырмашылығы бірден артық болмайтын бүтін бөліктерге бөлу. Есепте басқа жағдай туындамайды. Өйткені ағашты бөлікке бөлуде міндетті түрде осы екі шарттың бірі орындалады.
2. Есептің математикалық моделін құрастыру.
Берілген 1-мысалдан көрініп тұрғандай N саны М-ге қалдықсыз бөлінсе ғана ағашты тең бөліктерге бөлуге болады. Яғни, 1-шарттың орындалуы үшін NmodМ=0 шарты қанағаттандырылуы тиіс. Егер бұл шарт орындалмаса, онда есептің нәтижесі 2-шарт бойынша табылады. Егер берілген мысалдарға қарасақ, есептің орындалуында өзіндік заңдылық бар екені байқалады.
2-мысалды қарастырайық. 13 санын 4-ке бөлгенде бөлінді 3-ке, қалдық 1-ге тең болды. Есептің жауабы (К=3) ретінде К-ны М–Р рет, яғни 3 рет және Р рет (К+1)-ді жауап ретінде шығару керек. Бұл заңдылықты басқа да жағдайларға тексеруге болады.
Мысалы, 37 және 8 болған жағдайды қарастырайық. 37-ні 8-ге бөлгенде бөлінді 4, қалдық 5-ке тең. Бөлінді болатын санды 8–5 рет жауапқа шығарамыз: 4 4 4 тізбегі пайда болады. Бұдан кейін, 4+1 бөліндіге бірді қосып, қалдық саны неше болса, сонша рет жауапқа шығарамыз. 5 5 5 5 5 тізбегі пайда болады. Есептің 1-шарты бойынша ағашты тең бөлікке бөлу мүмкін болмағанымен, 2-шарты бойынша бөліктерінің айырмашылығы бірден артық емес, бүтін бөліктерге бөлуге болады.
3. Алгоритмін құрастыру. Есептегі негізгі заңдылықты тауып, математикалық моделін жасап алдық. Бұл есептің программасын жасау үшін оны жүйелеп, қадамдарға бөлуіміз қажет. Әрбір қадамда орындалатын командалар тізімін жоспарлаймыз.
Есептің алгоритмі:
Енгізу және нәтижені шығару компоненттерін таңдау. Біздің жағдайда Edit компонентін пайдаланамыз.
Есептегі басты шартты N mod М = 0 тексеру үшін тармақталу операторын қолданамыз.
Сандар тізбегін шығару үшін параметрлі цикл операторын пайдаланамыз.
4. Жоба пішінін құрастыру. Жобаның пішінін құрастыруда Edit, Image, Label, Button компоненттерін таңдадық. Image компонентін таңдауда мақсат есепке иллюстрация кірістіру арқылы көрнекілігін арттыруды жоспарладық (1- сурет).
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;
6. Деректерді енгізу және тестілеу. Жоба дайын болғанда оны іске қосамыз. Жоба іске қосылғанда 2-суреттегі жобаны орындау пайда болады. Деректерді енгізу барысында назар аударатын жайт – есептің шартында берілген шектеулерден тыс деректер енгізілмеуі тиіс. Егер программаға 0 және 2 немесе 10 және 16 деректерін енгізсек, программа қате жауап береді. Себебі, бірінші жағдайда ағаштың ұзындығы нөлге тең болуы мүмкін емес. Мұндай ағаш бөліктерге бөлінбейді. Ал, екінші жағдайда есеп шарты бойынша ағашты бүтін бөліктерге бөлу шарты орындалмайды.
2-сурет. Жобаны орындау
Есептің нәтижесін алу және талдау. Тестілеу нәтижесінде программа алдын ала дайындалған барлық тесттерге дұрыс жауап бергенде ғана есепті 100 пайыз орындалды деп айтуға болады. Егер тестілеу нәтижесінде алынған нәтижелер есептің шартына сәйкес келмесе, онда программа құрылымында кеткен логикалық, алгоритмдік қателерді өткен тақырыпта көрсетілген трассировкалау әдісі арқылы қайта түзетуге тура келеді. 2-суретте көріп тұрғандай, 3-мысалда берілген деректер жобаға енгізілгенде, программа дұрыс жауап шығарып тұр. Тек бұл деректерге ғана емес, есепке арнап басқа тестілеу деректерін құрып, программа жұмысын тексеріп көруге болады.
Математика, физика және информатикада есептер шешу кезеңдерін салыстырыңдар. Ұқсастық және айырмашылықтарын анықтаңдар.
Сақтау Жинақтау
Математика курсынан өздеріңе таныс есептердің бірін таңдаңдар. Таңдаған есептерің бойынша есептер шешу кезеңдерін пайдаланып, жоба ұсыныңдар. Жобаға тақырып беріңдер.
Осы материалға «Материалды қосу» түймесін басу арқылы файлды тірке.
Сұрақтар
Программалау ортасында берілген есепті орындау қандай кезеңдерден тұрады?
Жобаның компонентін таңдауда қандай мәселелерге назар аудару керек деп ойлайсың?
Есептің тестін құрастыруда және тестілеу барысында қандай жағдайларды назарда ұстау керек?
Есептерді компьютерде шешудің қандай өзіндік ерекшеліктерін атай аласың? Мысалдар келтір.
Достарыңызбен бөлісу: |