Operazioni fondamentali su file sequenziale non ordinato e

  • Slides: 4
Download presentation
Operazioni fondamentali su file sequenziale non ordinato e ordinato

Operazioni fondamentali su file sequenziale non ordinato e ordinato

Ricerca sequenziale su array: Inizio • Elenco non ordinato Trovato False • Li scorro

Ricerca sequenziale su array: Inizio • Elenco non ordinato Trovato False • Li scorro tutti I 0 I<n F V V V Trovato Vet(I) = X F Not trovato Scrivi (“errore”) True Scrivi (i) Fine I I+1 F

Ricerca sequenziale su file seq. Non ordinato sia su nastro che su disco: Inizio

Ricerca sequenziale su file seq. Non ordinato sia su nastro che su disco: Inizio Trovato False Apro (F) • Elenco non ordinato Posiziono sul primo elemento se necessario Posiziono sul primo • Li scorro tutti F Not(EOF(F)) Finchè non è finito il file F V Copio il record dal file F Leggi(F, Rec) su RAM nel record REC V Trovato True Viselemento(Rec) Rec. campo. Gen = X V F Not trovato Scrivi (“errore”) Chiudo (F) Fine F

Ricerca sequenziale su file seq. ORDINATO sia su nastro che su disco: Inizio Trovato

Ricerca sequenziale su file seq. ORDINATO sia su nastro che su disco: Inizio Trovato False PROBABILE True Apro (F) • Elenco ordinato Posiziono sul primo elemento se necessario Posiziono sul primo • Li scorro tutti Not(EOF(F)) AND Not(trovato) AND Probabile V True F Finchè non è finito il file F, non l’ho trovato ma potrebbe esserci V Copio il record dal file F Leggi(F, Rec) su RAM nel record REC Trovato Probabile non è indispensabile: è usato per chiarezza in alternativa potrei usare Trovato in maniera diversa Rec. campo. Gen = X V F Scrivi (“errore”) VRec. campo. Gen >XF Viselemento(Rec) Fermo la ricerca con un flag Probabile false Not trovato Chiudo (F) Fine F