1.2. Тармақталған алгоритмдерді әзірлеу
Тармақталу ұғымын студенттерге түсіндіру үшін төмендегідей логикалықтәсілді қолдануға болады.Алгоритмнің негізгі құрылымдарын бөліп көрсеткеннен кейін (сызықтық, қайталану, тармақталу), бірнеше командалардың ішінен тек біреуі ғана орындалады. Ал, енді қай команданың орындалатынын қалай білуге болады, әрине, ол қойылған шартқа тәуелді.МАТ-дегі тармақталу командасының жалпы түрі:
Егер шарт
Онда 1-серия
Әйтпесе 2-серия
Бітті
Қойылған шартқа тәуелді тармақталу командасына кіретін екі командалар сериясының біреуі ғана орындалады. Егер шарт сақталатын болса, онда 2-серия орындалады, ал шарт сақталмаса онда 2-серия орындалады.
Кейбір алгритмдер және, емес, немесе сөздерімен жалғастырылған екі немесе одан да көп шарттардан құралады. Мүндай шарттарды құрама шарттар деп атайды.
2-мысал.
У={ fsin х + cos3x, егерх >= 0.7 функциясының мәнін есептейтін
У= { cos + \х\ +1, егерх < 0.7
алгоритм құру.
алг есеп (нақ х,у)
арг х
нәт у
басы
егер х>=0.7
онда y:=sin(x)+cos(3*x)
әйтпесе y:=cos(x)+abs(x)+l
бітті
соңы
3-мысал.
sin 3s + cos 2x, егерх < 2
У = sin 4х + cos Зх, егері <= х < 3
sin 5х - cos 4х, егерх >= 3
функциясының мәнін есептейтін алгоритм құру.
алг есеп (нақ )
аргх
нәту
басы
егер х<2
онда y:=sin(3*x)+cos(2*x)
әйтпесе егер (х<3) және (х>=2)
онда y:=sin(4*x)+cosf3*x)
әйтпесе y:=sin(5*x)-cos(4*x)
бітті
бітті
соңы
Бұл мысалда алгоритм үш тармақтан тұрады. Алгоритмдегі тармақтардың саны көбейген сайын тармақталу командасын пайдалану қиындай береді. МАТ-де көп тармақтан тұратын алгоритмдерді жазуда таңдау командасы пайдаланылады.
2 Алгоритмдерді Паскаль программалау тілінде әзірлеу
Алгоритмдерді программалау тілінде әзірлеу программа деп аталады. Алгоритмдерді көрсетудің бүл программасы орындаушы компьютер болған жағдайда пайдаланылады. Тіл операторлары дегеніміз - компьютерге әрекеттерді орындауды ұйғаратын алгоритм командасы.
Программалаудың тілдері көптеп саналады. Паскаль тілі - IBM PC дербес компьютерлері үшін программалаудың ең үздік оқу тілдерінің бірі. Басқа жоғары деңгейлі программалау тілдері сияқты Паскальдың да өз алфавиті, синтаксисі, семантикасы бар. Алфавит - пайдаланылатын түрлі символдар: әріптер, цифрлар, таңбалар жэне белгілер. Синтаксис - машинаның іс-әрекетін анықтайтын нұсқауларды (команда, оператор), функцияларды, деректер мен өрнектерді жазу ережелері.
Паскалъ тілінің алфаеитінің символдары:
1. Латын алфавитінің бас жэне кіші әріптері;
2. Араб цифрлары;
3. Өрнек таңбалары:+,-,*,/.
4. Қатынас таңбалары: =, < >, <, >, < =, >=.
5. Арнайы символдар: :,;,",(,),?,!,#, т.б.
Паскалъ тілініңжай және күрделі типтері бар. Олар:
A) Жай типтер: скалярлық және шектеулі. Скалярлық типтер: бүтін (integer), нақты (real), символдық (char), логикалық (boolean).
Б) Күрделі типтер: жиым (array), жол (string), жазу (record), файл, жиын.
B) Сілтеме.
Паскалъ тілінің операторларына:
1) := - меншіктеу;
2) read, readln - енгізу;
3) write, writeln - шығару, т.б. жатады.
Программаның цүрылымы:
Program <Атау>; - программа тақырыбы деп аталады.
Таңбалар бөлімі (Label);
Тұрақтылар бөлімі (Const);
Типтер бөлімі (Type);
Айнымалылар бөлімі (Var);
Процедуралар және функциялар (Procedure, Function);
Басы (begin)
{ Операторлар бөлімі}
Соңы (end).
Сызықтық программалау:
Program esep;
Var a,b,S,R,K:integer;
Gr, Snreal;
Begin K:=l; S:=0;
Writeln('a,b-ны енгіз:');
Readln(a,b);
S:=a+b; R:=a-b; K:=a*b; Sr:=S/2; Gr:=sqrt(K);
Writeln ('Қосынды=', S, 'Айырма=', R, 'Көбейтінді=', К);
End.
Тармақталған программалау:
Program esepl;
Var x:integer; y:real;
Begin Write('x енгіз:'); Readln(x);
If x > 0 then y:=5*sin(x)
Else y:=abs(x);
Writeln ('Y =', Y:2:2);
End.
