Автор работы: Пользователь скрыл имя, 05 Июня 2015 в 08:33, курсовая работа
Программа құрылымы
Программа келесі бөлімдерден тұруы мүмкін, бұл бөлімдер (тек соңғыдан басқасы) бір-бірінен нүктелі-үтір арқылы ажыратылады:
программа тақырыбы;
белгілер бөлімі;
тұрақтылар бөлімі;
типтерді сипаттау бөлімі;
процедура мен функцияларды сипаттау бөлімі;
программа денесі;
Паскаль тілінің негізгі түсініктері..............2
1.1 Турбо паскаль тілінің операторлары .........4
Негізгі бөлім
1.2 Циклдік құрылымды алгоритмді программалау....5
1.3 Алғы шартты цикл операторы. While операторы ..........6
1.4 Келесі шарт бойынша циклді ұйымдастыру.
Repeat операторы................8
1.5 Параметрлі қайталану операторы.
For операторы.......9
1.6 Күрделі циклдер..............11
1.7 ЭЕМ-де есеп шығару кезеңдері.
Қадам бойынша орындау әдісі......................11
1.8 Мысал есептер..............................12
Қайталау (цикл).................................19
2.0 Сызықты және тармақты құрылымды алгоритмдерді программалау....21
2.1 Қайталанған құрылымды алгоритмдерді программалау.....28
Қорытынды
Әдебиеттер тізімі..........................20
Айнымалылар:
K-санау саны
I-цикл айнымалысы
N-кезекті адамдардың саны
F-қосымша айнымалы
Pol-адам жынысы.
9-есеп. 5х-3у=1 Диафонтова теңдеуі арқылы бүтін сандардың жиынын табу керек. Бастапқы тексеруде алдымен бірлік теңдіктері алынады. Одан әрі, егер де 5х-3у>1 болса, онда 1-ге артады, егер 5х-3у>1болса, онда 1-ден х-қа артады.
Program pr9;
Var x,y: byte;
Begin
x :=1; y :=1;
repeat
if (5*x-3*y)>1 then y:=y+1;
if (5*x-3*y)<1 then x:=x+1 until (5*x-3*y)=1;
writeln(‘x=’,x, ‘y=’,y) ;
end.
Нәтижесінде: х=2y=3.
10-есеп. Логикалық ұғым бар: not a and b xor c. a,b,c логикалық ұғымдарын ақиқат мәнінде экранға шығару керек. Мен а,b,c мәндерін жұп сандармен сипаттап шығаруды ұсынамын.
Program pr10;
Var a,b,c: Boolean;
Begin
For a:=false to true do
For b:=false to true do
For c:=false to true do
If not a and b xor c then;
Begin
Write(‘a=’,a);
Write(‘b=’,b);
Write(‘c=’,c);
End;
End.
Нәтижесінде:
a=False
b= False
c=True
а= False
b= True
c= False
а= True
b= False
c= True
а= True
b= True
c= True
Программа екі күрделі оператордан тұрады: For a:=false to true do, осы операторға тағы екі қосылған For және If операторы. Соңғы then бөлімінің құрамында күрделі оператор бар, олар үш жай оператордан тұрады, Begin және End жақшаларымен қамтылған.
1.9 Қайталау (цикл)
Кейбір жағдайларда нәтижеге
жету барысында, белгілі бір әрекет
бірнеше рет қайталанып
Цикл: Белгілі бір А әрекетін жүзеге асыру үшін, N рет А1 әрекетін орындау керек.
Графикалық блок-схемасын
Мұндағы N саны, негізгі А әрекетін орындау үшін, А1 әрекетінің орындалу санын көрсетеді. Егер бұл сан белгілі болса, онда біз қайталану саны белгілі цикл түрімен жұмыс атқарамыз. Жалпы циклдік әрекеттерді олардың түріне қарай негізгі үш түрге бөлнді.
А) Қайталау саны белгілі цикл
Циклдің бұл түріне
әрекеттің қайталану саны
Б) Алғы шарт циклі
Циклдің бұл түріне қайталану саны белгісіз. Бірақ әрекет орындалу үшін алдын ала берілген қандай да бір шарт тексеріліп барып, орындалатын әрекеттер жиыны жатады. Мысалы: Сіз сорпа ішуге дайындалдыңыз. Тарелкадағы сорпаны толығымен ішіп тауысу үшін қасықпен неше рет көсеп алу керек екені бізге алдын ала белгісіз. Ал егер тарелка бастапқыда бос болса, сіз тарелкадан қасықпен сорпа алр ма едіңіз? Әрине жоқ, ол мүмкін емес. Осыдан циклдің бұл түріне мынадай қызықты тұжырым жасауға болады.Ол нөл рет орындалады.
В) Соңғы шарт циклі.
Циклдің бұл түріне қайталану саны белгісіз, бірақ алдыңғы циклден айырмашылығы, одан әрекет орындалмас бұрын алдын ала шарт тексерілетін болса, ал мұнда әрекет орындалғанна кейін шарт тексеріледі де әрекетті қайталауға береді.
Соңғы шарт циклінің орындалуын айқындау үшін, өлшемдері көздерінен үлкен болатын жұмсақ шарлар салынған електі көз алдымызға елестетейік. Егер шарларды секіртетін болсақ, соғылу нәтижесінде олардың өлшемдері кішірейе береді делік. Осы әрекет қашан шарлардың өлшемдері електің көзінен өтетін болғанша қайталанып орындала береді. Яғни, шардың диаметрі електің көзінің өлшемдеріне сәйкес болғанша шарт орындалады.
Алғы шарт циклінің
соңғы шарт циклінен
Қосымша ескертетін
жағдай, қайталану саны белгілі
циклін алғы шарт циклінің
дербес жағдайы ретінде
2.0 Сызықты және тармақты
құрылымды алгоритмдерді
Тілдердің алфавиті
Qbasic тілінде |
Pascal тілінде |
1 |
2 |
Латын алфавитінің бас және кіші әріптері: A,B,…,Z; a,b,…,z қазақ , орыс алфавитінің әріптері. 2. Араб цифрлары: 0,1,2,..,9 3. Өрнек таңбалары: + қосу, - азайту, * көбейту, / бөлу, ^ дәрежелеу. 4. Қатынас таңбалары: = тең не меншіктеу белгісі ,> улкен, >= үлкен не тең , < кіші , <= кіші не тең , <> тең емес. 5. Арнайы символдар: . нүкте , үтір ; нүктелі үтір : қос нүкте '' '' бос орын ( , ) ашу,жабу жақшалары “ , ” ашу, жабу тырнақшалары ! леп белгісі ? сұрақ белгісі # нөмір ' дәйекшк – апостроф _ астын сызу белгісі % процент $ ақша бірлігінің белгісі & амперсенд |
1.Латын алфавитінің бас және кіші әріптері:қазақ, орыс алфавитінің әріптері. 2. Араб цифрлары: 0,1,2,...,9 3. Өрнек таңбалары: + қосу, - азайту, * көбейту, / бөлу,дәрежелеу санды өзіне - өзін көбейту арқылы беріледі. 4. Қатынас таңбалары: тең не меншіктеу белгісі, үлкен, үлкен не тең, кіші, кіші не тең, тең емес. 5. Арнайы символдар: . нүкте , үтір ; нүктелі үтір : қос нүкте ' ' бос орын ( , ) ашу,жабу жақшасы ‘ , ’ ашу, жабу тырнақшалары ! леп белгісі ? сұрақ белгісі # нөмір ' дәйекше – апостроф _ астын сызу белгісі % процент $ ақша бірлігінің белгісі & амперсенд |
Qbasic және Pascal программалау
тілдерінің стандартты
Qbasic тілінде |
Pascal тілінде |
Түсініктеме |
SIN(x) COS(x) ATN(x) LOG(x) EXP(x) X^2 SQR(x) ABS(x) FIX(x) CINT(x) INT(x) PI RND(x)
SGN(x)
TAN(x) |
Sin(x) Cos(x) arctan(x) In(x) exp(x) sqr(x) sqrt(x) abs(x) trunc(x) round(x) int(x) Pi(x) Rnd(x)
Sgn(x)
-
|
Х-радиандық өлшем X-радиандық өлшем Argtgx(- ) Inx (x>0) Көрсеткіштік функция (e ) Х-тің квадрат дәрежесі Х-тің квадрат түбірі (x 0) Х-тің абсолют шамасы Санның бүтін бөлігі Санды бүтінге дейін дөңгелектеу Санның бүтін бөлігі санының мәні ( = 3.1415… ) (0;1) аралығындағы өндірілетін кездейсоқ нақты сан Сан таңбасы. Оның қабылдайтын мәндері: +1 (x>0), 0 (x=0 үшін ), -1(x<0 үшін) Tgx(x радиандық өлшемде) |
Ескерту:
1) егер х аргументі INTEGER типіне жататын болса, онда sqr (x), abs(x) функциялары да INTEGER типті;
2) Round, Trunc функциялары REAL типті мәндерді INTEGER типіне өзгертеді, ал Int – REAL типін қалдырады;
3) стандартты скалярлық функциялар қатарына жатпайтын тригонометриялық функция мәнін есептеу үшін алдымен оны стандартты функциялар арқылы өрнектейді;
4) негізгі оң сан болатын х дәрежесін ln(x) және exp(x) функцияларын пайдаланып есептеуге болады (x>0), яғни
х
Паскаль тіліндегі стсндартты функциялар:
1. Ord(‘x ’) – ‘x ’ символының кодын анықтайды.
Мысалы, ord(‘A’)=65;
2. Chr(n) – коды бойынша символды анықтайды.
Мысалы, chr (66)= ’B’;
3. Succ (x) –REAL- дан басқа типтегі мәндер тізімінде соңғы мәнді
анықтайды. Мысалы, succ
(46)= 47; succ (‘a’) = ‘b’ ;
4. Pred (x) – succ (x) –ке кері функция.
Мысалы, pred (47)= 46; pred (‘b’)=’a’.
Программалау тілдерінде енгізу мен шығаруды ұйымдастыру.
Операторлар форматтары
Паскаль тілінде енгізу операторының жазылуының жалпы үлгісі:
READ (x1,x2,…,xn)
мұндағы x (k=1,2,…,n) ендірілетін мәндерді сәйкес түрде қабылдайтын айнымалылар (read - оқу).
Программаның орындалу барысында read операторы кездессе , компьютер айнымалылар мәндерін жадқа ендіруді күтіп тоқтап қалады. Мәндер аралықтарына бос орын қалдырылып пернетақтадан енгізілуі тиіс. Енгізу аяқталған соң программаның орындалуы одан әрі жалғасады.
READ операторының алдында мәндерді жадқа ендірілуі тис айнымалыларды write операторы арқылы экранда көрсетіп қойған дұрыс. Мысалы, begin write (‘a,b,h = ?’); readln (a,b,h);
S:= (a+b)*h/2; write (‘s = ’, s:5:2);
End.
Кейде write, read – операторларының соңына ln жалғауын қосып, writeln, readln түрінде жазуға болады. Мысалы, readln(a,b,h); writeln(x:5:2);
Мұндай операторлар орындалған соң курсор экранда өзінің тұрған орнынан келесі жолдың басына ауыстырылады да, кезекті оператордың орындалуы экранда осы жерден бастап көріне бастайды.Егер келесі жолды бос күйінде тастап кету қажет болса,программаға соңғы орындалатын ln жалғауы оператордан соң парыметрсіз writeln операторын енгізсе жеткілікті.
Тармақталу командасы.Шартты операторлар
Сызықты программада
операторлар ретіне қарай
Тармақталу алгоритмі
алгоритмдік тілінде егер командасы
арқылы жүзеге асырылатындығын
белгілі.Тармақталу командасыны
Qbasic тілінде |
Pascal тілінде |
а) if <шарт> then S1 else S2;
ә) If <шарт> then S; |
a) IF<шарт> then <оператор1> else <оператор2>;
ә) If <шарт> then <оператор>; |
Құрама шарттардың жазылуы:
Математикада |
0<x<1, x=0 немесе x 5 |
Бейсик тілінде |
x>0 and x<1, x=0 or x<>5 |
Паскаль тілінде |
(x>0) and(x<1), (x=0) or (x<>5) |
Программалау тілдерінде шартты өту операторы – IF. Бейсик тілінде шартсыз өту операторы бар, ол – GOTO. Шартсыз өту операторы GOTO есептеуді одан әрі жалғастыруда программаның келесі кезекте орындалатын операторын көрсету үшін,яғни программаның қандай да бір бөлігін орап өту үшін қолданылады.Оператордың жазылу үлгісі: GOTO k. Мұнда к – қатар нөмері; GOTO (өту) – оператордың аты; k – GOTO операторынан соң орындалатын операторлық қатардың нөмері.Осылайша GOTO операторы программаның табиғи реттілікпен орындалуын бұзады.Кейде бір жолға нөмер қою керек болады. Ол GOTO операторы үшін керек. Мұнда ұқсастық, тармақталу командасының жазылу үлгісі QBASIC және PASCAL тілдерінде бірдей.Құрама шарттардың жазылуы да ұқсас. Тек PASCAL тілінде шарттар жақшаға алынып жазылады.
Qbasic , Pascal тілдерінде таңдау командасы.
SELECT – CASE операторы
Qbasic тілінде таңдау командасы үшін арналған ыңғайлы, құрылымдық SELECT – CASE операторы бар. (Select – таңдау, Case – жағдай).
Жазылу үлгісі:
SELECT CASE <айнымалы>
CASE<1-мән>: <1-блок>
CASE<2-мән>: <2-блок>
Жалпы жағдайда Case қызметші сөзінің параметрлері IS (IS - болу) сөзінін басталатын өрнек. Таңдау командасын SELECT – CASE операторын пайдаланып жазу программаны құрылымдық түрде жазу талабына сәйкес келеді.
Паскаль тілінде таңдау командасы END қызметші сөзінен аяқталатын Case m of операторы арқылы беріледі де, END операторынан соң нүктелі үтір қойылады. Мұндағы Case (жағдай) – деген қызметші сөз, m үшін Real типінен басқа кез келген скалярлық типте берілген айнымалы немесе өрнекті алуға болады.Оны сұрыптаушы деп атайды. Of (бойынша) – деген мағынасын білдіретін қызметші сөз.Яғни, Case - m сұрыптаушысы бойынша таңдау операторы. m айнымалының мәнін жадқа осы оператордың орындалуынан бұрын енгізілуі тиіс. Мұндағы m – Integer не 1..3 шектеулі типті айнымалы.Мысалы:
Информация о работе Сызықты және тармақты құрылымды алгоритмдерді программалау