Modulo 1 Concetti di base della Tecnologia dell Informazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Modulo 1 Concetti di base della Tecnologia dell Informazione"

Transcript

1 Modulo 1 Concetti di base della Tecnologia dell Informazione Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette di raggiungere un risultato atteso, mediante l esecuzione di una serie di operazioni, facenti parte di un insieme determinato. L algoritmo è quindi costituito da una sequenza di operazioni che consentono di raggiungere un risultato prefissato, e che rispettano le seguenti regole: la sequenza di operazioni deve essere finita; deve portare a un risultato certo; le operazioni devono essere eseguibili concretamente; le operazioni non devono essere espresse in modo ambiguo. Se l algoritmo è di tipo lineare, ossia costituito da una sequenza di operazioni prestabilita, può essere facilmente descritto elencando una dietro l altra le operazioni da eseguire. Se, per esempio, devo eseguire la media di tre valori, l algoritmo utilizzato è il seguente: somma il primo valore al secondo; somma il terzo valore al risultato; dividi il risultato per 3. Frequentemente, però, capita di dover eseguire operazioni diverse, in funzione del verificarsi di situazioni differenti, che l algoritmo è in grado di riconoscere. Per esempio, avendo a disposizione la base e l altezza di un triangolo o di un rettangolo, il calcolo dell area varia in funzione della figura geometrica

2 Patente Europea del computer Modulo 1 a cui si fa riferimento. In questi casi la sequenza di operazioni non risulta più lineare, e diventa difficile descriverla mediante un semplice elenco. Questo problema viene risolto con l utilizzo dei diagrammi di flusso (detti anche diagrammi a blocchi o flow chart), nei quali l algoritmo viene rappresentato in forma grafica mediante uno schema, nel quale le fasi del processo e le differenti condizioni che devono essere rispettate sono rappresentate da blocchi, in cui sono inserite le operazioni elementari, e che sono collegati tra di loro da linee di giunzione, che definiscono i percorsi, ossia le sequenze con le quali le operazioni devono essere eseguite. La disponibilità di collegamenti diversi consente di avere diverse sequenze di istruzioni, che rispondono alle diverse situazioni verificate dal programma. Qui di seguito vengono illustrati i blocchi di utilizzo più frequente. Per le operazioni che devono far parte di una sequenza, il blocco utilizzato è di tipo rettangolare (blocco di azione, vedi figura 1.1); esso è caratterizzato da un collegamento in ingresso e un collegamento in uscita, per cui risulta inserito in una sequenza definita di istruzioni. All interno del blocco viene scritta l operazione che deve essere eseguita. Figura 1.1 Blocco di azione. Una variante è costituita dal blocco a forma di parallelogramma (blocco di lettura/scrittura, o anche blocco di input/output, vedi figura 1.2), usato per le operazioni di ingresso e uscita dati. Esso è sostanzialmente uguale al blocco rettangolare, con il quale condivide la caratteristica di avere un solo collegamento in ingresso e uno solo in uscita. Viene utilizzato al posto del rettangolo per rendere più evidenti le operazioni di lettura e scrittura dei dati presenti in un diagramma a blocchi. 4 Figura 1.2 Blocco di lettura/scrittura.

3 Sezione 1: Fondamenti Il blocco a forma di rombo (blocco di controllo, vedi figura 1.3) viene utilizzato per percorrere sequenze di istruzioni diverse, in funzione del verificarsi o meno di certe situazioni. All interno del blocco viene posta una domanda, e le due o tre uscite possibili sono attivate in funzione della relativa risposta. Figura 1.3 Blocco di controllo. I blocchi con forma di ellissi schiacciata (blocco iniziale e blocco finale, vedi figura 1.4) hanno la caratteristica di avere un solo collegamento in ingresso o in uscita. Pertanto essi possono essere utilizzati solo per indicare il punto di partenza del programma, inizio (collegamento in uscita), o un punto in cui il l algoritmo deve arrestare il proprio processo elaborativo, fine (collegamento in ingresso). Va notato che in un programma può esistere solo un punto di partenza e quindi un solo blocco di inizio, ma possono esistere più punti di arresto e quindi più punti di fine. Figura 1.4 Blocchi iniziale e finale. I vari blocchi vengono collegati tra di loro da linee di giunzione, rispettando le regole date dalle caratteristiche dei blocchi. La direzione nella quale i collegamenti devono essere percorsi, e quindi il flusso di esecuzione delle operazioni, è indicato mediante frecce direzionali. Non è possibile che da un punto di una linea di giunzione partano due linee distinte (vedi figura 1.5), non si saprebbe infatti quale delle due percorrere. 5

4 Patente Europea del computer Modulo 1 È invece possibile che a un punto di una linea di giunzione arrivino due linee distinte (vedi figura 1.6); da due parti diverse del diagramma si riprende con la stessa sequenza di blocchi. Figura 1.5 Tipo di collegamento non permesso. Figura 1.6 Tipo di collegamento permesso. All interno dei blocchi vengono riportate le operazioni: esecuzione di azioni e di calcolo, nei blocchi di tipo rettangolare; di ingresso/uscita dati, nei blocchi a forma di parallelogramma; di confronto, nei blocchi a forma di rombo; di inizio o fine dell elaborazione, nei blocchi ellittici. 6 Nelle istruzioni di calcolo, variabili e costanti sono legate da operazioni matematiche e il risultato dell espressione viene assegnato a una variabile. Per esempio l istruzione: A = B + C ha il seguente significato: somma il valore della variabile B al valore della variabile C, e assegna il risultato alla variabile A. Qualsiasi istruzione di calcolo si presenta pertanto nella forma: Variabile = espressione con variabili e costanti Le costanti vengono indicate nella forma numerica usuale. Alle variabili viene assegnato un nome simbolico di fantasia. Una volta assegnato il nome a una variabile, tale nome dovrà essere utilizzato tutte le volte che, all interno del diagramma di flusso, si farà riferimento a quella variabile. Va osservato, infine, come in un istruzione di calcolo, la stessa variabile può comparire sia a sinistra sia a destra del segno di assegnazione.

5 Sezione 1: Fondamenti Per esempio, l operazione: N = N + 1 ha il significato di: somma 1 al valore della variabile N, e assegna a N il risultato o anche: incrementa di 1 il valore della variabile N. Non esistono regole che governano l assegnazione dei nomi simbolici alle variabili, ma è buona norma utilizzare nomi mnemonici, che, richiamando il significato della variabile usata, facilitano la lettura e quindi la comprensione del diagramma di flusso. Tipici nomi mnemonici possono essere TOT per totale, PAR per parametro, VAL per valore, FATT per fattura ecc. Le istruzioni di input/output sono composte da un comando di lettura o scrittura e da una lista dei nomi simbolici delle variabili, nelle quali sono memorizzati i valori letti. Per esempio, l istruzione: LEGGI A,B,TOT ha il seguente significato: Leggi tre valori e memorizza i valori letti, nell ordine in cui sono immessi, rispettivamente nelle variabili A, B, TOT. Nelle istruzioni di confronto all interno dei blocchi di controllo viene posta un espressione che lega tra di loro variabili e costanti, e sulle possibili uscite il risultato di tale espressione viene confrontato con variabili o costanti, mediante operatori quali: = uguale >< diverso < minore <= minore o uguale >= maggiore o uguale > maggiore o con la condizione vero o falso. Per esempio, il blocco di figura 1.7 ha il seguente significato: prosegui nella sequenza di operazioni verso sinistra, verso il basso o verso destra, secondo che l espressione N + K risulti minore, uguale o maggiore di 0. 7

6 Patente Europea del computer Modulo 1 È evidente che al momento dell esecuzione del programma le variabili N e K avranno un valore definito, risultato di precedenti istruzioni di input o di calcolo. Figura 1.7 Primo esempio di blocco di controllo. Analogamente nel blocco di figura 1.8 viene verificato se la condizione N > 0 è vera o falsa. Figura 1.8 Secondo esempio di blocco di controllo. 8 Spesso gli algoritmi vengono utilizzati per la soluzione di problemi di tipo numerico. Vediamo qui di seguito il diagramma di flusso relativo al calcolo e alla stampa della media di un numero di valori definito. Il procedimento utilizzato prevede di leggere il numero di valori (variabile NVAL) e quindi di ripetere più volte il calcolo del totale (variabile TOT), sommando in tale variabile i valori letti di volta in volta (variabile NUM), e contemporaneamente di contare tali valori (variabile N), incrementando la variabile di uno a ogni lettura di un nuovo valore. Il relativo diagramma di flusso è riportato nella figura 1.9. Nota come la variabile TOT debba essere azzerata all inizio delle operazioni, esattamente come si fa per calcolare un totale su una calcolatrice tascabile. Il contatore N viene utilizzato sia per contare i valori letti, sia per sapere quando tali valori sono terminati (condizione N = NVAL). Una volta disponibile il totale e il numero di valori letti, si calcola la media come rapporto tra i due valori, e la si stampa.

7 Sezione 1: Fondamenti Nel secondo esempio vediamo l algoritmo per calcolare l area di una superficie irregolare, che per il calcolo viene suddivisa in una serie di triangoli e rettangoli dei quali vengono misurate base e altezza. L algoritmo prevede di leggere una serie di terne di valori, dei quali il primo indica se le misure si riferiscono a un rettangolo (valore 1) o a un triangolo (valore 2) e i due valori successivi sono le misure della base e dell altezza. La serie di terne termina con un record che ha come unico valore 3. Il relativo diagramma di flusso è riportato nella figura Figura 1.9 Primo esempio di diagramma di flusso di un algoritmo numerico. Figura 1.10 Secondo esempio di diagramma di flusso di un algoritmo numerico. 9

8 Patente Europea del computer Modulo 1 Anche in questo caso all inizio del flusso viene azzerata la variabile AREA, nella quale vengono successivamente sommate le superfici S delle figure triangolari o rettangolari. Il calcolo della superficie S viene effettuato in modo differente in funzione del valore di VAL. Quando VAL ha il valore 3 viene stampata la variabile AREA e viene arrestata l esecuzione dell algoritmo. I diagrammi di flusso possono essere utilizzati anche per descrivere le soluzioni a problemi non numerici, quali per esempio le operazioni di una procedura. Nell esempio di figura 1.11 viene rappresentato l algoritmo per preparare la cartella per la scuola. Figura 1.11 Diagramma di flusso di un algoritmo non numerico. 10 Come puoi notare nei blocchi non sono inserite operazioni di calcolo ma semplici azioni da eseguire, ma i concetti di base risultano identici, e in particolare alcune operazioni vengono eseguite solo se sono verificate determinate condizioni ( hai lezione di disegno? o hai lezione di ginnastica? ).

ALGORITMI E SOLUZIONI DI PROBLEMI

ALGORITMI 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

Dettagli

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Corso 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

Dettagli

Caratteristiche di un calcolatore elettronico

Caratteristiche 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,

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in 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

Dettagli

CAPITOLO 3 - ALGORITMI E CODIFICA

CAPITOLO 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)

Dettagli

Algoritmi. Andrea Passerini Informatica. Algoritmi

Algoritmi. Andrea Passerini Informatica. Algoritmi Andrea Passerini passerini@disi.unitn.it Informatica Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale

Dettagli

Computer. Capitolo 2. 05/04/2012 continuazione 1

Computer. 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/

Dettagli

Diagrammi a blocchi 1

Diagrammi 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

Dettagli

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile

Algoritmi. 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,

Dettagli

Diagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi

Diagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi Diagrammi di flusso - Flowcharts E un formalismo che consente di rappresentare graficamente gli algoritmi Un diagramma di flusso descrive le azioni da eseguire ed il loro ordine di esecuzione Ogni azione

Dettagli

Altrimenti, 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.)

Altrimenti, 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

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione 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

Dettagli

Diagrammi a blocchi 1

Diagrammi 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

Dettagli

Introduzione alla programmazione

Introduzione 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

Dettagli

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

RAPPRESENTAZIONE 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

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come 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

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un

Dettagli

Problema: 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. 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

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Università 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 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

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio 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

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio 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

Dettagli

Sviluppo di programmi

Sviluppo 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

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica 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

Dettagli

Linguaggi algoritmici A. Ferrari

Linguaggi algoritmici A. Ferrari Linguaggi algoritmici A. Ferrari Caratteristiche di un linguaggio algoritmico Non ambiguità Capacità di esplicitare il flusso di esecuzione delle istruzioni Deve contenere istruzioni di tipo: operativo

Dettagli

Esercizi svolti in aula

Esercizi svolti in aula Università degli Studi di Cagliari Corsi di Laurea in Ing. Civile e Ing. per l Ambiente e il Territorio ondamenti d Informatica 1 A.A. 2018/2019 Docente: Giorgio umera Esercizi svolti in aula ormulazione

Dettagli

Sviluppo di programmi

Sviluppo 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

Dettagli

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI PROBLEMI E ALGORITMI prof.ssa VESPIA CATERINA LICEO CLASSICO AGLI ANGELI C O N T E N U T I Problemi. Concetto di algoritmo. Caratteristiche di un algoritmo. Descrizione di algoritmi - Diagrammi di flusso.

Dettagli

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.

Flow-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

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

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

Dettagli

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

Dal 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

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do

Dettagli

Corso di Informatica Modulo T1 C1-Sequenza e selezione

Corso di Informatica Modulo T1 C1-Sequenza e selezione Corso di Informatica Modulo T C-Sequenza e selezione Prerequisiti Analizzare un problema Scrivere un algoritmo Istruzioni semplici Espressione logica 2 Introduzione La programmazione a salti crea diverse

Dettagli

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Strutture di Controllo IF-ELSE

Strutture di Controllo IF-ELSE Strutture di Controllo IF-ELSE Come viene eseguito un programma? Un programma viene eseguito rispettando l ordine in cui le istruzioni vengono scritte dal programmatore: Si parte dalla prima istruzione

Dettagli

Come ragiona il computer

Come ragiona il computer 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

Dettagli

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi 0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore

Dettagli

Sviluppo di programmi

Sviluppo 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

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso 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

Dettagli

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Esempi di Testi di esame Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del corso

Dettagli

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

o 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

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi 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

Dettagli

Problemi, algoritmi, calcolatore

Problemi, 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Introduzione alla Programmazione Prof. Stefano Mariani Dott. Alket Cecaj Indice Il concetto di algoritmo Algoritmo vs. programma

Dettagli

Analisi strutturata 1

Analisi 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

Dettagli

Il concetto di calcolatore e di algoritmo

Il 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

Dettagli

Dispensa di Informatica II.1

Dispensa 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

Dettagli

PROGRAMMAZIONE (Corso A)

PROGRAMMAZIONE (Corso A) PROGRAMMAZIONE (Corso A) http://www.di.uniba.it/~proga/ Argomenti della lezione Diagrammi di flusso - Flow chart Diagrammi struturati - Sequenza, selezione, iterazione Teorema di Boehm-Jacopini Flow-chart

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio 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

Dettagli

Algoritmo. Calcolabilità

Algoritmo. Calcolabilità Algoritmo In altri termini, l algoritmo può essere definito come la descrizione di un procedimento che ha le seguenti proprietà: deve essere esplicita e non ambigua per l interlocutore cui è destinata

Dettagli

Dal 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 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

Dettagli

Algoritmi e soluzione di problemi

Algoritmi 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)

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Definizione del procedimento per arrivare alla soluzione Rappresentazione

Dettagli

Fasi di creazione di un programma

Fasi 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

Dettagli

I flow chart. Informatica Generale 14/15 Scienze della comunicazione. cristina gena.

I flow chart. Informatica Generale 14/15 Scienze della comunicazione. cristina gena. I flow chart Informatica Generale 14/15 Scienze della comunicazione cristina gena cgena@di.unito.it http://www.di.unito.it/~cgena/teaching.html Diagrammi di flusso SAR Inizio del processo (Blocco di start)

Dettagli

Diagrammi di flusso!

Diagrammi di flusso! Diagrammi di flusso! Diagramma di flusso Notazione grafica per esprimere gli algoritmi. Esiste un elemento grafico (chiamato blocco) per ogni passaggio fondamentale negli algoritmi. I blocchi sono tra

Dettagli

Programmazione Strutturata

Programmazione Strutturata Programmazione Strutturata Problema: Spaghetti Code è un termine dispregiativo per quei programmi per computer che abbiano una struttura di controllo del flusso complessa e/o incomprensibile Ad esempio,

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 2-Iterazione 1 Prerequisiti Salto condizionato Salto incondizionato Espressione logica 2 1 Introduzione In alcuni casi si presenta la necessità di eseguire un ciclo, ossia

Dettagli

COSA SONO I FLOW CHART

COSA SONO I FLOW CHART COSA SONO LOW CHART flow chart sono schemi che descrivono visivamente come procede l esecuzione di un programma. Essi non sono legati ad uno specifico linguaggio: dato un flow chart, il programmatore può

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento per arrivare alla soluzione Rappresentazione dell algorimo in una forma

Dettagli

Nozioni fondamentali su Algoritmi e programmazione

Nozioni fondamentali su Algoritmi e programmazione Nozioni fondamentali su Algoritmi e programmazione VARIABILE: La variabile è un contenitore di dati. Questo contenitore può includere dati ti tipo numerico o testuale principalmente. Essa è dotata di un

Dettagli

Cicli. S i a i = a 1 + a 2 + a a n

Cicli. S i a i = a 1 + a 2 + a a n Cicli Esprimono in modo compatto e generali l'esecuzione di uno stesso blocco di codice per più volte Anche in matematica sono presenti operatori che eseguono di fatto un ciclo (ad es. sommatoria e produttoria)

Dettagli

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

La 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

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

L uomo come esecutore di algoritmi

L 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

Dettagli

Unità di apprendimento 6. Dal problema al programma

Unità 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

Dettagli

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso

Programmazione 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

Dettagli

Corso di Informatica di Base

Corso 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

Dettagli

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Dati e Istruzioni Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/28 Comunicazione dell algoritmo all

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 3 Input/Output elementare. Operatori, espressioni e istruzioni FABIO SCOTTI Laboratorio di programmazione

Dettagli

Analisi e Programmazione

Analisi e Programmazione Algoritmi 1 Analisi e Programmazione I Calcolatori Elettronici si differenziano da altri tipi di macchine per il fatto che possono essere predisposti alla risoluzione di problemi di diversa natura. A tale

Dettagli

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1)

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Algoritmi e (cenni sul) calcolatore

Algoritmi e (cenni sul) calcolatore Algoritmi e (cenni sul) calcolatore Fondamenti di Informatica Cos è l informatica? q È la scienza che si occupa della rappresentazione dell informazione e della sua elaborazione e gestione Si occupa dell

Dettagli

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

STRUTTURA 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

Dettagli

APPUNTI DI INFORMATICA

APPUNTI 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

Dettagli

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI SCUOLA PRIMARIA DEFINIZIONI SMART E RELATIVE ESERCITAZIONI MODULO 1 Competenze computazionali di base MODULO 1 COMPETENZE COMPUTAZIONALI DI BASE Dal numero decimale al numero binario Possiamo raggruppare

Dettagli

Istruzioni, algoritmi, linguaggi

Istruzioni, algoritmi, linguaggi Istruzioni, algoritmi, linguaggi 1 Algoritmo per il calcolo delle radici reali di un equazione di 2 o grado Data l equazione ax 2 +bx+c=0, quali sono i valori di x per cui l equazione è soddisfatta? 2

Dettagli

MODULO 07. La soluzione dei problemi mediante gli algoritmi

MODULO 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

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi 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

Dettagli

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Sommario 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. 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

Dettagli

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: Dato strutturato Rappresentazione logica del vettore Array Componenti Accesso diretto Indice (B) CONOSCENZA E COMPETENZA

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio 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

Dettagli

Algoritmi. Informatica B. Daniele Loiacono

Algoritmi. Informatica B. Daniele Loiacono Algoritmi Informatica B Cos è l informatica? q È la scienza che si occupa della rappresentazione dell informazione e della sua elaborazione e gestione Si occupa dell informazione, che fa parte di ogni

Dettagli

ALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico

ALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico ALGORITMI Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico Dati input Elaboratore elettronico Risultati Per risolvere un problema è necessario fornire una descrizione chiara e

Dettagli

Algoritmi. Informatica B. Daniele Loiacono

Algoritmi. Informatica B. Daniele Loiacono Algoritmi Informatica B Cos è l informatica? q È la scienza che si occupa della rappresentazione dell informazione e della sua elaborazione e gestione Si occupa dell informazione, che fa parte di ogni

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 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

Dettagli

Dall algoritmo al programma

Dall algoritmo al programma Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione

Dettagli

Definizione. E un insieme ordinato di istruzioni che risolvono un problema. Da al- Khwarizmi: importante matematico Arabo nato nel 780 circa a Baghdad

Definizione. E un insieme ordinato di istruzioni che risolvono un problema. Da al- Khwarizmi: importante matematico Arabo nato nel 780 circa a Baghdad Algoritmi Definizione E un insieme ordinato di istruzioni che risolvono un problema Da al- Khwarizmi: importante matematico Arabo nato nel 780 circa a Baghdad Proprietà di un algoritmo Ha un unico punto

Dettagli

Strutture di Controllo

Strutture di Controllo Introduzione Strutture di Controllo per strutture condizionali e cicliche Quando si affronta la programmazione si devono indicare al computer delle istruzioni da eseguire. Se il computer potesse comprendere

Dettagli

ALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s

ALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s ALGORITMI E PROGRAMMAZIONE STRUTTURATA Prof R. Bresolin a.s. 2013-2014 2 Programmazione Calcolatore Elettronico È uno strumento in grado di eseguire insiemi di azioni elementari; Le azioni vengono eseguite

Dettagli

Lez. 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 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

Dettagli

Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio.

Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio. Matlab : le basi Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio. Usare Matlab per calcolare il raggio di una sfera che ha un volume maggiore del 30%

Dettagli

Algoritmi. Pagina 1 di 5

Algoritmi. 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

Dettagli