- •Сызықтық құрылымды алгоритмді бағдарламалау
- •Жұмыстың орындалу тәртібі
- •Теориялық бөлім
- •Жұмысты орындау үлгісі
- •Жеке нұсқалар бойынша тапсырмалар
- •Бақылау сұрақтары
- •Тармақталған құрылымды алгоритмді бағдарламалау
- •Жұмыстың орындалу тәртібі
- •Теориялық бөлім
- •If шарт Then 1-әрекет Else 2-әрекет;
- •Жұмысты орындау үлгісі
- •Жеке нұсқалар бойынша тапсырмалар
- •Бақылау сұрақтары
- •Шартты алдын-ала тексеру арқылы циклдік құрылымды алгоритмдерді бағдарламалау
- •Жұмыстың орындалу тәртібі
- •Теориялық бөлім
- •Жұмысты орындау үлгісі
- •Жеке нұсқалар бойынша тапсырмалар
- •Орындалатын тапсырмалар нұсқалары
- •Бақылау сұрақтары
- •Келесi шарт бойынша циклдік құрылымды алгоритмдерді бағдарламалау
- •Жұмыстың орындалу тәртібі
- •Теориялық бөлім
- •Жұмысты орындау үлгісі
- •Жеке нұсқалар бойынша тапсырмалар
- •Жұмысты орындау үлгісі
- •Жеке нұсқалар бойынша тапсырмалар
- •Бақылау сұрақтары
- •Екі өлшемді массивтермен жұмысты ұйымдастыру
- •Жұмыстың орындалу тәртібі
- •Теориялық бөлім
- •Var массив атауы : array [а1..Аn,b1..Bn] of элемент типі;
- •Var массив атауы : массив типінің атауы;
- •Жұмысты орындау үлгісі
- •Жеке нұсқалар бойынша тапсырмалар
- •Жұмысты орындау үлгісі
- •Жеке нұсқа бойынша тапсырмалар
- •Жұмысты орындау үлгісі
- •Жеке нұсқа бойынша тапсырмалар
- •Бақылау сұрақтары
- •Символдық қатарлар және оларға қолданылатын функциялар мен процедуралар
- •Жұмыстың орындалу тәртібі
- •Теориялық бөлім
- •Жұмысты орындау үлгісі
- •Жеке нұсқалар бойынша тапсырмалар
- •Бақылау сұрақтары
- •Аралас типті мәліметтермен жұмыс. Жазбалар
- •Жұмыстың орындалу тәртібі
- •Теориялық бөлім
- •Жұмысты орындау үлгісі
- •Жеке нұсқалар бойынша тапсырмалар
- •Бақылау сұрақтары
- •Жиын типтес мәліметтерді қолданып бағдарламалау
- •Жұмыстың орындалу тәртібі
- •Теориялық бөлім
- •Жұмысты орындау үлгісі
- •Жеке нұсқа бойынша тапсырмалар
- •Var ‹айнымалы›: ‹файл аты›
- •Var dan:File Of Integer; {бүтін сандардан тұратын файл}
- •Жұмысты орындау үлгісі
- •Жеке нұсқа бойынша тапсырмалар
- •Бақылау сұрақтары
- •Типтелген файлдармен жұмыс
- •Жұмыстың орындалу тәртібі
- •Жұмысты орындау үлгісі
- •Жеке нұсқа бойынша тапсырмалар
- •Бақылау сұрақтары
- •Графиктік операторларды қолданып бағдарламалау
- •Жұмыстың орындалу тәртібі
- •Теориялық бөлім
- •Жұмысты орындау үлгісі
- •Жеке нұсқа бойынша тапсырмалар
- •Бақылау сұрақтары
- •Әдебиет
Жұмысты орындау үлгісі
Үш санның қосындысын табатын бағдарлама құру керек.
Program esep1;
Var a,b,c,y:integer;
Begin
Read (a,b,c);
y:=a+b+c;
Write (y);
End.
1.1-сурет. Сызықтық бағдарлама мәтіні
Бағдарламаны жіберу үшін Ctrl+F9 батырмаларын басу қажет. Ашылған терезеде a,b,c мәндерін енгізіледі.
1.2 - сурет. Мәндерді енгізу терезесі
Нәтижені қарау үшін Alt+F5 батырмаларын басу керек.
1.3-сурет. Нәтижені тексеру
Alt+F5 батырмаларын баспау үшін бос Readln операторын жазу керек.
Ln жұрнағы курсорды жаңа жолдан бастайды.
Жеке нұсқалар бойынша тапсырмалар
Берілген мәліметтер бойынша өрнектердің мәнін есептейтін бағдарлама жазу керек.
,
X=0.31
,
X=0.31
,
X=-2.1,
Y=1.4
,
X=1.5
,
X=5.67
,
X=7.83, Y=1.65
,
X=-7.65,
Y=3.4
,
x=0.43,
y=1.61,
z=6.11+
,
X=0.15,
Y=4.3Y+
,
X=3.34,
Y=4.39
,
X=8.43,
Y=4.31Lnln
,
X=0.331
,
X=-9.1,
Y=3.2Ln
,
X=0.625
,
X=1.1,
Y=-3.4,
Z=5.3
,
X=0.15,
Y=4.14,
z=3.63
,
X=-5.25,
Y=2.13sin
,
X=9.3,Y=11.65,
z=1.35
,
X=4.26,
Y=3.31
,
X=5.61
,
X=0.01,
Y=2.45
,
a=0.7,
b=6.1,
x=5.7
,
X=9.91,
Y=0.75,
Z=2.63Ln ln
,
X=4.712
,
a=4,
b=-3,
x=2.4,
y=3.8
Бақылау сұрақтары
1. Алгоритм дегенiмiз не?
2. Алгоритм құрылымына қарай нешеге бөлінеді?
3. Паскаль тілінде қандай стандартты функциялар бар?
4. Паскаль тiлiндегi бағдарламаның бөлімдері қандай?
5. Блок-схема дегенiмiз не, оған қандай геометриялық фигуралар қолданылады?
6. Вegіn және end түйінді сөздерінің аралығында не орналасады?
7. Оператор деп нені айтамыз?
8. Меншiктеу операторы, оның жалпы жазылуы қандай?
9. Берiлгендер мәнiн енгiзу операторы қандай?
10. Мәлiметтердi экранға шығару операторы қандай?
11. Сандық өрнекті тікелей есептеу қалай жүзеге асады?
12. Сандық өрнектің есептелу нәтижесін қалай көруге болады?
№2- зертханалық жұмыс
Тармақталған құрылымды алгоритмді бағдарламалау
Жұмыстың мақсаты: тармақталған құрылымды алгоритмдерді бағдарламалауды оқып-үйрену, IF-THEN-ELSE операторлары танысу
Жұмыстың орындалу тәртібі
1. Теориялық мәліметтермен танысу.
2. Жеке нұсқадағы тапсырмаларды орындау.
3. Бақылау сұрақтарына жауап беру.
4. Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық бөлім
Есепті шешуде барлық уақытта сызықтық алгоритм түрінде өрнектеуге болмайды. Кейбір есептерді шешу кезінде бұл тәртіпті өзгертуге тура келеді. Осы мақсатпен басқаруды беру операторлары If, Then, Else, Goto операторлары қоладанылады.
If – шартты өту операторы. Егер шарт орындалса, онда Then операторынан кейін тұрған әрекет орындалады, ал шарт орындалмаса Else операторынан кейін тұрған әрекет орындалады. Оның жалпы жазылу түрі:
If шарт Then 1-әрекет Else 2-әрекет;
If – егер; Then – онда ; Else – әйтпесе;
Шартты өту операторының екі түрі бар: толымды шарт және толымсыз шарт.
2.1-сурет. Толымды және толымсыз тармақталу
Қадамдарының орындалу тәртібі белгілі бір шарттың орындалу немесе орындалмауына байланысты өзгеріп отыратын алгоритмді тармақталған құрылымды алгоритм дейміз. Паскаль тілінде тармақталған алгоритмді бағдарламлауда шартты оператор, шартсыз оператор және таңдау операторларды қолданылады.
Басқару операторлары бағдарлама қатарларының орындалу реттілігін өзгертеді. Олар шартты (тексеру), таңдау және цикл операторларына жіктеледі. Шартты оператор "Иә" немесе "Жоқ" деп жауап беруге болатын белгілі бір логикалық шартты тексереді. Егер оның нәтижесі ақиқат, яғни құптарлық болса (Иә), онда бір бағдарламалық тармақ орындалады. Тексеру нәтижесі жалған болған жағдайда (Жоқ), бағдарламаның басқа бір тармағы жүзеге асырылады. Мұнда есептің шартына байланысты тармақталу алгоритм-дерінің "Таңдау" не "Аттап өту" мүмкіндіктерінің бірі орындалуы тиіс. Бұл операторлардыңдың жазылу түрі:
IF <шарт> THEN <оператор1> ELSE <оператор2>;
ЕГЕР <шарт> ОНДА <оператор1> ӘЙТПЕСЕ <оператор2>;
Шарт операторы келесі алгоритммен жұмыс жасайды. Бастапқыда <шарт> өрнегі орындалады. Егер нәтиже TRUE (ШЫНДЫҚ) болса, онда <оператор1> орындалады, ал <оператор2> қарастырылмайды. Егер нәтиже FALSE (ЖАЛҒАН) болса, онда керісінше <оператор1> қарастырылмайды, ал <оператор2> орындалады. Егер ELSE сөзінен басталатын шартты операторының бөлігі болмаса, онда басқару тез арада шартты оператордан кейінгі операторға беріледі.
Таңдау командасы. CASE операторы. Паскаль таңдау командасы қызметші сөзінен аяқталатын CASE M OF операторы арқылы беріледі де, END оперторынан соң нүктелі үтір қойылады. Мұндағы CASE(жағдай)- қызметші сөз; m real типінен басқа кез келген скалярлық типке берілген айнымалы (не өрнек). Оны сұрыптаушы деп атайды. OF бойынша деген мағынаны білдіретін қызметші сөз. (яғни CASE M сұрыптаушы бойынша таңдау операторы) m айнымалысының мәні жадыға осы оператордың орындалуынан бұрын енгізілуі тиіс. CASE операторының жазылу мысалы:
CASE M OF
1: Y:= 3*X+5;
2: Y:=X*X-6;
3:Y:=4*X;
END;
мұндағы m-integer, не 1..3 шектеулі типті айнымалы; 1,2,3- өздерінен кейінгі қос нүктеден соң жазулы операторды сұраптаушы тұрақтылар. Бағдарламаның орындалу кезінде алдымен m айнымалысының мәні жадыға ендіріліп, ол осы тұрақтылармен салыстырылады. Егер мән олардың бірімен тең болып шықса, онда осы тұрақтыға сәйкес оператор орындалады да case операторын орындау аяқталады. Егер m-ң мәні сұраптаушы тұрақтылардың ешқайсысымен тең болып шықпаса, case операторы орындамай тастап кетіледі. Оны компьютердің хабарлауы үшін case операторын аяқтайтын end-тің алдына else writeln операторын енгізіп қойған жөн.
Жұмысты орындау үлгісі
Екі санның үлкенін табатын бағдарлама құру.
Program esep1;
Uses CRT;
Var a,b,max:integer;
begin
ClrScr;
readln(a,b);
If a>b Then max:=a Else max:=b;
writeln(max);
end.
Жеке нұсқалар бойынша тапсырмалар
Берілген х аргументінің мәнін f(x) функциясымен есептеу бағдарламасын құрып және алгоритмнің блок-схемасын құру керек. f(x) функциясының мәні шарт операторы көмегімен есептелінеді.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Бақылау сұрақтары
1. Тармақталу алгоритiмi деп нені айтады?
2. Шартсыз көшу операторы қалай жазылады?
3. Шартты көшу операторы қалай жазылады?
4. Толық тармақ дегеніміз не?
5. Қысқаша тармақ деп нені айтады?
6. Таңдау операторының жазылуы қалай?
7. Case операторын қандай жағдайда қолданған ыңғайлы?
№3 - зертханалық жұмыс
ЦИКЛДІК ҚҰРЫЛЫМДЫ АЛГОРИТМДІ БАҒДАРЛАМАЛАУ. ПАРАМЕТРЛІ ҚАЙТАЛАУ
Жұмыстың мақсаты: алгоритмдердің циклдік құрылымдарын бағдарламалауды үйрену, FOR операторын пайдалануда дағды қалыптастыру
Жұмыстың орындалу тәртібі
1. Теориялық мәліметтермен танысу.
2. Жеке нұсқадағы тапсырмаларды орындау.
3. Бақылау сұрақтарына жауап беру.
4. Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық бөлім
Кейбір есептерді шығару барысында операторларды сызықты түрде қолданып есептеу мүмкін емес болады. Мысалы, тізбектің қосындсын табу, арифметикалық және геометриялық орталарын табу, белгілі бір мүшесін табу және т.с.с. Мұндай есептерде қандай да бір операторларды айнымалының әртүрлі мәндері үшін қайталап орындауға тура келеді. Осындай қайталанушы процесстерді ұйымдастыру үшін цикл операторы қолданылады.
Паскаль тілінде қайталану процесін үш түрлі жолмен ұйымдатыруға болады:
параметрдің мәні бойынша қайталауды ұйымдастыру:
for…to…do…циклдық операторы;
алдын-ала берілген шарт бойынша қайталауды ұйымдастыру:
while… do… циклдық операторы;
соңынан берілген шарт бойынша қайталауды ұйымдастыру:
repeat… until циклдық операторы;
Соңғы екі цикл операторы көбіне қайталаудың саны белгісіз болған жағдайда пайдаланылады.
For…to…do…циклдік операторы.
Цикл операторлары белгілі бір операторлардың қайталанып орындалуын қамтамасыз етеді. Циклдық оператор:
FOR параметр = бастапқы мән TO соңғы мән DO
Егер қайталаудың саны белгілі болса, онда FOR, TO, DO (DOWNTO) операторлары қолданады. FOR циклдық операторы оператордың белгілі бір рет қайталанып орындалуын қамтамасыз етеді.
FOR операторы орындала бастаған кезде бастапқы және соңғы мәндерін бір рет анықтап алады және бұл мәндер FOR операторының орындалу барысында сақталады. Айнымалының типі реттік болуы керек. Бастапқы және соңғы мәндердің типі осы реттік типпен меншіктеу бойынша сәйкес болуы керек.
FOR операторында тұрған оператор бастапқы және соңғы мәндер диапазонындағы әр мән үшін бір рет орындалады.
while… do… циклдық операторы
Жалпы түрде жазылуы:
While шарт do
Begin
Цикл денесі
End.
Мұнда шарт орнына логикалық өрнек тұруы мүмкін. Бұл оператор былай орындалады: алдымен шарт тексеріледі, егер шарт ақиқат болса, онда цикл денесі орындалады, одан соң тағы шарт тексеріледі, т.с.с. Бұл процесс қашан шарт орындалудан қалғанша қайталанады. Яғни логикалық өрнектің мәні қашан жалған болғанша, қайталаудың денесі қайталап орындала береді.
Мысалы, while… do… циклдық операторын қолданып y<=m шарты жалған мән қабылдағанша y айнымалысының мәнін 3 есе арттырып отыру:
y:=1; k:=0;
while y<=m do
begin
y:=y*3;
k:=k+1;
end;
Repeat… until циклдық операторы
Жалпы түрде жазылуы:
Repeat
Цикл денесі
Until шарт
Мұндағы Repeat – қайтала, Until – соған дейін дегенді білдіреді. Бұл операторда да қашан логикалық өрнектің мәні ақиқат болғанша цикл денесі қайталана береді. Яғни, бұл қайталауда алдымен цикл денесі орындалады да, одан соң шарт тексеріледі. Бұл цикл операторының While…do циклдық операторынан айырмашылығы цикл денесә ең болмағанда бір рет міндетті түрде орындалады.
Мысалы, y=1+1/2+1/3+…+1/n түріндегі тізбектің 1/i>=e шартын қанағаттандыратын алғашқы n мүшесінің қосындысын табуды қарастырайық. Мұндағы 0<e<1.
readln(e);
i:=0;
y:=0;
Repeat
i:=i+1;
y:=y+1/I;
Until 1/i<e;
Кез келген цикл операторының денесінде тағы цикл операторы қолданылуы мүмкін. Мұндай цикл түрі іштестірілген цикл деп аталады. Көбіне іштестірілген циклді параметрлі цикл операторына қолданамыз.
Мысалы, электрондық сағат жұмысын сипаттайтын бағдарлама фрагментін іштестірілген цикл көмегімен келесі түрде жазуға болады:
For h:=0 to 23 do
For m:=0 to 59 do
For s:=0 to 59 do
Writeln(h,’:’, m,’:’, s);
