Corso Informa+ca di Base. Flow Chart
|
|
- Iolanda Novelli
- 7 anni fa
- Visualizzazioni
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 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
DettagliRisolvere 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
Dettaglin 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
DettagliFormalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
DettagliRappresentazione 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
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliPROGRAMMAZIONE: 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
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliLe 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
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
DettagliPROBLEMI 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
DettagliDispensa di Informatica II.1
ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia
DettagliAltrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)
Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliDal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliModulo 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
DettagliInformatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi
Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive
DettagliSistemi 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
Dettagli3. 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
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
DettagliCompitino 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
DettagliLezione 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
DettagliInformatica. 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
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliStrutture 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
DettagliSviluppo 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)
DettagliJavaScript 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
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliIl 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,
DettagliModulo 1 Concetti di base della Tecnologia dell Informazione
Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette
DettagliCONCETTI 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
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
DettagliLaboratorio 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
DettagliAlgoritmi. Pagina 1 di 5
Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliAnalisi 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
DettagliEsercitazione 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
DettagliInformatica. 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
DettagliCapitolo 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,
DettagliDiagrammi 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
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)
DettagliAlgoritmi 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
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
Dettagli1 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.
DettagliLezione 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=
DettagliIl 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)
DettagliConcetti 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
DettagliUnità 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
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliDESCRIZIONI 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
DettagliInformatica! 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
DettagliAlgoritmo. 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
DettagliLezione 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
DettagliCosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
DettagliLABORATORIO 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
DettagliStrutture 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
DettagliL'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
DettagliFondamenti 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
DettagliInformatica! 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:
DettagliLinguaggio 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
DettagliALGORITMI. 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
DettagliAlgoritmi, 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
DettagliIntroduzione 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
DettagliAlgoritmi 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
DettagliLinguaggi 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
DettagliFondamenti 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
DettagliIntroduzione 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
Dettagliunità didattica 3 Le strutture condizionali e le strutture iterative
unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell
DettagliCome ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
DettagliALGORITMI 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
Dettagli6 - 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
DettagliInformatica, 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
DettagliIL 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
DettagliLinguaggi 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
DettagliProf. 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/)
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliCorso 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
DettagliSommario. 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
DettagliDescrizione 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
DettagliConcetti 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,
DettagliFONDAMENTI 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
DettagliProgrammazione. 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
DettagliTipi 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
DettagliAnalisi 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
DettagliSistemi 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
DettagliUnità Didattica 2 I Linguaggi di Programmazione
Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche
Dettagli5 - 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
DettagliDISPENSE 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
DettagliUD 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
DettagliProgrammazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
DettagliELEMENTI DI 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
DettagliTeoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
DettagliFondamenti 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