Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕХПР1.docx
Скачиваний:
14
Добавлен:
23.03.2016
Размер:
40.24 Кб
Скачать

Тармақталған алгоритмдерді программалау

Шартты    оператордың    көмегімен    нақтылауды    тексеру    командасын қарастырайық. Мысал келтірейік.

 Бейсик тілінде:

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 ' нақтылауды кері шартпен құруды талап етеді. Нақтылауды кеңінен пайдалануға тек ойлау дағдарысы кедергі жасайды. Нақтылауды тексеру программаның өзінің дұрыстығын тексеруді талап етеді. Программаны талдаудың қазіргі тәсілі тікелей алғашқы мәліметтер, нәтиженің қасиеттері жайлы нақтылауды талдау мен құруға, циклдың тұрақтылығына, циклдың шартына негізделеді.

 

 

 

 

Есептерді шешу алгоритмі мен блок-схемасын эзірлеу

Сызықтық алгоритм:

Есеп.   А жэне В бүтін сандары берілген. Осы сандардың 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

Соңы

 

 

 

Тармақталған алгоритм:

                   2sin(x),   x>0

      Есеп.    Ү= [ |х| ,         х<= 0    есептеу керек.

Алг    есеп2( бүт х, нақу)

Apr х

Нәт у

Басы

         Енгізу х

         Егер х> 0                  

Онда Y:=5*sin(x)

 әйтпесе Ү:=|х|

Бітті

Шығару У

 Соңы

Зертханалық жұмысты орындаудың әдістемелік ұсыныстар. Тапсырманы орындауда төмендегілерді білу керек:

  • printf функциясы монитор экранына айнымалылар мәнін шығару мен хабарлауды қамтамасыз етеді;

  • printf функциясының бірінші параметрі; атауы функцияның қалған параметрлері ретінде көрсетілген, айнымалылар мәнін шығару форматы мен шығарылған мәтінді анықтайтын шығару жолы болып табылады

  • айнымалылар мәнін шығару форматы түрлендіру спецификаторы-% символынан басталатын символдар тізбегінің көмегімен беріледі;

  • сандық мәндерді шығаруда келесі спецификаторлар жиірек қолданылады: бүтіндерді белгісімен шығару үшін -%і немесе %d, таңбасыз бүтіндерді шығару үшін-%u, жылжымалы нүктесімен берілген сан бөлшектерді шығару үшін-%f, бекітілген нүктелі форматта бөлшектерді шығару үшін-%n.mf, мұндағы n – бүтін бөліктің цифр саны, m – бөлшек бөліктің цифр саны.

  • Кейбір символдар шығару жолында басқа кәдімгі символдардың тізбегі ретінде ғана орналасуы мүмкін: \n-жаңа жол, \t – табуляция, \” – тырнақша, \\ - символ \ ;

  • printf функциясымен қатар, мәтінді шығарғаннан кейін курсорды автоматты түрде келесі жолдың басына апаратын, экранға хабарлама шығару үшін puts функциясы қолданылады;

  • пернетақтадан алғашқы мәліметтерді енгізу үшін scanf функциясы арналған;

  • scanf функциясының бірінші параметрі болып басқарушы жол табылады, ал қалған параметрлер-мәні енгізілуі тиіс, айнымалылар адресі болады;

  • басқарушы жол екі жағынан тырнақшаға алынған спецификаторлар тізімі болып есептеледі: таңбасы бар бүтін сандарды енгізу үшін %i; таңбасыз бүтіндерді енгізу үшін %u, бөлшек сандарды енгізу үшін %f, символды енгізу үшін %с, жолды енгізу үшін %s;

  • scanf функциясының параметрі ретінде айнымалының адресін емес, атын қолдану компилятор таппайтын жаңадан басталған прогроммистердің әдеттегі қатесі болып табылады;

  • бағдарламаның жұмысы аяқталғаннан кейін, бағдарлама жұмыс істеп тұрған терезе автоматты түрде басқа терезелермен қайтадан жабылып қалмас үшін, бағдарламаның соңына келесі екі нұсқауды қою керек:

printf (“Аяқтау үшін <Enter>” пернесін басыңыз);

getch( );

  • тестілік мәліметтерді құрылған алгоритмнің барлық тармақтарының жұмысын қадағалауды таңдап алу қажет;

  • бағдарламалардың орындалу кезіндегі ұсынылған экран түрі:

- зертханалық жұмыстардың атаулары;

- алғашқы деректерді енгізуге шақыру;

- алғашқы деректерді шақыру;

- түсіндірме мәтін және бағдарлама жұмысының нәтижесі.

Зертханалық жұмыс тапсырмалары. х аргументі берілген y=f(x) функциясының мәнін есептейтін бағдарлама құру.

Тапсырма нұсқалары:

8.

2 Зертханалық жұмыс. Тармақталған алгоритмді бағдарламалау

Жұмыстың мақсаты: Тармақталған алгоритмді бағдарламалауды үйрену

Зертханалық жұмысты орындаудың әдістемелік ұсыныстар. Шартты оператор есептеу процесінің тармақталу құралы болып табылады.

Шартты оператордың құрылымы келесі көрініске ие:

IF <шарт> <оператор1>;

ELSE <оператор2>;

Шартты оператор келесі алгоритм бойынша орындалады. Алғашында <шарт> орындалады. Егер нәтиже TRUE (АҚИҚАТ) болса, онда <оператор1> орындалады, ал <оператор2> қарастырылмайды; егер нәтиже FALSE (ЖАЛҒАН) болса, онда керісінше, <оператор1> қарастырылмайды, ал <оператор1> орындалады. Егер шартты оператордың бір бөлігінде else сөзінен басталатын сөз болмаса, онда, шарттан кейін тұрған операторға басқару беріледі

Тапсырма нұсқалары:

8.