№6 - практикалық жұмыс
Сабақ тақырыбы: Қайталанатын алгоритмдерді қолданып жоба құру.
Сабақ мақсаты: Қайталанушы алгоритмдерді Delphi ортасында программалау дағдыларын қалыптастыру, өзіндік тапсырмаларды орындау
Қарастырылатын негізгі мәселелер:
1. Қайталанатын операторлар туралы негізгі ұғымдар.
2. Бірден n-ге дейінгі жүп сандардың квадраттарының қосындысын жалғасу шартымен берілген цикл операторының көмегімен есептеу мысалы.
3. Геометриялық прогрессияның бірінші мүшесі және еселігі белгілі, алғашқы n мүшесінің қосындысын аяқталу шартымен берілген циклдің көмегімен есептеу мысалы.
Негізгі ұғымдар. Есептің шешімін көрсететін алгоритмдерде қайталанатын командаларды немесе оның программасын құрғанда қайталанатын операторларды кездестіруге болады.
Турбо Паскальда мұндай қайталануларды жазу үшін цикл операторларының үш түрі қолданылды. Delphi-де қайталану алгоритмін программалау Турбо Паскальдағыдай жүзеге асады, яғни цикл операторының үш түрі қолданылады. While … do – жалғасу шартымен берілген цикл операторы;
Repeat … until – аяқталу шартымен берілген цикл операторы;
For …do – параметрлі цикл операторы.
While … do цикл операторы қандайда бір шартқа байланысты қайталанатын операторларды жазу үшін қолданылады.Программада жалпы жазылу түрі:
While P do begin S end; мұндағы P – шарт, ол true (ақиқат) немесе false (жалған) мән қабылдайды, ал S- цикл денесі.
Жұмысты орындауға әдістемелік нұсқаулар:
1-мысал. Бірден n-ге дейінгі жүп сандардың квадраттарының қосындысын жалғасу шартымен берілген цикл операторының көмегімен есептеу.
Шешуі:
Берілген n-санын енгізу үшін енгізу терезесін пайдаланамыз. Енгізу терезесі Delphi-дің стандартты InputBox функциясының терезесі. Программада InputBox-функциясын пайдалану командасының жазылу үлгісі:< а й н ы м а л ы >:= InputBox (‘< такырып >)’,’<түсініктеме>’,’< мәні >’) мұндағы
Айнымалы-мәні функция терезесіне енгізілетін жолдық типті айнымалының атауы. InputBox функциясының мәні әр кезде жолдық ( String) типті. Мәні меншіктелетін st айнымалысы программада st:string түрінде сипатталуы тиіс;
Тақырып-енгізу терезесінің тақырыбы ретінде жазылатын мәтін;
Түсініктеме-енгізу терезесінің ішінде жазылатын түсініктеме мәтін;
Мән-функция терезесі көрінген кезде оның енгізу өрісінде көрінетін мәтін. Әдетте оны бос етіп қалдыруға болады.Мысалы, программада n-санын st-ға меншіктеуді InputBox функциясын пайдаланып, мына түрде жазуға болады: st:=InputBox(' натурал сан енгіз ' , 'n=?',' ');
Команданың орындалу барысында көрінетін терезе 1- суретте көрсетілген.
1-сурет. Команданың орындалу барысындағы терезе.
Ал, нәтижені бірнеше қатар жолға шығаратындай етіп, Label1-дің қасиеттерінің көмегімен экранға шығарамыз.Ол үшін Label1-дің WordWrap қасиетіне True мәнін меншіктесе болғаны. Есеп шешімін Form1-дің OnCreate оқиғасында реализациялаймыз (ұйымдастырамыз).
Программаның кодын келтірейік:
unit Unit1;
procedure TForm1.FormCreate(Sender: TObject);
var s,i,n:integer;st:string;
begin
st:=InputBox(' натурал сан енгіз ','n=?',' ');
n:=strtoint(st);
s:=0; i:=2;
while i<=n do begin
s:=s+sqr(i);i:=i+2;end;
Label1.Caption:=st+
'-ге дейінгі жүп сандардың квадраттарының қосындысы ' +
' s='+IntToStr(s);
end;
Repeat … until цикл операторында цикл денесі ең болмағанда бір рет орындалады, өйткені әуелі цикл денесі орындалады да, сонан соң барып шарт тексеріледі. Программада жалпы жазылу түрі:
Достарыңызбен бөлісу: |