Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сымбат курсавой.1,1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
287.23 Кб
Скачать

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.