Автор работы: M*********@mail.ru, 28 Ноября 2011 в 14:03, реферат
Паскаль тілін 1970 жылы швецария ғалымы Николас Вирт ойлап тапқан және оны VII ғасырда өмір сүрген француз ғалым-философы Блэз Паскальдің құрметіне PASCAL деп атаған болатын. Қазіргі кезде Паскаль программалау тілінің көптеген версиялары бар және олар бір-бірімен сәйкес келе бермейді.
Блэз Паскаль 1623 жылы францияның Клермон-Ферран қаласында өмірге келген. Оның қабілете жас кезінде көбінесе математика саласынан көп көріне бастаған. Ол 1662 жылы дүниеден қайтқан соң бүкіл әлемде ұлы маематик ретінде қалды. Математикадан басқа Паскальдің таланты физика, философия, әдебиеттану мақсатында есептеу машинасын ойлап тапты. Оның әкесі салық жинаушы болғандықтан бұл машина есептеу жұмыстарында өте қажетті болды.
1) Жүктеу түрлері. ТР ортасында жұмыс жасаудың негізгі жолдары. Программа мәтінін редакторлеу, өңдеу процессі.
Программаны редакторлеу, өңдеу командаларын Pascal-дің командалық менюі көмегімен орындап үйрену. Программаны құрастыру. Оның бөлімдері. Бөлімдерін сипаттау. Программаның әрбір бөлімінің атқаратын қызметі.
Begin тақырыбына арналған есептер.
Меншіктеу, енгізу, шығару командаларын пайдаланып қарапайым программаларды құрастыру. Read, Readln, Write, Writeln командалары.
Тармақталу командалары. Құрама операторлар.
Құрама шарттар. Мәтіндік шарттар. Таңдау командасы.
Шарттың алдында қойылатын циклдарды ұйымдастыру. While do циклдағы құрама операторлар. Шарттың соңында қойылатын Until, Repeat циклдарын ұйымдастыру.
Циклдағы құрама операторлар For, to, do операторлары.
Бір өлшемді массивтер. Матрицалар.
Функциялар және Процедуралар.
Қатарлар.
Графика.
Графиктік режимде текст шығару процедуралары.
Есептер шығрау.
'lntel'>' INTEL'
'Pentium'<'PENTIUM'
Duron '=' Duron'
"Celeron '<> 'Celeron '
'Hewlett
'<= 'Hewlett Packard' '
Есептер:
Real.
1) Program kll ;
uses crt;
var S1,S,V1,V2,T:real;
begin
Writeln('V1');readln(V1);
Writeln('V2');readln(V2);
Writeln('S');readln(S);
Writeln('T');readln(T);
S:=S-(V1+V2)*T;
write ('S=',S);
end.
2) Program kll;
uses crt;
var A,B,X:real;
begin
Writeln('B');readln(B);
Writeln('A');readln(A);
X:=B/A;
write ('X=',X);
end.
3) Program kll;
var A,B,C,X1,X2,D,v:real;
begin
write ('A-?');read(A);
write ('B-?');read(B);
write ('C-?');read(C);
X1:=(-B+sqrt(d))/(2*A);
X2:=(-B-sqrt(d))/(2*A);
D:=sqr(b)-4*a*c;
V:=X1+X2;
write ('D=',D);write ('V=',V);
end.
4) Program kll;
var A1,A2,B1,B2,C1,C2,Y,X,D:real;
begin
write ('A1-?');read(A1);write ('A2-?');read(A2);
write ('B1-?');read(B1);write ('B2-?');read(B2);
write ('C1-?');read(C1); write ('C2-?');read(C2);
D:=A1*B2-A2*B1;
X:=(C1*B2-C2*B1)/D;
Y:=(A1*C2-A2*C1)/D;3
write ('X=',X);write ('Y=',Y);
end.
5) Program kll;
var Ls,Lm:Real;
begin
write ('Ls-?');read(Ls);
Lm:=ls/100;
write ('Lm=',Lm);
end.
6) Program kll;
var Mt,Mk:Real;
begin
write ('Mk-?');read(Mk);
Mt:=Mk/1000;
write ('Mt=',Mt);
end.
7) Program kll;
var Kb,B:Real;
begin
write ('B-?');read(B);
Kb:=B/1024;
write ('Kb=',Kb);
end.
8) Program kll;
var A,B,C:Real;
begin
write ('A-?');read(A);
write ('B-?');read(B);
C:=A/B;
write ('C=',C);
end.
9) Program kll;
var A,B,C:Real;
begin
write ('A-?');read(A);
write ('B-?');read(B);
C:=B-A;
write ('C=',C);
end.
10) Program for3;
var a,al,n:real;
begin
readln (n);
readln (a);
al:=exp(n*ln(a));
writeln ('jayap');
writeln (al);
end.
11) program if1;
var x,y,z,p,k,f,c,a,b:real;
begin
writeln('man engiz');
readln (x,y,z);
if x>0 then
p:=1;
if y>0 then
k:=1 else
f:=0;
if z>0 then
c:=1
else
b:=0;
a:=p+k+c;
writeln ('jayap');
writeln (a);
end.
12)
program if2;
var p,a,b:real;
begin
writeln('man engiz');
readln (a,b);
if a>b then
p:=a
else p:=b;
writeln ('jayap');
writeln (p);
end.
13)
program if3;
var p,c,a,b:real;
begin
writeln('man engiz');
readln (a,b);
if a>b then writeln(a,b)
else
if a=b then writeln(a,b)
else
writeln (b);
writeln (a);
end.
14)
program if4;
var p,c,a,b:real;
begin
writeln('man engiz');
readln (a,b);
if a>b then
p:=b;
if a=b then
p:=c
else
p:=a;
writeln ('jayap');
writeln (p);
end.
15)
program if5;
var p,c,a,b:real;
begin
writeln('man engiz');
readln (a,b);
if a>b then
p:=b;
if a=b then
p:=c
else
p:=a;
writeln ('jayap');
writeln (p);
end.
16)
program if6;
var f,x:real;
begin
writeln('man engiz');
readln (x);
if x<=0 then
f:=-x;
if (0>x)and (x<2) then
f:=sqr(x)
else
f:=4;
writeln ('jayap');
writeln (f);
end.
17.06.2011 жыл
№12. Графика.
Компьютердің мониторы нүктелердің (пикселдердің) жиынтығынан тұрады. Ал символдарды нүктелердің жиынтығы құрайды. Егер текстік режимде тек символдармен ғана жұмыс жасалса, графиктік режимде әрбір нүктелермен жұмыс жасауға болады. Мысалы текстік режимде символдар түсін өзгертуге болатын болса, графиктік режимде әрбір нүктенің түсін немесе нүктелерден құралған әртүрлі фигуралар мен текстердің түстерін әртүрлі қылып шығаруға болады. Компьютердің графиктік режимдегі жұмысы монитор мен оның видеоадаптерімен тығыз байланысты. Монитор кәдімгі телевизор секілді жұмыс істейді. Экрандағы бейнелер секундына 25 рет жоқ болып кетіп қайта құралады. Адамның көзі мүндай кадрлардың тез ауыстырылып жатқанын сезбейтіндіктен, оған экрандағы бейне бір орында тұрғандай болып әсер етеді.
Графиктік режимде экранға бейнелер шығару үшін координаттар жүйесі қолданылады. Бейнелерді құрайтын нүктелер экранда қатарлар бойынша реттеліп орналасатындықтан, бір қатардағы нүктелер X осі бойынша солдан оңға қарай өзгереді деп, ал қатарлар - Ү осі бойынша жоғарыдан төмен қарай өзгереді деп алынады. Нүктелердің басы ретінде экранның сол жақ жоғарғы бұрышынан Х=0 және Ү=0 деп алынады. Ал барлық қатарлар(МахҮ) мен ондағы орналасқан нүктелер саны (МахХ) видеоадаптердің типі мен оның жұмыс режиміне байланысты болады.
Turbo Pascal-да графиктік режимде жұмыс істеуге арналған арнаулы функциялар мен процедуралар GRAPH кітапханалық модулінің құрамында жазылған. GRAPH модулі 80-ге жуық графикалық функциялар мен процедуралардан және оншақты стандартты тұрақтылардан тұрады.
Ол процедуралар мен функцияларды текстік режимде пайдалану үшін бағдарламаның басында келесі амалдар орындау қажет:
1. USES қызметші сөзінде GRAPH модулі жазылады:
USES
Graph;
2. Графиктік режим орнатылады:
VAR d1, d2: Integer;
BEGIN d1:=Detect;
lnitGraph(d1, d2, 'C:\Turbo\Graph');
мұндағы:
InitGraph - графикалық режимді орнату процедурасы,
d1- графиктік режим драйверінің типін,
d2 - видеоадаптердің жұмыс режимінің нөмірін анықтайтын тұрақтылар.
Бұл
шамалар монитор мен
Экранды
басқаратын процедуралар
мен функциялар
Экранның фоны SETBKCOLОR процедурасының көмегімен орнатылады, жазылуы:
SETBKCOLOR(C);
мұндағы: С - түс коды 0-ден 15-ге дейін өзгереді
Бұл процедураның орындалу нәтижесінде экран С номерлі түске боялып шығады. Бұл процедурамен орнатылған түс кодының мәнін GETBKCOLOR процедурасының көмегімен анықтауға болады.
Экрандағы барлық салынған графиктік объектілерді өшіріп тастау үшін параметрсіз CLEARDEVICE процедурасы қолданылады. Бұл процедураның орындалу нәтижесінде графиктік режимде орнатылған барлық параметрлер (фон түсі, курсор орны, терезелер т.б.) күшін жойып, экран тазарып курсор қайтадан координаттары (0,0) болатын экранның сол жақ жоғарғы бұрышындағы нүктеге апарылады.
Графикалық
режимнің көзге көрінбейтін сілтеме-
MОVETO процедурасы курсорды координаттары өзінде көрсетілген орынға апарып қояды, мысалы:
MOVETO(X,Y);
//курсорды
А(Х,Ү) нүктесіне апарып қояды
MOVEREL процедурасы курсорды бұрынғы тұрған жерінен X және Ү осі бойынша өзінде көрсетілген сәйкес шамаларға тең нүктелерге жылжытып апарып қояды, мысалы:
MOVEREL(X1,Y1);
//курсорды
А(Х,Ү) нүктесінен А1(Х+Х1,Ү+
Курсордың тұрған жерін анықтау үшін GET функциясы қолданылады, мысалы:
A:=CetX; //курсор тұрған жердің X осіндегі координатын анықтау
B:=GetY; //курсор тұрған жердің Ү осіндегі координатын анықтау
X және Ү осіндегі барлық нүктелер санын анықтау үшін GETMAX функциясы қолданылады. Бұл функцияларды монитор мен видеоадаптердің типін білмегенде пайдаланған ыңғайлы, мысалы:
A:=CetmaxX; //А - X осінің ең үлкен мәнін меншіктейді
В:=CetmaxУ;
//В - У осінің ең үлкен мәнін меншіктейді
Бұдан басқа Getmax функциясын экран ортасының координаттарын анықтау үшін де қолдануға болады, мысалы:
Xc:=GetmaxX Div 2;
Yc:-GetmaxY Div2;
Putpixel(Xc, Yc, 5);
//экранның қақ
Circle(GetmaxX Div 2, GetmaxY Div 2,30);
//экранның қақ
Текстік режимдегідей графиктік режимде де графиктік фигураларды бөлек терезелер ішіне салуға болады. Терезе орнату үшін SETVIEWPORT процедурасы қолданылады. Терезе орнатылғаннан кейін координаттар басы ретінде терезенің сол жақ жоғарғы бұрышы(0,0) алынады, жазылуы:
SETVIEWPORT(X1, Y1,X2, Y2, Clip);
мұндағы: Х1.Ү1 - орнатылатын терезенің сол жақ жоғарғы бұрышының координаттары;
Х2, Ү2 - орнатылатын терезенің оң жақ төменгі бұрышының координаттары;
Clip - салынатын
графиктік объектінің терезенің сыртына
шығатын бөлігін экранда көрінуін анықтайтын
бульдік шама. Егер Clip:=True болса, онда ол
бөлік көрінбей кесіліп қалады, егер Clip:=False
болса - көрініп тұрады.
Ағымдағы
терезенің ішін тазалау үшін CLEARVIEWPORT
процедурасы қолданылады. Процедураның
орындалу нәтижесінде терезе ішіндегі
барлық объектілер өшіріліп, курсор терезенің
сол жақ жоғарғы бұрышына барып орналасады.