Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмдеу жане багдарламалау негиздери 4 г.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2.73 Mб
Скачать

Тақырыбы: Динамикалық ақпаратты құрылым. Ағаш.

Тапсырмалар:

Ағаштың әрбір элементін квадраттау процедурасын сипаттау.

Ағаштың әрбір теріс элементін оның абсалют шамасына ауыстыратын процедурасын сипаттау.

Ағаштың барлық элементін деңгейі бойынша шығаратын процедурасын сипаттау.

әдебиет:

1. Негізгі –5, 6, 8, 9, 10

2. Қосымша - 2

Әдістемелік нұсқау:

1 мысал:

Program Example_4;

Uses Crt;

Type Words=^Wordtree;

Wordtree=Record

data: String;

k:Integer;

left,right:Words;

End;

Var nInteger; kd:Words; x:String; f: text;

Procedure Tree(x:String; Var p:Words);

Begin

If p=Nil Then Begin

New(p); With р^ Do Begin

k:=l; Data:=x; Left:=Nil; Right:=Nil;

End;

End

Else If x>p^.Data Then Tree(x,p^.Left)

Else If x<p^.data Then Tree(x,p^.Right)

Else Inc(p^.k);

End;

Procedure PrintTree(t:Words; h:Integer);

Var i:Integer;

Begin

If t <> nil Then With t^ Do

Begin

PrintTree(Left,h+1);

For i:=l To h Do Write (' ');

Writeln(data,',(',k,')'); PrintTree(Right,h+1);

End;

End;

Begin

Clrscr; Assign(f,'c:\f.dan');

Reset(f); Write('n='); Readln(n); kd:=Nil;

While n>0 Do Begin ReadLn(f,x); Tree(x,kd); dec(n); End;

Close(f); PrintTree(kd,0); Readln;

End.

21-22 жұмыс

Тақырыбы: Ішкі жолдарды іздеу. Текстке сөз енгізу.

Тапсырмалар:

Сөздің текстке енуі. X: string[n] и Y: string[k] екі символдық жолдар берілген. Олардың біріншісінен К қатар келетін символдарды X[i+1], X[i + 2], ... X[i+k], чтобы X[i+1] =У[1], X[i+ 2] = Y[2],..., X[i+k] = Y[k] таңдап алуға бола ма? Осы есепті шешетін программа жазу және ИӘ немес ЖОҚ жауаптарн басу.

п натурал сандар, s1, s2, …, sn. символдар берілген. Санау:

а) осы символдардың арасында + және * символдары неше рет кездеседі?

б) s1, s2, …, sn.тізбегінде +, -, * символдарының енуінің жалпы саны?

п натурал сандар, s1, s2, …, sn. символдар берілген. Бос жолдармен бөлінген (бір немесе бірнеше) және өз ішінде бос орындары жоқ символдр тобын сөздер дер атайтын боламыз.

а) Осы тізбектегі сөздер санын санау.

б) Осы тізбектің соңғы сөзіндегі а әрпінің санын санау.

в) б әрпінен басталатын сөздердің санын табу.

г) Бірінші және соңғы символдары өзара сәйкес келетін сөздер санын табу.

д) а әрпінен басталатын кез келген сөзді табу.

е) Бұл сөзінің әрбір енуін онда сөзіне ауыстыра отырып, осы тізбекті өзгерту.

ж) ең қысқа сөздің ұзындығын табу.

әдебиет:

1. Негізгі –5, 6, 8, 9, 10

2. Қосымша - 2

Әдістемелік нұсқау:

№1-тапсырмалар шешімді қараймыз.

Программа оңай оқылады

{ Сөздің текстке енуі }

PROGRAM Pr_1;

const NN = 100;

КК = 50;

var n,k,i,j : integer;

X: array [1..NN] of integer;

Y: array [1..NN] of integer;

Ff: boolean;

BEGIN

writeln('N,K:=’);

readln(n,k) ;

writeln;

writeln('Array X:');

for i:=l to n do readln(X[i]);

writeln;

writeln('Array Y:');

for j:=l to k do readln(Y[j]);

writeln;

i:=0;

ff:=TRUE;

while (i<=n-k) AND ff do begin j :=i;

while (j<=k) AND ff do

if X[i + j]<>Y[j] then ff:=FALSE else j :=j+l;

if ff then begin writeln('Da ',i+l); ff:=FALSE end

else begin ff:=TRUE; i:=i+l end

end;

if ff then writeln('Net')

END.

23-24 жұмыс