1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata
|
|
- Benedetto Pepe
- 8 anni fa
- Visualizzazioni
Transcript
1 Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani 1 introdurre le monete per l importo necessario 2 selezionare la quantità di zucchero 3 selezionare la bevanda desiderata 4 attendere che il distributore eroghi la bevanda 5 ritirare il resto 6 ritirare la bevanda 21 marzo 2011 D. Gubiani, e Programmi 1 D. Gubiani, e Programmi 2 Esempi di Esempi di Algoritmo dal Problema all Algoritmo Un algoritmo è la descrizione della soluzione di un problema espressa come un insieme di istruzioni che operando sui dati iniziali permette di ottenere il risultato che costituisce la soluzione del problema Più precisamente: un insieme ordinato di istruzioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito Se il problema è complesso può essere scomposto in sottoproblemi, detti step D. Gubiani, e Programmi 3 D. Gubiani, e Programmi 4 Esempi di Classe di Problemi e Operazioni su Esempi di Un algoritmo non risolve un unico problema ma una classe di problemi strutturalmente equivalenti, in cui cambiano solo i dati di partenza Per questo motivo le istruzioni di un algoritmo fanno riferimento non direttamente ai valori ma a delle variabili, il cui valore può variare a seconda della situazione Una variabile può essere intesa come un contenitore con un nome, che la identifica univocamente, e un valore, che corrisponde in ogni istante al dato contenuto In alcune situazione, ad ogni valore è associato anche un tipo - permette di definire l insieme dei valori che la variabile può assumere valori Assegnamento: corrisponde a introdurre un valore nel contenitore della variabile identificata dal nome, tale valore sostituisce il valore precedente - nomevariavile valore Espressioni su variabili: il valore contenuto nelle variabili viene utilizzato per calcolare il risultato dell espressione Esempi: - x 3 - y x y y x D. Gubiani, e Programmi 5 D. Gubiani, e Programmi 6
2 Esempi di Maggiore fra 2 Numeri, x e y Esempi di Fattoriale di un Numero (Soluzione Iterativa) Soluzione possibile basata sull osservazione che x è maggiore di y se x y è maggiore di 0 1 leggere il primo valore dall esterno e assegnarlo alla variabile x 2 leggere il secondo valore dall esterno e assegnarlo alla variabile y 3 calcolare la differenza fra x e y e assegnarla alla variabile d (d x y) 4 valutare se d è maggiore di 0: se è vero passare al passo 6, se è falso passare al passo 5 5 restituire il numero maggiore è seguito dal contenuto di y e passare al passo 7 6 restituire il numero maggiore è seguito dal contenuto di x 7 terminare l esecuzione n! = n (n 1) leggere il valore dall esterno e assegnarlo alla variabile n 2 assegnare alla variabile fatt il valore 1 (fatt 1) 3 se n = 1, passare al passo 7 4 assegnare alla variabile fatt il valore della variabile stessa moltiplicato per n (fatt fatt n) 5 decrementare di 1 la variabile n (n n 1) 6 passare al passo 3 7 restituire il contenuto di fatt 8 terminare l esecuzione D. Gubiani, e Programmi 7 D. Gubiani, e Programmi 8 Esempi di Fattoriale di un Numero (Soluzione Ricorsiva) Esempi di Rappresentazione mediante PseudoCodice { 1 se n 1 n! = n (n 1)! se n > 1 (1) 1 leggere il valore dall esterno e assegnarlo alla variabile n 2 se n = 1, vai al passo 4 3 restituire n FATTORIALE(n 1) e passare al passo 5 4 restituire 1 Una metodologia comunemente utilizzata per descrivere algoritmi è la pseudocodifica: un linguaggio più vicino possibile a quello naturale - codifica di un insieme di istruzioni elementari - indentazione 5 terminare l esecuzione D. Gubiani, e Programmi 9 D. Gubiani, e Programmi 10 Esempi di PseudoCodice: Assegnamento e Condizionale PseudoCodice: Cicli Esempi di Assegnamento: - assegna alla variabile n il valore v - n v Condizionale: - se la condizione A è vera allora esegui B (altrimenti esegui C) - if A then B [else C] Ciclo while: - mentre A è vera esegui B - while (A) do {B Ciclo for: - ripeti j i +1 volte B - for cont i to j do {B D. Gubiani, e Programmi 11 D. Gubiani, e Programmi 12
3 Esempi di Rappresentazione mediante Diagrammi di Flusso Esempi di Maggiore fra 2 Numeri, x e y - 1 Un linguaggio formale grafico spesso utilizzato per la codifica degli algoritmi è costituito dai diagrammi di flusso - insieme di blocchi che rappresentano le strutture comunemente utilizzate legate fra di loro da frecce che ne indicano l ordine di esecuzione MAGGIORE read x read y d x y if (d > 0) then { return x else { return y D. Gubiani, e Programmi 13 D. Gubiani, e Programmi 14 Esempi di Maggiore fra 2 Numeri, x e y - 2 Esempi di Fattoriale di un Numero (Sol. Iterativa) - 1 MAGGIORE(x, y) d x y if (d > 0) then { return x else { return y FATTORIALE(n) fatt 1 while (n > 1) do { fatt fatt n n n 1 return fatt D. Gubiani, e Programmi 15 D. Gubiani, e Programmi 16 Esempi di Fattoriale di un Numero (Sol. Iterativa) - 2 Esempi di Fattoriale di un Numero (Sol. Ricorsiva) FATTORIALE(n) fatt 1 i 2 while (i n) do { fatt fatt i i i +1 return fatt FATTORIALE(n) if (n > 1) then { return n FATTORIALE(n 1) else{ return 1 D. Gubiani, e Programmi 17 D. Gubiani, e Programmi 18
4 Diverse Al crescere della complessità degli algoritmi l impiego delle singole variabili diventa inefficiente Esempio: determinare il valore massimo fra 100 numeri - bisognerebbe definire 100 variabili distinte da confrontare due a due Strutture dati: aggregati organizzati di più variabili Strutture dati statiche: - vettori e matrici - record Strutture dati dinamiche: - liste - code e pile - alberi e grafi D. Gubiani, e Programmi 19 D. Gubiani, e Programmi 20 (array) Ordinamento di n numeri Un vettore (array) è un insieme ordinato di n elementi dello stesso tipo Una vettore è identificato da un nome v e ogni elemento è individuato univocamente da un indice i che indica la sua posizione - v[i] con i {1..n INPUT: sequenza di n numeri (a 1,a 2 a n ) OUTPUT: permutazione degli elementi a 1,a 2 a n tali che a 1 a 2 a n v[1] v[2] v[n 1] v[n] D. Gubiani, e Programmi 21 D. Gubiani, e Programmi 22 Insertion Sort Merge Sort INSERTION SORT(A) for j 2 to length(a) { key A[j] i j 1 while ((i > 0) and (A[i] > key)) do { A[i +1] A[i] i i +1 A[i +1] key MERGE SORT(A, p, r) if (p < r) then { q int((p +r)/2) MERGE SORT(A, p, q) MERGE SORT(A,q +1,r) MERGE(A,p,q,r) D. Gubiani, e Programmi 23 D. Gubiani, e Programmi 24
5 Processo per la Creazione dei Programmi Per eseguire un algoritmo su un calcolatore è necessario descriverlo in un linguaggio formale, chiamato linguaggio di programmazione, interpretabile dal calcolatore stesso L algoritmo è così tradotto in un programma D. Gubiani, e Programmi 25 D. Gubiani, e Programmi 26 Diversi Linguaggi di Programmazione - 1 Diversi Linguaggi di Programmazione - 2 linguaggi interpretati: il testo di un programma scritto è elaborato da un interprete durante l esecuzione del programma stesso: l interprete legge un istruzione, la traduce in un insieme di istruzioni macchina (il linguaggio macchina) direttamente eseguibili dalla CPU del calcolatore, poi passa a leggere l istruzione successiva, la traduce, e cosí via. - perl, php, linguaggi compilati: prevedono la compilazione, ossia la traduzione dell intero programma in linguaggio macchina, prima dell esecuzione del programma stesso - C, C++, Visual Basic, Un linguaggio a metà strada tra queste metodologie è Java - il codice sorgente viene compilato in un formato intermedio (chiamato bytecode), il quale a sua volta viene interpretato dalla Java Virtual Machine (JVM) D. Gubiani, e Programmi 27 D. Gubiani, e Programmi 28 Struttura generale di un Programma è un linguaggio di programmazione compilativo Alcune caratteristiche: - creato da Niklaus Wirth per scopi didattici - chiamato in onore del matematico e filosofo francese Blaise, inventore della prima macchina calcolatrice automatica - prima implementazione del linguaggio divenne operativa nel 1970, ma raggiunse una discreta diffusione nel campo industriale nel la sua evoluzione orientata ad oggetti è il Delphi - sintassi chiara e rigida - diversi compilatori gratuiti: Free, Lazarus, Dev- Sezione dell Intestazione: specifica il nome del programma Sezione delle Dichiarazioni: indicazione delle variabili con la specifica del relativo tipo di dato (insieme dei valori che la variabile può assumere) Sezione Esecutiva: programma vero e proprio D. Gubiani, e Programmi 29 D. Gubiani, e Programmi 30
6 Tipi di Dato Dichiarazione delle e Assegnamento I tipi di dato determinano l insieme dei valori che una variabile può assumere: - byte: numeri interi positivi su 1 byte - word: numeri interi positivi su 2 byte - shortint: numeri interi su 1 byte - integer: numeri interi su 2 byte - longint: numeri interi su 4 byte - real: numeri reali su 6 byte - boolean: valori booleani (1 bit) - char: caratteri (1 byte) - string: sequenza di caratteri (dimensione variabile a partire da 10 byte) I programmi richiedono la dichiarazione delle variabili con la specifica del relativo tipo di dato nella sezione var Esempi di dichiarazioni: x : real; # dichiarazione di una variabile di tipo reale y1,y2 : integer; # dichiarazione di due variabili di tipo intero c : char; # dichiarazione di una variabili di tipo carattere Esempi di assegnamento: x := 10,5; y1 := y2 10; c := c ; D. Gubiani, e Programmi 31 D. Gubiani, e Programmi 32 Operatori Aritmetici e Logici Operatori di Confronto Operatori aritmetici: - + addizione - - sottrazione - moltiplicazione - / divisione - DIV quoziente della divisione tra interi - MOD resto della divisione tra interi Operatori logici - OR disgiunzione logico - AND congiunzione logico - NOT negazione logica = uguale a <> diverso da > maggiore di >= maggiore o uguale a < minore <= minore o uguale a D. Gubiani, e Programmi 33 D. Gubiani, e Programmi 34 Alcuni Controlli di Flusso: Condizionale Alcuni Controlli di Flusso: Ciclo WHILE IF condizione THEN istruzione1 ELSE istruzione2; Esempio: incrementa di 1 il valore di a se b è maggiore di 0, altrimenti lo decrementa di 1 if b > 0 then a := a+1 else a := a 1; WHILE condizione DO istruzione; Esempio: calcola la potenza n-esima di 2 (n 0) x := 1; while n > 0 do BEGIN x := x 2; n := n 1 END; D. Gubiani, e Programmi 35 D. Gubiani, e Programmi 36
7 Alcuni Controlli di Flusso: Ciclo REPEAT Alcuni Controlli di Flusso: Ciclo FOR REPEAT istruzione UNTIL condizione; FOR a := ni TO nf DO istruzione Esempio: calcola la potenza n-esima di 2 (n 1) x := 1; repeat x := x 2; n := n 1 UNTIL n < 1; Esempio: calcola la potenza n-esima di 2 (n 0) x := 1; FOR i := 1 TO n DO x := x 2; D. Gubiani, e Programmi 37 D. Gubiani, e Programmi 38 Input e Output READ/READLN (abbreviazione Read Line): legge i dati di input da tastiera READLN (variabile) WRITE/WRITELN (abbreviazione Write Line): stampa i dati di output sullo schermo WRITELN(output) Esempio: lettura di un carattere da tastiera e scrittura dello stesso a video WRITE ( Inserisci un carattere : ); READLN (c); WRITELN ( Carattere inserito :,c); dichiarazione di un vettore nome vettore : array[1..n] of tipo dato; accesso ad uno specifico valore del vettore nome array[indice] Esempio: incremento di 1 dei primi 3 valori di un vettore for i := 1 to 3 do vettore[i] := vettore[i] + 1; Esempio: stampa di un vettore di lunghezza n for i := 1 to n do writeln(vettore[i]); D. Gubiani, e Programmi 39 D. Gubiani, e Programmi 40 Procedure e Funzioni Procedure Definizione di una procedura: Una procedura/funzione è una porzione di codice riutilizzabile Entrambi possono prevedere parametri in ingresso: - passaggio parametro per valore - passaggio parametro per riferimento Le funzioni restituiscono un valore in uscita procedure nome procedura(parametri); var begin end; Invocazione di una procedura: nome procedura(variabili); D. Gubiani, e Programmi 41 D. Gubiani, e Programmi 42
8 Funzione e Procedure/Funzioni Definizione di una funzione: function nome funzione(parametri) : tipo restituito; var begin nome funzione := end; Locali: definite all interno di una procedure/funzioni, possono essere richiamate solo all interno della specifica procedure/funzioni Globali: definite nel programma principale, possono essere utilizzate in tutto il programma, anche all interno delle procedure/funzioni Invocazione di una funzione: x := nome funzione(variabili); D. Gubiani, e Programmi 43 D. Gubiani, e Programmi 44 Maggiore fra 2 Numeri Fattoriale Iterativo D. Gubiani, e Programmi 45 D. Gubiani, e Programmi 46 Fattoriale Ricorsivo Insertion sort D. Gubiani, e Programmi 47 D. Gubiani, e Programmi 48
9 Merge sort D. Gubiani, e Programmi 49
Elementi di Informatica
Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi
DettagliUn algoritmo ben fatto deve terminare dopo un numero finito
Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani, e Programmi 1 Esempi di dal
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
DettagliGESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
Dettagli3. La sintassi di Java
pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer
DettagliProf. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:
LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari
DettagliUniversità di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
DettagliMetodologie di programmazione in Fortran 90
Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
DettagliAPPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL
APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni
DettagliProgetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012
Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di
DettagliAlgoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliGli algoritmi: definizioni e proprietà
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliAppunti di Sistemi Elettronici
Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare
DettagliCorso di INFORMATICA 2 (Matematica e Applicazioni)
Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto
DettagliLinguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
DettagliRAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI
RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI Diagramma di flusso L algoritmo può essere rappresentato in vari modi, grafici o testuali. Uno dei metodi grafici più usati e conosciuti è il cosiddetto diagramma
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture
DettagliCenni su algoritmi, diagrammi di flusso, strutture di controllo
Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni
DettagliIntroduzione. Informatica B. Daniele Loiacono
Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione
DettagliLaboratorio di Informatica
Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di
DettagliAlgebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
Dettagli+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice
Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica
DettagliIntroduzione ai tipi di dato astratti: applicazione alle liste
Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione
DettagliMATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
DettagliINTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili 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 Corso di
DettagliI Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio
Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe
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 UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010
DettagliAlgoritmi, dati e programmi
1 Algoritmi, dati e programmi 2 Informatica Informatica: Scienza che studia l informazione e la sua elaborazione. informazione rappresentazione dell informazione (dati) dati elaborazione dei dati tramite
DettagliIntroduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali
a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:
DettagliCorso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
DettagliPIANO DI LAVORO DEI DOCENTI
Pag. 1 di 6 Docente: Materia insegnamento: SISTEMI ELETTRONICI AUTOMATICI Dipartimento: ELETTRONICA Classe Anno scolastico: 1 Livello di partenza (test di ingresso, livelli rilevati) Sono richieste conoscenze
DettagliArduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
DettagliALGEBRA DELLE PROPOSIZIONI
Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra
DettagliLa selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
DettagliObiettivi d esame PHP Developer Fundamentals on MySQL Environment
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web
DettagliNascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti
Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del
DettagliLinguaggi di programmazione
Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliUtilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini
Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
DettagliIl software e la programmazione
Il software e la programmazione Concetti base sul software Elementi di programmazione Cenni sul linguaggio Pascal Che cosa è il software Determina ciò che un computer può fare Include istruzioni memorizzate
DettagliDAL DIAGRAMMA AL CODICE
DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza
DettagliLa programmazione. Sviluppo del software
La programmazione problema Sviluppo del software idea (soluzione informale) algoritmo (soluzione formale) programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico)
DettagliFondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliRichiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
Dettagli3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo
DettagliCorso di Laurea in INFORMATICA
Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica
DettagliNozione di algoritmo. Gabriella Trucco
Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere
Dettagli- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN
ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste
DettagliOBIETTIVI SPECIFICI DI APPRENDIMENTO
Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa
DettagliLICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita
LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Modulo 1: Introduzione all informatica Fondamenti di teoria della elaborazione
DettagliGian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliISTITUTO TECNICO ECONOMICO MOSSOTTI
CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliLezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.
Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE Comunicazione importante dalla prossima settimana, la lezione del venerdì si terrà: dalle 15:00 alle 17.15 in aula 311 l orario
DettagliDAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE
DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE Il problema Un computer è usato per risolvere dei problemi Prenotazione di un viaggio Compilazione e stampa di un certificato in un ufficio comunale Preparazione
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliSemantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.
Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue
DettagliCorso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO
Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato
DettagliCapitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.
Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2
DettagliDI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1
DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica
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 Problema Strategia
DettagliAlgebra Booleana ed Espressioni Booleane
Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale
DettagliGUIDA BASE DI PASCAL
1 GUIDA BASE DI PASCAL Un algoritmo, nel suo significato più ampio, è sequenza logica di istruzioni elementari (univocamente interpretabili) che, eseguite in un ordine stabilito, permettono la soluzione
DettagliStrutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
DettagliCOS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
DettagliIntroduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 9
Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 9 Anno accademico 2006-07 Titolare corso: Prof. Costanza Torricelli Docente: Dott.ssa Marianna Brunetti Variabili
DettagliSoftware di base. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliEVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO
EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi
DettagliProgrammazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: giammarr@mat.uniroma2.it Tutor:??? Informazioni generali
DettagliAlgoritmi. Maurizio Palesi. Maurizio Palesi 1
Algoritmi Maurizio Palesi Maurizio Palesi 1 Cos è Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Un algoritmo è un metodo per la soluzione
DettagliScopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliAA 2006-07 LA RICORSIONE
PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella
Dettagli(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste
DettagliLinguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni
Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliLinguaggi di programmazione
Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliFondamenti di Informatica II
Fondamenti di Informatica II Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Introduzione, A.A. 2009/2010 1/8
DettagliDefinizione di nuovi tipi in C
Definizione di nuovi tipi in C typedef Ancora sui tipi di dato Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe
DettagliIl calcolatore oggi : UN SISTEMA DI ELABORAZIONE
Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE hardware Firmware, software memorizzato su chip di silicio Sistema Operativo venduto con l, comprende vari programmi di gestione del sistema Applicativo,
DettagliSTRUTTURE (O COSTRUTTI) DI CONTROLLO
Le strutture di controllo Le strutture di controllo STRUTTURE (O COSTRUTTI) DI CONTROLLO determinano l ordine con cui devono essere eseguite le istruzioni sono indipendenti dalla natura delle istruzioni
DettagliCorso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP
Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate
DettagliElementi di Architettura e Sistemi Operativi
Elementi di Architettura e Sistemi Operativi Bioinformatica - Tiziano Villa 15 Giugno 2015 Nome e Cognome: Matricola: Posta elettronica: problema punti massimi i tuoi punti problema 1 4 problema 2 6 problema
DettagliAppunti del corso di Informatica 1. 6 Introduzione al linguaggio C
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C
Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
Dettagli