|
|
PER CONST si intende la costante e per DIMAX la dimensione massima.
Per PUINT si intende il puntatore e per VAR le variabili dove P vuol dire PILA al posto dei puntini si mette il nome dei vari record. := SIGNIFICA ASSEGNA
CONST DIMAX=100
TYPE ...= RECORD
..
ENDRECORD
PILA:RECORD
PUNT=0..DIMAX
CORPO=ARRAY[1..DIMAX]OF ..
ENDRECORD
VAR P:PILA
PROCEDURE CREA (var P:pila)
VAR RISP STRING[2]
INIZIO
COMUNICA('PROCEDURA DISTRUTTIVA CONTINUARE)
LEGGI(RISP)
SE RISP='SI' ALLORA
S.DIIM:= 0
FINE SE
FINE
PROCEDURE INSERIMENTO (VAR P:PILA)
INIZIO
SE P.PUNT<DIMAX ALLORA
CHIEDI(.)
P.PUNT := P.PUNT+1
LEGGI (P.CORPO [P.PUNT]...
FINE SE
PROCEDURE ELIMINA (VAR P:PILA)
VAR P1:PILA
X:INTEGER
INIZIO
CHIEDI()
LEGGI(X)
CREAZIONE(P1)
MENTRE P.CORPO[P.PUNT]..<>X ESEGUI
P1.PUNT:=P.PUNT+1
P1.CORPO[P1.PUNT]:=P.CORPO[P.PUNT]
P.PUNT:=P.PUNT-1
FINE MENTRE
P.PUNT:=P.PUNT-1
MENTRE P1.PUNT<>0 ESEGUI
P.PUNT:=P.PUNT+1
P.CORPO[P.PUNT]:=P1.CORPO[P1.PUNT]
P1.PUNT:=P.PUNT-1
FINE MENTRE
FINE
PER DIM SI INTENDE LA DIMENSIONE E PER PTESTA IL PUNTATORE DI TESTA PCODA IL PUNTATORE DI CODA
TYPE DATI:RECORD
..
CODA:RECORD
DIM:0..DIMAX
PTESTA:1..DIMAX
PCODA:1..DIMAX
CORPO:ARRAY[1..DIMA]OF DATI
ENDRECORD
VAR C:CODA
PROCEDURE CREA (VAR C:CODA)
COMUNICA('PROCEDURA DISTRUTTIVA CONTINUARE)
LEGGI(RISP)
C.PTESTA:=DIMAX
C.PCODA:=DIMAX
C.DIM:=0
FINE
PROCEDURE INSERIMENTO (VAR C:CODA)
INIZIO
SE NOT PIENA*(C) ALLORA
SE C.PCODA=DIMAX ALLORA
C.PCODA:=1
ALTRIMENTI
C.PCODA:=C.PCODA+1
CHIEDI('ELEMENTO')
LEGGI(C.CORPO[C.PCODA] (campo))
FINE SE
C.DIM:=C.DIM+1
FINE SE
FINE
PROCEDURE ELIMINA(VAR C:CODA)
INIZIO
SE NOT VUOTA*1(C) ALLORA
SE C.PTESTAA=DIMAX ALLORA
C.PTESTA:=1
ALTRIMENTI
C.PTESTA:=C.PTESTA+1
FINE SE
C.DIM:=C.DIM-1
FINE SE
FINE
*SOTTOPROGRAMMA VUOTA (C:CODA):BOOLEAN
INIZIO
V UOTA:=VERO
ALTRIMENTI
VUOTA:=FALSO
FINE SE
FINE
*SOTTOPROGRAMMA PIENA (C:CODA):BOOLEAN
INIZIO
SE (C.PTESTA=1) AND (C.PCODA=DIMAX) ALLORA
PIENA:=VERO
ALTRIEMNTI
SE (C.PTESTA = C.PCODA-1) ALLORA
PIENA:=FALSO
FINE SE
FINE SE
FINE
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025