2.7 Тармақталған алгоритмдерді программалау
Шартты оператордың көмегімен нақтылауды тексеру командасын қарастырайық. Мысал келтірейік.
Бейсик тілінде:
20 IF D-R>0 THEN 50
30 PRINT "шығын кірістен көп пе?"
40 STOP Әрі қарай есептеудің мәні жоқ
Паскаль тілінде: ,
IF NOT ((D-R)>0) THEN BEGIN
WRITELN (шығын кірістен көп пе?');
HALT (*тоқтату*)
END;
Нақтылауды пайдалану қателер санын азайтып, оны іздеуді жеңілдетеді, оқушыға да, мұғалімге де алгоритмнің логикасын түсіндіреді. Программа тексіне нақтылауды алгоритмді құру кезеңінде енгізуді ұсыну қажет.
Нақтылауды тексеру енгізуді тексерумен салыстырғанда жалпы тәсіл болып табылады: аралық нәтижелерді және шамалардың аралындағы байланысты да тексеруге болады. Бұл Бейсик тілін оқытқан жағдайда құрама командаларды жүйелі етіп құруға дайындайды. Мұны одан да қысқа жолмен жазудың түрі:
20 IF M0<=0 THEN STOP ' нақтылауды кері шартпен құруды талап етеді. Нақтылауды кеңінен пайдалануға тек ойлау дағдарысы кедергі жасайды. Нақтылауды тексеру программаның өзінің дұрыстығын тексеруді талап етеді. Программаны талдаудың қазіргі тәсілі тікелей алғашқы мәліметтер, нәтиженің қасиеттері жайлы нақтылауды талдау мен құруға, циклдың тұрақтылығына, циклдың шартына негізделеді.
2.8 Есептерді шешу алгоритмі мен блок-схемасын эзірлеу
Сызықтық алгоритм:
Есеп. А жэне В бүтін сандары берілген. Осы сандардың S-қосындысын, R-айырмасын, К-көбейтіндісін, Sr- арифметикалық ортасын, Gr-геометриялық ортасын табу алгоритмін құру керек.
Алг есеп( бүт а, в, S, R, К, нак; Sr, Gr)
Apr a, b
Нәт S, R, K, Sr, Gr
Басы
Енгізу a, b
S:=a+b
R:=a-b
K:=a*b
Sr:=S/2
Gr:=sqrt(k)
Шығару S, R, K, Sr, Gr
Соңы
S:=a+b
R:=a-b
K:=a*b
Sr:=S/2
Gr:=sqrt(k)
Шығару S, R, K, Sr, Gr
Соңы
Достарыңызбен бөлісу: |