Corso Informa+ca di Base. Flow Chart

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso Informa+ca di Base. Flow Chart"

Transcript

1 Corso Informa+ca di Base Flow Chart

2 Abbiamo de8o Che.. INFORMATICA: scienza e tecnica che tra-a l'elaborazione automa4ca dei da4 e dei procedimen4 di calcolo CALCOLATORE O ELABORATORE ELETTRONICO: macchina ele-ronica in grado di manipolare automa4camente informazioni, eseguendo operazioni su da4 forni4 in ingresso (input), per o-enere dei risulta4 emessi come da4 in uscita (output) PROGRAMMA: insieme di istruzioni che possono essere eseguite da un elaboratore ele-ronico. PROGRAMMATORE: Si occupa di realizzare opera4vamente le applicazioni, scrivendo le istruzioni so-o forma di linee di codice basate su specifici linguaggi di programmazione.

3 Modello di Computer (semplificato) Dati In Ingresso Dati in Uscita Elaborazione dei Dati

4 Informa+ca Secondo la ACM (Associa4on for Compu4ng Machinery) L Informa4ca è lo Studio sistema4co degli algoritmi che descrivono e trasformano l Informazione: la loro teoria, analisi, proge-o, efficienza, realizzazione e applicazione.

5 Risoluzione di un Problema Problema L uomo descrive l algoritmo che la macchina deve seguire per risolvere il problema (ad esempio con i Diagrammi di flusso) Algoritmo Programma Linguaggio Macchina La descrizione viene tradotta in Linguaggio di alto livello (ad esempio il linguaggio C) Il programma di alto livello viene tradotto in linguaggio Macchina, ovvero codice binario (ad esempio dal compilatore) Input Macchina Output

6 Esempi di Algoritmi Rice%a per cucinare gli spaghe0 MeI l acqua nella pentola Fai bollire l acqua MeI la pasta nell acqua Aggiungi un po di sale A-endi 6 minu4 Scola la pasta

7 Esempi di Algoritmi Verifica se un numero è pari o dispari Prendi il numero Calcola il resto della divisione intera del numero per 2 Se il resto è zero Allora il numero è pari Altrimen4 il numero è dispari

8 Algoritmi Con il termine algoritmo si intende, in genere, un metodo per la risoluzione di problemi u+lizzando un numero finito di passi. Da questa definizione si evincono le qua-ro proprietà fondamentali dell'algoritmo: la sequenza di istruzioni deve essere finita (finitezza); essa deve portare ad un risultato (effe0vità); le istruzioni devono essere eseguibili materialmente (realizzabilità); le istruzioni devono essere espresse in modo non ambiguo (non ambiguità).

9 Cara8eris+che di un algoritmo Azioni eseguibili e non ambigue Non sono ammessi un pò e a piacere, che non sono termini adai ad una macchina Determinis+co Fa-o un passo, il successivo è uno ed uno solo, ben determinato. Alterna4ve sono possibili, ma la scelta deve essere unica Numero finito di passi Terminazione L esecuzione prima o poi deve finire e produrre un risultato in tempo finito Osservazione: la 3 non implica la 4

10 Esempio di non terminazione Si consideri il numero N Scrivere N Scrivere il numero successivo ad N Ripetere il passo precedente

11 Esempio di non terminazione Trova il più grande numero primo. Non esiste un programma che riesce a dare una risposta in tempo finito (Numero finito di passi)

12 TuJ i problemi sono risolvibili??? No.. Un problema risolvibile con un algoritmo si dice computabile

13 Risoluzione di un problema Generalmente la risoluzione di un problema consiste nel prendere alcuni da4 iniziali (input) rela4vi al problema e nel fornire un risultato (output) che risolve quest ul4mo. Algoritmo Input Esecutore Output

14 Non è così Facile Per scrivere la giusta sequenza di passi bisogna essere un bravo cuoco! Preparare gli SpagheI: Ingredien4 (acqua, Sale, SpagheI) Eseguire la rice-a Servire gli SpagheI

15 Codifica dell Algoritmo Affinchè una macchina riesca a comprendere ed eseguire i passi specifica4 da un algoritmo, quest ul4mo deve essere prima codificato in un opportuno programma scri-o in un linguaggio ad alto livello (che verrà successivamente compilato/ interpretato) Algoritmo Traduzione Programma

16 Rappresentazione degli algoritmi E necessario far riferimento a dei formalismi che: non introducano ambiguità siano universalmente riconosciu4 ed interpreta4 allo stesso modo da un generico esecutore perme-ano di rappresentare in modo efficace un algoritmo Cos4tuiscano un u4le strumento per poi poter passare alla fase di codifica in un linguaggio di programmazione

17 Rappresentazione degli algoritmi 1. Rappresentazione grafica Diagrammi a blocchi / Flow Chart 2. Rappresentazione testuale Notazione Lineare Stru-urata / PseudoCodice

18 Algoritmi: operazioni base Le operazioni primarie sono: Trasferimento di informazioni (istruzioni di I/O) le8ura da+, scri8ura risulta+, visualizzazione da+ intermedi Esecuzione di calcoli (valutazione espressioni) Istruzioni di assegnamento Stru8ure di controllo (che modificano il flusso sequenziale di esecuzione delle operazioni)

19 Diagrammi di Flusso I diagrammi a blocchi (dei anche diagrammi di flusso) sono un linguaggio di modellazione grafico per rappresentare algoritmi (in senso lato). Esso consente di descrivere le differen4 operazioni so-o forma di uno schema in cui le diverse fasi del processo e le differen4 condizioni che devono essere rispe-ate vengono rappresenta4 da simboli grafici dei blocchi elementari. I blocchi sono collega4 tra loro tramite frecce che indicano la cronologia.

20 Diagrammi di Flusso Ogni azione elementare è rappresentata da un blocco. Esistono 5 4pi di blocchi elementari: Blocco iniziale Blocco finale Blocco Elaborazione Blocco Controllo Blocco I/O

21 Istruzioni di I/O le-ura di da4 in input scri-ura dei risulta4 in output

22 Conne8ori I singoli diagrammi devono essere uni4 tramite i conne+ori. L esecuzione delle istruzioni deve essere fa-a sequenzialmente, ovvero seguendo i conne-ori. Quando si scrive l algoritmo bisogna fare molta a%enzione alla direzione del flusso di esecuzione.

23 Istruzione di Assegnamento Conce8o di variabile Iden4ficata da un e4che-a / iden4ficatore simbolico Può essere comodo pensare alla variabile come ad un contenitore in cui possiamo memorizzare o reperire dei da+ u+lizza+ durante il calcolo L istruzione di assegnamento perme-e di assegnare un valore ad una variabile

24 Istruzione di Assegnamento Una variabile numerica è una en4tà cara-erizzata da Un nome Un valore (contenuto) Può cambiare nel tempo Una costante numerica è una en4tà cara-erizzata da Un nome Un valore (contenuto) Non può cambiare nel tempo

25 Istruzione di Assegnamento A = 5 Alla Variabile A assegno il valore 5

26 Espressione Un espressione è una combinazione di operatori aritme4ci, costan4 e variabili che può essere calcolata generando un singolo valore numerico Es: X+1 X+(Y*5)

27 Istruzione di Assegnamento Istruzione di assegnamento: Variabile Espressione X 5 Y X+4 X = 5 Y=X+4 Assegno alla Variabile x il valore 5 La Variabile Y conterrà il valore della somma tra il numero 4 ed il valore assegnato alla variabile X

28 Esempio Descrivere mediante diagrammi di flusso, un algoritmo che calcoli la somma di due numeri lei in input

29 Diagramma di flusso: Somma Inizio Z X + Y Leggi X Scrivi Z Leggi Y Fine

30 Esempio 2 Descrivere, mediante diagrammi di flusso, un algoritmo che scambi i valori di due variabili le-e in input.

31 Diagramma di flusso: Scambio Inizio Aux Y Scrivi Y Leggi X Y X Scrivi X Leggi Y X Aux Fine

32 Flusso di esecuzione Si possono avere casi in cui nel flusso di esecuzione si deve scegliere tra diverse direzioni La direzione da scegliere è subordinata al verificarsi di una condizione La condizione può assumere due sta+: Vero Falso In ques4 casi si parla di istruzione condizionale

33 Stru8ure di controllo TuI gli algoritmi devono ada-arsi ad una classe di problemi per essere applica4 al mondo reale e le operazioni da effe-uare per raggiungere la soluzione spesso differiscono a seconda dei casi che si presentano. Per questo esistono delle par4colari stru-ure del linguaggio che perme-ono di controllare il flusso di esecuzione (quindi delle operazioni), ovvero di eseguire una certa serie di istruzioni anche piu' volte nel momento in cui si verifica di una serie di condizioni. Queste stru-ure sono assolutamente indispensabili, infai non esiste un linguaggio di programmazione in cui non e' possibile controllare il flusso del processo.

34 Stru8ure di controllo Quasi la totalità dei programmi ha la necessità di svolgere alcune istruzioni o compiere determinate operazioni (oppure evitare di compiere alcune operazioni) a seconda dei da4 di partenza. Per esempio un programma che esegue una divisione tra due numeri a / b dovrà evitare di compiere l'effeiva operazione aritme4ca se il dato b = 0. Per questo in tui i linguaggi di programmazione esistono dei par4colari costrui che generalmente perme-ono di: - Scegliere se eseguire o meno una certa porzione di codice, oppure - Eseguire più volte una certa parte di codice.

35 Stru8ure di controllo

36 Istruzioni Condizionali La selezione (o scelta) permette a un programma di proseguire secondo uno tra due (o più) flussi di istruzioni alternative, a seconda del risultato di un test o del verificarsi di una condizione. L iterazione (o ciclo, o loop) consiste nella ripetizione di una o più istruzioni, e si può ottenere collegando il flusso in uscita da un blocco con il flusso in entrata nel blocco stesso o in uno precedente. In tal modo si possono eseguire compiti ripetitivi senza specificare uno per uno un gran numero di singoli passi, ma scrivendo per esempio un istruzione del tipo: esegui il prossimo passo volte.

37 Istruzioni Condizionali Selezione binaria. Nella selezione il test o la condizione sono 4picamente cos4tui4 da una variabile logica, scri-a dentro il simbolo di decisione, (blocco controllo)dal quale escono due frecce. Queste indicano le possibili azioni da compiersi a seconda del valore della variabile, come mostra la figura.

38 Istruzioni Condizionali Si può anche volere compiere una certa azione se il test o la condizione hanno un valore vero, e nessuna azione nel caso contrario.

39 Esempio Descrivere mediante diagramma di flusso,un algoritmo che determini il massimo tra due numeri lei in input

40 Diagramma di Flusso: Max Inizi X>Y Vero Scrivi X Leggi X Falso Scrivi Y Leggi Y Fine

41 Stru8ura IF-ELSE L istruzione condizionale if-else è costruita per scegliere l esecuzione di un istruzione in alterna4va a un altra a seconda del valore assunto da una data condizione. if (condizione) { operazione } L'operazione può anche non essere racchiusa tra parentesi graffe. Vediamo un semplice esempio. if ($a==5) { echo "La variabile a vale 5"; } In questo caso verrà stampata la stringa "La variabile a vale 5" solo quando $a sarà uguale a 5.

42 Stru8ura IF-ELSE Abbiamo introdo-o il controllore else: aggiunge la possibilità di eseguire un'istruzione alterna4va nel caso la condizione non sia vera. if (condizione) { operazione1 } else { operazione2 } Vediamo ora di applicare tui i casi finora vis4, u4lizzando l'annidamento di più if: l'importante è ricordarsi di chiudere sempre una condizione che si è aperta. if ($a>$b) { echo "a è maggiore di b"; } else { if ($a<$b) { echo "a è minore di b"; } else { if ($a == $b) { echo "a è uguale di b"; } }}

43 Stru8ure di Controllo IteraJve Le stru-ure di controllo "itera4ve" consentono di specificare che una data istruzione o un dato blocco di istruzioni devono essere esegui4 ripetutamente. Esse vengono anche de-e cicli. Ogni stru-ura di controllo di questo 4po deve consen4re di specificare so-o quali condizioni l'iterazione (ripe4zione) di tali istruzioni debba terminare, ovvero la condizione di terminazione del ciclo oppure, equivalentemente, la condizione di permanenza nel ciclo.

44 Stru8ura While Il ciclo while (mentre, o fintantoché) è indicato quando la condizione di permanenza in un ciclo è una generica condizione booleana, indipendente dal numero di iterazioni eseguite. Le forme tradizionali di ciclo while possono essere parafrasate come "ripe4 (il codice controllato) fintantoché resta vera la condizione C". Un esempio 4pico è la le-ura di da4 da un file di cui non si conosca a priori la dimensione; esso potrebbe assumere la forma "leggi il prossimo dato finché non incontri la fine del file".

45 Stru8ura While Vediamo un semplice esempio: $i=1; while ($i <= 10) { echo $i; $i++; } Questo ciclo con4nua ad incrementare la variabile $i fino a quando non sarà uguale a 10 ed ogni volta stampa il suo valore. In pra4ca verrà stampata la stringa " ".

46 Stru8ura Do-While Un modo alterna4vo per eseguire la stessa cosa sarà ricorrere al ciclo do..while. L'unica differenza è che il valore della condizione viene controllato alla fine del ciclo e non all'inizio. In pra4ca la prima operazione viene sempre eseguita, sia che la condizione sia vera o falsa. do { operazione } while ( condizione ) Vediamo l'esempio: $i=1; do { echo $i; $i++; } while ($i <= 10)

47 Stru8ure Da+ Una stru8ura da+ è un'en4tà usata per organizzare un insieme di da4 all'interno della memoria del computer, ed eventualmente per memorizzarli in una memoria di massa. La scelta delle stru-ure da4 da u4lizzare è stre-amente legata a quella degli algoritmi. La stru8ura da+ è un metodo di organizzazione dei da+, quindi prescinde dai da+ effejvamente contenu+. Ciascun linguaggio di programmazione offre strumen4, più o meno sofis4ca4, per definire stru-ure da4, ovvero aggregare da4 di 4po omogeneo o eterogeneo.

48 Gli Array Un array è una stru-ura da+ omogenea, che con4ene un numero finito di elemen4 dello stesso 4po, ad esempio un ve-ore di 10 interi. Ques4 elemen4 sono individua4 a-raverso un indice numerico, che 4picamente va da 0 al numero massimo di elemen4 meno uno. La dimensione del ve-ore deve essere dichiarata al momento della sua creazione. Ve-ori di dimensione diversa cos4tuiscono 4pi di da4 diversi. Gli elemen4 dell'array (le variabili che lo cos4tuiscono) sono iden4ficate dallo stesso nome dell'array e da uno o più indici, che indicano la posizione dell'elemento all'intero del ve-ore o della matrice.

49 Gli Array Array monodimensionale: Un array ad una dimensione è cos4tuito da un insieme finito di elemen4 omogenei in corrispondenza biunivoca con un insieme di indici. Array bidimensionale può essere considerato un array di array monodimensionali cioè ogni componente dell array è esso stesso un array L accesso ad ogni componente di un array bidimensionale si ha tramite una coppia di indici (i,j) Il primo indice si riferisce alla riga ed il secondo alla colonna

50 Gli Array Array Monodimensionale X X[0] X[1] X[2] X[3] X[4] X[5] X[6] X[7] Array Bidimensionale COLONNE A R I G H E A[0][0] A[0][1] A[0][2] A[0][3] A[0][4] A[1][0] A[1][1] A[1][2] A[1][3] A[1][4] A[2][0] A[2][1] A[2][2] A[2][3]

51 Gli Array Essi godono delle seguen4 proprietà: Gli array sono uno dei 4pi di dato stru-urato Sono compos4 da elemen4 omogenei Ogni elemento è iden4ficato all interno del ve-ore da un numero d ordine de-o anche indice dell elemento E possibile riempire o leggere una sola posizione per volta Il numero degli elemen4 è de-o dimensione o lunghezza del ve-ore

52 Gli Array Ad esempio, pensiamo di voler memorizzare i nomi dei giorni della seimana all'interno dell'array di 4po stringa chiamato giorno; avremo la seguente stru-ura: $giorno[0] = "lunedi'" $giorno[1] = "martedi'" $giorno[2] = "mercoledi'" $giorno[3] = "giovedi'" $giorno[4] = "venerdi'" $giorno[5] = "sabato" $giorno[6] = "domenica"

53 Esercizi sugli array Array

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

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

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi 1 Cos è n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati n Un algoritmo è un metodo per la soluzione di un problema adatto

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

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

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

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

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

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

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

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

Cosa si intende con stato

Cosa 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

Dettagli

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE

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

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

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

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

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

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

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

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1 Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica 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

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

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

Laboratorio di Programmazione

Laboratorio 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

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Lezione 1. Problemi Algoritmi Programmi

Lezione 1. Problemi Algoritmi Programmi Lezione 1 Problemi Algoritmi Programmi Programmazione I Paolo Valente - 2016/2017 Il problema... della tigella emiliana Avete invitato a cena degli amici stranieri e volete fare provare loro le tigelle

Dettagli

Informatica. Informatica. Problema - soluzione. Algoritmi, dati e programmi. Introduzione ai concetti di: Distinguiamo tra: problema

Informatica. Informatica. Problema - soluzione. Algoritmi, dati e programmi. Introduzione ai concetti di: Distinguiamo tra: problema Algoritmi, dati e programmi 1 Algoritmi, dati e programmi 2 Informatica Informatica informatica informazione mezzi mezzi fisici procedure Algoritmi, dati e programmi rappresentazione dell informazione

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

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è 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

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

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire: Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)

Dettagli

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

Il concetto di informatica. Graziano Pravadelli (2012)

Il concetto di informatica. Graziano Pravadelli (2012) Il concetto di informatica Graziano Pravadelli (2012) Informatica e telecomunicazione Cos è l informatica? lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria,

Dettagli

Modulo 1 Concetti di base della Tecnologia dell Informazione

Modulo 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

Dettagli

CONCETTI FONDAMENTALI

CONCETTI FONDAMENTALI CONCETTI FONDAMENTALI Algoritmo Procedura di trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante una sequenza di istruzioni. Linguaggio di programmazione Programma

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

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

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

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma 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

Dettagli

Analisi e programmazione 1

Analisi e programmazione 1 Informatica Secondo l ACM l informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria, analisi progetto efficienza realizzazione ed applicazione 1

Dettagli

Esercitazione 3. Espressioni booleane I comandi if-else e while

Esercitazione 3. Espressioni booleane I comandi if-else e while Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if

Dettagli

Informatica. Come si risolve un problema?

Informatica. Come si risolve un problema? Informatica Elaborazione automatica dell informazione Esempio di elaborazione: rubrica, elenco telefonico. Ogni problema di elaborazione dell informazione è caratterizzato da: un insieme di dati di partenza

Dettagli

Capitolo 3 L elaborazione e la strutturazione dell informazione

Capitolo 3 L elaborazione e la strutturazione dell informazione Capitolo 3 L elaborazione e la strutturazione dell informazione Problemi e algoritmi Definire il problema Eliminare le ambiguità nella formulazione del problema Individuare il risultato che si vuole ottenere,

Dettagli

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop Diagrammi di flusso Un metodo per rappresentare graficamente gli algoritmi. Input/ Output sotto programma Start predicato Elaborazione Stop La programmazione strutturata Un algoritmo è strutturato in blocchi

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

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

Dettagli

Algoritmi e diagrammi di flusso

Algoritmi e diagrammi di flusso Algoritmi e diagrammi di flusso Pablo Genova gallini.genova@gmail.com I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016 Cos'è un algoritmo? Algoritmo: procedimento che risolve

Dettagli

LA METAFORA DELL UFFICIO

LA 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

Dettagli

1 Esercizi in pseudocodice

1 Esercizi in pseudocodice Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.

Dettagli

Lezione 5. La macchina universale

Lezione 5. La macchina universale Lezione 5 Algoritmi Diagrammi di flusso La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale=

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Concetti Introduttivi. Il Computer

Concetti Introduttivi. Il Computer Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta

Dettagli

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile

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

DESCRIZIONI RIGOROSE c7

DESCRIZIONI RIGOROSE c7 DESCRIZIONI RIGOROSE c7 Es. cucinare la pasta asciutta per una famiglia La descrizione rigorosa della strategia risolutiva prevede Analisi del problema (con chiara individuazione degli obiettivi e dei

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! Informatica! Appunti dal laboratorio 1! Sistema Operativo! Windows 7, Windows 8, Mac OS X, Linux, Debian, Red Hat, etc etc! Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

Dettagli

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione

Dettagli

Cosa è l Informatica?

Cosa è l Informatica? Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore

Dettagli

LABORATORIO DI INFORMATICA

LABORATORIO DI INFORMATICA LABORATORIO DI INFORMATICA Corso di laurea in Scienze della Formazione Primaria a.a.2014/2015 A cura del Prof. Sergio Miranda 2 LEZIONE N.6 Algoritmi GLI ALGORITMI (1/5) Un algoritmo è una sequenza di

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

L'Elaborazione e la Strutturazione dell'informazione

L'Elaborazione e la Strutturazione dell'informazione L'Elaborazione e la Strutturazione dell'informazione Maurizio Palesi Maurizio Palesi 1 Soluzione di un Problema Maurizio Palesi 2 Cos è Risolvere un problema significa individuare un procedimento che permetta

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

Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!!

Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!! Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!! Definizioni! Informatica: scienza per l elaborazione automatica dell informazione! Informatica = Informazione + Automatica! Informazione:

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

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, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo

Algoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Risolvere i problemi Il calcolatore permette di risolvere molti problemi, ma sfortunatamente non tutti Il concetto di algoritmo consente

Dettagli

Introduzione all Informatica e alla Programmazione. Fondamenti di Informatica T

Introduzione all Informatica e alla Programmazione. Fondamenti di Informatica T Introduzione all Informatica e alla Programmazione Cos è l INFORMATICA?? Il termine "informatica" ha un' accezione molto ampia. Esistono varie definizioni: l'informatica è la scienza che si occupa della

Dettagli

Algoritmi e Linguaggi

Algoritmi e Linguaggi Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione 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

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti VBA. Che cos è VBA Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

unità didattica 3 Le strutture condizionali e le strutture iterative

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

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

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

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

Informatica, Algoritmi, Linguaggi

Informatica, Algoritmi, Linguaggi Elementi di Informatica e Applicazioni Numeriche T Informatica, Algoritmi, Linguaggi Cos'è l'informatica? Che cos'è l'informatica? Cos'è l'informatica? Che cos'è l'informatica? Dell'informatica possiamo

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare

Dettagli

Prof. Pagani Corrado ALGORITMI

Prof. Pagani Corrado ALGORITMI Prof. Pagani Corrado ALGORITMI PRIMI APPROCCI GRAFICI ALLA PROGRAMMAZIONE Il coding (e la programmazione) è entrato con forza nella scuola anche grazie al progetto MIUR chiamato Programma il futuro (http://programmailfuturo.it/)

Dettagli

LA METAFORA DELL UFFICIO

LA 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

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 2-Proprietà degli algoritmi 1 Prerequisiti Conoscere il concetto di M.C.D. tra due numeri interi Concetto intuitivo di funzione matematica 2 1 Introduzione Sappiamo scrivere

Dettagli

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Sommario Problema computazionale Sviluppo software Algoritmi Diagrammi di Flusso; Pseudo Codice Istruzioni Sequenziali, Condizionali, Cicliche; Javascript 1 Il Problema computazionale È computazionale

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Concetti base programmazione. Antonio Gallo

Concetti base programmazione. Antonio Gallo Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

Programmazione. Informatica. Risoluzione dei Problemi

Programmazione. Informatica. Risoluzione dei Problemi Cos è l INFORMATICA?? Il termine "informatica" ha un' accezione molto ampia. Risoluzione automatica di problemi: gli Algoritmi Esistono varie definizioni: l'informatica è la scienza che si occupa della

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

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

Sistemi di numerazione. Sistema binario, o1ale, esadecimale Rappresentazione delle informazioni

Sistemi di numerazione. Sistema binario, o1ale, esadecimale Rappresentazione delle informazioni Sistemi di numerazione Sistema binario, o1ale, esadecimale Rappresentazione delle informazioni Informazioni u8li Docente: Carlo Robino Conta1o: carlo.robino@gmail.com Orari ricevimento: da concordarsi

Dettagli

Unità Didattica 2 I Linguaggi di Programmazione

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

Dettagli

5 - Istruzioni condizionali

5 - Istruzioni condizionali 5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

DISPENSE DI PROGRAMMAZIONE

DISPENSE DI PROGRAMMAZIONE DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei

Dettagli

UD 3.2b: Programmazione in Pascal (1)

UD 3.2b: Programmazione in Pascal (1) UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione

Dettagli

Programmazione strutturata

Programmazione 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

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

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

Dettagli

Teoria dell Informazione

Teoria 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

Dettagli

Fondamenti di Programmazione. Strutture di controllo

Fondamenti di Programmazione. Strutture di controllo Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due

Dettagli