+ All Categories
Home > Documents > Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata /...

Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata /...

Date post: 16-Feb-2019
Category:
Upload: trankiet
View: 223 times
Download: 1 times
Share this document with a friend
53
Corso Informatica di Base Flow Chart
Transcript
Page 1: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

CorsoInformaticadiBase

FlowChart

Page 2: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

AbbiamodettoChe..• INFORMATICA:scienzaetecnicachetrattal'elaborazioneautomaticadeidatiedeiprocedimentidicalcolo

• CALCOLATOREOELABORATORE ELETTRONICO:macchinaelettronicaingradodimanipolareautomaticamenteinformazioni,eseguendooperazionisudatifornitiiningresso(input),perotteneredeirisultatiemessicomedatiinuscita(output)

• PROGRAMMA: insiemediistruzionichepossonoessereeseguitedaunelaboratoreelettronico.

• PROGRAMMATORE: Sioccupadirealizzareoperativamenteleapplicazioni,scrivendoleistruzionisottoformadilineedicodicebasatesuspecificilinguaggidiprogrammazione.

Page 3: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

ModellodiComputer(semplificato)

Dati In Ingresso

Elaborazione dei Dati

Dati in Uscita

Page 4: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Informatica

SecondolaACM(AssociationforComputingMachinery)…L’InformaticaèloStudiosistematicodeglialgoritmi chedescrivonoetrasformanol’Informazione:laloroteoria,analisi,progetto,efficienza,realizzazioneeapplicazione.

Page 5: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

RisoluzionediunProblema

Problema

Algoritmo

Programma

Linguaggio Macchina

Input Macchina Output

L’uomo descrive l’algoritmo che lamacchina deve seguire per risolvere ilproblema (ad esempio con i Diagrammidi flusso)

La descrizione viene tradotta inLinguaggio di alto livello (adesempio il linguaggio C)

Il programma di alto livelloviene tradotto in linguaggioMacchina, ovvero codice binario(ad esempio dalcompilatore)

Page 6: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

EsempidiAlgoritmi

Ricettapercucinareglispaghetti

➔Mettil’acquanellapentola➔ Faibollirel’acqua➔Mettilapastanell’acqua➔ Aggiungiunpo’ disale➔ Attendi6minuti➔ Scolalapasta

Page 7: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

EsempidiAlgoritmi

Verificaseunnumeroèpariodispari➔ Prendiilnumero➔ Calcolailrestodelladivisioneinteradelnumeroper2➔ Seilrestoèzero

– Allorailnumeroèpari– Altrimentiilnumeroèdispari

Page 8: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

AlgoritmiConilterminealgoritmo siintende,ingenere,unmetodoperlarisoluzionediproblemiutilizzandounnumerofinitodipassi.

Daquestadefinizionesievinconolequattroproprietàfondamentalidell'algoritmo:

• lasequenzadiistruzionideveesserefinita(finitezza);• essadeveportareadunrisultato(effettività);• leistruzionidevonoessereeseguibilimaterialmente(realizzabilità);

• leistruzionidevonoessereespresseinmodononambiguo(nonambiguità).

Page 9: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Caratteristichediunalgoritmo• Azionieseguibilienonambigue

– Nonsonoammessi“unpò” e“apiacere”,chenonsonotermini adattiadunamacchina

• Deterministico– Fattounpasso,ilsuccessivoèunoedunosolo,bendeterminato.Alternativesonopossibili,malasceltadeveessereunica

• Numerofinitodipassi• Terminazione

– L’esecuzioneprimaopoidevefinireeprodurreunrisultatointempofinito

– Osservazione:la3nonimplicala4

Page 10: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Esempiodinonterminazione

SiconsideriilnumeroN• ScrivereN• ScrivereilnumerosuccessivoadN• Ripetereilpassoprecedente

Page 11: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Esempiodinonterminazione

Trovailpiùgrandenumeroprimo.

Nonesisteunprogrammacheriesceadareunarispostaintempofinito(Numerofinitodipassi)

Page 12: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Tuttiiproblemisonorisolvibili???

No..

Unproblemarisolvibileconunalgoritmosidicecomputabile

Page 13: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Risoluzionediunproblema

Generalmentelarisoluzionediunproblemaconsistenelprenderealcunidatiiniziali(input)relativialproblemaenelfornireunrisultato(output)cherisolvequest’ultimo.

Input Esecutore Output

Algoritmo

Page 14: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

NonècosìFacilePerscriverelagiusta“sequenzadipassi”bisognaessereunbravocuoco!

PrepararegliSpaghetti:• Ingredienti(acqua,Sale,Spaghetti)• Eseguirelaricetta• ServiregliSpaghetti

Page 15: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Codificadell’AlgoritmoAffinchèunamacchinariescaacomprendereedeseguireipassispecificatidaunalgoritmo,quest’ultimodeveessereprimacodificatoinunopportunoprogramma scrittoinunlinguaggioadaltolivello (cheverràsuccessivamentecompilato/interpretato)

Algoritmo Traduzione Programma

Page 16: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Rappresentazionedeglialgoritmi

E’ necessariofarriferimentoadeiformalismiche:• nonintroducanoambiguità• sianouniversalmentericonosciutiedinterpretatiallostessomododaungenericoesecutore

• permettanodirappresentareinmodoefficaceunalgoritmo

• Costituiscanounutilestrumentoperpoipoterpassareallafasedicodificainunlinguaggiodiprogrammazione

Page 17: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Rappresentazionedeglialgoritmi

1. Rappresentazionegrafica– Diagrammiablocchi/FlowChart

2. Rappresentazionetestuale– NotazioneLineareStrutturata/PseudoCodice

Page 18: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Algoritmi:operazionibase

Leoperazioniprimariesono:• Trasferimentodiinformazioni(istruzionidiI/O)

• letturadati,scritturarisultati,visualizzazionedatiintermedi

• Esecuzionedicalcoli(valutazioneespressioni)• Istruzionidiassegnamento• Strutturedicontrollo(chemodificanoilflussosequenzialediesecuzionedelleoperazioni)

Page 19: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

DiagrammidiFlusso

Idiagrammiablocchi (dettianchediagrammidiflusso)sonounlinguaggiodimodellazionegraficoperrappresentarealgoritmi(insensolato).

Essoconsentedidescrivereledifferentioperazionisottoformadiunoschemaincuilediversefasidelprocessoeledifferenticondizionichedevonoessererispettatevengonorappresentatidasimboligraficidettiblocchielementari.Iblocchisonocollegatitralorotramitefreccecheindicanolacronologia.

Page 20: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

DiagrammidiFlussoOgniazioneelementareèrappresentatadaunblocco.Esistono5tipidiblocchielementari:

Blocco iniziale Blocco finale

Blocco I/O

Blocco ControlloBlocco Elaborazione

Page 21: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

IstruzionidiI/O

• letturadidatiininput• scritturadeirisultatiinoutput

Page 22: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Connettori

Isingolidiagrammidevonoessereunititramiteiconnettori.

L’esecuzionedelleistruzionideveesserefattasequenzialmente,ovveroseguendoiconnettori.

Quandosiscrivel’algoritmobisognafaremoltaattenzionealladirezionedelflussodiesecuzione.

Page 23: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

IstruzionediAssegnamento

Concettodivariabile• Identificatadaun’etichetta/identificatoresimbolico

• Puòesserecomodopensareallavariabilecomeaduncontenitoreincuipossiamomemorizzareoreperiredeidatiutilizzatiduranteilcalcolo

• L’istruzionediassegnamentopermettediassegnareunvaloreadunavariabile

Page 24: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

IstruzionediAssegnamento

Unavariabilenumerica èunaentitàcaratterizzatada• Unnome• Unvalore(contenuto)• PuòcambiareneltempoUnacostantenumerica èunaentitàcaratterizzatada• Unnome• Unvalore(contenuto)• Nonpuòcambiareneltempo

Page 25: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

IstruzionediAssegnamento

A = 5Alla Variabile Aassegno il valore 5

Page 26: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Espressione

Un’espressione èunacombinazionedioperatoriaritmetici,costantievariabilichepuòesserecalcolatagenerandounsingolovalorenumerico

Es:X+1X+(Y*5)

Page 27: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

IstruzionediAssegnamento

• Istruzionediassegnamento:“ ”

• VariabileEspressioneX5YX+4

AssegnoallaVariabilexilvalore5LaVariabileYconterràilvaloredellasommatrailnumero4edilvaloreassegnatoallavariabileX

X = 5 Y=X+4

Page 28: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Esempio

Descriveremediantediagrammidiflusso,unalgoritmochecalcolilasommadiduenumerilettiininput

Page 29: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Diagrammadiflusso:Somma

Inizio

Leggi Y

Leggi X

Z X + Y

Scrivi Z

Fine

Page 30: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Esempio2

Descrivere,mediantediagrammidiflusso,unalgoritmochescambiivalorididuevariabililetteininput.

Page 31: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Diagrammadiflusso:Scambio

Inizio

Leggi X

Leggi Y

Aux Y

Y X

X Aux

Scrivi Y

Scrivi X

Fine

Page 32: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Flussodiesecuzione

Sipossonoaverecasiincuinelflussodiesecuzionesidevesceglieretradiversedirezioni

Ladirezionedascegliereèsubordinataalverificarsidiunacondizione

Lacondizionepuòassumereduestati:– Vero– Falso

Inquesticasisiparladiistruzionecondizionale

Page 33: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

StrutturedicontrolloTuttiglialgoritmidevonoadattarsiadunaclassediproblemiperessereapplicatialmondorealeeleoperazionidaeffettuareperraggiungerelasoluzionespessodifferisconoasecondadeicasichesipresentano.

Perquestoesistonodelleparticolaristrutturedellinguaggiochepermettonodicontrollareilflussodiesecuzione(quindidelleoperazioni),ovverodieseguireunacertaseriediistruzionianchepiu'voltenelmomentoincuisiverificadiunaseriedicondizioni.

Questestrutturesonoassolutamenteindispensabili,infattinonesisteunlinguaggiodiprogrammazioneincuinone'possibilecontrollareilflussodelprocesso.

Page 34: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

StrutturedicontrolloQuasilatotalitàdeiprogrammihalanecessitàdisvolgerealcuneistruzioniocompieredeterminateoperazioni(oppureevitaredicompierealcuneoperazioni)asecondadeidatidipartenza.

Peresempiounprogrammacheesegueunadivisionetraduenumeria/bdovràevitaredicompierel'effettivaoperazionearitmeticaseildatob=0.

Perquestointuttiilinguaggidiprogrammazioneesistonodeiparticolaricostruttichegeneralmentepermettonodi:- Scegliereseeseguireomenounacertaporzionedicodice,oppure- Eseguirepiùvolteunacertapartedicodice.

Page 35: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Strutturedicontrollo

Page 36: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

IstruzioniCondizionaliLa selezione (o scelta) permette a un programma di proseguire secondo uno tra due (o più) flussi di istruzioni alternative, a seconda del risultato di un test o del verificarsi di una condizione.

L’iterazione (o ciclo, o loop) consiste nella ripetizione di una o più istruzioni, e si può ottenere collegando il flusso in uscita da un blocco con il flusso in entrata nel blocco stesso o in uno precedente.In tal modo si possono eseguire compiti ripetitivi senza specificare uno per uno un gran numero di singoli passi, ma scrivendo per esempio un’istruzione del tipo: “esegui il prossimo passo 1.000 volte”.

Page 37: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

IstruzioniCondizionaliSelezionebinaria.Nellaselezioneiltestolacondizionesonotipicamentecostituitidaunavariabilelogica,scrittadentroilsimbolodidecisione,(bloccocontrollo)dalqualeesconoduefrecce.Questeindicanolepossibiliazionidacompiersiasecondadelvaloredellavariabile,comemostralafigura.

Page 38: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

IstruzioniCondizionali

Sipuòanchevolerecompiereunacertaazioneseiltestolacondizionehannounvalorevero,enessunaazionenelcasocontrario.

Page 39: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Esempio

Descriveremediantediagrammadiflusso,unalgoritmochedeterminiilmassimotraduenumerilettiininput

Page 40: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

DiagrammadiFlusso:Max

Inizi

Leggi X

Leggi Y

X>Y Scrivi X

Scrivi Y

Vero

Falso

Fine

Page 41: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

StrutturaIF-ELSEL’istruzionecondizionaleif-else ècostruitapersceglierel’esecuzionediun’istruzioneinalternativaaun’altraasecondadelvaloreassuntodaunadatacondizione.

if(condizione){operazione}L'operazionepuòanchenonessereracchiusatraparentesigraffe.

Vediamounsempliceesempio.if($a==5) {echo"Lavariabileavale5";}Inquestocasoverràstampatalastringa"Lavariabileavale5"soloquando$asaràugualea5.

Page 42: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

StrutturaIF-ELSEAbbiamointrodottoilcontrolloreelse:aggiungelapossibilitàdi

eseguireun'istruzionealternativanelcasolacondizionenonsiavera.

if(condizione){operazione1}else{operazione2}

Vediamooradiapplicaretuttiicasifinoravisti,utilizzandol'annidamentodipiùif:l'importanteèricordarsidichiuderesempreunacondizionechesièaperta.

if($a>$b){echo"aèmaggioredib";}else{if($a<$b){echo"aèminoredib";}else{if($a==$b){echo"aèugualedib";}}}

Page 43: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

StrutturediControlloIterattiveLestrutturedicontrollo"iterative"consentonodispecificarecheunadataistruzioneoundatobloccodiistruzionidevonoessereeseguitiripetutamente.Essevengonoanchedettecicli.

Ognistrutturadicontrollodiquestotipodeveconsentiredispecificaresottoqualicondizionil'iterazione(ripetizione)ditaliistruzionidebbaterminare,ovverolacondizionediterminazionedelciclo oppure,equivalentemente,lacondizionedipermanenzanelciclo.

Page 44: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

StrutturaWhileIlciclowhile (mentre,ofintantoché)èindicatoquandolacondizionedipermanenzainuncicloèunagenericacondizionebooleana,indipendentedalnumerodiiterazionieseguite.Leformetradizionalidiciclowhilepossonoessereparafrasatecome"ripeti(ilcodicecontrollato)fintantochérestaveralacondizioneC".Unesempiotipicoèlaletturadidatidaunfiledicuinonsiconoscaaprioriladimensione;essopotrebbeassumerelaforma"leggiilprossimodatofinchénonincontrilafinedelfile".

Page 45: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

StrutturaWhile

Vediamounsempliceesempio:$i=1;while($i<=10){echo$i;$i++;

}Questociclocontinuaadincrementarelavariabile$ifinoaquandononsaràugualea10edognivoltastampailsuovalore.Inpraticaverràstampatalastringa"12345678910".

Page 46: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

StrutturaDo-WhileUnmodoalternativopereseguirelastessacosasaràricorrerealciclo

do..while.L'unicadifferenzaècheilvaloredellacondizionevienecontrollatoallafinedelcicloenonall'inizio.Inpraticalaprimaoperazionevienesempreeseguita,siachelacondizionesiaveraofalsa.do{operazione}while(condizione)

Vediamol'esempio:$i=1;do{echo$i;$i++;

}while($i<=10)

Page 47: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

StruttureDatiUnastrutturadati èun'entitàusataperorganizzareuninsiemedidatiall'internodellamemoriadelcomputer,edeventualmentepermemorizzarliinunamemoriadimassa.Lasceltadellestrutturedatidautilizzareèstrettamentelegataaquelladeglialgoritmi.

La strutturadatièunmetododiorganizzazionedeidati,quindiprescindedaidatieffettivamentecontenuti.

Ciascunlinguaggiodiprogrammazioneoffrestrumenti,piùomenosofisticati,perdefinirestrutturedati,ovveroaggregaredatiditipoomogeneooeterogeneo.

Page 48: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

GliArrayUnarrayèunastrutturadatiomogenea,checontieneunnumerofinitodielementidellostessotipo,adesempiounvettoredi10interi.Questielementisonoindividuatiattraversounindicenumerico,chetipicamentevada0alnumeromassimodielementimenouno.Ladimensionedelvettoredeveesseredichiarataalmomentodellasuacreazione.Vettorididimensionediversacostituisconotipididatidiversi.

Glielementidell'array(levariabilichelocostituiscono)sonoidentificatedallostessonomedell'arrayedaunoopiùindici,cheindicanolaposizionedell'elementoall'interodelvettoreodellamatrice.

Page 49: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

GliArrayArraymonodimensionale:Unarrayadunadimensioneècostituitodauninsiemefinitodielementiomogeneiincorrispondenzabiunivocaconuninsiemediindici.

Arraybidimensionale puòessereconsideratounarraydiarraymonodimensionalicioèognicomponentedell’arrayèessostessounarray

L’accessoadognicomponentediunarraybidimensionalesihatramiteunacoppiadiindici(i,j)

Ilprimoindicesiriferisceallarigaedilsecondoallacolonna

Page 50: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

GliArray

X[0] X[1] X[2] X[3] X[4] X[5] X[6] X[7]

Array Monodimensionale

X

A[0][0] A[0][1] A[0][2] A[0][3] A[0][4]A[1][0] A[1][1] A[1][2] A[1][3] A[1][4]A[2][0] A[2][1] A[2][2] A[2][3]

Array Bidimensionale

A

COLONNE

R

I

G

H

E

Page 51: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

GliArray

Essigodonodelleseguentiproprietà:• Gliarraysonounodeitipididatostrutturato• Sonocompostidaelementiomogenei• Ognielementoèidentificatoall’internodelvettore

daunnumerod’ordinedettoancheindicedell’elemento

• E’ possibileriempireoleggereunasolaposizionepervolta

• Ilnumerodeglielementièdettodimensione olunghezza delvettore

Page 52: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

GliArray

Adesempio,pensiamodivolermemorizzareinomideigiornidellasettimanaall'internodell'arrayditipostringachiamatogiorno;avremolaseguentestruttura:

$giorno[0]="lunedi'"$giorno[1]="martedi'"$giorno[2]="mercoledi'"$giorno[3]="giovedi'"$giorno[4]="venerdi'"$giorno[5]="sabato"$giorno[6]="domenica"

Page 53: Flow Chart - Pop.itsvariando.it/infobase/lezione10.pdf · – Notazione Lineare Strutturata / PseudoCodice. ... ciclo while possono essere parafrasate come "ripeti (il codice controllato)

Array

Esercizisugliarray


Recommended