Relazione ricerca

Ci è stato posto il problema di ricercare all’interno di un vettore un valore. Abbiamo realizzato due programmi: in uno i valori del vettore vengono definiti nella scrittura del programma(lo abbiamo chiamato ricerca); nel secondo i valori del vettore vengono definiti dall’utente (lo abbiamo chiamato ricercacasuale). Il programma, alla fine, fornisce una risposta: “il valore è stato trovato”, se il valore cercato è stato trovato, “il valore non è stato trovato”, se il valore cercato non è stato trovato.

 

Pseudocodice ricerca

 

Procedura assegna;

Inizio

            V[1]:=35;

            V[2]:=40;

            V[3]:=85;

            V[4]:=85;

            V[5]:=76;

            V[6]:=51;

            V[7]:=33;

            V[8]:=83;

            V[9]:=16;

            V[10]:=28;

fine;

 

Procedura conta;

Var h:interi;

Inizio

            i:=0;

            g:=0;

            h:=0;

            Per i:=1 a 100 esegui

            Inizio   

                        h:=h+1;

                        Se v[i]<>0 allora g:=h;

            fine;

fine;

 

Procedura ins;

Inizio

            Scrivi('quale numero vuoi cercare?');

            Leggi(t);

fine;

 

Procedura visua;

Var y:interi;

Inizio

            Per i:=1 a 100 esegui

            Inizio

            Se verit=true allora

            Inizio

                        Se l[i]=1 allora

                        scrivi('il numero è stato trovato nella posizione: ',i);

            fine;

            fine;

            se verit=false allora scrivi('il numero non è stato trovato');

Fine;

 

Procedura cerca;

Inizio

            verit:=false;

            per i:=1 a 100 esegui

            inizio

                        se t=v[i] allora

                        Inizio

                                    verit:=true;

                                    l[i]:=1;

                        fine;

            fine;

Fine;

 

 

Inizio

            assegna;

            conta;

            ins;

            cerca;

            visua;

            Scrivi(' ');

            Scrivi (' ');

            Scrivi ('programma realizzato da Montanaro Teodoro e Massaro Alessio');

Fine.    

 

 

Flow Chart ricerca

 

Procedura assegna;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Procedura conta;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Procedura INS;

 

 

 

 

 

 


                                                                                    O

 

 

                                                                I

 

 

 

 

 

Procedura visua;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                                                                                                                                              O

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                                                                                               

 

 

 

 

 

 

 

 

 

 

 

 

Procedure cerca;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


{Programma principale}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                                                                O

 

 

 

 

 

 

 

Programma in formato pascal

 

 

 

 

Pseudocodice ricercacasuale

 

Function mth$random(var b:integer):real;external;

 

Procedura assegna;

Inizio

            b:=clock;

            Per i:=1 a 100 esegui

                        Inizio

                                    a:=mth$random(b);

                                    v[i]:=trunc(a*999999+1);        

                        Fine;

Fine;

 

Procedura ins;

Inizio

            Scrivi('quale numero vuoi cercare?');

            Leggi(t);

Fine;

 

Procedura visua;

Var y:integer;

Inizio

            Per i:=1 a 100 esegui

                        Inizio

                        Se verit=true allora

                        Inizio   

                                    Se l[i]=1 allora

                                    Scrivi('il numero è stata trovata nella posizione: ',i);

                        Fine;

                        Fine;

            Se verit=false allora Scrivi('il numero non è stato trovato');

Fine;

 

Procedura cerca;

Inizio

            verit:=false;

            Per i:=1 a 100 esegui

            Inizio

                        Se t=v[i] allora

                        Inizio

                                    verit:=true;

                                    l[i]:=1;

                        Fine;

            Fine;

Fine;

{Programma principale}

Inizio

            g:=100;

            assegna;

            ins;

            cerca;

            visua;

            Scrivi(' ');

            Scrivi(' ');

            Scrivi('Il programma è stato realizzato da Montanaro Teodoro e Massaro Alessio');

Fine.

 

 

 

 

Procedura assegna;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Procedura ins;

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Procedura visua;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                                                                                                                                                   

 

 

 

 

 

 

 

 

 

 

 

Procedura cerca;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Programma principale;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                       O

 

 

 

                                                       O

 

 

 

                                                                                        O

 

 

 

 

 

 

Programma in formato pascal