Автор работы: Пользователь скрыл имя, 12 Апреля 2013 в 22:25, реферат
Программа - арнайы мәтін арқылы компьютерге тапсырманың алгоритмін хабарлайды. Алгоритм –арнайы іс-әрекеттердің белгілі кезекте орналасқан тәртібі, алогритм арқылы машина тапсырманы орындайды. Программа жасау үнемі өсу,өрлеу, жаңару үстінде. Олай дейтініміз алғашқы программалар машина кодтарына жасалады.Бұл өте қиын жұмыс еді. Себебі программалаушы үнемі кодтық операциялар, ақпараттар, адрестер және командалар арқылы жұмыс істеуге мәжбүр болды. Сондықтан программалаушылар өз жұмыстарын жеңілдету жолдарын іздестіруге кірісуде. Олар алгоритмдік тілдер мен символдық программалау тәсілдерін жасап шығарды.
1.Алғы сөз.
2. Алгоритм түсінігі.
3. Pascal тілі жөніндегі алғашқы мағлұматтар.
4. Есептер мен жаттығулар жинағы және шығарылуы
5.Қолданылған әдебиеттер және басқа да ақпарат көздері.
ArcTan(X) -Х санының арктангенcін береді.
Exp(X) -е-нің Х дәрежесін есептейді.
Ln(x) - Х санының натурал логарифмін есептейді.
Pi-дің мәні, pi = 3.14159265
Sqr(X)- X-тің квадратын есептейді .
Sqrt(X)-X-тің квадрат түбірін есептейді. Trunc(X)Х нақты санының бүтін бөлігін береді. (Х санының бөлшек бөлігі алынып тасталып, функция нәтижесінің типі Longint болады)
Frac(X)- X санының бөлшек бөлігін береді.
Int(X) -Х санының бүтін бөлігін береді. Бұл функцияның Trunc функциясынан айырмашылығы есептеу нәтижесінің типі real түрінде болады.
Round(X)- Х нақты санын бүтін санға дөңгелектейді.
Random(X) -0..Х диапазоны арасынан кездейсоқ бүтін санды анықтайды.
Программада Random
функциясын қолданбас бұрын,
Мысал .-10..10 диапазоны арасынан кездейсоқ 5 санды шығару.
var i: integer;
begin
randomize;
for i:=1 to 5 do writeln(random(21)-10);
end.
Inc(X,Y) Х-тің мәнін Y-ке арттырады. Егер Y саны көрсетілмей кетсе, Х-тің мәні автоматты түрде 1-ге артады.
Dec(X,Y) Х-тің мәнін Y-ке кемітеді. Егер Y саны көрсетілмей кетсе, X-тің мәні 1-ге кемиді.
Паскаль тіліндегі программа құрылымы
Паскаль тілінде программа үш бөліктен: тақырыптан, сипаттау бөлімінен және операторлар бөлімінен тұрады.
Программаның тақырыбында программаның аты жазылады, мысалы:
Program ESEP;
Сипаттау бөлімінде:- кітапханалық модульдерді сипаттау бөлімі;
- белгілерді сипаттау бөлімі;
- тұрақтыларды сипаттау бөлімі;
- типтерді сипаттау бөлімі;
- айнымалыларды сипаттау бөлімі;
· процедуралар мен функцияларды сипаттау бөлімдері
Кітапханалық модульдерді сипаттау бөлімі USES түйінді сөзімен басталып, сипаттау бөлімінде басқаларынан бұрын жазылуы керек. Программада қолданылатын модуль атауларының саны бірнеше болса, олардың арасы үтірмен ажыратылып жазылады:
uses CRT, Graph; Программадағы кез келген операторды белгімен белгілеп қоюға болады.Бұл белгі арқылы қажетті жағдайда программаның кез келген жолынан осы белгісі бар операторға көшіп, оны қайталап кезексіз орындауға болады. Белгі ретінде төрт цифрдан аспайтын кез келген санды немесе сөздерді қолдануға болады. Оператор тек бір белгімен ғана белгіленеді. Бір белгі бірнеше операторды белгілей алмайды. Белгілер операторлар бөлімінде сол оператордың алдына жазылып, арасы қос нүктемен ажыратылады. Сипаттау бөлімінде белгілер label түйінді сөзінен кейін жазылады. Мысалы:
label 3, 471, 29, Quit;
Программадағы тұрақтылар өз мәнімен (мысалы, 5,14,13.5, т.б.) немесе оған қойылған атау арқылы берілуі мүмкін. Тұрақтылар өз атауы арқылы берілсе, онда оның атауын жаза отырып программаның кез келген жерінде пайдалануға болады, бірақ оның атауы мен мәні тұрақтыларды сипаттау бөлігінде төмендегідей түрде көрсетілуі тиіс. Мысалы:
const p=3.14; e=2.7; a=’bol’; max=1000;
Айнымалыларды сипаттау
бөлімінде программада
var P,Q,R: Integer;
A,B: Char;
F1,F2: Boolean;
Паскаль тілінде программа
құрған кезде программада
Операторлар бөлімінде программа мазмұнына сәйкес бір немесе бірнеше оператордың болуы мүмкін. Операторлар бір-бірінен нүктелі үтір (;) арқылы бөлініп жазылады. Операторлар бөлімі begin түйінді сөзінен басталап, end сөзімен аяқталады. Begin мен end сөздерін операторлық жақшалар деп те атайды. Сәйкесінше begin – ашылатын, end – жабылатын жақшалар. Оператор дегеніміз - алгоритмді жүзеге асыру барысында орындалатын іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі. Операторлардың жалпы жазылу түрі төмендегідей болады:
BEGIN
1-оператор;
2-оператор;
.................;
n-1-оператор;
n-оператор
END.
Әдетте программа мәтіні end сөзімен аяқталып, одан кейін нүкте қойылады. Егер программада бір емес, бірнеше операторлық жақшалар қолданылатын болса, онда нүктені тек ең соңғы орналасқан end сөзінен кейін қою қажет. Басқа end сөздерінен кейін нүктелі үтір (;) қойылады. Паскаль тілінде құрылған қарапайым программалардың біріне мысал келтірейік:
Program bastau; {программа тақырыбы}
const pi=3.14159; { π тұрақтысының мәнін беру}
var r, l :real; {r, l мәндерінің нақты сан екенін сипаттау}
begin {
readln(r); { r мәнін енгізу}
l:=2*pi*r; {Шеңбер ұзындығын есептеу}
write(‘шеңбердің ұзындығы= ’, l); {Нәтижені экранға шығару}
end.
Мұнда программа мәтіні қарайтылған қаріппен терілген, ал оң жақ шетте пішінді жақша ішінде түсініктеме мәтіні берілген, түсініктеме программа мәтініне ешқандай әсер етпейді, оны түсінуді жеңілдетеді, сондықтан әрбір программа түсініктемемен толықтырылуы тиіс.
1-мысал
program misal; {екі санның қосындысын есептеу}
var
x,y,s: integer;
begin
WriteLn('Бос орын арқылы екі сан енгіз ');
ReadLn(x,y);
s := x + y;
WriteLn('Екі санның қосындысы ',s);
end.
Бұл программа пернетақтадан екі санның енгізілуін сұрап, олардың қосындысын есептейді және нәтижесін экранға шығарады. Енді бұл программаға аз ғана өзгерістер жасайық. Программа әуелі экранды тазалап, кейін нәтижені сол мезетте экранға шығару үшін қол данушының кез келген пернені басуын талап ететін болсын.
2-мысал
program misal;
{екі санның қосындысын
uses Crt;
{экранды тазалауға және
var
x,y,s: integer;
begin
ClrScr; {экранды тазалау}
WriteLn('Бос орын арқылы екі сан енгіз ');
ReadLn(x,y);
s := x + y;
WriteLn('Екі санның қосындысы ',s);
ReadKey; {перненің басылуын күту}
end.
Енгізу және шығару операторлары
Паскаль тілінде мәліметтерді енгізу және шығару үшін, яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын ала анықталған Input, Output файлдары қолданылады. Программа берілген мәндерді Input файлынан алады да, алынған нәтижені Output файлына орналастырады. Стандартты енгізу файлы болып пернетақта, ал шығару файлы болып дисплей экраны саналады. Ол үшін енгізу операторы пайдаланылады.
Паскаль тілінде мәлімет енгізетін READ (READ – ағылшынша оқу) операторының жалпы түрі (пішімі) төмендегідей:
READ(a1, a2, …, an);
READLN(a1, a2, …, an);
READLN;
мұндағы a1, a2, …, an – айнымалы атаулары, оларды енгізу операторының параметрлері деп те атайды. Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал readln ( read line – «қатарды оқу» деген сөздің қысқартылуы) алдыңғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіруді ғана атқарады.
Енгізілетін айнымалылардың мәндері integer, real, char немесе string (сөз тіркесі) типтеріне жатуы мүмкін. Логикалық айнымалылардың мәндері енгізілмейді. Айнымалылар мәндері өз типтеріне сәйкес Паскаль тілінің ережесі бойынша енгізіледі. Егер ол шарт бұзылса (мысалы, а1 типі integer болса, ал енгізгенде char типтес мән терілсе), онда экранға енгізу-шығару қатесі шығады, оның пішімі мынадай болып келеді.
I/O error XX,
мұндағы XX – бүтін сан түріндегі қатенің сипатына сәйкес коды.
READ операторы орындалғанда
Мысал.
var
I: real;
J: integer;
K: char;
begin
Read (I, J, K);
Программаға мынадай бастапқы мәндер енгізіледі делік: 212.5 38 ‘п’
Осыдан кейінгі келесі мәндер енгізілсін: ‘л’ 121.35 25
Алғашқы нұсқасында мәлімет енгізу дұрыс орындалады, өйткені енгізілетін мәндер өз ретімен орналасқан айнымалылар типтеріне (I, J, K) сәйкес келіп тұр. Екінші нұсқа коды 10 болып келетін қате бар екенін айтады, себебі real типтес I айнымалысы үшін char типіндегі мән енгізіліп отыр.
READ(FN, a1, a2, …, an);
READLN(FN, a1, a2, …, an);
READLN(FN); мұндағы FN – енгізілетін мәндер жазылған дискідегі файлдың аты; аi - айнымалылар идентификаторлары, файлдарда да мәндер бір қатардан немесе келесі қатардан оқыла береді, сол себепті мұнда да жоғарыда көрсетілген операторлардың үш түрі қолданылады. Файлдағы мәліметтер де бір-бірінен «бос орын» не «енгізу» пернесін басу арқылы бөлінуі тиіс, яғни файлға әрбір мән енгізілгеннен кейін «_», ал енгізу соңында «Enter» пернесі басылады. Файлдардан мәлімет енгізу мысалдарын кейінірек қарастыратын боламыз.
READ операторы кез келген сандармен, символдармен және сөз тіркестерімен жұмыс атқара алады.
Сонымен, параметрлердің сандық мәндері бір-бірінен бос орын арқылы ажыратылып жазылады. Мәндерді беріп болдық дегенді білдіру үшін Enter (енгізу) пернесі басылады. Мысалы, енгізу операторы READ(A,B,C); түрінде берілсе, параметрлерге мәндер былай беріледі. 5_6.2_4.5 Enter. Бұл жағдайда A=5, B=6.2, C=4.5 мәндер қабылдайды. Осы мәндер арқылы программа орындалып болған соң, басқа мәндер үшін программаны қайталау қажет болса, онда программаны басынан бастап қайта орындау қажет.
Бүтін айнымалыларға бүтін, нақты айнымалыларға нақты мәндер берілуі қажет.
Айнымалы сипатталғанда нақты ретінде көрсетілсе, оған нақты да, бүтін де мән беруге болады, себебі нақты сан құрамына бүтін сан енеді. Ал машина «өзі» бүтін санды нақты сан түріне келтіріп алады.
A, B: REAL;
BEGIN
READ (A,B);
…
END.
түрінде беріліп A, B айнымалылары үшін 4 5 Enter орындалса, онда машина оларды А = 4.0, B = 5.0 түрінде қабылдайды. Сандар арасына бір немесе бірнеше бос орын қалдыруға болады, себебі сан енгізілгенде бос орын есепке алынбайды. Мәндерді енгізгенде мән енгізілген жолдан келесі жаңа жолға өту үшін параметрсіз немесе параметрге сәйкес READLN; READLN(a1, a2, …, an); операторларын пайдалану қажет. Сонымен READ(a1, a2, …, an); READLN; операторларының орнына бір ғана READLN(a1, a2, …, an) операторын пайдалануға болады. Шығару операторы. Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы (процедурасы деп айтылады) қолданылады: WRITE (a1, a2, …, an); мұндағы жақша ішінде жай айнымалылар немесе апострофтармен қоршалған символдар тобы болуы мүмкін. Мысалы, егер B =17.15 болып, мына команда орындалғанда: WRITE (‘B мәні = ’, B);экранда В мәні = 1.715E+01деген сөз тіркесі көрінеді. Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар integer, real, boolean (true, false), char, string сияқты типтер түрінде беріле береді. Шығарылатын параметрлер бір-бірімен үтір арқылы ажыратылып, WRITE түйінді сөзінен соң жай жақша ішіне жазылады. Шығару операторында жақша ішінде қағазға не экранға шығарылатын мәннің пішімін – оның алатын орнын , яғни енін толық көрсетуге болады. Бүтін санды оның енін көрсете отырып экранға шығаруға болады, мысалы: b айнымалысының бүтін түрдегі мәнін көрсету WRITE (b:n) немесе WRITE (b:5) операторы арқылы жүзеге асырылады. Мұндағы b - айнымалының атауы; n – мәні бүтін сан болып келетін тұрақты түрінде берілген орын саны, оны бірден бүтін санмен де жазуға болады. Егер b:5 пішімі беріліп, ал b = 56 (екі не үш разрядты сан) болса, онда беске дейінгі толтырылмаған орындарға сол жақ шетте бос орын қалдырылады. b = 56 мәні үшін WRITE (b :5) операторы экранға « 56»тіркесін шығарады. Нақты сандар үшін оның жалпы енін, сонан соң бөлшегі алатын орынды көрсету қажет, сол себепті аралас сандарды бейнелеуде оның ені қос нүктемен бөлінген екі бүтін сан арқылы жазылады. Сонымен, нақты сан үшін пішім екі саннан тұрады: I – санға берілетін барлық орын. II – үтірден кейін алынатын бөлшек цифрлар саны.Мынадай оператор берілсін делік: WRITE (Y : 5: 2)Мұндағы 5 – нәтижеге берілген барлық орын, 2 – үтірден соңғы бөлшек бөлігіне берілетін орындар саны. Мысалы, C = -145.7865 болғанда WRITE(C:8:3) операторы экранға -145.786 мәнін шығарады, мұндағы жалпы орындар саны – 8, ал бөлшек үш санмен бейнеленетіндіктен соңғы бір цифр жазылмай қалып отыр. C айнымалысының берілген мәнін толық бейнелеу үшін WRITE(C:9:4) операторын жазу керек еді. Жалпы нақты санды экранда бейнелеу операторының жазылу түрі: WRITE(C : n : m);мұндағы n – C мәнінің барлығына берілген орын саны; m - C мәнінің бөлшек бөлігіне белгіленген орын саны. n-нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол n>m+3 болуы тиіс. Экранға шығаратын сандардың арасында қалдырылатын бос орын санын да осы жолмен көрсетуге болады. Ол үшін екі апостроф жазып, одан кейін қос нүктемен бөлінген бүтін сан арқылы қалдырылатын бос орындар санын өрнектейміз, мысалы: WRITE (b:8:3, ‘ ‘: 4, c:12:4);Мұндағы 4 – b мен c сандарының арасындағы бос орын саны. Егер нақты сан үшін: WRITE (‘Y =’, Y:8:3) пішімі берілсе, ал оның мәні Y = 1.76 болса, экраннан Y = 1.760 тіркесі көрінеді. Егер операторда пішім көрсетілмесе, онда нәтижеде сол сан экспоненциальды түрде экранға шығады. Паскаль тілінде параметрсіз шығару операторы WRITELN жаңа жолға өту үшін қолданылады. Егер WRITELN(a1, a2, …, an); операторы қолданылса, онда a1, a2, …, an мәндерін экранға шығарған соң курсор келесі жолға көшеді. WRITE операторын түсініктеме беруге қолдануға болады. Мысалы: WRITE(‘A,B,C мәндерін енгізіңдер:’); READ(A,B,C);Мұндайда экранға: A,B,C мәндерін енгізіңдер:Түсініктеме сөзі шығады, сонан кейін үш сандық мән енгізілуі тиіс. Мысалы, WRITE(‘T= ’, N:3, ‘ ’:4, ‘M =’, M : 4 : 2 )болса, онда T-ның үшорынды мәнінен соң 4 бос орын қалады да, одан соң M-нің нақты мәні жазылады. Айталық, X = 7, Y = 15, Z = 11, ал R = 450,08 болсын, оларды экранға шығарудың әртүрлі тәсілдерін төмендегі кестеде көрсетейік:
Информация о работе Қолданылған әдебиеттер және басқа да ақпарат көздері