- •Жаратылыстану факультеті Информатика кафедрасы
- •1.1 Институт тарихы
- •1.2 Жаратылыстану факультетінің тарихы
- •1.3 Негізгі ақпараттар
- •1.4 Информатика кафедрасы тарихы
- •2.1 Тізбектерге арналған есептер.
- •2.2 Жиындарға арналған есептер
- •2.3 Көмекші программа арқылы құрылған есептер
- •2.4 Бір өлшемді массивтерге арналған есептер
- •2.5 Екі өлшемді массивке арналған есептер
- •2.6 Жолдық қатарға арналған есептер.
- •Пайдаланған әдебиеттер
2.2 Жиындарға арналған есептер
Жиындар: математикада жиын деп, бiрдей типтегi элементтердiң тобын айтады, ал Паскаль тiлiнде типтерi реттелмеген әр түрлi элементтер тобын – жиын деп атайды. Жиынға бiр ғана ат қойылады. Жиындар типiн баяндау. Жиын типi Set, of – түйiндi сөзiмен, одан кейiн жиынды айқындайтын негiзгi типiмен баяндалады; Var бөлiмiнде: Var жиын_аты: Set of негiзгi_тип; Мысалы: Var c: set of char; Type бөлiмiнде: Type Тип_атауы = set of негiзгi_тип; Var жиын_аты: тип_аты; Мысалы: Type A=set of негiзгi_тип; Жиынның айнымалысы мен тұрақтыларының мәндерi программаның нұсқаулар бөлiгінде конструктор көмегiмен жазылады. Конструктор деген квадрат жақшаға алынған барлық элементтердiң тiзiмi. Мысалы: A1:=[1,3,5,25]; B1:=[ ]; {бос жиын}; C1:=[ ‘A‘,‘B‘,‘D‘]; Фигура:=[круг, ромб, квадрат]; Жиынның негiзгi типi ретiнде – кез келген қарапайым типiн қолдануға болады, бiрақ нақты сандар (real) типiн пайдалануға болмайды. Жиынның негiзгi типiне, бүтiн сандар (integer) типiнiң шектелген типiмен де анықтауға болады. Жиын элементтерiнiң саны – Паскаль тiлiнiң нұсқауымен анықталады. Ал жалпы элементтерiнiң саны: 64 пен 256 арасында. Жиындар элементтерi үтiр арқылы бөлектенiп, квадрат жақшаға алынып жазылады. Бос жиынды элементi көрсетiлген квадрат жақшаға алып белгiлейдi. Бос жиын бiреу және ол жиындардың кез келген типтерiне жатады.
3 - тапсырма
10.17. n бүтін саны және n элементтен тұратын жиын берілген. Осы жиындағы соңғы максимум элементтен кейін орналасқан элементтер санын анықтау керек.
var
N,Ni,Max,MaxNum,i:integer;
begin
write('N engiz');
readln(N);
for i:=1 to N do
begin
write(i,'san:');
readln(Ni);
if i=1 then
begin
Max:=Ni;
MaxNum:=i;
end;
if Ni>=Max then
begin
Max:=Ni;
MaxNum:=i;
end;
end;
writeln(n-MaxNum);
end.
2.3 Көмекші программа арқылы құрылған есептер
Процедурага арналған есептер.
Процедура деп –орындалу барысында бір немесе бірнеше мән болатын көмекші программа.Процедураның сипатталуы:
Procedure P(g1:t1;g2:t2;…var g3:t3);
<жергілікті параметрлер мен көмекші программаларды анықтау және сипаттау бөлімі.>
Begin
O1;
O2;
….
End;
4- тапсырма
9.8. d цифрын k оң бүтін санының оң шетінен қосып жазатын AddRightDigit(d, k) процедурасын сипаттау керек (d – ену параметрі (0..9 аралығындағы бүтін сан), k – әрі ену, әрі шығу параметрі болатын бүтін шама). Осы процедураны пайдаланып, мәні берілген k санының оң шетіне d1 және d2 цифрлары қосып жазылсын және әр қосылу нәтижесі жеке шығарылсын.
Procedure Addrightdigit(D:integer; var K:integer);
begin
k:=k*10+D
end;
var
K,D1,D2:integer;
begin
write(' K sanin engiz ');
readln(K);
write('D1 sifrin engiz');
readln(D1);
Addrightdigit(D1,K);
writeln(K);
write('D2 sifirin engiz');
readln(D2);
Addrightdigit(D2,K);
writeln(K);
end.
Функцияға арналған есептер.
Функция деп – орындалу барысында бір ғана мән болатын көмекші программа.Функцияның сипатталуы:
Function F(g1:t1;g2:t2;..):T;
<жергілікті параметрлер мен көмекші программаларды анықтау жіне сипаттау бөлімі.>
Begin
P1;
P2;
…
End;
5-тапсырма
9.29. Оң бүтін k параметріндегі цифрлардың санын анықтауға мүмкіндік беретін DigitCountK(k) функциясын сипаттау керек. Осы функцияны пайдаланып, мәндері берілген бес бүтін элементтің цифрларының саны есе
Function DigitCount(K:integer):integer;
var S:String;
begin
Str(K,S);
DigitCount:=Length(S);
end;
var
i,N: integer;
begin
for i:=1 to 5 do
begin
write('N engiz');
readln(N);
writeln(DigitCount(N));
end;
end.
6- тапсырма
10.17. n бүтін саны және n элементтен тұратын жиын берілген. Осы жиындағы соңғы максимум элементтен кейін орналасқан элементтер санын анықтау керек.
var
N,Ni,Max,MaxNum,i:integer;
begin
write('N engiz');
readln(N);
for i:=1 to N do
begin
write(i,'san:');
readln(Ni);
if i=1 then
begin
Max:=Ni;
MaxNum:=i;
end;
if Ni>=Max then
begin
Max:=Ni;
MaxNum:=i;
end;
end;
writeln(n-MaxNum);
end.
7-тапсырма
10.22. n (n>2) бүтін саны және n элементтен тұратын жиын берілген. Осы жиындағы ең кіші екі элементті анықтап, оларды өсу реті бойынша шығару керек.
Var
Min1,Min2,R,Sum:real;
N,i: integer;
begin
Sum:=0;
write('N engiz');
readln(N);
for i:=1 to N do
begin
write(i,'sandi engiz');
readln(R);
if i=1 then
begin
Min1:=R;
Min2:=R;
end;
if R<Min2 then
if R<Min1 then
begin
Min2:=Min1;
Min1:=R;
end
else if R<>Min1 then Min2:=R;
if Min1=Min2 then Min2:=R;
end;
Writeln(Min1,' ',Min2);
end.
