Switch. Unità 3. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
|
|
- Alberto Pellegrini
- 7 anni fa
- Visualizzazioni
Transcript
1 Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi
2 Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto 25 (adiacente Piazza Dante, Manzoni Tram 3 fermata via Labicana) bloisi@dis.uniroma1.it home page: Pagina 2
3 Ricevimento In aula, subito dopo le lezioni Su appuntamento (tramite invio di una ) presso: Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti, via Ariosto 25 - II piano, stanza A209 Si invitano gli studenti a controllare regolarmente la bacheca degli avvisi Pagina 3
4 Orari Lunedì Aula 4, via del Castro Laurenziano 7A Martedì Aula 15, Laboratorio Didattico via Tiburtina 205 Mercoledì Aula 4, via via del Castro Laurenziano 7A Pagina 4
5 Sommario Operatori di uguaglianza e relazionali Calcolo booleano Istruzione if-else e istruzione if Condizioni ed espressioni booleane Blocco di istruzioni if annidati Espressione condizionale Istruzione switch Pagina 5
6 Istruzione if Dati mese e anno correnti, calcolare mese e anno del mese successivo. #include <stdio.h> int main() { int mese, anno, mese_s, anno_s; printf(" Mese: "); scanf("%d", &mese); printf(" Anno: "); scanf("%d", &anno); if (mese == 12){ mese_s = 1; anno_s = anno+1; else { mese_s = mese+1; anno_s = anno; printf("\n Mese: %d, \n Anno %d",mese_s, anno_s); return 0; Pagina 6
7 if annidati Si hanno quando l istruzione del ramo-then o del ramo-else è un istruzione if-else o if. int giorno, mese, anno, giornosucc, mesesucc, annosucc;... if (mese == 12) { if (giorno == 31) { else {... giornosucc = 1; mesesucc = 1; annosucc = anno + 1; else { giornosucc = giorno + 1; mesesucc = mese; annosucc = anno; Dati giorno, mese e anno correnti, calcolare giorno, mese e anno del mese successivo. Pagina 7
8 if annidati con condizioni mutuamente esclusive Un caso comune di utilizzo degli if annidati è quello in cui le condizioni degli if annidati si escludono mutuamente. Esempio In base al valore della temperatura (intero), stampare un messaggio secondo la seguente tabella: Pagina 8
9 Soluzione A #include <stdio.h> int main() { int temp; printf("temperatura: "); scanf("%d", &temp); if (temp > 30) printf("molto caldo\n"); if (temp > 20 && temp <=30) printf("caldo\n"); if (temp > 10 && temp <=20) printf("gradevole\n"); if (temp <= 10 ) printf("freddo\n"); return 0; Pagina 9
10 Soluzione B if annidati #include <stdio.h> int main() { int temp; printf("temperatura: "); scanf("%d", &temp); if (temp > 30) printf("molto caldo\n"); else if (temp > 20) printf("caldo\n"); else if (temp > 10) printf("gradevole\n"); else printf("freddo\n"); return 0; N.B. I tre livelli di if annidati sono evidenziati con tre colori diversi. Pagina 10
11 if annidati con condizioni mutuamente esclusive (2/3) Alcune osservazioni: Al livello più esterno abbiamo un unica istruzione if-else L ordine in cui vengono specificate le condizioni è significativo Non serve che la seconda condizione sia composta, ad es. (20 < temp) && (temp <= 30) Ogni else si riferisce all if immediatamente precedente Pagina 11
12 Esercizio Esercizio 3.3 Scrivere un programma che studi le soluzioni dell equazione di secondo grado Pagina 12
13 Esercizio 3.3 Specifica: Scrivere un programma che studi le soluzioni dell equazione di secondo grado ax 2 +bx+c=0 Algoritmo: Si hanno tre possibili casi, in base al valore di Δ = b 2 4ac : A. Δ > 0: radici reali e distinte B. Δ = 0: radici reali coincidenti C. Δ < 0: radici immaginarie Pagina 13
14 Soluzione Esercizio 3.3 #include <stdio.h> #include <stdlib.h> int main() { int int_a, int_b, int_c, delta; printf("programma per la soluzione di ax^2+bx+c\n\n"); printf("inserisci a:\n"); scanf("%d", &int_a); printf("inserisci b:\n"); scanf("%d", &int_b); printf("inserisci c:\n"); scanf("%d", &int_c); delta = int_b*int_b - 4*int_a*int_c; if(delta > 0) printf("le radici sono reali e distinte\n"); else if(delta == 0) printf("le radici sono reali e coincidenti\n"); else printf("le radici sono immaginarie\n"); system("pause"); Pagina 14
15 Test: output del programma Programma per la soluzione di ax^2+bx+c inserisci a: 3 inserisci b: 4 inserisci c: 6 le radici sono immaginarie Premere un tasto per continuare... Pagina 15
16 Istruzioni if-else con else ambiguo (1/3) Consideriamo il seguente frammento di codice: if (a > 0) if (b > 0) printf("b positivo\n"); else printf("???\n"); printf("???\n"); potrebbe essere il ramo else Del primo if: quindi andrebbe sostituito con printf("a non positivo\n"); Del secondo if: quindi andrebbe sostituito con printf("b non positivo\n"); Pagina 16
17 Istruzioni if-else con else ambiguo (2/3) L ambiguità si risolve assumendo come regola: Un else fa sempre riferimento all if più vicino if (a > 0) if (b > 0) printf("b positivo\n"); else printf("b non positivo\n"); Pagina 17
18 Istruzioni if-else con else ambiguo (3/3) E sempre possibile usare il blocco di istruzioni (cioè { ) per disambiguare istruzioni if-else annidate. In particolare, affinché un else si riferisca ad un if che non sia quello immediatamente precedente, quest ultimo deve essere racchiuso in un blocco. Esempio if (a > 0) { if (b > 0) printf("b positivo\n"); else printf("a non positivo\n"); Pagina 18
19 Esercizio: tipo di triangolo Esercizio 3.4 Scrivere un programma che acquisisca tre valori a, b, c rappresentanti le lunghezze dei lati di un triangolo e sia in grado di stabilire se si tratti di un triangolo equilatero, isoscele o scaleno. Pagina 19
20 Tipo di triangolo: possibile algoritmo Un primo algoritmo: si confrontano i lati a coppie, fin quando non si sono raccolte informazioni sufficienti a decidere il tipo del triangolo. Pagina 20
21 Tipo di triangolo: possibile algoritmo Ciascun lato deve essere minore della somma degli altri due, altrimenti non si ha un triangolo (a + b) > c AND (b + c) > a AND (a + c) > b E: equilatero I: isoscele S: scaleno Pagina 21
22 Tipo di triangolo: codice #include <stdio.h> int main () { int a,b,c; printf("valore di a:\n"); scanf("%d", &a); printf("valore di b:\n"); scanf("%d", &b); printf("valore di c:\n"); scanf("%d", &c); if (((a + b) > c) && ((b + c) > a) && ((a + c) > b)) { if (a==b) { if (a==c) printf("triangolo equilatero"); else printf("triangolo isoscele"); else if (a==c) printf("triangolo isoscele"); else if (b==c) printf("triangolo isoscele"); else printf("triangolo scaleno"); else printf("non e\' un triangolo!"); return 0; Pagina 22
23 Condizione Complessa La condizione di un istruzione if-else può essere un espressione booleana complessa, nella quale compaiano gli operatori logici &&,, e!. Si deve tenere presente che le sotto-espressioni relative a tali operatori vengono valutate da sinistra a destra Pagina 23
24 Valutazione di una condizione complessa Nel valutare (e1 && e2), se la valutazione di e1 restituisce 0 (falso), allora e2 non viene valutata. Nel valutare (e1 e2), se la valutazione di e1 restituisce 1 (vero), allora e2 non viene valutata. Pagina 24
25 Esempio int i;... if (i > 0 && f(i) > 100) { printf("%d\n", i); Si noti che la funzione f(i) non viene invocata nel caso in cui i abbia valore minore o uguale a 0. Nota: istruzioni if-else che fanno uso di espressioni booleane complesse potrebbero essere riscritte attraverso l uso di if-else annidati. In generale, però, questo comporta la necessità di duplicare codice. Pagina 25
26 Uso dell operatore di congiunzione && if ((x < y) && (y < z)) printf("y compreso tra x e z\n"); else printf("y non compreso tra x e z\n"); corrisponde a if (x < y) if (y < z) printf("y compreso tra x e z\n"); else printf("y non compreso tra x e z\n"); else printf("y non compreso tra x e z\n"); Pagina 26
27 Uso dell'operatore di disgiunzione if ((x == 1) (x == 2)) printf("x uguale a 1 o a 2\n"); else printf("x diverso da 1 e da 2\n"); corrisponde a if (x == 1) printf("x uguale a 1 o a 2\n"); else if (x == 2) printf("x uguale a 1 o a 2\n"); else printf("x diverso da 1 e da 2\n"); Pagina 27
28 Espressione condizionale Il C mette a disposizione un operatore di selezione che permette di costruire un espressione condizionale. L uso di un espressione condizionale può, in alcuni casi, semplificare il codice rispetto all uso di un istruzione if-else. Sintassi condizione? espressione1 : espressione2 condizione è un espressione condizionale espressione1 e espressione2 sono due espressioni qualsiasi che devono essere dello stesso tipo Pagina 28
29 Semantica Valuta condizione. Se il risultato è diverso da zero (true), allora valuta espressione1 e restituiscine il valore, altrimenti (false) valuta espressione2 e restituiscine il valore. Esempio printf("massimo = %d\n", (a > b)? a : b); Pagina 29
30 Operatore di selezione ternario (? :) L istruzione printf("massimo = %d\n", (a > b)? a : b); è equivalente a: if (a > b) printf("massimo = %d", a); else printf("massimo = %d", b); L operatore di selezione combina espressioni e restituisce un altra espressione L istruzione if-else raggruppa istruzioni, ottenendo un istruzione composta. Pagina 30
31 L'istruzione switch Consente di realizzare una selezione a più vie. Sintassi (versione con break) switch (espressione) { case etichetta1 : istruzioni1 break;... case etichettan : istruzionin break; default: istruzioni-default Pagina 31
32 Sintassi espressione è un espressione intera o di tipo char etichetta1,..., etichettan sono espressioni intere (o carattere) costanti; possono contenere solo letterali interi (o carattere) o costanti inizializzate con espressioni costanti; una espressione non può essere ripetuta come etichetta in più case istruzioni1,..., istruzionin e istruzioni-default sono sequenze di istruzioni qualsiasi La parte default è opzionale Pagina 32
33 Semantica 1. viene prima valutata espressione 2. viene cercato il primo K per cui il valore di espressione è pari a etichettak 3. se si è trovato tale K, allora vengono eseguite istruzionik, altrimenti vengono eseguite istruzioni-default 4. l esecuzione procede con l istruzione successiva all istruzione switch Pagina 33
34 Esempio int i;... switch (i) { case 0: printf("zero\n"); break; case 1: printf("uno\n"); break; case 2: printf("due\n"); break; default: printf("minore di zero \n"); printf("o maggiore di due\n"); Pagina 34
35 Raggruppare i case Se si hanno più valori per cui eseguire le stesse istruzioni, si possono raggruppare i diversi case: case valore1 : case valore2 : istruzioni break; Pagina 35
36 Esempio: raggruppare i case int mese, giornidelmese;... switch (mese) { case 4: case 6: case 9: case 11: giornidelmese = 30; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: giornidelmese = 31; break; case 2: giornidelmese = 28; break; default: giornidelmese = 0; printf("mese non valido\n"); printf("giorni: %d\n", giornidelmese); Pagina 36
37 Osservazioni sull istruzione switch L espressione usata per la selezione può essere una qualsiasi espressione C che restituisce un valore intero o carattere (ma non un valore reale). I valori specificati nei vari case devono invece essere espressioni costanti, cioè il loro valore deve essere noto a tempo di compilazione. Non possono essere usate nei case espressioni che facciano riferimento a variabili. Pagina 37
38 Errori nell istruzione switch Il seguente frammento di codice è sbagliato: int a;... switch (a) { case a < 0: printf("negativo\n"); // ERRORE: a < 0 non e' una costante case 0: printf("nullo\n"); case a > 0: printf("positivo\n"); // ERRORE: a > 0 non e' una costante Pagina 38
39 Omissione del break In generale, non è obbligatorio che nei case di un istruzione switch l ultima istruzione sia break. Sintassi (versione generale) switch (espressione) { case etichetta1 : istruzioni1... case etichettan : istruzionin default: istruzioni-default Pagina 39
40 Sintassi espressione è un espressione intera o di tipo char etichetta1,..., etichettan sono espressioni intere (o carattere) costanti; ovvero, possono contenere solo letterali interi (o carattere) o costanti inizializzate con espressioni costanti; una espressione non può essere ripetuta come etichetta in più case istruzioni1,..., istruzionin e istruzioni-default sono sequenze di istruzioni qualsiasi La parte default è opzionale Pagina 40
41 Semantica 1. viene prima valutata espressione 2. viene cercato il primo K per cui il valore di espressione è pari a etichettak 3. se si è trovato tale K, allora vengono eseguite in sequenza istruzionik, istruzionik+1,..., fino a quando non si incontra break o è terminata l istruzione switch, altrimenti vengono eseguite istruzioni-default 4. l esecuzione procede con l istruzione successiva all istruzione switch Pagina 41
42 Esempio int lati; // numero di lati del poligono (al piu' 6)... printf("poligoni con al piu\' %d lati: ", lati); switch (lati) { case 6: printf("esagono, "); case 5: printf("pentagono, "); case 4: printf("rettangolo, "); case 3: printf("triangolo"); break; case 2: case 1: printf("nessuno ); break; default: printf("immetti un valore <= 6.\n"); Pagina 42
43 Esecuzione Se il valore di lati è pari a 5, allora il precedente codice stampa: pentagono, rettangolo, triangolo Nota: quando si omettono i break, diventa rilevante l ordine in cui vengono scritti i vari case. Questo può essere spesso causa di errori. E buona norma utilizzare break come ultima istruzione di ogni case. Pagina 43
44 Esercizio Esercizio 3.5 Scrivere un programma che legga da input un codice scelto a piacere per indicare una specifica funzione matematica (es. logaritmo, seno, etc.), quindi legga i relativi operandi e restituisca il risultato della funzione. Gli input devono essere inseriti separati da virgole. Esempio Se il codice scelto è 0 per log, 1 per sin, e 2 per cos, nel caso in cui l utente inserisca 1,3.14, il programma stamperà sin( ) = Pagina 44
45 Possibile soluzione #include <stdio.h> #include <math.h> int main (){ int codice; double dato; printf("inserisci il codice funzione e l\'operando separati" " da una virgola\n"); scanf("%d,%lf", &codice, &dato); switch(codice) { case 0: printf("log(%f) = %f\n", dato, log(dato)); break; case 1: printf("sin(%f) = %f\n", dato, sin(dato)); break; case 2: printf("cos(%f) = %f\n", dato, cos(dato)); break; default: printf("il codice inserito non corrisponde ad alcuna" " funzione\n"); return 0; Pagina 45
Header. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
DettagliLaboratorio di Programmazione Lezione 1. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676
DettagliSOLUZIONE ESERCIZIO 1
SOLUZIONE ESERCIZIO 1 Progettare un algoritmo che dati tre numeri (voti) a, b, c che possono assumere i valori interi da 18 a 30, calcoli la loro media. #include void main() { int a, b, c; float
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercitazioni per il corso di Fondamenti di Informatica Fulvio Corno Silvia Chiusano Politecnico di Torino Dipartimento di Automatica e Informatica Versione 1.01 24 novembre
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
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
DettagliCreare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.
Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il
DettagliEsercitazione 7. Procedure e Funzioni
Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,
DettagliPolinomio di secondo grado: Calcolo delle soluzioni di una equazione di secondo grado: import GraphicIO.*; public class Polinomio2 {
Polinomio di secondo grado: public class Polinomio2 GraphicConsole.println ("Inserisci i coefficienti interi del polinomio di secondo grado"); int a = GraphicConsole.readInt("a ="); int b = GraphicConsole.readInt("b
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
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
DettagliEsercitazione 3. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 3 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliCorso di Esercitazioni di Programmazione
Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1
DettagliCaricare un numero n float, calcolare e stampare il quadrato e il cubo di n. Diagramma di flusso
Esercizi svolti durante le ore di nformatica e Sistemi automatici nelle Clas del Liceo Scientifico Teclogico Milli di Teramo Esercizio N. 1 Caricare un numero n float, calcolare e stampare il quadrato
DettagliAREA RETTANGOLO LIRE IN EURO
AREA RETTANGOLO Private Sub Area() Dim h As Integer h = InputBox("altezza") b = InputBox("base") A = b * h MsgBox( L area del Rettangolo è : & A) LIRE IN EURO Dim lire As Double Dim euro As Double lire
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)
DettagliCorso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com
Corso di Informatica Medica Esercitazione 1I 2013-2014! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com 1 2 Esercizio 1 Scrivere un programma che legga due array di interi da tastiera dica
DettagliInput/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliLinguaggio C - Funzioni
Linguaggio C - Funzioni Funzioni: Il linguaggio C è di tipo procedurale; ogni programma viene suddiviso in sottoprogrammi, ognuno dei quali svolge un determinato compito. I sottoprogrammi si usano anche
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
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
DettagliPROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico
ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI
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
Dettagli1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma
Algoritmo: E un insieme finito di azioni che risolvono un determinato problema, trasformando i dati di input in di dati di output (o risultati) attraverso relazioni o formule che legano i dati in ingresso
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
DettagliSapienza, Università di Roma. Ingegneria, Scienze M. F.N., Scienze Statistiche 11 settembre 2009
Sapienza, Università di Roma Facoltà di Ingegneria, Scienze M. F.N., Scienze Statistiche 11 settembre 009 1. È data una sequenza di n numeri dispari consecutivi. etto M il maggiore della sequenza ed m
DettagliPrimi programmi in C
Primi programmi in C Docente: Violetta Lonati PAS classe A042 Corso introduttivo pluridisciplinare in Informatica Nota: ricordate le opzioni principali del comando gcc (per eventuali dubbi, consultate
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:
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
Dettaglihttp://esamix.labx Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie
DettagliGestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
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
Dettagli/* esercizio 5. Memorizzare l elenco dei prodotti giacenti in un magazzino in modo da poter effettuare le seguenti operazioni :
/* esercizio 5. Memorizzare l elenco dei prodotti giacenti in un magazzino in modo da poter effettuare le seguenti operazioni : Stampare le caratteristiche di un determinato prodotto (codice, descrizione,
DettagliFunzioni. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliOTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C
CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files
DettagliIntroduzione al corso di Programmazione e Laboratorio
Introduzione al corso di Programmazione e Laboratorio A.A. 2008/09 Gianluigi Cibinetto Io Pagina web http://df.unife.it/u/cibinett http://www.fe.infn.it/~cibinett Ufficio Blocco C - stanza 228 al secondo
DettagliCorso di Laurea in Ingegneria Informatica Analisi Numerica
Corso di Laurea in Ingegneria Informatica Lucio Demeio Dipartimento di Scienze Matematiche 1 2 Analisi degli errori Informazioni generali Libro di testo: J. D. Faires, R. Burden, Numerical Analysis, Brooks/Cole,
DettagliEsercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo
Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo /*Caricare un vettore di n numeri float, ordinarlo e e stamparlo
DettagliLibreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione
Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliCos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247
Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri
DettagliFUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni:
FUNZIONI La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni: double sqrt(double) double pow (double, double) della libreria matematica, che abbiamo già usato anche senza
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
DettagliCompilare il primo programma. Primo programma in C. Esercizio Somma due numeri. Compilare il primo programma. Analisi. Analisi
Primo in C Un semplice L ambiente di sviluppo Dev-C++ Codifica del Compilazione e correzione errori Esecuzione e verifica 2 Esercizio Somma due numeri Si realizzi un in linguaggio C che acquisisca da tastiera
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
DettagliEsercizio. Pseudocodice
Esercizio Trovare quoziente e resto di una divisione intera per differenze successive (supponendo cioè di non disporre dell operatore di divisione) Dati di Input: D, D1 (supponiamo D1>0) Dati di Output:
DettagliESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza vers.0 in lavorazione Docente SAFFI FABIO Contenuti Implementazione delle operazioni di base mediante main in un unico file sorgente... 2 Struttura
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
Dettaglipuntatori Lab. Calc. AA 2007/08 1
puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene
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
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
DettagliCaratteri e stringhe Esercizi risolti
Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.
DettagliINTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it
INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare
DettagliMAGAZZINO.CPP January 2, 2008 Page 1
MAGAZZINO.CPP January 2, 2008 Page 1 1 #include 2 #include 3 #include 4 // ==================================================================== 5 // Versione 1.1 1/1/2008
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
DettagliPre Test 2008... Matematica
Pre Test 2008... Matematica INSIEMI NUMERICI Gli insiemi numerici (di numeri) sono: numeri naturali N: insieme dei numeri interi e positivi {1; 2; 3; 4;...} numeri interi relativi Z: insieme dei numeri
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
DettagliEsempio. Esempio. Linguaggio di Programmazione. Linguaggi di programmazione. Linguaggio di computazione. Linguaggi di programmazione
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Problema e metodologie di progetto Linguaggio C: Introduzione Monica Mordonini Problema e Algoritmo
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
DettagliImmettere un importo in euro intero e stampare il numero minimo di banconote da 20, 10, 5 e monete da 1 e 2 euro necessarie per pagarlo.
Immettere un importo in euro intero e stampare il numero minimo di banconote da 20, 10, 5 e monete da 1 e 2 euro necessarie per pagarlo. void main(){ int i; printf("inserire l'importo intero:\n"); scanf("%d",&i);
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.
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
DettagliElaborato di Fondamenti di Informatica 2007/08. Claudio Guidi cguidi@cs.unibo.it
Elaborato di Fondamenti di Informatica 2007/08 Claudio Guidi cguidi@cs.unibo.it Perché e quando. Consente di comprendere come i risultati teorici della teoria dei linguaggi formali possano avere un impatto
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)
Dettagli2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.
Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere
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...
DettagliESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)
ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Novembre 2011 1 Contenuti q Somma di una sequenza di numeri interi
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
DettagliRipasso delle matematiche elementari: esercizi svolti
Ripasso delle matematiche elementari: esercizi svolti I Equazioni e disequazioni algebriche 3 Esercizi su equazioni e polinomi di secondo grado.............. 3 Esercizi sulle equazioni di grado superiore
DettagliLaurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1
Corso di INFORMATICA Laurea triennale - Comunicazione&DAMS Dr. Marco Manna 1 1 Dipartimento di Matematica Università della Calabria Corso di laurea intercalsse in COMUNICAZIONE&DAMS http://elleboro.unical.it/drupalab/informatica2009/
DettagliMINISTERO DELL'ISTRUZIONE, DELL'UNIVERSITÀ, DELLA RICERCA SCUOLE ITALIANE ALL ESTERO
Sessione Ordinaria in America 4 MINISTERO DELL'ISTRUZIONE, DELL'UNIVERSITÀ, DELLA RICERCA SCUOLE ITALIANE ALL ESTERO (Americhe) ESAMI DI STATO DI LICEO SCIENTIFICO Sessione Ordinaria 4 SECONDA PROVA SCRITTA
DettagliSistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni
Anno Accademico 2011/2012 Segnali: Interrupt software per la gestione di eventi asincroni Concetto di segnale Un segnale è un interrupt software Un segnale può essere generato da un processo utente o dal
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
DettagliRICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di
RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di esempio CERCA 90 NEL SACCHETTO = estrai num Casi num 90 Effetti CERCA 90 NEL
Dettagli3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.
3.5 STAMPA UNIONE Le funzioni della stampa unione (o stampa in serie) permettono di collegare un documento principale con un elenco di nominativi e indirizzi, creando così tanti esemplari uguali nel contenuto,
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
DettagliIL LINGUAGGIO C++ Configurazione di Dev-C++
IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:
DettagliTipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere
Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono
DettagliEsame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei
IG 9CFU 25/06/10 1/12 Esame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei Docente Risultati Scritto Orali Fiorino martedi venerdì Mazzei Martedì pv (sito docente) Mercoledì
DettagliEsercizi Capitolo 6 - Alberi binari di ricerca
Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile
DettagliEsercizi per il corso di Algoritmi e Strutture Dati
1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi
DettagliLe aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliRiconoscere e formalizzare le dipendenze funzionali
Riconoscere e formalizzare le dipendenze funzionali Giorgio Ghelli 25 ottobre 2007 1 Riconoscere e formalizzare le dipendenze funzionali Non sempre è facile indiduare le dipendenze funzionali espresse
DettagliTutorato: Programmazione 1 - Modulo I
UNIVERSITÀ DEGLI STUDI DI SALERNO, DIPARTIMENTO DI INFORMATICA Tutorato: Programmazione 1 - Modulo I Carmine Spagnuolo October 14, 2014 Descrivere l output del seguente programma: Listing 1: Welcome by
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
DettagliGeneralità sugli algoritmi
Appunti di Fondamenti di Informatica Generalità sugli algoritmi La nozione di algoritmo...1 Rappresentazione grafica degli algoritmi...2 Diagrammi di flusso...4 Esempi di algoritmi numerici...6 La strutturazione
DettagliProgrammi per il calcolo deterministico del prezzo di opzioni call e put
Programmi per il calcolo deterministico del prezzo di opzioni call e put Mariapaola Blancato e Federica Galdelli Introduzione Ogetto di questa tesina è l implementazione del modello di Cox, Ross e Rubinstein
DettagliRicorsione. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Ricorsione Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e
DettagliSyllabus: argomenti di Matematica delle prove di valutazione
Syllabus: argomenti di Matematica delle prove di valutazione abcdef... ABC (senza calcolatrici, senza palmari, senza telefonini... ) Gli Argomenti A. Numeri frazioni e numeri decimali massimo comun divisore,
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
DettagliESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 2004
ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 004 Il candidato risolva uno dei due problemi e 5 dei 10 quesiti in cui si articola il questionario. PROBLEMA 1 Sia f la funzione definita da: f
DettagliIntroduzione al linguaggio C Gli array
Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome
DettagliLa somma di 12 e 30 è 42
Nuovo Esercizio Supponendo che: all operazione somma corrisponda il numero 1 all operazione differenza corrisponda il numero 2 all operazione modulo corrisponda il numero 3 all operazione divisione intera
DettagliProgrammazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: "Algoritmo = Logica + Controllo"
Programmazione Logica Bob Kowalski: "Algoritmo = Logica + Controllo" nella programmazione tradizionale: il programmatore deve occuparsi di entrambi gli aspetti nella programmazione dichiarativa: il programmatore
DettagliLinguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project
Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project NB: E necessario: adoperare la sintassi più evoluta per le direttive di precompilazione 1, usando come contenitore
Dettagli