Corso di Esercitazioni di Programmazione
|
|
- Achille Luciani
- 8 anni fa
- Visualizzazioni
Transcript
1 Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi
2 Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami..
3 Informazioni e spiegazioni Per ricevere gli avvisi relativi al corso ci si può iscrivere alla mailing list programmazione@listserver.dsi.unive.it usando la pagina web oppure inviando direttamente una a sympa@listserver.dsi.unive.it mettendo nel body il testo subscribe programmazione
4 Ricevimento Martedì dalle alle oppure su appuntamento
5 Libri di Testo C Corso completo di programmazione H.M. Deitel, P.J. Deitel Apogeo The C Programming Language Kernighan, Ritchie Prentice Hall
6 Laboratorio Lunedì e Giovedì dalle alle Tutor Luca Leonardi
7 Laboratorio Richiesta dell account: In aula 3 c'è un PC su un carrello rosso dove le matricole DEVONO iscriversi (inserendo Cognome, Nome, Numero di matricola, e eventuale ); Coloro che non sono ancora iscritti e quindi non hanno il numero di matricola, come matricola devono scrivere "TEMP07" per ottenere un account provvisorio valido fino al 31/12.
8 Esercitazioni settimanali Ogni settimana verranno assegnate delle esercitazioni da svolgere a casa Le esercitazioni devono essere consegnata via web (si veda la pagina web del corso)
9 Esame L'esame consiste in due prove distinte: - una prova teorica scritta; - una prova pratica in laboratorio. Per passare l'esame entrambe le prove devono essere sufficienti, e verranno registrati due voti che sono la media dei due esami + un bonus per le esercitazioni svolte e consegnate durante l'anno. Si tratta di due prove indipendenti, il cui voto rimane valido per tutto l'anno accademico.
10 Problemi, Algoritmi e Programmi Approfondiamo come progettare e scrivere nuovi algoritmi e programmi
11 Risolvere un problema es : riconoscere qualcuno fra la folla Dati di ingresso Elaborazione Dati di uscita Immagine della folla Ricerca nell immagine SI, NO, chi è la persona riconosciuta
12 Risolvere un problema es : torta di carote Dati di ingresso Elaborazione Dati di uscita Ingredienti Combinazione degli ingredienti secondo una opportuna ricetta La torta!
13 Risolvere un problema vogliamo essere capaci di specificare la strategia seguita dal passo di elaborazione in modo da farla eseguire automaticamente dal computer quindi dobbiamo : riuscire a descrivere accuratamente i vari passi della soluzione attraverso azioni che il calcolatore è in grado di effettuare e con un linguaggio che è in grado di comprendere
14 Risolvere un problema Dati di ingresso Elaborazione Dati di uscita Codificati opportunamente Trasformazione dei dati di ingresso seguendo i passi specificati da un opportuno algoritmo Ovvero la descrizione dell algoritmo secondo un linguaggio comprensibile al calcolatore Umano (che conosce l algoritmo) programma Calcolatore (che conosce alcune azioni elementari: es confrontare due numeri, eseguire semplici operazioni aritmetiche
15 Qual è il ruolo dei calcolatori? Nel loro impiego tradizionale, i calcolatori sono essenzialmente esecutori di soluzioni che esseri umani hanno previamente identificato e descritto Questo utilizzo è motivato dalla notevole velocità di esecuzione dei calcolatori e dalla loro capacità di eseguire molte volte la stessa operazione Un calcolatore è caratterizzato dal linguaggio che è in grado di interpretare e dalle istruzioni che è in grado di eseguire
16 Introduzione alla programmazione Prima di scrivere un programma: Avere una piena comprensione del problema Pianificare con cura un approccio per risolverlo Mentre si scrive un programma: Sapere quali mattoni per costruire sono disponibili Seguire buoni principi di programmazione
17 Algoritmi Problemi di elaborazione Possono essere risolti eseguendo, in un ordine specifico, una serie di azioni Algoritmo: procedura in termini di Azioni che devono essere eseguite L ordine in cui tali azioni devono essere eseguite
18 Algoritmi e Programmi Algoritmo (def) : una sequenza di azioni non ambigue che trasforma i dati iniziali nel risultato finale utilizzando un insieme di azioni elementari che possono essere eseguite da un opportuno esecutore. Programma (def) specifica di un algoritmo utilizzando un linguaggio non ambiguo e direttamente comprensibile dal computer
19 Pseudocodice Linguaggio artificiale e informale, che aiuta i programmatori a sviluppare gli algoritmi Simile all italiano di tutti i giorni Non realmente eseguito sui computer Aiuta il programmatore a riflettere sul programma, prima che provi a scriverlo Facilmente convertibile in un corrispondente programma C
20 Strutture di controllo Esecuzione sequenziale Le istruzioni sono eseguite, una dopo l altra, nell ordine in cui sono state scritte Trasferimento di controllo Quando la prossima istruzione ad essere eseguita non è la prossima nella sequenza Strutture di controllo Tutti i programmi possono essere scritti in termini di tre sole strutture di controllo: Struttura di sequenza: le istruzioni vengono eseguite sequenzialmente in modo implicito Struttura di selezione: Se, Se altrimenti Struttura di iterazione: Finché
21 Diagramma di flusso Sono grafici che permettono di esprimere un algoritmo in modo preciso ed intuitivo Si costruiscono a partire da un certo numero di blocchi base che rappresentano le operazioni elementari ed i costrutti di controllo
22 Diagramma di flusso I blocchi base: Inizio Sottoprog. Operazione I/0 Fine Si Cond. No Elaborazione
23 Il comando di selezione Se Struttura di selezione: Usata per scegliere tra percorsi di azione alternativi Pseudocodice: Se il voto dello studente è maggiore o uguale a 60 Visualizza Promosso Se la condizione è vera Sarà visualizzato Promosso ed eseguita l istruzione sucessiva Se falsa, la visualizzazione sarà ignorata e sarà eseguita l istruzione successiva I rientri rendono i programmi più semplici da leggere
24 Il comando di selezione Se Simbolo rombo (simbolo di decisione) Indica che dovrà essere eseguita una scelta Contiene un espressione che può essere vera o falsa Testa la condizione, segue il percorso appropriato
25 Il comando di selezione Se altrimenti Se Esegue l azione indicata solo quando la condizione è vera Se altrimenti Specifica che, nel caso in cui la condizione sia vera, dovrà essere eseguita una azione differente da quella che si dovrà eseguire qualora la condizione sia falsa Pseudocodice: Se il voto dello studente è maggiore o uguale a 60 Visualizza Promosso altrimenti Visualizza Bocciato Osservate le convenzioni di rientro e spaziatura
26 Il comando di selezione Se altrimenti Diagramma di flusso del comando di selezione
27 I comandi Se altrimenti nidificati Se il voto dello studente è maggiore o uguale a 90 Visualizza A altrimenti Se il voto dello studente è maggiore o uguale a 80 Visualizza B altrimenti Se il voto dello studente è maggiore o uguale a 70 Visualizza C altrimenti Se il voto dello studente è maggiore o uguale a 60 Visualizza D altrimenti Visualizza F
28 Diagramma di flusso I blocchi base vengono collegati tramite frecce che collegano un azione alla successiva all interno dell algoritmo Vediamo il diagramma di flusso del seguente algoritmo: Trovare il maggiore fra 2 numeri interi x e y
29 Il maggiore fra due numeri interi x, y Algoritmo max 1. Leggi i valori di x e y dall esterno 2. Calcola la differenza d fra x e y (d=x-y) 3. Se d è maggiore di 0 allora esegui il passo 4 altrimenti esegui il passo 5 4. Stampa il massimo è seguito dal valore di x e termina 5. Stampa il massimo è seguito dal valore di y e termina
30 DF di max Inizio Leggi x e y d = x - y Si Scrivi max è x d > 0? No Scrivi max è y Fine
31 DF di max Inizio Passo 1 Leggi x e y d = x - y Passo 2 Si Scrivi max è x Passo 3No d > 0? Scrivi max è y Passo 4 Passo 5 Fine
32 DF e programmi I DF sono un primo passo verso la formalizzazione di un algoritmo in modo non ambiguo Per ottenere una codifica interpretabile direttamente dalla macchina dobbiamo però specificare molti più dettagli : trasformare tutte le frasi in variabili e modifiche su di esse
33 Programmi Per ottenere una codifica interpretabile direttamente dalla macchina dobbiamo anche : decidere come codificare l informazione non banale in esempi più complessi del nostro, ad esempio se voglio codificare un immagine o un video scrivere il tutto con una codifica leggibile dalla macchina ma la macchina lavora molto a basso livello (linguaggio macchina, codificato con zeri e uni)!!!!
34 Programmi soluzione. usare linguaggi di livello più alto (linguaggi di programmazione ad alto livello) usare dei programmi appositi per far tradurre i nostri programmi in linguaggio macchina (i compilatori) importante. I tipici linguaggi (C, C++, Java, Fortran, Basic ) permettono di definire strutture del tutto analoghe ai diagrammi di flusso che abbiamo visto finora
35 Programma: max in C main() /* calcola max */ { int x, y, d; scanf ("%d %d, &x, &y) ; d = x - y ; if (d > 0) printf ( il max è %d, &x) ; else printf ( il max è %d, &y) ; return ; }
36 Comando: if-else La forma generale dell istruzione if-else è la seguente: if (espressione) istruzione; else istruzione; dove istruzione può essere una singola istruzione, un blocco di istruzioni o l istruzione nulla. La clausola else è opzionale. Se espressione fornisce un risultato vero, viene eseguita l istruzione o il blocco relativo alla parte if; Se espressione fornisce un risultato falso, verrà eseguita, se esiste, l istruzione o il blocco else.
37 Comando: if-else /* Scrivere un programma che legge due numeri e stampa il maggiore */ #include <stdio.h> int main ( ) { int x, y, max; printf ( Digita due numeri: ); scanf ( %d%d, &x, &y); if (x>y) max = x; else max = y; printf ( %d\n, max); }
38 Comando: if-else /* Scrivere un programma come prima che non usa la variabile max */ #include <stdio.h> int main ( ) { int x, y; printf ( Digita due numeri: ); scanf ( %d%d, &x, &y); if (x>y) printf ( %d\n, x); else printf ( %d\n, y); }
39 Comando: if-else /* Scrivere un programma che riceve un numero intero in input, determina se il numero e maggiore o minore di 100 e stampa a video un messaggio corrispondente */ #include <stdio.h> int main( ) { int i; /* dichiarazione di variabile */ printf ( Dammi un intero: ); scanf ( %d, &i); /* inizializzazione della variabile i */ if (i<100) printf ( il numero inserito è minore di 100\n ); else printf ( il numero inserito è maggiore o uguale a 100\n ); }
40 Espressioni booleane /* Utilizzo delle espressioni booleane */ #include <stdio.h> int main( ) { int a, i; printf ( Dammi un intero: ); scanf ( %d, &i); a = i<100; if (a!=0) /* equivale a if (i<100) */ printf ( il numero inserito è minore di 100\n ); else printf ( il numero inserito è maggiore o uguale a 100\n ); }
41 Espressioni booleane L assegnamento a=i<100 è del tutto lecito, perché viene valutata l espressione logica i<100, che può restituire 1 (true) o 0 (false). Il risultato e dunque un numero intero, che viene assegnato alla variabile, di tipo int, a. Valutare l espressione a!=0 significa chiedersi se il valore di a è diverso da 0. Ma questo equivale a chiedersi se il valore di a è true. Si può dunque modificare il programma precedente come segue.
42 Espressioni booleane /* Un altro esempio di utilizzo delle espressioni booleane */ #include <stdio.h> int main( ) { int a, i; printf ( Dammi un intero: ); scanf ( %d, &i); a = i<100; if (a) /* equivale a if (i<100) */ printf ( il numero inserito è minore di 100\n ); else printf ( il numero inserito è maggiore o uguale a 100\n ); }
43 Espressioni booleane Dato che le espressioni booleane restituiscono un risultato numerico, non esistono differenze tra le espressioni booleane e quelle aritmetiche. Un espressione può contenere una combinazione di operatori aritmetici, logici e relazionali. Esempio w = k + numero + (i < 100); l assegnamento viene effettuato alla fine, perché = ha la priorità più bassa.
44 Attenzione Essendo l operatore di assegnamento trattato alla stregua degli altri, sarà lecita anche la seguente espressione: i > n && (x=y) dove i > n è vera se il valore di i è maggiore di n; mentre x=y corrisponde all assegnamento di y alla variabile x: in questo caso, se il valore di y è diverso da zero l espressione (x=y) risulta vera altrimenti è falsa. Queste caratteristiche rendono il C un linguaggio flessibile che consente la scrittura di codice sintetico ed efficiente ma anche difficilmente interpretabile.
45 Esercizio Dire cosa stampano i seguenti programmi /* esempio di if-else */ #include <stdio.h> int main( ) { int x, y; x = 5; y= 4; if (x==y) printf( vero ); else printf ( falso ); } stampa falso /* altro esempio di if-else */ #include <stdio.h> int main( ) { int x, y; x = 5; y = 4; if (x=y) printf ( vero ); else printf ( falso ); } stampa vero
46 Esempio: Tenta l ambo /* Il gioco Tenta l ambo è una semplificazione del gioco del lotto. Il gioco consiste nell indovinare una coppia di numeri estratti casualmente nell intervallo [1,90]. Il programma genera una coppia di numeri usando la funzione rand(), che definisce un valore intero compreso tra 0 e 32767, e usando in seguito l operatore % per ottenere un numero nell intervallo desiderato. La funzione rand() richiede l uso del file header stdlib.h. Se il giocatore indovina la coppia di numeri allora il programma visualizza il messaggio ^^Ambo!^^ altrimenti visualizza il messaggio ^^Peccato^^. */
47 Esempio: Tenta l ambo #include <stdio.h> /* Programma per indovinare l ambo*/ #include <stdlib.h> int main ( ) { int estratto1, estratto2; /* numeri estratti */ int guess1, guess2; /* valori immessi dall utente */ estratto1 = rand( ) % 90 +1; /* estrae il primo numero */ estratto2 = rand( ) % 90 +1; /* estrae il secondo numero */ printf ( Tenta l ambo: ); scanf ( %d %d, &guess1, &guess2); if ( guess1 == estratto1 && guess2==estratto2 guess1 == estratto2 && guess2==estratto1 ) printf( ^^Ambo!^^ ); else printf ( ^^Peccato^^ ); }
INTRODUZIONE 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.
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
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
DettagliProcesso di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico
Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare
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
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
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
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
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
DettagliDAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.
DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come Scopo principale dell informatica è risolvere problemi con i calcolatori. Non tutti i problemi sono risolvibili con i calcolatori. Si può dimostrato
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:
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
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
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
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
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
DettagliEsempi di algoritmi. Lezione III
Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni
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
DettagliEsercitazione 2. Espressioni booleane Il comando if-else
Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in
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
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
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
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
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) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Facoltà di Scienze M.F.N. 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)
DettagliCodifica: dal diagramma a blocchi al linguaggio C++
Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU
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
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
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
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
DettagliProgrammazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliNote su quicksort per ASD 2010-11 (DRAFT)
Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea
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
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
DettagliFondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi
Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
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
DettagliFORMULE: Operatori matematici
Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere
DettagliCorso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
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
DettagliGuida Compilazione Piani di Studio on-line
Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-
DettagliInformatica per le discipline umanistiche 2 lezione 14
Informatica per le discipline umanistiche 2 lezione 14 Torniamo ai concetti base dellʼinformatica. Abbiamo sinora affrontato diversi problemi: avere unʼidentità online, cercare pagine Web, commentare il
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
DettagliSCUOLA PRIMARIA Anno Scolastico 2014/2015 CURRICOLO DI TECNOLOGIA OBIETTIVI DI APPRENDIMENTO AL TERMINE DELLA CLASSE TERZA DELLA SCUOLA PRIMARIA
Ministero dell Istruzione, dell Università e della Ricerca Istituto Comprensivo Statale di Calolziocorte Via F. Nullo,6 23801 CALOLZIOCORTE (LC) e.mail: lcic823002@istruzione.it - Tel: 0341/642405/630636
Dettagli4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
DettagliRISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
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
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
DettagliProva di Laboratorio di Programmazione
Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare
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
DettagliStrutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
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
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
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
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
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
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
Dettagliconnessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI
Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti
DettagliDropbox di classe. É un servizio internet fornito gratuitamente (funzioni base).
Dropbox di classe Lo scopo del servizio Dropbox di classe è quello di far conoscere ai docenti del nostro istituto il funzionamento di un sistema di Cloud Storage, pronto e facile da usare, per esplorare
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
DettagliSOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:
1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni
DettagliIl sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.
E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica
DettagliMatematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE
Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
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
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliEsercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
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
DettagliRealizzazione di Politiche di Gestione delle Risorse: i Semafori Privati
Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad
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
DettagliRICERCA DI UN ELEMENTO
RICERCA DI UN ELEMENTO Si legga da tastiera un array di N elementi (N stabilito dall utente) Si richieda un elemento x il programma deve cercare l elemento x nell array Se l elemento è presente, deve visualizzare
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
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
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
DettagliTesti di Esercizi e Quesiti 1
Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica
DettagliEsercizi di JavaScript
Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio
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
DettagliCorrettezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza
DettagliElementi di semantica operazionale
Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione
DettagliPROGETTO EM.MA PRESIDIO
PROGETTO EM.MA PRESIDIO di PIACENZA Bentornati Il quadro di riferimento di matematica : INVALSI e TIMSS A CONFRONTO LE PROVE INVALSI Quadro di riferimento per la valutazione Quadro di riferimento per i
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliMatematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
DettagliMODELLO RELAZIONALE. Introduzione
MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)
DettagliIntroduzione alla Programmazione
Introduzione alla Programmazione Lorenzo Bettini Corso di Laurea in Scienze dell'educazione 2014/2015 Cosa è un programma Costituito da tante istruzioni Una lista di cose da fare Che il processore esegue
DettagliShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del
Progetto Software to Fit - ShellExcel Pagina 1 Manuale d'uso ShellExcel ShellExcel è una interfaccia per disabili che permette ad un alunno con difficoltà di apprendimento di esercitarsi ripetitivamente
DettagliRICHIESTE INTERVENTO
RICHIESTE INTERVENTO Indice INDICE...2 INTRODUZIONE... 3 1.1 FUNZIONALITÀ "RICHIESTA INTERVENTO"... 3 1.1.1 Nuovo Ticket... 4 1.1.2 My open Ticket... 8 1.1.3 Gli stati del Sistema... 9 1.1.4 Certificazione
Dettagliper immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1
Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Il raggruppamento e la struttura dei dati sono due funzioni di gestione dati di Excel, molto simili tra
DettagliSistemi Web! per il turismo! - lezione 3 -
Sistemi Web per il turismo - lezione 3 - I computer sono in grado di eseguire molte operazioni, e di risolvere un gran numero di problemi. E arrivato il momento di delineare esplicitamente il campo di
DettagliRicapitoliamo. Ricapitoliamo
Ricapitoliamo Finora ci siamo concentrati sui processi computazionali e sul ruolo che giocano le procedure nella progettazione dei programmi In particolare, abbiamo visto: Come usare dati primitivi (numeri)
DettagliLa gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.
DettagliMANUALE MOODLE STUDENTI. Accesso al Materiale Didattico
MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...
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)
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
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
DettagliFONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira
FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 1 Introduzione all informatica: algoritmi, linguaggi e programmi Indice 1. Introduzione 2. Risoluzione automatica di problemi - Algoritmi
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
DettagliIntroduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma La Sapienza WARNING Questo canale è solo per studenti di Fisica il cui cognome inizia con le lettere A-C TUTTAVIA
DettagliObiettivo Principale: Aiutare gli studenti a capire cos è la programmazione
4 LEZIONE: Programmazione su Carta a Quadretti Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10 Minuti Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione SOMMARIO:
DettagliIng. Paolo Domenici PREFAZIONE
Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte
Dettagli