Teorie e tecniche di base della programmazione
|
|
- Ortensia Costanzo
- 5 anni fa
- Visualizzazioni
Transcript
1 La soluzione di un generico problema mediante un sistema di elaborazione consiste nel passaggio dalla descrizione del problema di partenza al programma finale, in cui l utente può utilizzare il calcolatore per inserire i dati in ingresso e ottenere i risultati in modo automatico. Essendo l informatica una disciplina trasversale, il caso da risolvere può riguardare insegnamenti diversi quali l economia e la matematica e, ad esempio, potrebbe essere il calcolo dello stipendio dei dipendenti di un'azienda o la valutazione delle orbite seguite dai pianeti nel nostro sistema solare. Un elaboratore elettronico è una macchina (automa) in grado di eseguire un numero limitato di semplici operazioni, rappresentate mediante sequenze di variabili binarie incomprensibili all uomo. Per semplificare l attività del programmatore, sono stati introdotti: - alcuni linguaggi di programmazione, denominati ad alto livello, dove i dati e le istruzioni sono codificati mediante frasi vicine al linguaggio naturale dell uomo; - i programmi traduttori (compilatori e interpreti), che hanno la funzione di tradurre il programma scritto nel linguaggio ad alto livello in quello della macchina. Un programmatore, per risolvere un problema con un calcolatore, deve organizzare in modo diverso le istruzioni a sua disposizione per eseguire un programma sorgente, ovvero un insieme di operazioni, scritte con un linguaggio di programmazione, che definisce l elaborazione da applicare ai dati di ingresso per produrre i risultati. Il passaggio diretto dal problema al programma sorgente comporta i seguenti svantaggi: - l uso di un numero limitato di istruzioni: di fronte a un problema complesso, avendo a disposizione un insieme limitato di istruzioni, è spesso impossibile scrivere direttamente il programma finale che lo risolve; - non comunicabilità: una soluzione scritta direttamente con un programma non può essere comunicata a persone non esperte di informatica oppure che non conoscono quel particolare linguaggio. Queste considerazioni ci suggeriscono che, se si decide di risolvere un problema mediante un sistema di elaborazione, si devono seguire alcune fasi intermedie che conducono sia alla scrittura del programma finale sia alla creazione della documentazione necessaria per la descrizione dell intera soluzione del problema. La programmazione In senso ampio, con il termine programmazione si intende l intera attività svolta per passare dal problema alla sua soluzione mediante un sistema di elaborazione. La programmazione non consiste quindi nella scrittura diretta della soluzione di Pagina 1 di 13
2 un problema con un programma sorgente, ma individua un processo di soluzione che può essere organizzato nelle fasi illustrate dallo schema che segue. 1. Analisi del problema: a b formulazione del problema in modo generale; definizione delle specifiche concettuali, tecnologiche e ambientali. 2. Progettazione (o progetto): a b 3. Realizzazione: a b creazione del modello dei dati; sviluppo dell algoritmo. codifica; collaudo (testing) e correzione degli errori (debugging). In luogo del termine programmazione si utilizza anche l espressione progettazione della soluzione, per porre in evidenza come il passaggio dal problema alla sua soluzione costituisca un vero e proprio progetto. Il termine progetto indica l ideazione di un nuovo lavoro, che dovrà in seguito essere realizzato, e quindi una attività di tipo creativo. Di fronte allo stesso problema, potremo quindi ideare progetti diversi adatti a risolverlo anche se poi, tra le diverse proposte, si dovrà, scegliere quella più adatta, ad esempio, perché è la più semplice da realizzare. Mentre nelle fasi di analisi e di progetto dobbiamo definire tutto ciò che ci proponiamo di compiere e i modi con cui vogliamo compierlo, in quella successiva di realizzazione si devono utilizzare gli strumenti a nostra disposizione per costruire il programma finale. Analisi di un problema La fase di analisi di un problema si svolge: - formulando il problema in modo generale; - creando le specifiche concettuali, tecnologiche e ambientali. Formulazione generale dei problema Di fronte a un problema specifico, prima di impostare la soluzione, si deve riformulare il testo in modo che la soluzione non riguardi il singolo problema, ma tutti quelli di una determinata classe. Definizione delle specifiche concettuali, tecnologiche e ambientali Le specifiche sono la descrizione delle scelte sulle decisioni da prendere nella soluzione di un problema. Al nostro livello di studio, le specifiche sono di tre tipi: - concettuali; Pagina 2 di 13
3 - tecnologiche; - ambientali. Le specifiche concettuali Il termine concettuale o astratto indica tutte le scelte che non dipendono dalla tecnologia e quindi dal software (programmi) e dall hardware (calcolatori). Le specifiche concettuali riguardano quindi la descrizione: - dei dati di ingresso e di uscita (risultati); - delle eventuali operazioni da compiere per passare dai dati di ingresso ai risultati. Nella definizione dei dati di ingresso e di uscita dobbiamo riconoscere, nella formulazione del problema, i dati di ingresso (input) e i risultati (dati di uscita o output) e quindi gli obiettivi che si vogliono ottenere. Per la definizione delle operazioni, osserviamo che un programma svolge la trasformazione dei dati di ingresso per produrre risultati. Il problema può quindi richiedere esplicitamente che il programma finale sia in grado di automatizzare alcune operazioni sui dati di ingresso. Le specifiche tecnologiche Le specifiche tecnologiche riguardano la scelta degli strumenti software e di quelli hardware da utilizzare per automatizzare la soluzione dei problema. Nelle specifiche hardware si deve, ad esempio, definire quale tipo di calcolatore è necessario per la realizzazione del progetto, mentre in quelle software si deve scegliere quale linguaggio di programmazione e relativo programma traduttore impiegare. Nell affrontare un nuovo problema si possono verificare due situazioni, in cui il progettista.: - può scegliere gli strumenti HW/SW con cui realizzare il proprio progetto; - deve utilizzare il calcolatore e i programmi a propria disposizione. Lo stesso progetto può avere realizzazioni diverse sulla base degli strumenti che si hanno a disposizione. Le specifiche ambientali Le specifiche ambientali descrivono le caratteristiche della situazione applicativa in cui il progetto sarà inserito. L analisi di un problema termina quindi con la definizione delle specifiche che ci descrivono le scelte effettuate, che da questo punto in poi diventano gli obiettivi da raggiungere. La fase di progettazione Partendo dalle specifiche, la fase di progettazione ha come obiettivo quello di Pagina 3 di 13
4 determinare la soluzione del problema indipendentemente dagli strumenti HW e SW che impiegheremo in seguito per realizzare il progetto stesso. In questa fase intervengono le specifiche concettuali, mentre le specifiche tecnologiche riguardano la successiva fase di realizzazione. Con il termine progetto possiamo anche utilizzare l aggettivo astratto (o concettuale) per sottolineare come questa fase dell attività di programmazione deve essere indipendente dalla tecnologia. Un progetto astratto è costituito da: 1. il modello dei dati; 2. l algoritmo. Creazione del modello dei dati In luogo del termine modello dei dati si utilizza anche quello di strutture di dati astratte, dove il termine struttura indica, che dobbiamo definire: - l insieme dei dati del problema; - le regole secondo cui i dati dell insieme sono disposti e ordinati tra loro e quindi la loro organizzazione. A livello del progetto, il termine astratto denota che il modello utilizzato è indipendente dalla rappresentazione adottata nel calcolatore. Poiché il modello dei dati deve essere generale, al suo interno devono comparire variabili ovvero contenitori destinati a memorizzare i dati da elaborare. Le variabili nel modello dei dati possono essere: - di ingresso, impiegate per memorizzare i dati di input; - intermedie, ausiliarie o di lavoro, che contengono tutti i dati parziali necessari durante l elaborazione per passare dai dati in ingresso ai risultati; - di uscita, per la presentazione dei risultati finali. Il caso più semplice di modello di dati è quello costituito soltanto dalle variabili che contengono i dati in ingresso i risultati e i dati intermedi necessari per l elaborazione. In molti casi i dati di un problema possono essere numerosi e disposti in modo confuso; lo scopo del modello è quello di organizzare i dati in modo ordinato, fornendo una struttura in modo da agevolare il processo di soluzione. Sviluppo dell algoritmo Lo sviluppo dell algoritmo consiste nella definizione dell insieme dei passi necessari per passare dai dati in ingresso ai risultati. Un algoritmo deve fornire la soluzione di un problema indipendentemente dal linguaggio di programmazione che si utilizzerà per scrivere il programma finale. La fase di realizzazione La fase di realizzazione si suddivide a sua volta nelle seguenti parti: - codifica del progetto cori un linguaggio di programmazione; Pagina 4 di 13
5 - verifica della presenza di errori e loro correzione. La codifica La codifica è la traduzione manuale del modello dei dati e dell algoritmo risolutivo di un problema in un programma sorgente, tramite un linguaggio di programmazione. A tal fine, ogni linguaggio di programmazione mette a disposizione del programmatore alcune istruzioni per tradurre: - il modello dei dati in strutture di dati comprensibili alla macchina; - i passi dell algoritmo in operazioni eseguibili dal computer. La traduzione del modello dei dati e dell algoritmo nel programma finale eseguibile, scritto nel linguaggio naturale del calcolatore (linguaggio macchina binario), è di fatto impossibile da effettuare direttamente. Per agevolare l attività del programmatore, la traduzione del programma sorgente in quello macchina è realizzata in modo automatico da opportuni programmi traduttori (compilatori e interpreti). La figura successiva schematizza il passaggio dal problema al programma sorgente per l elaboratore. Frequentemente, nel passato, il termine codifica è stato impiegato come sinonimo di programmazione (in senso stretto), mentre in realtà indica soltanto una fase dell intera attività della programmazione stessa. Collaudo e correzione degli errori Terminata la codifica, nel progetto e/o nel programma finale possono essere presenti errori. Per verificare la presenza di errori, il progettista-programmatore deve sottoporre al collaudo (testing) il proprio programma finale, definendo un insieme di piani di prova che hanno come obiettivo quello di verificare se il programma realizzato soddisfa tutte le specifiche del problema. Al collaudo, segue il cosiddetto debugging, ovvero la ricerca e la modifica delle parti del progetto e/o del programma dove sono localizzati gli errori. Le singole fasi che intervengono nella soluzione di un problema sono: 1. la fase di analisi descrive che cosa il programma finale dovrà fare; 2. la fase di progetto presenta come deve essere risolto il problema; 3. la fase di realizzazione implementa in modo concreto il progetto della soluzione mediante il programma finale eseguito in un sistema di elaborazione. Pagina 5 di 13
6 Nel seguito utilizzeremo l espressione progettista-programmatore per indicare una figura professionale in grado, di fronte a un nuovo problema, di svolgere le fasi di analisi, progetto e realizzazione mediante la stesura delle specifiche, la creazione del progetto e la sua traduzione nel programma sorgente. Definizione di algoritmo Un algoritmo è un insieme finito di passi non ambigui, eseguibili in modo ordinato da un esecutore, che applicati ai dati di ingresso producono la soluzione di tutti i problemi di una determinata classe. Ogni passo dell algoritmo può essere formato da una oppure più operazioni elementari. I tipi di operazione possono essere diversi e dipendono dall esecutore. Requisiti di un algoritmo Affinché un insieme di operazioni costituisca un algoritmo deve soddisfare i cinque requisiti seguenti: 1. il numero di operazioni svolto nella soluzione deve essere finito e inoltre ogni singola operazione deve essere eseguita in un intervallo di tempo determinato; 2. ogni istruzione deve descrivere in modo preciso e non ambiguo le operazioni da compiere; 3. l algoritmo deve essere deterministico ovvero, a partire dagli stessi dati iniziali, l insieme delle operazioni deve sempre produrre i medesimi risultati; 4. affinché una soluzione sia utile deve essere eseguibile, ovvero deve esistere un esecutore, automatico oppure manuale, in grado di effettuare le operazioni che definiscono l algoritmo; 5. un algoritmo deve essere generale o quindi in grado di risolvere non un singolo problema, ma tutti quelli di una determinata classe. Un algoritmo possiede anche proprietà soggettive (che dipendono dal giudizio delle persone) quali: - la semplicità; - l ordine e la chiarezza; - la documentazione, per cui le azioni svolte per la soluzione del problema devono essere opportunamente descritte, ad esempio, aggiungendo frasi di commento. Questi ultimi requisiti sono presi in considerazione con lo scopo di agevolare la leggibilità, e quindi la comprensione, anche a persone diverse dagli autori. Lo stesso problema può essere risolto mediante algoritmi diversi; vedremo in seguito quali saranno i parametri (la valutare per la scelta della migliore tra te soluzioni trovate. Pagina 6 di 13
7 Rappresentazione degli algoritmi I metodi utilizzati per descrivere i passi di un algoritmo possono essere grafici e informali, ovvero scritti mediante frasi di un linguaggio vicino a quello naturale dell uomo. Metodi grafici I passi dell algoritmo sono rappresentati mediante simboli grafici i quali, associati ad alcune regole di interpretazione rappresentano: - le istruzioni; - il flusso dell elaborazione seguito durante lo svolgimento dell algoritmo. Il metodo grafico più diffuso è quello denominato diagramma di flusso o a blocchi (dall inglese flowchart). Metodi informali: il linguaggio di progetto Una tecnica alternativa ai precedenti metodi grafici consiste nel rappresentare i passi del processo risolutivo di un problema per mezzo di un linguaggio informale, simile a quello che utilizziamo abitualmente, denominato pseudolinguaggio o linguaggio per la progettazione di programmi (o semplicemente linguaggio di progetto), indicato talvolta con le iniziali inglesi PDL (Program Design Languaqe). Si denomina pseudocodice l insieme di frasi, scritte nel linguaggio di progetto, che rappresentano (codificano) le operazioni da compiere nella risoluzione del problema. Ogni operazione è rappresentata mediante una oppure più parole chiave, il cui significato richiama il tipo di operazione codificata. Le parole chiave sono in genere scritte in inglese, a causa della diffusione, a livello intenzionale, di questa lingua nell ambito delle discipline tecniche. Le frasi devono essere definite in modo da soddisfare i requisiti generali degli algoritmi e quindi in modo non ambiguo. Variabili e costanti Le operazioni di un algoritmo agiscono sul modello dei dati le cui componenti sono in generale variabili oppure costanti. Una variabile rappresenta una grandezza il cui valore può cambiare durante l esecuzione dell algoritmo. Il valore di una variabile, per essere utilizzato, è memorizzato in una cella ( contenitore ) di memoria. Per individuare una variabile è conveniente rappresentare l indirizzo mediante un nome o identificatore simbolico. Per migliorare la leggibilità dell algoritmo è conveniente assegnare agli identificatori nomi mnemonici, ovvero che richiamino alla memoria il loro uso. Una costante rappresenta un valore definito che non può cambiare durante tutto lo svolgimento dell algoritmo. Anche il valore di una costante è memorizzato in una cella di memoria, Pagina 7 di 13
8 identificata da un nome simbolico. Per la leggibilità dell algoritmo, dopo aver definito un valore nel modello dei dati, risulta essere sempre conveniente richiamare la costante mediante il suo identificatore. Tipo di dato Un tipo di dato astratto è definito mediante: - un insieme di valori - l elenco degli operatori che agiscono sui dati dell insieme. In tal modo, quando si definisce una variabile di un certo tipo, automaticamente sappiamo quali valori essa può assumere e gli operatori che possiamo applicare. I tipi di dato più semplici sono quelli: Numerici: tipi di dato numerici possono essere a loro volta reali oppure interi, rispettivamente quando l insieme di valori è quello dei numeri reali oppure quello dei numeri interi dotati di segno; Carattere: un elemento (variabile o costante) di questo tipo può assumere come valore un carattere, che può essere una lettera dell alfabeto, minuscola (da a lino a z ) o maiuscola (da A fino a Z ), una cifra decimale (da 0 a 9 ) oppure un valore speciale;il valore assunto da una variabile carattere è posto tra i simboli (doppio apice) oppure (apice) iniziale e finale. logici o booleani: il tipo di dato booleano è definito dalle regole dell algebra di Boole e quindi l insieme dei valori è {TRUE, FALSE), mentre gli operatori sono quelli di somma logica (OR), prodotto logico (AND) e negazione (NOT). Espressioni Una espressione è una combinazione di elementi, quali variabili, costanti e operatori; essa, calcolata secondo determinate regole, rappresenta un singolo valore. Le espressioni possono essere di tipo diverso, a seconda del valore fornito, quali: - algebriche; - logiche oppure booleane (assumono soltanto i valori TRUE oppure FALSE). Nel caso delle espressioni algebriche le regole da applicare sono quelle usuali che utilizziamo abitualmente in matematica, mentre le espressioni logiche sono valutate secondo le regole definite nell algebra di Boole. I valori logici sono utilizzati anche per esprimere i risultati di operazioni di confronto. Operazioni e loro classificazione Le istruzioni (o comandi) codificano le operazioni presenti nell algoritmo. Sulla base del tipo di esecutore considerato, le istruzioni possono essere classificate nei seguenti tipi: 1. dichiarative (o di specificazione); Pagina 8 di 13
9 2. eseguibili, che si dividono ancora in istruzioni di assegnazione (o di assegnamento); di ingresso e di uscita (oppure input/output); di controllo. Le istruzioni di dichiarazione non rappresentano operazioni effettuate dall esecutore, ma hanno la funzione di descrivere alcune caratteristiche dell algoritmo, quali ad esempio l inizio o la fine dell elaborazione oppure l introduzione di commenti. Viceversa, le istruzioni eseguibili individuano operazioni che l esecutore è in grado di effettuare. Le istruzioni di assegnazione permettono di definire il valore di una variabile. Una istruzione di assegnazione si presenta. nella forma: nome_variabile espressione dove il simbolo rappresenta l operatore di assegnazione. L istruzione precedente è eseguita 1. calcolando il valore dell espressione a destra di ; 2. assegnando il risultato ottenuto alla variabile di identificatore nome_variabile. Non si tratta quindi di una uguaglianza intesa nel senso matematico, ma di una sostituzione del contenuto della variabile con il valore calcolato dell espressione; per tale motivo a volte si preferisce utilizzare il simbolo in luogo di quello di uguaglianza. Per effettuare una operazione di assegnazione, la variabile e l espressione devono essere dello stesso tipo. Inoltre ogni variabile e ogni costante del modello dei dati, prima di essere utilizzate nelle elaborazioni, devono essere inizializzate assegnando loro un valore all inizio dell algoritmo oppure almeno prima del loro effettivo utilizzo. Istruzioni di ingresso/uscita L istruzione di ingresso (input) permette di assegnare alle variabili di ingresso i dati di input del problema mentre l istruzione di uscita (output) presenta il valore delle variabili che contengono i risultati ottenuti nell elaborazione. E importante osservare come un coniando di input è una forma particolare di assegnazione tramite una unità di input. Istruzioni dì controllo Fino a ora, le istruzioni di un algoritmo sono state eseguite nell ordine in cui sono scritte mediante il linguaggio di progetto oppure seguendo la direzione indicata dalle frecce nel diagramma di flusso. Le istruzioni di controllo consentono invece di variare l ordine di esecuzione (lei passi di un algoritmo, generalmente sulla base del valore assunto da alcune espressioni logiche. La più semplice istruzione di controllo à quella denominata di salto (o di trasferimento) che trasferisce l esecuzione delle operazioni da un punto all altro dell algoritmo. Le istruzioni di salto possono essere: Pagina 9 di 13
10 - incondizionato; - condizionale. L istruzione di salto incondizionato GO TO etichetta etichetta: istruzione (GO TO in inglese significa vai a ) trasferisce l esecuzione al passo dell algoritmo individuato dal valore contenuto in etichetta. L istruzione di salto condizionato: IF condizione GO TO etichetta trasferisce l esecuzione al passo individuato da etichetta, soltanto se il valore dell espressione logica condizione è TRUE; viceversa, se FALSE, il flusso dell elaborazione prosegue con l istruzione posta dopo GO TO. L uso delle istruzioni di salto negli algoritmi è sconsigliato perché, in generale, il loro uso rende difficile la lettura e l interpretazione del processo risolutivo. Nel seguito studieremo come è possibile costruire algoritmi utilizzando altri tipi di istruzioni di controllo senza fare uso di quelle di salto. Strutture fondamentali di programmazione Per uniformare lo stile di scrittura di un algoritmo, negli anni 60 del secolo scorso nacque l idea della programmazione strutturata alla cui base c è la possibilità di scrivere qualsiasi algoritmo impiegando soltanto poche strutture di controllo. Veniva inoltre anche sconsigliato l uso delle istruzioni di salto, la cui presenza, comportando continui riferimenti a diverse parti del processo di calcolo, rende un programma illeggibile. La costruzione di un processo di calcolo mediante poche strutture permette: - di scrivere algoritmi comprensibili a più persone; - di realizzare linguaggi di programmazione più semplici, dovendo tradurre un limitato insieme di strutture di controllo, e quindi ottenere anche programmi sorgenti più leggibili. Le strutture fondamentali (o di base) per la costruzione di algoritmi sono: 1. la sequenza di istruzioni (o blocco di elaborazione); 2. la struttura di selezione (condizionale odi decisione); 3. la struttura iterativa. Sequenza di istruzioni Una sequenza di istruzioni (o blocco di elaborazione) è formata: - da un singolo comando (caso più semplice); - da un insieme di istruzioni che l esecutore effettua in modo sequenziale, ovvero una dopo l altra e senza interruzioni. Un blocco di elaborazione è rappresentato nei diagrammi di flusso con un Pagina 10 di 13
11 rettangolo, mentre nel linguaggio di progetto si utilizzano le parole chiave BEGIN e END, rispettivamente per individuare l inizio e la fine della sequenza. Struttura di Selezione In tutti gli algoritmi esaminati in precedenza, il flusso dell elaborazione avveniva sempre in un ben preciso verso. Viceversa, in molti problemi, si devono applicare calcoli diversi seconda del valore assunto da alcune condizioni logiche. A tal fine, dobbiamo introdurre negli algoritmi nuove istruzioni di controllo che permettono di effettuare elaborazioni di tipo diverso sulla base dei valori (TRUE o FALSE) assunti da una condizione booleana. La Struttura di Selezione, detta anche condizionale o di decisione, è composta dai seguenti elementi: - una condizione rappresentata da una espressione logica; - uno oppure due blocchi di elaborazione indicati, ad esempio, con A e B. La struttura di selezione può essere: - binaria, se (IF) il valore dell espressione logica è vero allora (THEN) viene eseguito il blocco di elaborazione A, altrimenti (ELSE) è effettuata la sequenza di istruzioni B; - semplice, quando compare un solo blocco di elaborazione, per cui se (IF) la condizione è verificata viene eseguita la sequenza, viceversa l elaborazione prosegue dalla prima istruzione posta dopo la struttura condizionale. False condizione True False condizione True Blocco elaborazione A Blocco elaborazione B Blocco elaborazione A Selezione multipla Se nella soluzione di un problema si devono operare più di due scelte, sempre sulla base dei valori assunti da alcune condizioni, si utilizzano strutture IF THEN ELSE poste all interno di altre strutture condizionali. Strutture iterative Una iterazione o ciclo (in inglese loop) definisce una sequenza di istruzioni che viene ripetuta: - un numero di volte variabile sulla base del valore di una condizione nei cicli non calcolati o indefiniti; - un numero definito a priori, nelle iterazioni calcolate o definite. Pagina 11 di 13
12 Iterazioni non calcolate La struttura iterativa è composta dai seguenti elementi: - un blocco di elaborazione, denominato nucleo, corpo o campo del cielo, che individua le operazioni da ripetere; - una condizione, rappresentata da una espressione logica, che determina 11 termine dell iterazione. Affinché le istruzioni non siano ripetute un numero infinito di volte (loop infinito), nel blocco di elaborazione deve sempre essere posta una istruzione che modifichi la condizione del ciclo. Le strutture iterative non calcolate possono essere di due tipi: 1. del tipo WHILE, in cui fino a quando (while) una condizione rimane vera viene (DO) ripetuto il blocco di elaborazione; 2. del tipo REPEAT, dove si ripete (repeat) la sequenza di istruzioni del nucleo finché (UNTIL) una condizione non diventa vera (e quindi rimane falsa). Il termine indefinito, per queste strutture, indica che non si conosce a priori il numero di volte in cui verrà eseguito il ciclo, ma quest ultimo dipende dal valore dei dati di ingresso al loop. Nel caso della struttura WHILE...DO,.., si devono inserire le parole chiave BEGIN...END per delimitare il blocco di elaborazione, mentre nel secondo caso le parole chiave REPEAT e UNTIL permettono di delimitare automaticamente la sequenza delle istruzioni del nucleo del ciclo. Negli algoritmi, le strutture precedenti sono rappresentate nel modo seguente. sequenza istruzioni condizione True False condizione True False sequenza istruzioni La differenza tra le due strutture è quella che, nel caso del ciclo WHILE, le istruzioni del ciclo possono anche non essere mai eseguite, se la condizione è subito falsa (FALSE). Viceversa il corpo del ciclo in REPEAT è sempre calcolato almeno una volta, qualsiasi sia il valore iniziale assunto dalla condizione logica. Iterazioni calcolate Nelle iterazioni calcolate (o definite) il progettista predispone il ciclo in modo che sia eseguito un numero di volte definito a priori. Un loop definito è composto dai seguenti elementi: - un blocco di elaborazione, che rappresenta il nucleo del ciclo; - una variabile di controllo, denominata indice (o contatore) dei ciclo; Pagina 12 di 13
13 - tre variabili, oppure espressioni, i cui valori rappresentano rispettivamente il valore iniziale, l incremento e il valore finale dell indice. Nei cicli calcolati, se il segno dell incremento: - è positivo, l indice è incrementato da un valore iniziale a uno finale (maggiore di quello di partenza); - è negativo, l indice è decrementato da un valore iniziale a uno finale (minore di quello di partenza). Teorema di Böhm-Jacopini Il teorema di Böhm-Jacopini afferma che un qualsiasi algoritmo può essere sempre costruito in modo equivalente utilizzando soltanto le tre strutture di programmazione: sequenza di istruzioni; struttura di selezione; struttura iterativa. Nel teorema si impiega il termine equivalente intendendo che due algoritmi sono equivalenti se, applicando ai due processi di elaborazione gli stessi dati di ingresso, si ottengono sempre i medesimi risultati. Nello sviluppo degli algoritmi, l uso esclusivo delle tre strutture del teorema di Böhm-Jacopini consente di scrivere processi di calcolo leggibili e uniformare gli stili di scrittura tra progettisti con esperienze professionali diverse. Anche la successiva fase di codifica dell algoritmo in un programma sorgente risulta facilitata, perché è sufficiente tradurre le strutture di base mediante le istruzioni di controllo messe a disposizione dal linguaggio di programmazione scelto. Un diagramma di flusso strutturato è formato da un insieme delle seguenti tre strutture di base: - Sequenza di istruzioni; - Struttura di selezione; - Struttura iterativa. Pagina 13 di 13
Rappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliCaratteristiche di un calcolatore elettronico
Prof. Emanuele Papotto Caratteristiche di un calcolatore elettronico È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo,
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliCAPITOLO 3 - ALGORITMI E CODIFICA
FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliSviluppo di programmi
Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili
DettagliSommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo
Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione
DettagliCorso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliAPPUNTI DI INFORMATICA
Definizione Informatica APPUNTI DI INFORMATICA Si definisce l informatica come la scienza della rappresentazione e dell elaborazione dell informazione. Questa impostazione consente di mettere in evidenza
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione
DettagliAnalisi strutturata 1
Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma
DettagliInformatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi
Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive
DettagliAlgoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile
Algoritmi Andrea Passerini passerini@dsi.unifi.it Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile Elaboratore Un elaboratore o computer è una macchina digitale, elettronica,
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
DettagliUnità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 2 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
DettagliUnità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi In questa lezione impareremo: cos è un problema come affrontarlo come descrivere
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliElementi di Informatica e Programmazione
Università degli Studi di Brescia Elementi di Informatica e Programmazione Concetto di Algoritmo Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 21/08/2016.A050917* Dipartimento di Ingegneria Meccanica
DettagliTeoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
DettagliLez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli
DettagliAltrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)
Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliFlow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.
Flow-chart Introduzione agli algoritmi e ai diagrammi a blocchi ugo.rinaldi@gmail.com 1 Sommario Fasi dello sviluppo di un programma Algoritmo Dati: Variabili e Costanti Le operazioni tipiche Diagramma
DettagliELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
DettagliFondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso
DettagliUniversità degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale
Università degli Studi di Brescia INFORMATICA Concetto di Algoritmo Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 21/08/2016.A050917* Dipartimento di Ingegneria Meccanica e Industriale DIPARTIMENTO
DettagliCome scrivere bene codice? (1 di 1)
DIAGRMMI DI FLUSSO Come scrivere bene codice? (1 di 1) Prima di iniziare a scrivere un programma: Acquisire profonda comprensione del problema; Progettare un approccio per la risoluzione del problema.
DettagliDal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione
DettagliCorso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota
Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi
DettagliIntroduzione alla programmazione strutturata
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio
DettagliSistemi di Elaborazione delle Informazioni
Sistemi di Elaborazione delle Informazioni Algoritmi e Programmi 1 Risoluzione di un problema Il procedimento di soluzione di un problema dovrebbe essere caratterizzato da: analisi del problema e identificazione
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
DettagliALGORITMI E SOLUZIONI DI PROBLEMI
ALGORITMI E SOLUZIONI DI PROBLEMI Il computer è una macchina complessa in grado di eseguire milioni di istruzioni al secondo, dotato di una memoria capace di contenere enormi quantità di dati, siano essi
DettagliIntroduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliLinguaggi di programmazione
Linguaggi di programmazione Problema Algoritmo Programma Progettista Programmatore Progetto Programma Esecutore Computer Comittente Utente Dal problema all algoritmo Problema Risolutore ed esecutore Algoritmo
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliLa formalizzazione dell informazione: Dati e Diagrammi di Flusso
La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema
DettagliUniversità di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 3: La Formalizzazione degli Algoritmi Dati e Variabili
DettagliINFORmazione+autoMATICA. Perché saperne di piu? Le fasi della programmazione. Cosa intendiamo per programmazione
INFORmazione+autoMATICA Perché saperne di piu? Calcolatore: un supporto per la rappresentazione di informazione che può: I raccogliere impressionanti quantità di dati I eseguire velocemente e con precisione
DettagliPag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
Dettaglio Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori
Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo
DettagliCome ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
DettagliPaolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09
Linguaggi procedurali Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali, Paolo Bison, FI08, 2008-09-29 p.1 Linguaggi procedurali classe
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
DettagliL uomo come esecutore di algoritmi
L uomo come esecutore di algoritmi l L algoritmo è l insieme di azioni elementari che consentono di risolvere un problema trasformando i dati iniziali del problema stesso nel risultato. l Un algoritmo
DettagliInformatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi
Informatica Generale Andrea Corradini 13 - Gli algoritmi e la risoluzione di problemi Sommario Passi per la risoluzione di problemi Problemi di ricerca e ordinamento Algoritmi iterativi: la ricerca lineare
DettagliAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Algoritmi Michele Tomaiuolo Algoritmo Il termine algoritmo deriva
DettagliDispensa di Informatica II.1
ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia
DettagliConcetti di base dell ICT
Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:
DettagliProgrammazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente
DettagliSTRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono
DettagliScrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica
FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
DettagliMODULO 07. La soluzione dei problemi mediante gli algoritmi
MODULO 07 La soluzione dei problemi mediante gli algoritmi MODULO 07 Unità didattica 02 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliUnità Didattica 2 I Linguaggi di Programmazione
Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliAlgoritmi. Pagina 1 di 5
Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni
Dettagliunità didattica 3 Le strutture condizionali e le strutture iterative
unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
DettagliFondamenti di Informatica A. A. 2018/19
Fondamenti di Informatica Prof. Marco Lombardi A. A. 2018/19 AlgoBuild: Strutture Iterative e Selettive OUTLINE Blocco condizionale (Struttura selettiva IF - IF/ELSE) Esempi Cicli a condizione iniziale
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi; Non si utilizza un linguaggio di programmazione specifico, ma è meglio utilizzare
DettagliITI M. FARADAY. Programmazione a. s
ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Terza A Terza B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio) Docenti:
DettagliComputer. Capitolo 2. 05/04/2012 continuazione 1
Computer Capitolo 2 05/04/2012 continuazione 1 Le prestazioni del computer Velocità delle cpu, ossia numero d istruzioni eseguite nell unità di tempo; Dimensione delle RAM; Capacità e velocità in scrittura/
DettagliProgrammazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
DettagliElementi di programmazione
Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università
DettagliIng. Lorenzo Vismara
Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliFormalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano
DettagliPaolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova
Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice, Paolo Bison, FI06, 2007-01-10 p.1 Pseudo codice linguaggio testuale mix di linguaggio naturale ed elementi
DettagliDal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione
Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore
DettagliI Linguaggi di Programmazione
I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliLaboratorio di Informatica. Introduzione
Introduzione 1 Informatica: definizione Informatica: disciplina che cerca di dare un fondamento scientifico ad argomenti come la progettazione di computer, la programmazione, l elaborazione delle informazioni,
DettagliALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
DettagliIntroduzione all informatica
Introduzione all informatica INFORMATICA Varie definizioni Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta Scienza della rappresentazione e dell
DettagliCosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
DettagliModulo 1 Concetti di base della Tecnologia dell Informazione
Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette
DettagliProf. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI
Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI IF Ogni linguaggio di programmazione presenta almeno una struttura di controllo decisionale. La sintassi del linguaggio C è la seguente. if ()
Dettagli