Frontazas презентация

a) s využitím statických struktur Definice a deklarace: type COSI = string[10]; {popř. COSI=real apod.} PP = 10; FRONTA = array[1..PP] of COSI;

Слайд 1Fronta -
Implementace s využitím statických struktur (pole)
Implementace s využitím dynamických

struktur (spojového seznamu)

odebírá se ze začátku fronty, přidává se na konec fronty. Datová struktura typu FIFO

(kolejka)


Слайд 2a) s využitím statických struktur
Definice a deklarace:
type COSI = string[10];

{popř. COSI=real apod.}
PP = 10;
FRONTA = array[1..PP] of COSI;
Var F1 : FRONTA;
ZAC, KON : byte;
PRVEK : COSI;
Přidej prvek do fronty: begin KON:=KON+1;
KON:=0; F1[KON]:= PRVEK
ZAC:=1 end
Odeber prvek z fronty:
begin PRVEK:=F1[1];
for I:=2 to KON do F1[I-1]:=F1[I]
end

Слайд 3Uvedené řešení je spíše manuální záležitost, jediná starost je o stav,

kdy fronta je plná (KON=PP - nedá se přidat) popř. prázdná (KON=0 - nedá se odebrat)

Efekt přináší použití fronty v podobě kruhu, kdy kromě výše uvedených proměnných deklarujeme ještě proměnnou
var POC: byte
udržující informaci o počtu zákazníků ve frontě (POC <= PP).


Слайд 4Pak přídání prvku do fronty řeší algoritmus
begin KON:=(KON+1)

mod 10;
F1[KON]:=PRVEK;
POC:=POC+1
end
a odebrání prvku z fronty řeší algoritmus
begin PRVEK:=F1[ZAC];
ZAC:=(ZAC+1) mod 10;
POC:=POC-1
end
Výchozí nastavení KON:=0; ZAC:=1; POC:=0 a starost, aby hodnota POC byla v intervalu 1..PP (ovšem nabývat hodnot může z intervalu 0..PP+1.

Слайд 5b) s využitím dynamických struktur
Type COSI = string[10];

WSKAZ = ^STRU;
STRU = record IM : COSI;
WSK : WSKAZ
end;
var F1 : FRONTA;

ZAC

KON

type FRONTA = record
ZAC:WSKAZ;
KON:WSKAZ
end



ZAC - START
KON - ILOSC

F1


Слайд 6
Úvodní inicializaci fronty řeší algoritmus

Procedure INIT;
begin new(F1.ZAC);
F1.ZAC^.WSK:=nil;
F1.KON:=F1.ZAC
end

ZAC

KON

F1


Слайд 7
Přidání prvku do fronty řeší algoritmus

Procedure PRIDEJ(R:COSI);

begin F1.KON^.IM:=R;
new(F1.KON^.WSK);
F1.KON:=F1.KON^.WSK;
F1.KON^.WSK:=nil
end

Слайд 8Odebrání prvku z fronty řeší algoritmus

Procedure ODEBER(var R:COSI);
var POM

: WSKAZ;
begin
if F1.ZAC<>F1.KON then
begin R:=F1.ZAC^.IM;
POM:=F1.ZAC ;
F1.ZAC:=F1.ZAC^.WSK;
dispose(POM)
end

Слайд 9ZAC
KON
F1
(3)
(3)
(1)
R
(2)
(4)
ZAC
KON
F1
(3)
(3)
(1)
R
(2)
(4)
POM
Schematicky lze odebrání prvku z fronty znázornit:
Schematicky lze přidání prvku do

fronty znázornit:

Слайд 10Zásobník (stos) -
Implementace s využitím statických struktur (pole)
Implementace s využitím dynamických

struktur (spojového seznamu)

TOP

přidává se i odebírá vždy z vrcholu zásobníku. Datová struktura typu LIFO


Слайд 11a) s využitím statických struktur
Definice a deklarace:
type COSI = string[10];

{popř. COSI=real apod.}
FRONTA = array[1..PP] of COSI;
var Z1 : FRONTA;
VRCH : byte;
PRVEK : COSI;
Přidej prvek do zásobníku: begin VRCH:=VRCH+1;
VRCH:=0; Z1[VRCH]:= PRVEK
end
Odeber prvek z fronty:
begin PRVEK:=Z1[VRCH];
VRCH :=VRCH-1
end

Слайд 12b) s využitím dynamických struktur
Type COSI = string[10];

WSKAZ = ^STRU;
STRU = record IM : COSI;
WSK : WSKAZ
end;
var Z1 : WSKAZ;

Z1




Слайд 13
Úvodní inicializaci zásobníku řeší algoritmus
Procedure INIT;

begin Z1:= nil;
end

Přidání prvku do zásobníku řeší algoritmus
Procedure VLOZ(R:COSI);
var POM : WSKAZ;
begin new(POM);
POM^.IM :=R;
POM^.WSK:=Z1;
Z1 :=POM
end

Слайд 14Odebrání prvku ze zásobníku řeší

Procedure ODEBER(var R:COSI);
var POM : WSKAZ;
begin R :=Z1^.IM;
POM:=Z1;
Z1 := Z1^.WSK;
dispose(POM)
end

Слайд 15Jak u fronty, tak u zásobníku, je třeba hlídat, zda není

prázdný. U zásobníku je algoritmus ve tvaru

Function JePrazdny : Boolean;
begin if Z1=nil
then JePrazdny := true
else JePrazdny := false
end

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика