Algoritmi e programmazione
|
|
- Maddalena Chiesa
- 7 anni fa
- Visualizzazioni
Transcript
1 Algoritmi e programmazione Prof. Emanuele Papotto Risoluzione di problemi Con la parola problema si intende un compito che si vuole far risolvere automaticamente a un calcolatore per risolvere un problema bisogna svolgere le seguenti attivita: comprendere il problema definire un procedimento risolutivo (algoritmo) per il problema implementare l'algoritmo in un linguaggio di Programmazione Dato un problema relativo all elaborazione di un informazione bisogna individuare un opportuno metodo di elaborazione che trasformi i dati iniziali nei corrispondenti risultati finali desiderati. Calcolatore = Esecutore di Azioni Elementari Affinché la risoluzione di un problema possa essere realizzata attraverso l uso del calcolatore, tale processo deve poter essere definito come una sequenza di azioni elementari. 1
2 Problemi non risolvibili Non tutti i problemi sono risolvibili attraverso l'uso del calcolatore, esistono classi di problemi perlequali lasoluzione automatica non è possibile: il problema presenta infinite soluzioni (es. calcolo di pi greco) per alcuni dei problemi non è stato trovato un metodo risolutivo (es. trovare tutte le coppie contigue di numeri primi) per alcuni problemi è stato dimostrato che non esiste un metodo risolutivo automatizzabile (es. trisecare un angolo con solo riga e compasso) Noi ci concentreremo sui problemi che, ragionevolmente, ammettono un metodo risolutivo (funzioni calcolabili). L algoritmo Un algoritmo è un insieme finito di passi elementari (istruzioni) che, eseguiti secondo un ordine prestabilito, permettono di risolvere un determinato problema trasformando i dati di input in dati di output (o risultati) attraverso le relazioni esistenti tra input e output. esempi sono: una ricetta di cucina, le istruzioni per far funzionare un elettrodomestico, le istruzioni per installare un programma 2
3 L algoritmo Per esecutore : si intende una macchina astratta (non necessariamente un calcolatore) in grado di eseguire le azioni specificatedal metodo risolutivo. Proprietà di un algoritmo 1. realizzabilità: ogni operazione prevista dall algoritmo deve essere eseguibile conlerisorsea disposizione; 2. non ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore, cioè deve essere descritta in modo preciso; il risultato non deve cambiare al variare dell esecutore(macchina/persona) dell algoritmo; 3. finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, è finito e le operazioni da esse specificate devono essere eseguito un numero finito di volte. 3
4 Un po di storia Il termine algoritmo deriva dal nome del matematico arabo Al- Khowarzimi del IX secolo d.c. che perprimosuggerì unmetodoper sommare due numeri rappresentati nel sistema numerico Hindu e contribuì alla fondazione dell algebra. Nel medioevo il termine algorismus servì ad indicare il complesso di operazioni nel calcolo numerico con numeri arabi. Algoritmi e programmi Ogni elaboratore è una macchina in grado di eseguire azioni elementari su oggetti detti dati. L'esecuzionedelle azioni è richiesta all'elaboratore tramite comandi elementari chiamati istruzioni. Le istruzioni sono espresse attraverso un opportuno formalismo: il linguaggio di programmazione. es: SUM A,B read(x) scanf("%d",&y) La formulazione testuale di un algoritmo in un linguaggio comprensibile ad un elaboratore è detta programma. main() {int A, B; printf( Immettere i dati (A,B): ); scanf( %d %d, &A, &B); printf( Risultato: A+B=%d\n, A+B); } 4
5 Dal problema al programma Dato un problema, la sua soluzione può essere ottenuta mediante l uso del calcolatore, compiendo i seguenti passi: 1. individuazione di un metodo risolutivo 2. scomposizione del procedimento in un insieme ordinato di azioni à ALGORITMO 3. rappresentazione dei dati e dell'algoritmo attraverso un formalismo comprensibile dall elaboratore: linguaggio di programmazione à PROGRAMMA 4. esecuzione di un programma sul calcolatore à processo o task Metodo risolutivo: ANALISI L analisi permettediindividuare: natura dei dati in ingresso (INPUT): si tratta di tutte le informazioni che devono essere fornite in ingresso alprogramma che si sta sviluppando, con eventuali vincoli di integrità (tutte le condizioni che gli input ma anche gli output devono rispetta re pe r essere accettati dal programma) natura dei dati in uscita (OUTPUT o risultati) ed eventuali vincoli di integrità (condizioni che i dati in input devono ris pettare per essere accettati): cioè i risultati attesi dall ela borazione dei dati in ingresso da parte del programma. relazioni tra i dati di Input e Output: i collegamenti logici esistenti tra le informazioni in ingresso e quelle in uscita dal programma. Queste possono essere formule matematiche, modello logico 5
6 Esempio Problema: forniti in ingresso al programma la base e l altezza di un triangolo, calcolarne l area ANALISI Dati in input: la lunghezza della base e la lunghezza dell altezza del triangolo; il vincolo di integrità da porre è accettare in ingresso solo valori > 0 Dati in output: l area del triangolo Relazione tra I/O: l area del triangolo si ottiene moltiplicando la base per l altezza e dividendo per 2 A= (b * h) / 2 Esempio: l algoritmo 1. Inizio 2. Ricevi in ingresso da tastiera la lunghezza della base del triangolo (con il vincolo che sia > 0 ) 3. Ricevi in ingresso da tastiera la lunghezza dell altezza del triangolo (con vincolo che sia > 0 ) 4. Calcolare l area del triangolo moltiplicando la lunghezza della base per la lunghezza dell altezza e dividendo il prodotto ottenuto per 2 5. Stampa a video l area del triangolo calcolata 6. Fine 6
7 Pseudo-codice Lo pseudo codice è una descrizione informale di alto livello adatta a rappresentare un algoritmo o programma Usa le strutture di un linguaggio di programmazione È adatto ad essere letto dall uomo Non è direttamente comprensibile da un calcolatore Omette dettagli non essenz iali pe r la dichiarazione delle variabili) comprensibilità (es. la es: inizio leggi base leggi altezza if (base altezza) > 0 Area ß base * altezza stampa Area end if else stampa Errore immissione dati input fine Dati e istruzioni Ogni passo dell algoritmo di componedi dueparti distinte: comando o istruzione: la descrizione dell azione che deve essere eseguita (es. acquisisci il numero, moltiplica, stampa, ecc.) dati o argomenti : uno o più oggetti su cui ogni istruzione opera (a, b, area, altezza, A, ecc.) costanti: il valore non cambia durante l esecuzione dell algoritmo variabili: è assegnato un valore che durante l ese cuzione dell algoritmo può cambiare i valori dei dati possono essere: numerici: interi e reali (es ,4) logici: Vero e Falso alfanumerici, o stringhe (es. AAAA, C.Colombo ) 7
8 Gli operatori le sequenze di variabili e costanti sono combinate fra loro medianteoperatori: operatori aritmetici: +, -, *, / (rispettivamente somma, sottrazione, moltiplicazione e divisione) operatori logici e relazionali: <, >, ==, =, >=, <=, <>,,,not,(rispettivamente minore, maggiore, uguale, assegnazione, maggiore uguale, minore uguale, diverso, and, or, not) I simboli degli operatori logico relazionali non sono tutti e possono essere differenti tra i diversi linguaggi di programmazione. Diagrammi di flusso per la descrizione degli algoritmi si utilizzano particolari rappresentazioni grafiche denominate diagrammi di flusso, schemi a blocchi o flowchart. è un formalismo che consente di rappresentare graficamente gli algoritmi questa descrizione costituisce un efficace strumento per la descrizione degli algoritmi, più valido di una esposizione di tipo discorsivo (che può risultare generica e ambigua). qualsiasi algoritmo può essere decomposto in poche strutture elementari. 8
9 Diagrammi di flusso un diagramma di flusso (o flowchart) descrive le azioni da eseguire ed il loroordinedi esecuzione ogni azione elementare corrisponde ad un simbolo grafico (blocco) diverso (sono convenzioni non universali) ogni blocco ha uno o più rami in ingresso ed un ramo in uscita (ad esclusione del blocco di decisionecheneha due); collegando tra loro i vari blocchi attraverso i rami, si ottieneun diagramma di flusso un diagramma di flusso appare, quindi, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza in cui i blocchi devono essere eseguiti (flusso del controllo di esecuzione o sequenza di computazione) Blocchi inizio/fine inizio e fine di un algoritmo inizio e il blocco da cui deve iniziare l'esecuzione (uno solo) il blocco ne fa terminare l'esecuzione dell'algoritmo (almeno uno) 9
10 Ingresso/lettura esecuzione dell'istruzione: si ricevono dall'unità di ingresso (per esempio, la tastiera) tanti valori quante sono le variabili specificate all'interno del blocco, e si assegnano nello stesso ordine alle variabili A, B, C sono nomi di variabili es. Leggi i tre valori dati in ingresso, ed assegnali rispettivamente alle variabili A, B, e C Uscita/stampa si calcolano i valori delle espressioni e si trasmettono all'unità di uscita (ad esempio, il video) X, Y, Z possono essere variabili se X, Y, Z sono espressioni à calcola i valori delle espressioni X, Y e Z, e trasmettili in uscita 10
11 Azione/operazione Esegue l azione descritta all interno del rettangolo Somma =A + B Controllo/condizione Verifica la condizione e se il risultato è vero passa a eseguire le istruzioni sul ramo corrispondente a vero altrimenti passa a eseguire le istruzioni sul ramo corrispondente a falso V condizione F 11
12 Assegnamento e inizializzazione si calcola il valore dell'espressione a destra del simbolo = e lo si assegna alla variabile indicata a sinistra del simbolo = con eventuale perdita del valore precedente di V V = E dove V è il nome di una variabile E è una espressione o un valore si interpreta come: calcola il valore dell'espressione E e assegnalo alla variabilev NB: Una variabile, prima di essere trattata, deve contenere già un valore, ovvero essere già stata inizializzataad es. a zero. Esempio: somma di due numeri 12
13 Esempio: stampa il massimo tra due numeri Confronta due numeri 13
14 Programmazione strutturata È una tecnica di programmazione che ha lo scopo di semplificare la struttura di un algoritmo disciplinando l'uso delle strutture di controllo utilizzabili all'interno di uno schema blocchi prevede l'uso di un numero limitato di strutture di controllo fondamentali, con un ingresso ed una uscita: 1. sequenza 2. selezione 3. Iterazione Programmazione strutturata la programmazione strutturata vincola quindi l'utilizzo delle strutture di controllo, ma ore i seguenti vantaggi: rende possibile una progettazione di tipo top-down, cioè si parte dall'obiettivo finale del problema e si esplicitano e raffinano ricorsivamente le parti che lo compongono permette la definizione di algoritmi più leggibili, essendo più facile individuare i moduli corrispondenti alle varie parti di cui si compone l'algoritmo test, correzione e manutenzione del programma sono perciò più semplici, anche se per il test del sistema completo bisogna attendere di assemblare tutti i componenti 14
15 Teorema di Böhm-Jacopini Qualsiasi algoritmo può essere scritto utilizzando esclusivamente le tre strutture di controllo fondamentali: SEQUENZA SELEZIONE ITERAZIONE Nel 1966 due matematici italiani Corrado Böhm e Giuseppe Jacopini hanno formulato uno dei più importanti teoremi dell informatica. La domanda è: «Quali algoritmi sono codificabili con i tre costrutti sequenza, selezione e iterazione?». Risposta: «Con i tre costrutti fondamentali è possibile codificare tutti gli algoritmi». Struttura di sequenza Le istruzioni sono una di seguito alla altra Istruzione S1 Istruzione S2 Istruzione S3 Operazioni: fai questo fai quello Esempio: a= 5; b = 3; z = a+b; 15
16 Struttura di selezione -1- Se si verifica la condizione P esegui l istruzione S1 oppure S2 if P then S1 else S2 Sintassi: if(espressione) istruzione1 else istruzione2 Esempio: prendi numero; resto = numero % 2; if (resto==0) scrivi numero pari else scrivi numero dispari Struttura di selezione -2- Se si verifica la condizione P esegui l istruzione S1 if P then S1 Sintassi: if(espressione) istruzione Esempio: prendi numero; resto = numero % 2; if (resto==0) scrivi numero pari 16
17 Struttura di iterazione Si deve eseguire un blocco di istruzioni finché non si verifica una determinata condizione. V Istruzione S1 condizione P F La condizione è un espressione che rappresenta un valore Vero o Falso. Il ciclo viene ripetuto finché l espressione non diventa Falsa. Do S1 while P Struttura di iterazione precondizionale condizione P V Istruzione S1 F La condizione è un espressione che rappresenta un valore Vero o Falso. Il ciclo viene ripetuto finché l espressione non diventa falsa. while P do S1 17
18 Confronto tra le strutture di iterazione Esempio: stampa dei primi 100 numeri 18
19 Esempio: stampa dei primi n numeri Esempio: fattoriale di n 19
20 Struttura iterativa contatore Ripetizione con contatore è una struttura derivata da quelle di iterazione. Permette di ripetere un certo gruppo di istruzioni un determinato numero di volte. For condizione Istruzione S1 c ß min Next (incrementa) V c<=max istruzioni F Sintassi: for (inizializzazione; controllo; incremento) Incrementa c for (c=min; c<=max; c++) { istruzioni } Esempi 1. Calcolo della media 2. Calcolo dei valori massimo e minimo 3. Calcolo di una potenza 20
21 Esempio 1 Esempio 2 21
22 Esempio 3 22
Rappresentazione degli algoritmi
25 febbraio 2015 00:39 http://robot.unipv.it/toolleeo per rappresentare (descrivere) un algoritmo non è possibile utilizzare il linguaggio naturale in quanto questo può presentare ambiguità e causare false
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
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
DettagliRisoluzione di problemi con l uso dell elaboratore elettronico
Lab. Tecnologie Informatiche Risoluzione di problemi con l uso dell elaboratore elettronico L'INFORMATICA L'informatica è la scienza applicata che studia le modalità di raccolta, di conservazione, di trattamento
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
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
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
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
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
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.
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
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
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)
DettagliINFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione elaborazione
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
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
DettagliCorso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
DettagliAlgoritmi e Programmi
Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi
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
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
DettagliESERCITAZIONI DI LABORATORIO DI CALCOLO NUMERICO. Introduzione: Algoritmi e Programmazione strutturata
ESERCITAZIONI DI LABORATORIO DI CALCOLO NUMERICO Introduzione: Algoritmi e Programmazione strutturata Prof. L. Pareschi Dott. G. Dimarco Risoluzione dei Problemi mediante l uso del Calcolatore Elettronico
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
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
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliPROBLEMI 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.
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
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
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
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
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
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
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
DettagliINFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione? Aula? 1 Analisi e programmazione Tramite un elaboratore si possono risolvere
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
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
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)
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
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
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
Dettagli2. Algoritmi e Programmi
12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo
DettagliLA METAFORA DELL UFFICIO LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO
LA METAORA DELL UICIO LAAGNA DI LAORO Lavagna di lavoro Lavagna di programma Sportello utenti Capo Ufficio Impiegato Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome distinto,
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
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
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
DettagliLAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO
LAAGNA DI LAORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome distinto, e valore il loro eventuale contenuto SPORTELLO UTENTE LAAGNA DI PROGRAMMA Modulo IN: modulo di ricezione
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
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
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
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
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
DettagliUn esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
Dettagli= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
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
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
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=
DettagliUNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione alla programmazione
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Introduzione alla programmazione Riferimenti Emanuele Goldoni Laboratorio Reti (MN) Tel. 0376-286234 E-mail: emanuele.goldoni@unipv.it Slide sul sito
DettagliIntroduzione agli algoritmi
Introduzione agli algoritmi Consideriamo un lettore di CD musicali portatile Questo ha a disposizione: pulsanti di controllo display che indica se il lettore è in funzione il brano che è attualmente riprodotto
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)
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
DettagliAlgoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
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
DettagliConcetti di base dell ICT
Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:
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,
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
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. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione
Informatica Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, ed elaborazione 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
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
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)
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
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
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
DettagliLezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo
DettagliFondamenti di Algoritmi
Fondamenti di Algoritmi Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Indice Algoritmi: Definizione Diagrammi di Flusso Esempi ed esercizi
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
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
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
DettagliCapitolo 3 Elaborazione e Strutturazione dell Informazione. (Introduzione ai Sistemi Informatici Sciuto et alii)
Capitolo 3 Elaborazione e Strutturazione dell Informazione (Introduzione ai Sistemi Informatici Sciuto et alii) Il calcolatore come strumento per gestire informazione acquisire dati IN elaborare archiviare
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
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
DettagliPROGRAMMAZIONE (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
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
DettagliINFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi
INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università
DettagliPolitecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.
Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: genna18@iol.it sito: users.iol.it/genna18 Risoluzione di un problema Dato
DettagliAlgoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.
Algoritmi Un tema centrale dell informatica è lo studio degli algoritmi. Ora nostro obiettivo sarà quello di esplorare a sufficienza questa materia fondamentale per poter capire e apprezzare appieno l
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
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 2 FINALITÁ
INFORMATICA MODULO 9 Algoritmi e A cura di Mimmo Corrado Maggio 2012 ALGORITMI 2 FINALITÁ Il Modulo Algoritmi e linguaggio Java introduce lo studente nel mondo della programmazione nel linguaggio Java.
DettagliSommario. Linguaggi per la rappresentazione di algoritmi. Linguaggi formali. Sintassi e semantica: esempio. Linguaggio naturale: sintassi
Sommario Linguaggi per la rappresentazione di algoritmi Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura A.A. 2009/2010! Linguaggi formali per la rappresentazione
DettagliINFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno
INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze
DettagliAlgebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
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
DettagliElementi di informatica
Elementi di informatica Problemi, algoritmi e programmi 1 L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni elementari le azioni vengono eseguite
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
DettagliFasi della programmazione. Gabriella Trucco
Fasi della programmazione Gabriella Trucco Algoritmi Uso di algoritmi nella vita quotidiana Algoritmo: sequenza di passi che, se intrapresa da un esecutore, permette di ottenere i risultati attesi a partire
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
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
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
DettagliIstruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
Dettagli