Program Matrix2;
Var X: array [1..3, 1..4] of integer;
i, j, a, b, S: integer;
begin
writeln (' сандар аралығын енгіз'); read (a, b);
randomize;
for i:=1 to 3 do
for j:=1 to 4 do
x[i, j]:=random (b-a) +a;
for i:=1 to 3 do
begin
S:=0;
for i:=1 to 4 do
S:=S+X [i, j];
writeln ('S[',i,']=', S)
end
end.
i=j шарты квадрат матрицаның негізгі диагональ элементтерінің, i+j =4 жетекші диагональ элементтерінің шарты. (жалпы жағдайда i+j =n+1, мұндағы n- квадрат матрицаның жолдарының ( немесе баған) саны.)
Бақылау сұрақтары:
Екі өлшемді жиымды енгізу және шығару қалай жүзеге асады?
Квадрат матрица деген не? Квадрат матрицаның негізгі және қосалқы диагональ элементтерінің шарты қандай?
Матрицаны транспонирлеу деген не және ол қалай жүзеге асырылады?
Әдебиеттер:[1] 176-185 бет. [2] 64-69 бет. [3] 45-47, 64-69 бет. қ[1] 32-34- бет.
7- апта
1 кредит сағат.
Тақырыбы: Символдық айнымалылар және оларды түрлендіру.
Дәріс мазмұны:
1.Символдық айнымалы, оларды программада сипаттау, оның ұзындығы.
2.Символдық айнымалыларды түрлендірудің стандарт функциялары және процедуралары.
Мәні символ (әріп, цифр, таңба) болатын айнымалы символдық айнымалы деп аталады.
Символдық айнымалыларды түрлендірудің стандарт функциялары.
Length (a) – функциясы а символдық айнымалының ұзындығын табады. Функция нәтижесінде бүтін типті сан шығады.
Мысал: a:='информатика'; k:= length (a); writeln (‘a жолының ұзындығы=', к);
Concat (a1, a2)- функциясы а1 және а2 жолдық айнымалыларды біріктіреді. (concat- конкатенация- біріктіру). Функция нәтижесінде жолдық айнымалы шығады.
Мысал: a1:='бағдар'; а2:='шам';
b :=concat (a1, a2); writeln (b);
Программаның орындалу нәтижесінде “бағдаршам” сөзі шығады. Екі жолды біріктіру үшін “+” таңбасын да қолдануға болады.
Мысал: a:='информатика';
b :='ғылымы';
writeln (а+b);
Copy (a, n, k)- функциясы а жолының n-ші символынан бастап к символ көшіріп (немесе қиып) алады.
Мысал: copy ('қалам', 3, 2)→ 'ла' ; copy ('кітап', 1, 1)→ 'к'
Pos (a1, a2)- функциясы а2 жолындағы а1 ішкі жолының басталу позициясын көрсетеді, егер а2 жолында а1 жолы жоқ болса, онда функция мәні 0-ге тең болады.
Мысал: pos ('кa', 'физика')→ 5; pos ('тa', 'физика')→ 0; pos ('cd', 'abcdcdrf')→ 3
Ord функциясы символдың сәйкес ASCII кодын табады.
(Ordinal value- реттік мәні)
Мысал: ord ('A')→ 65; ord ('а') → 97
Chr функциясы кодқа сәйкес символды береді.
(character-cимвол)
Мысал: chr (65)→ 'A'; ord (49)→ 1
Бұл функцияны # (диез белгісі) символымен алмастыруға да болады.
Мысал: # 65→ 'A'
Символдық айнымалылырды түрлендірудің стандарт процедуралары.
Delete (a, m, n) процедурасы a жолдың m-ші символынан бастап n символ жоюды жүзеге асырады.
Мысал: а:='информатика'; delete (a, 7, 5); writeln (a);
нәтижеде экранға “информ” сөзі шығады.
Insert (a1, a2, n) процедурасы a1 ішкі жолын a2 жолының n нөмірлі символынан бастап а2 жолының арасына апарып қояды, а2 жолының қалған символдары соңына қарай ығысады.
Мысал 1. а1:='-'; а2:='Ол оқушы'; Insert (a1, a2, 3); Writeln (a2);
нәтижеде а2 жолындағы екі сөздің арасына сызықша белгісі қойылады.
Str (x, a)- x бүтін немесе нақты санды а символдық тұрақтыға түрлендіретін процедура.
Егер х=512 болса, Str (x, a) процедурасының орындалу нәтежесі а='512'. Мұндағы 512 мәні сан емес, символдық тұрақты.
Val (a, x, c) процедурасы Str-ға кері процедура. Ол а символдық тұрақтыны х санға айналдыруды жүзеге асырады. Мұндағы с- бүтін айнымалы. Егер а-ны х-ке түрлендіру мүмкін болса, яғни а-ның барлық символы сан болса, с айнымалысының мәні 0-ге тең. Керісінше жағдайда, с- ның мәні сан емес 1- символдың нөміріне тең.
Мысалы: 1) а='416'; val (a, x, c); нәтижеде х=416; с=0
2) а='41ав6'; val (a, x, c); нәтижеде с=3
Мысал1: Берілген мәтінде “ас” жолы неше рет кездесетінін анықтаңдар.
var а :string; i, n: integer;
begin
writeln(‘мәтін енгіз’);readln(a);
for i:=1 to length(a) do
if copy(a, i, 2)=’ac’ then n:=n+1;
writeln(‘n=’,n) end.
Мысал2: Берілген мәтіндегі берілген әріпті жоятын программа құрыңдар.
Var а: string; b: char; i:integer;
begin writeln(‘мәтін енгіз’); read (a);
writeln(‘әріп енгіз’); read (b);
for i:=1 to length (a) do
if a[i]= b then delete(a, i, 1);
writeln(a)
end.
Бақылау сұрақтары:
Символдық айнымалы деген не?
Символдық айнымалының ұзындығы деген не?
Паскальда символдық айнымалының максимал ұзындығы неге тең?
Символдық айнымалыларға қандай стандарт функциялар қолданылады?
Символдық айнымалыларға қандай стандарт процедуралар қолданылады?
Символдық айнымалылар қалай сипатталады?
Символдық айнымалылар қалай салыстырылады?
ASCII коды деген не? Ол қандай аралықта беріледі?
Символдық айнымалыдан символ қиып алу қалай жүзеге асырылады?
Символдық айнымалы жадыда қалай нөмірленеді?
Әдебиеттер:[1] 158-175 бет. [2] 69-72 бет. [3]112-115 бет. қ[1] 23-2 бет.
8- апта
1 кредит сағат.
Тақырыбы: Көмекші (ішкі) программа: функция және процедура.
Дәріс мазмұны:
1.Көмекші программа- функция.
2.Көмекші прог-ма- процедура. Формальды және нақты параметрлер.
Паскаль тілінде ішкі (көмекші) программаның 2 түрі бар: процедура және функция.
Процедура деп қандай да бір есепті шешуге арналған атауы бар программа бөлігін атайды.
Процедураның жазылуының жалпы түрі:
PROCEDURE процедура аты (типтері сипатталған формальды параметрлер тізімі);
<сипаттау бөлімдері>
Begin
операторлар бөлімі
End;
Негізгі программаның қажетті жерінде процедураны шақыру операторы орналасады.
Процедураны шақыру операторының жазылу үлгісі:
Процедура аты (нақты параметрлер тізімі);
Мысал1: Екі натурал санның ең үлкен ортақ бөлгішін табу процедурасын қолданып (ЕҮОБ), 4 натурал санның ең үлкен ортақ бөлгішін табыңдар.
Program P1; {негізгі программа}
Var x, y, z, t, n1,n2,n: word;
Procedure EYOB (a,b:word; Var K:word;);
begin {процедура басы}
While a<>b do
If a>b then a:=a-b then b:=b-a;
K:=a {процедура нәтижесі}
end; {процедура соңы}
begin
readln(x, y, z, t);
EYOB(x, y, n1);
EYOB(z, t, n2);
EYOB(n1, n2, n);
Writeln(‘4 санның ЕҮОБ-і=’, n)
end. {негізгі программа соңы}
Мысал2: n!-ды табу процедурасын қолданып, бастапқы 5 жұп натурал санның факториалдарын табыңдар.
Program m2;
Var i, n: integer; m:longint;
Procedure Fak (n:integer; Var p:longint);
var j:integer;
begin p:=1;
for j:=1 to n do
p:=p*j; {процедура нәтижесі}
end;
begin
i:=2; while i<=10 do begin
Fak (i, m); writeln(i, ‘!=’,m);
i:=i+2; end;end.
Бір ғана функция мәнін есептейтін ішкі программаны Паскальда функция деп атайды.
Функцияның жазылуының жалпы түрі:
FUNCTION функция аты (формальды параметрлер аты:типі):нәтиженің типі;
begin
функция денесінің операторлары
end;
Функция нәтижесі функция атымен бірдей болуы керек.
Функцияны шақыру операторының жазылу үлгісі:
Нәтиже:=функция аты (нақты параметрлер);
Мысал1: Екі натурал санның ең үлкен ортақ бөлгішін табу функциясын қолданып (ЕҮОБ), 4 натурал санның ең үлкен ортақ бөлгішін табыңдар.
Program m1;
Var a, b, c, d, M1, M2, M:integer;
FUNCTION EYOB(x, y:integer):integer;
begin
While x<>y do
If x>y then x:=x-y then y:=y-x;
EYOB:=x {функция нәтижесі}
end;
begin
readln(a, b, c, d);
M1:=EYOB(a, b);
M2:=EYOB(c, d);
M:=EYOB(M1,M2);
Writeln(‘4 санның ЕҮОБ-і=’, M)
end.
Бақылау сұрақтары:
Ішкі программа не үшін қолданылады?
Паскальда ішкі программаның қандай түрлері бар?
Процедураның жалпы түрі қалай жазылады?
Функцияның жалпы түрі қалай жазылады?
Негізгі программада процедура мен функцияны шақыру операторлары қалай жазылады?
Формальды параметр деген не?
Нақты параметр деген не?
Жергілікті айнымалы деген не?
Функция мен процедураның қандай ұқсастығы бар және айырмашылығы қандай?
Рекурсия деген не?
Әдебиеттер:[1] 130-140 бет. [2] 90-104 бет. [3]47-53 бет., 161-180 қ[1] 28-30 бет.
9- апта
1 кредит сағат.
Тақырыбы: Жиын. Жиынға операциялар қолдану.
Дәріс мазмұны:
1. Жиын түсінігі. Оның программада сипатталуы.
2. Жиынға қолданылатын операциялар: +, - ,* , IN
жиынтығын атайды. Жиын элементтерінің типі нақты типтен басқа барлық типтерді қабылдайды.
Мысал: [3,4,7..12; [‘a’, ‘b’.. ‘е’]
Жиынның программада сипатталу үлгісі:
Var жиын аты: Set of базалық тип;
Мысал: Var A,D: Set of byte; C: Set of 0..9;
Жиынға 5 операция қолданылады: біріктіру (+), қиылысу (*), азайту (-), қатынас операциялары, тиістілікті тексеру операциясы.
Екі жиынның бірігуі деп екі жиынның да элементтерінен құралған элементтер жиынын атайды.
Мысал: [1,2,3,4] + [3,4,5,6] = [1,2,3,4,5,6]
Екі жиынның қиылысуы деп екі жиынның ортақ элементтерінен құралған элементтер жиынын атайды.
Мысал: [1,2,3,4] * [3,4,5,6] =[3,4]
Екі жиынның айырмасы деп 1-жиынның 2-жиынға тиісті емес элементтерінен тұратын жиынды атайды.
Мысал: [1,5,9]-[2,4,8,9]=[1,5]
Жиындарға =, <>, >=, <= қатынас операциялары қолданылады.
Тиістілікті тексеру операциясы.
Жиынға тиістілікті тексеретін In операторы қолданылады.
Жазылу үлгісі:
өрнек IN жиын
Егер өрнектің мәні жиынға тиісті болса, бинарлық операцияның мәні true, әйтпесе false болады.
Мысалы: 5 IN [3..7] – мәні ақиқат (true); 2*2 [3..7] – мәні жалған (false)
Жиынға бұл операцияларға қосымша 2 процедура қолданылады.
INCLUDE(S, I)- жиынға жаңа элемент қосады.
S- базалық тип элементтерінен тұратын жиын, I -жиынға қосылатын элемент.
EXCLUDE(S, I)-жиыннан элементті азайтады.
Мысал1: Кіші орыс әріптерінен тұратын жиын берілген. Берілген символдық жолдың осы жиынға тиісті болатын символдарын және олардың кодтарын екі баған түрінде экранға шығаратын программа құрыңдар.
Program p1;
var a: set of char;
b:string;
i: byte;
begin
readln (b); берілген символдық жол
а:='а'..'я';
for i:=1 to length (b) do
if bi IN a then begin
writeln (b i, ' ', ord (b i )); writeln; end
end.
Мысал2. а:=[1, 9, 3, 4, 7], b:=[1..5] жиындарының қосындысын, қиылысуын, айырмасын табатын программа құрыңдар.
Program p2;
var a, b, c, d, e: set of byte; i: integer;
begin
а:=[1, 9, 3, 4, 7]; b:=[1..5];
с:= а+b; d:=а*b; е:=а-b;
write ('c:');
for i:=1 to 9 do
if i IN c then write (i); writeln;
write ('d:');
for i:=1 to 9 do
if i IN d then write (i); writeln;
write ('e:');
for i:=1 to 9 do
if i IN e then write (i); writeln;
end.
Жауабы: с: 1, 2, 3 , 4, 5, 7, 9
d: 1, 3, 4
e: 7, 9
Бақылау сұрақтары:
Жиын деген не?
Жиынның құрылымдық тип- массивтен айырмашылығы қандай?
Жиын программада қалай сипатталады?
Эквивалент жиын деген не?
Бос жиын деген не? Ол қалай белгіленеді?
Жиынның базалық типі деген не?
Жиындардың бірігуі, қиылысуы, айырмасы деген не?
Жиынға қандай қатынас операциялары қолданылады? Мысал келтір.
Жиынға тиістілікті тексеру операциясы қандай?
Include, Exclude процедураларының жазылуы, қызметі қандай?
Әдебиеттер:[1] 203-212 бет. [2] 76-78 бет. [3]108-112 бет. қ[1] 35-37 бет.
10- апта
1 кредит сағат.
Тақырыбы: Жазбалар. Оларды түрлендіру.
Дәріс мазмұны:
1.Жазба құрылымдық типі. Өрістер. Жазбаны программада сипаттау.
2.Жазба элементтерін енгізу, шығару. With операторы.
Жазба деп әр типті элементтерден құралған күрделі типті мәліметтік берілгендерді атайды. Жазбаны құрайтын элементтер жазу өрістері деп аталады.
Жазбаның сипатталу үлгісі:
Type тип атауы= Record
1- өріс атауы:1- өріс типі;
2- өріс атауы:2- өріс типі;
…
n- өріс атауы:n- өріс типі;
end;
var жазу атауы: тип атауы;
Мұндағы Record- жазба.
Жазбаның кез-келген элементі былайша көрсетіледі:
жазбаның аты. өріс аты;
Жазбаны жадыға енгізуді оңайлату үшін программада With (қосу, біріктіру) операторы қолданылады.
With жазба атауы do
begin
жазба өрістерінің аттары енгізілген операторлар
end;
Мысал1. 5 студенттің фамилиясы және үш емтиханнан алған бағасы берілген. Әр студенттің фамилиясын және орташа бағасын шығарыңдар.
Program m1;
Type Stud = record
fio :string;
a, b, c : byte;
end;
Var St: array [1..5] of Stud; i : byte;
begin жазбаны енгізу
for i:= 1 to 5 do
with Sti do
readln (fio, a, b, c);
жазбаны шығару
for i:= 1 to 5 do
with Sti do
writeln (fio, a, b, c );
орташаны табу
for i:= 1 to 5 do
with Sti do
witeln (fio, (a+b+c)/3 )
end.
Мысал2. Қоймадағы тауар атынан және бағасынан тұратын мәліметтер берілген. Ең қымбат тауар атын және бағасын табыңдар.
Program m3;
type Tovar= record
Name :string;
Baga:word;
end.
var A: array [1..10] of Tovar; i, Max: word;
begin
for i:= 1 to 10 do
with Ai do
readln (Name, baga);
max:= A1. baga;
for i:= 2 to 10 do
if max < Ai. baga then max:= Ai. baga;
writeln ('Ең қымбат тауар бағасы=', max);
{ең қымбат тауар атын және бағасын шығару}
for i:= 1 to 10 do
if Ai. baga=max then writeln (Ai. name, ' ', Ai. baga)
end.
Бақылау сұрақтары:
Жазба деген не?
Жазба өрістері деген не?
Жазба программада қалай сипатталады?
Жазбаның кез- келген элементі қалай көрсетіледі?
With операторы не үшін қолданылады? Оның жалпы жазылуы қандай?
Жазба элементтері Паскальда компьютерге қалай енгізіледі?
Әдебиеттер:[1] 214- 225 бет. [2] 72-76 бет. [3]104-108 бет. қ[1] 38- 41 бет.
11- апта
1 кредит сағат.
Тақырыбы: Файл. Файлмен жұмыс істеу процедуралары.
Дәріс мазмұны:
1. Файл. Мәтіндік файлдар. Файлдың программада сипатталуы.
2. Файлға деректерді жазу, оған жазуды ұйымдастыру. EOF фукциясы.
Берілгендер файлы- жазулардан тұратын элементтер тізбегі. Файлмен жұмыс алдында файлдық айнымалы мен дискілік файл аты арасында байланыс орнатылады.
ASSIGN( файлдық айнымалы, файл аты); (assign-тағайындау, орнату).
Файлдық айнымалы программаның Var айнымалыны сипаттау бөлімінде көрсетіледі.
Мысал: Var f1:text;
Begin
Assign(f1, ‘C:\ out. txt’);
…….
End.
Ашылған барлық файлдар программа аяқталған соң
CLOSE(файлдық айнымалы) процедурасы арқылы жабылу қажет.
Мысал: Close(f1);
Дискіде бар файлды ашу үшін RESET( файлдық айнымалы ) ;
процедурасы қолданылады. Файлдан мәліметтерді оқу үшін қолданылатын READ енгізу процедурасының жазылу үлгісі төмендегіше болады:
READ( файлдық айнымалы, var1, var2,… );
Файлға жазу үшін REWRITE( файлдық айнымалы ) ;
процедурасы қолданылады. (rewrite- жаңадан жазу). Бұл процедура нәтижесінде дискіде жаңа файл жасалады.
Файлға мәліметтерді жазу үшін қолданылатын WRITE шығару процедурасының жазылу үлгісі төмендегіше болады:
WRITE( файлдық айнымалы ,var1,var2,…..);
Элементтер файлда 0-ден бастап нөмірленеді. Соңғы элементтен кейін файл соңы белгісі автоматты жазылады. Егер көрсеткіш файл соңында тұрса, логикалық типті EOF(f) функциясы ақиқат мән қабылдайды.
EOF (End OF File )- көрсеткіштің файл соңына жетуін тексеретін стандарт функция.
While Not EOF(f) do – көрсеткіш файл соңына жеткенге дейін орындау циклі.
Мысал1. Компоненттері нақты сандар болатын f1 файлы берілген. Файл компоненттерінің жалпы санын және олардың көбейтіндісін табыңдар. Нәтижені f2 файлында шығарыңдар. Кіру файлының аты Esep1.txt, шығу файлының аты out1.txt.
Program pr1;
Var f1,f2:text; x, P, n: integer;
begin
Assign(f1, ’c:\ Esep1.txt’); Reset(f1); {дискіде бар файлды ашу}
Assign(f2, ’c:\ out1.txt’); Rewrite(f2); {жаңа файл жасау}
While not eof(f1) do
Begin
Read(f1,x);n:=n+1; P:=P+x;
end;
Write(f2,’n=’,n,’P=’,P);
close(f1); close(f2);
end.
Бақылау сұрақтары:
Файл деген не?
Файлдық айнымалы мен дискілік файл аты арасында байланыс қалай орнатылады?
Файлды ашу процедурасы қандай?
Файлға жазу процедурасы қандай?
Файлдан мәліметтерді оқу үшін READ процедурасы қалай жазылады?
Файлға мәліметтерді жазу үшін WRITE шығару процедурасы қалай жазылады?
EOF функциясының мәні, қызметі қандай?
Көрсеткіштің файл соңына жеткенге дейін орындау циклі қалай жазылады?
Әдебиеттер:[1] 230-238 бет. [2] 78-86 бет. [3] 119-138 қ[1] 41-44 бет.
12- апта
1 кредит сағат.
Тақырыбы: Модульдер. Паскальдың стандарт модульдері.
Дәріс мазмұны:
1. Модульдер. Стандарт модульдер.
2. System модулі.
3. Модуль құрылымы.
Модуль- оны қолданатын программаға тәуелсіз жасалатын және сақталатын ресурстар жиынтығы. (функция, процедура, тұрақты, айнымалы, тип т.б) Ішкі программадан айырмашылығы модуль процедура мен функцияның үлкен жиынтығынан тұрады.
Турбо Паскальда 8 стандарт модуль бар. Олар: SYSTEM, DOS, CRT,PRINTER, GRAPH, OVERLAY, TURBO3 және GRAPH3.
GRAPH, TURBO3 және GRAPH3 жеке TPU файлда, ал қалғандары TURBO.TPL кітапханалық файл құрамына кіреді.
Тек SYSTEM модулі кез-келген программаға автоматты түрде қосылады. Ал қалған модульді программада қолдану үшін оны программа тақырыбында USES (USE -пайдалану) сөзі арқылы хабарлау қажет.
USES модуль аты;
Мысалы: USES CRT, GRAPH;
Стандарт модульдер және олардың атқаратын қызметі.
SYSTEM модулінде Паскальдың барлық стандарт функциялары мен процедуралары жинақталған.
Мысалы: read, write, cos,sin, assign,concat, copy,val, str т.б.
Бұл модуль программаға автоматты қосылады.
PRINTER модулі мәтінді матрицалық принтерге шығаруға мүмкіндік береді. Онда TEXT типті LST файлдық айнымалысы анықталады, ал ол PRN логикалық құрылғысымен байланысады. Модульді қосқаннан кейін мына программа орындалады.
Uses Printer;
Begin
Writeln(LST, ‘Turbo Pascal’)
End.
CRT модулінде экранды, клавиатураны басқарудың нұсқаулары жинақталған.
GRAPH модулінде графиктік режимнің функциялары мен процедуралары жинақталған.
DOS модулі MS-DOS операциялық жүйесінде жұмыс істеуді қамтамасыз ететін функциялар мен процедуралардан тұрады.
OVERLAY модулі өте үлкен программаларды жасау үшін қажет.
TURBO3 және GRAPH3 екі кітапханалық модуль Турбо Паскаль жүйесінің бұрынғы 3.0 баламасына сәйкес болу үшін енгізілген.
Тек SYSTEM модулі кез-келген программаға автоматты түрде қосылады. Ал қалған модульді программада қолдану үшін оны программа тақырыбында USES (USE -пайдалану) сөзі арқылы хабарлау қажет.
USES модуль аты;
Мысалы: USES CRT, GRAPH;
Модуль құрылымы:
Unit<модуль аты>;
Interfase
<Интерфейстік бөлім>
Implementation
<Орындалатын бөлім>
Begin
<инициялизацияланатын бөлім>
end.
Осылайша модуль тақырыптан және 3 құрамдас бөліктен тұрады. Оның кез- келгені бос болуы мүмкін.
Модуль қосымша объект, сондықтан оны RUN командасы арқылы орындауға жіберуге болмайды. Ол тек программаны, ішкі программаны немесе басқа модульді жасау үшін қолданылады. Модуль жасау 2 этаптан тұрады. 1- этапта бөлек файлда модуль мәтіні беріледі. Бұл файл аты модуль атындағы 8 символмен сәйкес келу керек және типі pas болуы қажет. Модуль және программа файлы 1 каталогта болуы қажет. Әр модульді TPU (Turbo Pascal Unit) деп аталатын арнайы библиотекаға орналастыру қажет. Ол үшін программаны компиляциялау қажет. Нәтижеде сол атпен, tpu типті файл жасалады. Ол модуль файлы болып табылады.
Әдебиеттер:[2] 108-112 бет. [3] 182-190 бет. қ[1] 45 бет.
13- апта
1 кредит сағат.
Тақырыбы: CRT модулі. CRT модулінің процедуралары мен функциялары
Дәріс мазмұны:
1. CRT модулінің экранды басқару процедуралары..
2. CRT модулінің экранды басқару функциялары.
CRT модулінде экранды, клавиатураны және дыбыстық динамиканы басқаратын процедуралар мен функциялар жинақталған. (CRT -Cathode Ray Tube - электронды сәулелік түтікше). Бұл модульде жинақталған экранға шығару процедурасы мәтіндік жұмыс режиміне жатады.
TEXTMODE (n:word) процедурасы жаңа мәтіндік режимді орнатуды жүзеге асырады.
Мұндағы бүтін санды n аргументі мәтіндік режимнің типін анықтайды. Оның мәндері кестеде көрсетілген.
Монитордың мәтіндік режимін орнатудың TEXTMODE процедурасының режим кодының кестесі.
Тұрақтының аты
|
Мәні
|
Монитор
|
Адаптер
|
BW40
|
0
|
40x25 ақ-қара
|
CGA
|
CO40
|
1
|
40х25 түрлі-түсті
|
CGA
|
BW80
|
2
|
80х25 ақ-қара
|
CGA
|
CO80 (С80)
|
3
|
80х25 түрлі-түсті
|
CGA
|
Mono
|
7
|
80х25 ақ-қара
|
MDA HGC
|
Font8x8
|
256
|
40-/50 line mode
|
EGA/ VGA
|
Біз неғұрлым кең тараған және автоматты түрде қосылған С80 режимін қолданамыз. Орнатылған мәтіндік режим мәнін байт типті, LASTMODE айнымалысы арқылы алуға болады.
LASTMODE- ағымдық мәтіндік режимді анықтайтын айнымалы.
Экранды тазарту үшін CRT модулінде анықталған ClrScr процедурасы қолданылады. (Clear Screen- экранды тазарту)
Readkey функциясы CRT модулі пернетақтадан кез-келген перненің басылуын күту әрекетін атқарады. Бұл функцияның нәтижесі char типті болады.
GotoXY(X, Y:byte) процедурасы курсорды х,у координатасына орналастырады.
TextColor(color:byte) процедурасы арқылы символ түсі таңдалады.
TextBackground(color:byte) процедурасы экран фонының түсін орнатады.
Мысал. Экран ортасына “Информатика ” сөзін шығарып, оны әртүрлі түске бояу программасы.
Uses Crt;
Var c: byte; {с- түс коды}
Begin clrscr;
For c:= 0 to 15 do Begin Textcolor( c );
GotoXY(40, 13); Write(‘Информатика’);
Delay(5000); end; End.
Delay(N) процедурасы экрандағы көріністі N миллисекунд ұстап тұруды жүзеге асырады. (delay- кідіріс).
Мысал1. Экранның жоғарғы жағын көк түсті жұлдызша символымен (*) безендіру программасы.
Uses Crt;
Var X,Y: byte;
Begin
X:=5; Y:=5; TextColor(1);
While X<= 75 do
Begin
GotoXY(X, Y); Write(‘*’);
X:=X+3;
End;
End.
Бақылау сұрақтары:
Компьютерде қандай бейнемонитор түрлері бар? Бейнеадаптер деген не?
Жаңа мәтіндік режим қалай орнатылады?
Қандай стандарт мәтіндік режимдер тұрақтылары анықталған?
LastMode операторының қызметі?
Экранды тазарту, кідіріс қою қалай жүзеге асырылады?
Delay(t) процедурасында t- ның мәні немен өлшенеді және қандай аралықта болады?
ReadKey процедурасының қызметі қандай?
Курсорды мәтіндік экранда орналастыру процедурасы қандай?
Мәтіндік режимде символды, фонды бояу үшін қандай процедуралар қолданылады?
Мәтін анимациясы деген не? Ол қалай жүзеге асырылады?
Әдебиеттер:[2] 112-115 бет. [3] 262-274 бет. қ[1] 46-50 бет.
14- апта
1 кредит сағат.
Тақырыбы: CRT модулінің дыбыстық генераторды басқару процедуралары.
Дәріс мазмұны:
Паскаль тілінде дыбыстық генераторды программалаудың
Sound,Delay, Nosound процедуралары.
Компьютердің дыбыс шығару мүмкіндігі дыбыстық жиілікті электромагниттік тербеліс туғызатын дыбыстық генераторға негізделген. Тербеліс компьютердің динамигіне беріледі де, ол дыбысты туғызады. CRT модулінде дыбыстардың кез-келген тізбегін программалауға мүмкіндік беретін 3 процедура бар.
Sound процедурасы белгілі бір жиіліктегі дыбыс шығаруға мүмкіндік береді.
Sound( F: word );
Мұндағы F-дыбыс жиілігін Герцпен өрнектейтін word типті өрнек.
Delay процедурасы программаны белгілі бір уақыт аралығында тоқтатып қою (кідіріс) үшін қолданылады.
Delay(T:word);
T- миллисекундпен өрнектелетін және уақыт аралығын анықтайтын word типті өрнек. Бұл процедура дыбысты белгілі бір уақытқа тоқтатып қою үшін қолданылады.
NoSound –дыбысты жоюға (түгел тоқтатуға) мүмкіндік береді. Дыбысты тоқтату- программаның міндетті бөлігі, әйтпесе дыбыс программа тоқтағаннан кейін де жалғаса береді.
Дыбыстық сигналды генерациялау үшін сипатталған процедуралар
Sound- Delay- NoSound схемасы бойынша қолданылады.
октаваның “до” –дан бастап “си”-ге дейінгі ноталарының коды берілген. До-262, ре-294, ми-330, фа- 349, соль- 392, ля- 440, си- 494.
Мысал 1. Төмендегі программа арқылы компьютерде мультфильмнен 1 шумақ әуен орындалады. Шумақтың әр жолының ноталары массивте берілген.
Program Mult;
Uses Crt;
Const a: array[1..7] of integer=(349, 262, 349, 262, 349, 330, 330);
b:array[1..7] of integer=(330, 262, 330, 262, 330, 349, 349);
c:array[1..6] of integer=(330, 262, 330, 262, 330, 349);
Var i:integer;
Begin
For i:=1 to 7 do {1-жол}
Begin
Sound(a[i]);
Delay(20000);
NoSound;
end;
Delay(10000); {2 жол арасындағы үзіліс}
For i:=1 to 7 do {2-жол}
Begin
Sound(b[i]);
Delay(20000);
NoSound;
end;
Delay(10000);
For i:=1 to 7 do {3-жол}
Begin
Sound(a[i]);
Delay(20000);
NoSound;
end;
Delay(10000);
For i:=1 to 6 do {4-жол}
Begin
Sound(c[i]);
Delay(20000);
NoSound;
end;
End.
Мысал 2. Компьютерде сиренаның дыбысын туғызатын программа.
Progaram sirena;
Uses Crt;
Var i, j : integer;
Begin
For j:=1 to 3 do
begin
For i:=1 to 800 do
Begin
Sound(i); delay(30);
end;
For i:= 800 downto 1 do
begin
Sound(i); delay(30);
end;
end;
Nosound;
End.
Әдебиеттер:3] 275 бет. қ[1] 50-52 бет.
15- апта
1 кредит сағат.
Тақырыбы: Паскаль тіліндегі графика. Graph модулі.
Дәріс мазмұны:
1. Графиктік режимге өтуді жүзеге асыру.
2. Graph модулінің функциялары мен процедуралары.
Графиктік режимде жұмыс істеу үшін Graph модулін іске қосу қажет.
Uses Graph;
Сонымен қатар, Паскальда компьютерді графиктік режимге өткізу үшін мына процедура қолданылады:
InitGraph (Var Driver, Mode: integer; Path: string );
Мұндағы Driver, Mode аргументтері графиктік режим драйверін және графиктік адаптер жұмысының режимін анықтайтын бүтін тип.
Path –жолы көрсетілген драйвер файлының аты. Ол String типті болады.
( Мысалы: ‘C:\TP\BGI’)
Графиктік режимді жабу үшін CloseGraph процедурасы қолданылады.
Экранға шығатын кескін (сызықтар мен символдар) түсі SetColor(color:byte); процедурасы арқылы орнатылады. Мысалы: Setcolor(4), SetColor(red).
SetBkColor(color:byte); процедурасы экран фонының түсін орнатады. PutPixel( x,y,түс ) процедурасы координатасы х, у, берілген түске боялған нүктені экранға шығарады.
Line(x1, y1,x2,y2) процедурасы (х1, у1) нүктесінен (х2,у2) нүктесіне дейін түзу кесіндісін салуды жүзеге асырады.
Rectangle(x1,y1,x2,y2) процедурасы тіктөртбұрыш салады.
х1, у1- тіктөртбұрыштың сол жақ жоғарғы, х2, у2- оң жақ төменгі төбелерінің координаталары.
Bar(x1,y1,x2,y2) –іші боялған тіктөртбұрыш салу процедурасы. Қалыпты жағдайда тіктөртбұрыш ақ түске боялып шығады.
Circle(x, y, R)- центрі (х, у) нүктесіндегі, радиусы R шеңбер салу процедурасы.
Arc( x, y, StartАngle, EndAngle, R ) – центрі(х, у) нүктесіндегі, радиусы R шеңбер доғасын салады.
Мұндағы StartАngle, EndAngle- градуспен өрнектелген доғаның бастапқы және соңғы бұрыштары. Доға сағат тіліне қарсы бағытта сызылады.
Ellipse(x, y, , , Rx, Ry )- центрі (х, у ) нүктесіндегі, , бұрыштарының аралығындағы, биіктігі мен ені сәйкес Rx, Ry эллипс сызу.
Мұндағы Rx, Ry- пикселмен өрнектелген Х және У бағыттарындағы эллипстің жарты осьтері.
Қарапайым геометриялық фигураларды салу процедурасын қолданып құрылған программа мысалы:
Uses Graph; Var k, n:integer;
Begin k:=detect; Initgraph(k, n, ‘C:\TP\BGI’);
SetBkColor(2); { фонға жасыл түс орнату }
SetColor(1); { кескінге көк түс орнату }
PutPixel(200, 200,14); { сары түсті нүкте шығару }
Line(10, 20, 100, 120); { кесінді салу }
Rectangle(10, 10, 630, 470); {тіктөртбұрыш салу }
SetColor(4); { кескінге қызыл түс орнату}
Circle(150, 50, 20); { шеңбер салу }
Readln; { Enter пернесі басылғанша күту }
CloseGraph; End.
Паскаль графикасында кез-келген тұйық облысты бояуға болады. Облысты бояу процедурасының жазылу үлгісі:
SetFillStyle( Pattern, Color);
Мұндағы Pattern аргументі бояу шаблоны. Color –бояу түсінің коды.
Бояуға қажетті облысты көрсету үшін мына процедура қолданылады.
FloodFill(x, y, ColorBorder);
Бұл процедура шекарасында үзік нүктесі жоқ , тұйық облысты бояйды.
Мұндағы х, у – боялатын облысқа тиісті кез-келген нүктенің координатасы.
ColorBorder- боялатын облыс шекарасының түсі.
Мысал:
SetColor(2); SetFillStyle(1, 9);
Circle(40, 60, 30); FloodFill(40, 60, 2); {шеңбер ішін көгілдір түске бояу }
SetFillStyle(7, 4); Bar(200,200,350,350); {тіктөртбұрыш ішін қызыл түске торлы стильде бояу }
Графиктік экранда мәтін шығару процедурасы:
1. OutTextXY( x, y,:integer; text:string);
Мұндағы x,y шығатын мәтіннің сол жақ жоғарғы бұрышының координатасы.
text- экранға шығатын мәтін.
SetTextStyle( Font:word; Direct:word; Size:word )- процедурасы шрифт стилін орнатады.
Мұндағы Font- шрифт коды (нөмірі), Direct- шрифт бағытын көрсету коды
Size- шрифт өлшемінің коды.
Мәтін бағытын ( Direct ) көрсету үшін мынадай тұрақтылар қолданылады:
HorizDir= 0 { горизонталь} VertDir= 1 { вертикаль}
Size параметрінің мәні 0 мен 10 аралығында өзгереді.
Мысал: SetTextStyle(4, 0, 5); OutTextXY (100 ,200, ‘Informatica’);
Бақылау сұрақтары:
Графиктік режимді қосу қалай жүзеге асырылады?
Кескін, фон түстерін орнату процедурасы қандай?
Нүкте, кесінді, тіктөртбұрыш салу процедуралары қалай жазылады?
Шеңбер, эллипс, доға салу процедуралары қалай жазылады?
Тұйық облысты бояу үшін қандай процедуралар қолданылады?
Қандай бояу шаблондары бар?
Графиктік режимде мәтін шығару процедурасы қандай?
Қаріп стилін орнату процедурасының жазылуы қандай?
Вертикаль бағыттағы мәтін шығару қалай жүзеге асырылады?
Паскальда қандай қаріп түрлері қолданылады және ол қандай типті файлда сақталады?
Әдебиеттер:[1] 116-120 бет. [ 3] 276-336 бет. қ[1] 53-62 бет.
6. Зертханалық жұмыстардың жоспары.
№
|
Тақырыбы
|
Зертханалық жұмыс мазмұны
|
Апта
|
Әдебиеттер
|
1
|
Паскаль тіліндегі өрнектер.
|
1. Стандарт функциялардың Паскаль тілінде жазылуы.
2.Математикалық өрнектерді Паскаль тілінде жазу.
|
1
|
[1] 34-44 , 80-83
[2] 29-30
[3] 13-21, 23-25
|
2
|
Паскальдағы сызықтық программа.
|
Сызықтық программа құру. Меншіктеу, деректерді енгізу, шығару процедуралары.
|
2
|
[1] 60-61,99-101
[2] 32,56-57
қ[1] 10-11, 65 б.
|
3
|
Тармақталу және таңдау операторларын қолданып, программа құру.
|
1.Тармақталу құрылымды программалар құру.
2.Таңдау операторына программалар құру.
|
3
|
[3] 37-39, 42-45 бет.
қ[1] 65-67 бет.
[2] 41-47
|
4
|
Қайталану командасын қолданып программалау.
|
Параметрлі , әзір және дейін циклін қолданып, программалар құру.
|
4
|
[1] 49-53,112-115
[2] 54-56, [3] 39-42
[2] 15-20, 67-68 б.
|
5
|
Бір өлшемді массив элементтерін түрлендіру.
|
Массив элементтерін түрлендіру:ең үлкенін (ең кішісін) табу, реттеу, берілген элементті іздеу.
|
5
|
[3]102-104
қ[1] 68-69
қ[2]
|
6
|
Екі өлшемді массив.
|
Матрица элементтерін түрлендіруге программалар құру.
|
6
|
қ[1] 69-70
қ[2]
|
7
|
Символдық айнымалыларды түрлендіру.
|
Символдық айнымалыларды түрлендірудің стандарт функциялары және процедураларын қолданып программалау.
|
7
|
қ[1] 72 б.
қ[2]
|
8
|
Көмекші (ішкі) программа: функция және процедура.
|
Функция және процедураны қолданып есептердің программасын құру.
|
8
|
қ[1] 70-72 б.
қ[2]
|
9
|
Жиын. Жиын құрылымдық типін программалау.
|
Жиын құрылымдық типін программалау.
|
9
|
қ[1] 73- 75
қ[2]
|
10
|
Жазбалар. Оларды түрлендіру программаларын құру.
|
Жазба элементтерін түрлендіру программаларын құру.
|
10
|
қ[1] 73- 74
қ[2]
|
11
|
Файлмен жұмыс істеу процедураларын қолданып программалау.
|
Файлмен жұмыс істеу программаларын құру, орындату.
|
11
|
қ[1] 75-76
қ[2]
|
12
|
Модуль жасау.
|
Модуль жасау, оны программада қолдану.
|
12
|
[3] 182-190 б.
|
13
|
CRT модулінің процедуралары мен функциялары.
|
CRT модулінің процедуралары мен функцияларын қолданып мәтіндік режимді басқаруды программалау.
|
13
|
[2] 112-115
[3] 262-274.
қ[1] 46-50
|
14
|
CRT модулінің дыбыстық генераторды басқару процедуралары
|
Музыкалық әуен орындау программасын құру.
|
14
|
[3] 275 б.
қ[1] 50-52 б.
|
15
|
Graph модулінің функциялары мен процедураларын қолданып программалау.
|
Graph модулінің функциялары мен процедураларын қолданып программалау.
|
15
|
[1] 116-120 б.
[3] 276-336 б.
қ[1] 53-62
|
7. Пәнді оқыту жөнінде әдістемелік нұсқаулар.
Пәнді оқыту негізінен дәріс, СОБӨЖ және өзіндік жұмыстар түрінде жүргізіледі. Оқу материалының мазмұны дәрісте беріліп, теориялық білім түсініледі. «Паскаль программалау тілі» курсын оқу нәтижесінде студенттер Turbo (Borland) Паскаль ортасында программалау негізімен танысады. Пәнді оқытуда студенттердің алгоритмдеу білімін жетілдіре отырып, төменгі курс та оқылған Паскаль программалау тілімен салыстыра отырып түсіндіріледі. Дәрісханалық сабақта негізгі ұғымдар беріліп, қалған білім студенттің өз бетімен меңгеуіне беріледі. Пәнді оқыту барысында аталған программалау тілінің негізгі операторларын қолдана отырып, күрделі математикалық есептердің программасын құру дағдысы мен іскерлігін қалыптастыру, программалау технологиясының құрылымдық, модульдік, объектілі-бағдарлы түрлерінің ерекшеліктерін білуге үйрету жүзеге асырылады. Бағдарлама құру методологиясы, қолданылатын жобалау және бағдарламалау технологиясы туралы түсінік қалыптастыру және машықтандыру іскерлігі қалыптастыру жүзеге асырылады.
Негізгі қолданылатын әдістер: программалап оқыту, салыстыра оқыту.
Өздік жұмыста Паскаль программалау ортасында студенттер тақырып бойынша берілген есептің программасын құру оны орындату, түзету, нәтижесін талдауды жүзеге асырады. Оқытушы басшылығымен өткізілетін өзіндік жұмыста оқу материалының теориялық қосымша сұрақтары талданады, қосымша берілген есеп программалары құрылады, тексеріледі және талқыланады. Бақылау сұрақтарының жауаптары тексеріледі. Студенттің үй жұмысында бұрын алған білімдерін бекітуге арналған тапсырмалар беріледі.
Студенттердің білімін тексеру өзіндік жұмыс тапсырмаларын орындауы, шығармашылық жұмыс, коллоквиум, тестілеу түрінде ұйымдастырылады. Шығармашылық жұмыста студенттер Паскаль программалау тілінің құралдарын қолданып тестілеу, оқыту, жаттығу программаларын өздігімен жасап, оларды презентациялайды. Шығармашылық жұмыс студенттің алған білімін қорытындылау, шығармашылық белсенділігін арттыру, өз бетімен жұмысын жоспарлай алу, пән бойынша алған білімін өз бетінше қолдана алу сияқты қасиеттерін дамытады.
8. ПРАКТИКАЛЫҚ, СЕМИНАРЛЫҚ, ЛАБОРАТОРИЯЛЫҚ
САБАҚТАРҒА ӘДІСТЕМЕЛІК НҰСҚАУЛАР.
Зертханалық жұмыста Паскаль программалау тілінде есептердің программасын құру қарастырылады. Зертханалық жұмыстарды орындау барысында Паскаль программалау тілінің технологиясын меңгеру, тілдің құрылымын білу, оның интерпретаторы мен компиляторымен жұмыс істей білу іскерлігін меңгерту, негізгі құрылымдардың жазылу және қолданылуын білу, тілдің мәтіндік, графиктік режимде жұмыс істеу мүмкіндіктерін қолдана білу, Паскаль тілінде күрделі типтерді түрлендіру командаларын меңгеру, түрлі есептерді шешудің Паскаль программалау тілінде программасын құра білу іскерлігін дамыту жүзеге асырылады.
Достарыңызбен бөлісу: |