- •Қазақстан республикасының білім және ғылым министрлігі
- •«Информатика» пәнінің Бағдарламалау бөлімінен дәрістерге арналған
- •1. Бағдарламалау жүйелері туралы жалпы мағлұмат.
- •Есептi эем-де шығарудың негiзгi кезеңдерi
- •2. Turbo Pasсal бағдарламалау жүйесі
- •Turbo Pascal бағдарламалау ортасында жұмыс істеудің негізгі кезеңдерін қарастырайық:
- •3. Паскаль бағдарламасының құрылымы
- •4. Бағдарламалау жүйесінің негізгі компоненттері. Парадигмалары. Классификациясы.
- •3. Айнымалының алдын-ала анықталған қарапайым типтері
- •1. Шартты оператордың жалпы түрі:
- •1. Параметрлі қайталау операторы (for).
- •2. Циклдік оператордың for-downto түрі
- •1. Шартты алдын-ала тексеру арқылы қайталау жарлығы
- •Шартты соңында тексеру арқылы қайталау жарлығы
- •1. Бір өлшемді массивтер
- •2. Көп (екі) өлшемді массивтер
- •1. Жолдар.
- •2. Стандартты функциялар
- •1. Процедуралар
- •2. Функциялар.
- •1. Мәтіндік файлдар
- •2. Типтік файлдар
- •3.Типтік емес файлдар
- •Рекурсивті деректердің типтері. Байланысқан тізімдер. Стектер. Кезектер. Деректер. Ағаштар. Екілік ағаштардың негізгі амалдары. Жадының динамикалық бөлінуі. Көрсеткіштер.
- •Адрес және сiлтеме.
- •Дк жадысында үйменiң орналасуы
- •Динамикалық жадымен жұмыс атқаратын процедуралар мен функциялар:
- •Пайдаланылған әдебиеттер
1. Процедуралар
Паскаль тілінде подпрограмманың (ПП) екі түрі – процедура және функция анықталған. Кез-келген пп жалпы программа сияқты құрылымға ие.
ПП шақырғанда негізгі программаның орындалуы уақытша тоқтайды да, орындалу реті пп беріледі. ПП орындалып болған соң, басқару негізгі программаға қайта оралады.
Процедура мен функция арасындағы негізгі ерекшелік мынада: процедура қандай да бір әрекеттер тізбегін орындайды да, жұмыс нәтижесін негізгі программаға бермейді. Ал функция әрекеттерді орындайды және нәтижені негізгі программаға береді. Мысалы, функцияны былай м:= min(х, у) шақыру негізгі программаға екі санның кішісін мән ретінде береді және ол мән м айнымалысына меншіктеледі.
Кез-келген программа, негізгі программада немесе басқа ПП шақырылмай тұрып, алдын-ала сипатталуы тиіс. ПП пайдаланылатын барлық айнымалылар не глобальды, яғни олар негізгі программада сипатталып, сол программада және барлық ПП қолдануға болады; не локальды, яғни ПП ішінде сипатталады да, тек сол ПП ғана қолданылады.
Негізгі программа мен ПП арасында ақпарат алмасу глобальды айнымалылардың көмегімен орындалады.
ПП өзінің локальды айнымалыларымен аттас емес кез-келген глобальды айнымалыларды тікелей пайдалануға болады.
Процедураны сипаттау:
Procedure <Процедура аты>(<формальды параметрлер тізімі>);
1-есеп. Т матрицасының элементтерін енгізетін және жауапқа шығаратын процедура жазыңдар.
program prog_2;
const u = 100;
var n, m : integer;
t : array[1..u, 1..u] of integer;
procedure tab_in(var p, k : integer);
var i, j : integer;
begin
for i := 1 to p do begin
for j := 1 to k do begin
write('T[', i, ', ', j, ']=');
read(T[i, j]) end;
writeln end
end;
procedure tab_out(var p, k : integer);
var i, j : integer;
begin
for i:= 1 to p do begin
for j:= 1 to k do write(T[i, j] : 6);
writeln end
end;
begin
writeln('Матрица өлшемін енгізіңдер n x m');
write('n='); read(n);
write('m='); read(m);
tab_in(n, m);
writeln('матрица', n, 'x', m);
tab_out(n, m)
end.
Есепті шешу алгоритмі:
1. Бағдарлама денесін айнымалыларды сипаттаудан бастаймыз.
2. Матрица элементтерін енгізу үшін tab in процедурасын сипаттаймыз;
3. Матрица элементтерін енгізу үшін tab out процедурасын сипаттаймыз;
4. Матрицаның жодары мен бағандарын анықтайтын n және m натурал сандарын енгіземіз;
5. Фактілі параметрлері n және m болатын tab_in(n, m) процедурасын шақырамыз;
6. Фактілі параметрлері және болатын tab_out(n, m) процедурасын шақырамыз;
7. Бағдарлама жұмысын аяқтаймыз.
Айнымалылар:
1.tab_in процедурасында:
T- енгізілетін матрица (глобальды айнымалы);
i, j - циклдің параметрлері (локальды айнымалылар);
2. tab_out процедурасында:
t – енгізілетін матрица (глобальды айнымалы);
i, j - циклдің параметрлері (локальды айнымалылар);
3. Негізгі бағдарламада:
T – енгізілетін матрица (глобальды айнымалы);
n, m - матрица өлшемі.
2-есеп. Символдардан тұратын жол берілген. Осы жолдағы қатар тұрған символдардың бірнеше рет қайталанғандарын жоятын процедура жазыңдар.
program prog_3;
var s: string; p: integer;
procedure sim;
var i: integer;
str : string;
begin
str := s[1];
for i:= 2 to l do
if s[i]<>s[i-1] then str := str+s[1];
s := str
end;
begin
writeln('Символдар жолын енгізіңдер');
readln(s);
p :=length(s);
sim;
writeln(s)
end.
Есепті шешу алгоритмі:
1. Бағдарлама денесін айнымалыларды сипаттаудан бастаймыз.
2. Жолдарды өңдеу үшін sim процедурасын сипаттаймыз.
3. s жолын енгіземіз.
4. sim процедурасын шақырамыз.
5. Бағдарлама жұмысын аяқтаймыз.
Айнымалылар:
Sim процедурасында:
s-енгізілетін жол (глобальды айнымалы);
i- циклдің параметрі (локальды айнымалылар);
str- аралық жолдық шама (локальды айнымалылар).
Негізгі программада:
s- енгізілетін жол (глобальды айнымалы);
l- жол ұзындығы (глобальды айнымалы),