Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Operazioni possibili su un vettore

informatica



Operazioni possibili su un vettore


Per i si intende l'indice mentre per dimax la dimensione massima

Questa procedura può essere effettuata per caricare un solo elemento

Procedure caricamento (var x:vettore) 646i87g


Inizio

Per i:=1 fino a dimax esegui

Chiedi ('elemento')

Leggi(x[i]

Fine per

Fine




Per caricare + elementi:


Procedure caricamento (var x:vettore   var dim:integer)

Var risp:char


Inizio

I:=0

Ripeti

I:=i+1

Chiedi('elemento')

Leggi(x[i])

Chiedi('ci sono ancora elementi?')

Leggi(risp)

Finche' (risp_'no) and (i=dimax)

Dim:=i

Fine


Questo sottoprogramma serve per acquisire la dimensione:

Procedura dimensione (var x:integer)


Inizio

Ripeti

Chiedi('dimensione')

Leggi(x)

Finche' (x<=10) and (x>=1)

Fine


Questo sottoprogramma serve per sommare dei numeri dove la variabile s sta per somma

Procedura somma (v:vettore, x:integer)

Var s:integer


Inizio

S:=0

Per i :=1 fino a dim esegui

S:=s+v[i]

Fine per

Comunic('somma=',s)

Fine



Questo sottoprogramma serve per verificare se in un vettore esiste un numero ad esempio il 5


Procedure verifica (v:vettore; x:integer)

Var trovato:boolean


Inizio

Trovato:=falso

Per i:=1 fino a dim esegui

Se v[i]=5 allora

Trovato:= vero

Fine se

Fine per

Se trovato=vero allora

Comunica('esiste')

Altrimenti

Comunica('non esiste')

Fine se

Fine



Questo algoritmo confronta ogni elemento con tutti quelli  che lo seguono

Ordinamento ingenuo


Inizio

Per i:=.fino a n-1 esegui

Per j:=i+1 fino a n esegui

Se a[i]>a[j] allora

Aiuto:=a[i]

A[i]:=a[j]

A[j]:=aiuto

Fine se

Fine per

Fine per


Questo algoritmo consiste nel confrotare ogni elemento con quello che li sta accanto. Le varie operazioni si fermeranno  nella posizione in cui e' stato effettuato l'ultimo scambio . Quindi per comodità ci dichiariamo una variabile usa che sarà l'ultimo scambiato


Ordinamento a bolle ottimizzato




Inizio

Us:=dim

Ripeti

Per i:=1 fino a us-1 esegui

Se a[i]>a[i+1] allora

Aiuto:=a[i]

A[i]:=a[i+1]

A[i+1]:=aiuto

Us:=i

Fine se

Fine per

Fimnche' us=1

Fine


Questo algoritmo si usa quando prima si carica e poi si ordina e consiste nel confrontare ogni elemento con quello che li sta accanto. Il procedimento va ripetuto fino a quando il vettore non e'ordinato. Ci serviamo sempre della variabile ultimo scambiato us.


Ordinamento a bolle


Inizio

Us:=vero

Ripeti

Per i:=1 fino a dim-1 esegui

Se a[i]>a[i+1]allora

Aiuto:=a[i]

A[i]:=a[i+1]

A[i+1]:=aiuto

Fine se

Fine per

Finche' us=vero

Fine


Si usa quando il vettore  e' già ordianto. Si ferma o quando trova l'elemento o quando gli estremi si sovrappongono. Abbiamo bisogno della variabile trovato di tipo boolean e dell'estremo destro(sx) e dell'estremo sinistro(dx) e del centro (c)


Ricerca binaria


Inizio

Trovato:=falso

Sx:=1

Dx:=1

Ripeti

C:=intero(sx+dx)/2

Se (v[c]=n) or (v[dx]=n) or (v[sx]=n) allora

Trovato:=vero

Altrimenti

Se v[c]<n allora

Sx:=c+1

Altrimenti

Dx:=c-1

Fine se

Fine se

Finche' (trovato=vero) or (sx>dx)

Se trovato allopra

Comunica('esiste')

Altrimenti

Comunica ('non esiste')

Fine se

Fine.


Quando vogliamo inserire un elemento


Inizio

Se dim<dimax allora

Leggi(p)

Per i:=dim+1 fino a p+1 esegui

X[i]:=x[i-1]

Fine per

Chiedi('elemtno')

Leggi(x[p]

Dim:=dim+1

Altrimenti

Comunica('vettore pieno impossibile aggiungere')

Fine se

Fine


Quando si vuole cancellare un elemento


Inizio

Se dim>=1 allora

Leggi(p)

Per i:=p fino a dim-1 esegui

X[i]:=x[i+1]

Fine per

Dim:=dim-1

Altrimenti

Comunica('non ci sono elemnti')

Fine se

Fine







Privacy




Articolo informazione


Hits: 1402
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024