![]() | ![]() |
|
|
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
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
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
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.
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)
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
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025