Laboratorio di Informatica Ingegneria Clinica Lezione 5/10/2011. Prof. Raffaele Nicolussi
|
|
- Stefano Volpi
- 6 anni fa
- Visualizzazioni
Transcript
1 Laboratorio di Informatica Ingegneria Clinica Lezione 5/10/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, Roma
2 Docente Raffaele Nicolussi Lezioni Aula 16 Via del Castro Laurenziano, 7 Esercitazioni Aula 15 Via Tiburtina, Lunedì, Mercoledì 12:00 13:30 Lunedì 15:30 18:30 Ricevimento: Per appuntamento in FUB, per , per telefono Sito web:
3 Correzione esercizi del laboratorio
4 Errori ricorrenti Salvataggio del programma come.cpp anziché.c
5 Errori ricorrenti Errata comprensione del testo o definizione dell algoritmo Se il testo mostra un esempio (come il rettangolo fatto di =) non vuol dire che il programma debba fare solo ed esattamente quello riportato nell esempio! Pensare prima a come risolvere il problema e solo dopo implementarne la soluzione 1. individuare l algoritmo 2. scrivere il codice
6 scanf e printf scanf serve solo per chiedere all utente un dato tra le "" della scanf non posso mettere altro che %d, %f ecc, ma nessuno /n o altri caratteri SI scanf ("%d %c %f", &numero, &car, &nu); NO scanf ("pippo %d %c /n ciao %f", &numero, &car, &nu); in printf devo mettere tanti %tipodato (%d, %f, %s, ) quante sono le variabili che voglio stampare devo poi, alla fine della printf, scrivere tanti nomi di variabile quanti sono i %tipodato indicati
7 varie Chiudere sempre l ultima finestra in cui il programma è stato eseguito Successive compilazioni ed esecuzioni non funzioneranno Questo perché quando compilo viene creato un programma eseguibile (nome.exe) Se il vecchio nome.exe è in esecuzione il nuovo nome.exe non può essere creato
8 Separa numero 1. Scrivere un programma che legga da standard input un intero in base 10 di quattro cifre e le visualizzi su standard output una ad una, separandole con un carattere di tabulazione Inserire un numero intero positivo di 4 cifre: Premere un tasto per continuare... 8
9 Soluzione separa /* Scrivere un programma che legga da standard input un intero in base 10 di quattro cifre e le visualizzi su standard output una ad una, separandole con un carattere di tabulazione */ #include <stdio.h> #include <stdlib.h> int main(void){ int numero; int cifra1, cifra2, cifra3, cifra4; printf("numero da separare : "); scanf("%d",&numero);
10 Soluzione separa (2) if ( (numero>1000) && (numero<9999) ) { /*il C restituisce solamente la parte intera del risultato. Se esiste un resto, questo è perso */ cifra1 = numero % 10; cifra2 = (numero / 10) % 10; cifra3 = (numero / 100) % 10; cifra4 = (numero / 1000) % 10; printf("il numero %d diviso e\': %d %d %d %d\n", numero, cifra4, cifra3, cifra2, cifra1); } system("pause"); return 0; }
11 Esercizi (2/5) 3. Scrivere un programma che legga da standard input una temperatura espressa in gradi Fahrenheit e visualizzi su standard output il valore corrispondente in gradi Celsius. La formula per effettuare la conversione da Fahrenheit a Celsius è la seguente: C=temperatura in gradi Celsius F=temperatura in gradi Fahrenheit Valore in gradi Fahrenheit = 451 Valore in gradi Celsius = Premere un tasto per continuare... 11
12 Esercizi (3/5) 4. Estendere il programma precedente in modo tale che l utente possa scegliere se effettuare la conversione da Farhenheit a Celsius o viceversa. Il programma deve leggere da standard input un intero che identifica la scelta dell utente: nel caso in cui il valore letto sia 1 si deve effettuare la conversione da Fahrenheit a Celsius, nel caso sia 2 si deve effettuare la conversione inversa. La formula per effettuare la conversione da Celsius a Fahrenheit è la seguente: C=temperatura in gradi Celsius F=temperatura in gradi Fahrenheit Premi '1' per trasformare da F a C '2' per trasformare da C a F Scelta: 2 Valore in gradi Celsius = 100 Valore in gradi Fahrenheit = Premere un tasto per continuare... 12
13 Soluzione es. 2 e 3 int scelta; float F,C; do { printf("1) F->C\n"); printf("2) C->F\n"); printf("3) Esci\n"); scanf("%d",&scelta); if (scelta==1) { printf("f = "); scanf("%f",&f); C = (5.0/9.0) * (F ); } printf("\n%f F = %f C\n",F,C);
14 Soluzione es. 2 e 3 if (scelta==2) { printf("c = "); scanf("%f",&c); F = ((9.0/5.0) * C) ; printf("\n%f C = %f F\n",C,F); } } while (scelta!=3);
15 Esercizi (4/5) 5. Scrivere un programma che legga da standard input un carattere, che rappresenta un operatore ( *, +, -, / ), e due numeri reali, e stampi su standard output il risultato dell operazione corrispondente al carattere. Inserire l'operazione da effettuare ('+', '-', '*', '/'): * Inserire due numeri reali: * = Premere un tasto per continuare... 15
16 Soluzione es. 4 float n1, n2; char operatore; printf("\noperatore : "); scanf("%c",&operatore); printf("\nnumero 1 : "); scanf("%f",&n1); printf("\nnumero 2 : "); scanf("%f",&n2); printf ("\n%f %c %f = ",n1,operatore,n2); if (operatore=='+') printf ("%f\n",n1+n2); if (operatore=='-') printf ("%f\n",n1-n2); if (operatore=='*') printf ("%f\n",n1*n2); if (operatore=='/') printf ("%f\n",n1/n2);
17 Esercizi (5/5) 7. Scrivere un programma che, letti da standard input tre numeri interi, visualizzi su stdout, a seconda dei casi, uno dei seguenti messaggi: tutti diversi due uguali e uno diverso tutti uguali Inserire tre numeri interi: Tutti diversi Premere un tasto per continuare... 17
18 Soluzione es. 5 int n1, n2, n3; printf("\nnumero 1: "); scanf("%d",&n1); printf("\nnumero 2: "); scanf("%d",&n2); printf("\nnumero 3: "); scanf("%d",&n3); if (( n1 == n2 ) && (n2 == n3)) printf("tutti uguali\n"); else { if ((n1 == n2) (n2 == n3) (n1==n3)) printf("due uguali\n"); else printf("tutti diversi\n"); }
19 Comportamento dei caratteri #include <stdio.h> int main (void) Intero: 89 Carattere: Y { int a, b, c, e; Differenza: 0 Differenza2:88 char d; a='y'; b=89; c=1; printf("\nintero:%d\t\n", a); printf("carattere: %c\n", a); e=a-b; printf("differenza: %d\n", e); e=a-c; printf("differenza2: %d\n", e); printf("differenza2 in caratteri: %c\n", e); d=a-c; printf("differenza3: %d\n", d); printf("differenza3 in caratteri: %c\n", d); return 0; } Differenza2 in caratteri: X Differenza3: 88 Differenza3 in caratteri:x
20 Tipi Floating-point (reali) float, double, long double introdotti per rappresentare frazioni e numeri molto grandi per dichiarare tali valori si possono usare le parole chiave float double double sta per doppia precisione: per rappresentare i numeri con una precisione circa doppia rispetto a float. In genere - float: 4 byte - double: 8 byte long double: per un range e precisione maggiore di double su molte macchine long e double sono sinonimi La rappresentazione dei floating-point è un aspetto poco standardizzato: per individuare l intervallo dei valori ammessi e la precisione si veda la documentazione del compilatore (anche nel file header <limits.h>)
21 Dichiarazioni Variabili ogni variabile deve essere dichiarata (nome e tipo) prima di essere usata Funzioni int i; int j; float a, b; una funzione viene dichiarata per il tipo di valore che restituisce in mancanza di dichiarazione di tipo per una funzione, viene associato un tipo di dati di default (int) se la funzione non restituisce valori, si usa void void permette di dichiarare esplicitamente una funzione che non restituisce alcun valore void funzione (a,b) {.} indica l assenza di argomenti int main (void) { }
22 Espressioni Un espressione è una combinazione di operatori, numeri e identificatori che permette di calcolare un valore. Elementi fondamentali: variabili, costanti e chiamate di funzioni 5 j f(.. ) costante variabile chiamata di funzione gli elementi possono essere combinati tramite operatori aritmetici operatori relazionali e di uguaglianza operatori logici Istruzioni di assegnamento lvalue=rvalue; lvalue = rvalue ; locazione di memoria espressione
23 Operatori aritmetici addizione sottrazione moltiplicazione + a+b - a-b * a*b divisione / a/b parte intera modulo % a%b resto Operatore ( ) *, /, % -, + Priorità - valutate per prime - se nidificate, prima coppia più interna - se allo stesso livello, da sinistra a destra -valutate per seconde - se allo stesso livello, da sinistra a destra -valutate per ultime - se allo stesso livello da sinistra a destra
24 Divisione intera e reale #include <stdio.h> int main (void) { int primo, secondo, ris, q, r; float d, a=33.567, b=2.898; primo=34; secondo=21; q=primo/secondo; r=primo%secondo; printf("\n\ndivisione: %d\t Resto:%d\n", q, r); d= a/b; printf("divisione tra a e b: %f\n", d); ris=(primo/secondo)*secondo + primo%secondo; printf("valore di ris: %d\n", ris); } return 0;
25 Dati due interi positivi, calcola quoziente e resto della div. intera #include <stdio.h> int main(void) { int a, b, quoziente, resto; printf("inserisci dividendo: "); scanf("%d", &a); printf("inserisci divisore: "); scanf("%d", &b); quoziente = a / b; resto = a % b; printf("%d : %d = %d con resto di %d\n", a, b, quoziente, resto); } return 0;
26 Diversi comportamenti per la divisione con 0 #include <stdio.h> int main (void) { int numcor; double nreale; Risposta on TurboC /* La divisione: +INF */ Risposta in VisualC /* error C21: divide or mod by zero numcor=2; nreale = numcor / 0.0; printf("\n\nla divisione: %f\n\n", nreale); } return 1;
27 Operatori di uguaglianza e relazionali usati nei test gli operatori relazionali hanno stesso livello di priorità gli operatori di uguaglianza hanno un livello più basso entrambi hanno associatività da sinistra a destra Operatori di uguaglianza Uguale a == x == y Diverso da!= x!= y Operatori relazionali Maggiore > x > y Minore < x < y Maggiore o >= x > = y uguale Minore o uguale <= x < = y
28 Operatori di uguaglianza e relazionali danno risultati booleani, ossia vero o falso in C falso (false) equivale a zero vero (true) equivale a qualsiasi valore diverso da zero (come valore di un test viene usato uno)
29 Priorità Operatore Associatività ( ) da sinistra a destra * / % da sinistra a destra - + da sinistra a destra < <= > >= da sinistra a destra ==!= da sinistra a destra = da destra a sinistra
30 Calcolare i valori delle seguenti espressioni Espressione Espressione equivalente Valore j > m j > m m/n < x (m/n) < x j m n (j <= m) >= n j x == m (j <= x) == m -x + j ==y>n m ((-x) + j) == ((y> n) >=m) x = x+ (y n) x = (x+ (y >=n)) j+1 == m y*2 ((j+1) == m)!= (y*2) int j=0, m=1, n=-1; float x=2.5, y=0.0;
31 Espressione Espressione equivalente Valore j > m j > m 0 m/n < x (m/n) < x 1 j m n (j <= m) >= n 1 j x == m (j <= x) == m 1 -x + j ==y>n m ((-x) + j) == ((y> n) >=m) 0 x = x+ (y n) x = (x+ (y >=n)) 3.5 j+1 == m y*2 ((j+1) == m)!= (y*2) 1 int j=0, m=1, n=-1; float x=2.5, y=0.0;
32 #include <stdio.h> int main (void) { int j=0, m=1, n=-1, tot; float x=2.5, y=0.0, ris; ris= x + (y>=n); printf("\nrisultato:\t%f\n", ris); tot=((j+1)==m)!=(y*2); Quiz printf("\ntotale:\t%d\n", tot); Prova a calcolare da solo cosa printf("totale in float:\t%f\n", tot); stampano le varie printf ris=((j+1)==m)!=(y*2); printf("\nrisultato intero:\t%d\n", ris); printf("risultato float:\t%f\n", ris); tot= ((-x)+j) == ((y>n)>=m); printf("\ntotale:\t%d\n", tot); printf("totale in float:\t%f\n", tot); return 1; }
33 #include <stdio.h> int main (void) { int j=0, m=1, n=-1, tot; float x=2.5, y=0.0, ris; ris= x + (y>=n); printf("\nrisultato:\t%f\n", ris); tot=((j+1)==m)!=(y*2); printf("\ntotale:\t%d\n", tot); printf("totale in float:\t%f\n", tot); ris=((j+1)==m)!=(y*2); printf("\nrisultato intero:\t%d\n", ris); printf("risultato float:\t%f\n", ris); tot= ((-x)+j) == ((y>n)>=m); printf("\ntotale:\t%d\n", tot); printf("totale in float:\t%f\n", tot); return 1; } Quiz Prova a calcolare da solo cosa stampano le varie printf Risultato: Totale: 1 Totale in float: Risultato intero: 0 Risultato float: Totale:0 Totale in float:
34 Spiegazione Quiz int j=0, m=1, n=-1, tot; float x=2.5, y=0.0, ris; ris= x + (y>=n); (0.0 >=-1) = 3.5 tot=((j+1)==m)!=(y*2); ((0+1)==1)!= (0.0 * 2) (1==1)!= (0) 1!= 0 -> 1
35 Spiegazione Quiz 2 tot= ((-x)+j) == ((y>n)>=m); (( -2.5) + 0 ) == (( 0.0 > -1) >= 1) (-2.5) == (1 >=1) (-2.5) == 1 -> 0
36 Strutture di controllo flusso normale: esecuzione sequenziale trasferimento di controllo: ci sono istruzioni che permettono di specificare che l istruzione da eseguire non è quella successiva da evitare l uso del goto (rende i programmi illegibili): il teorema di Böhm-Jacopini ha dimostrato che i programmi possono essere scritti senza usare il goto i programmi possono essere scritti usando solo tre strutture di controllo: sequenza, selezione e iterazione Strutture di selezione if if/else switch Strtutture di iterazione while do/while for
37 Teorema di Böhm-Jacopini Il teorema di Böhm-Jacopini, enunciato nel 1966 dagli informatici Corrado Böhm e Giuseppe Jacopini, afferma che qualunque algoritmo può essere implementato utilizzando tre sole strutture, la sequenza, la selezione ed il ciclo, da applicare ricorsivamente alla composizione di istruzioni elementari
38 Teorema di Böhm-Jacopini La sequenza è la normale elencazione di istruzioni perché vengano eseguite una di seguito all'altra nell'ordine in cui sono state scritte dal programmatore. La selezione è la scelta fra due percorsi da seguire successivamente, che dipende da una condizione che può essere vera o falsa. Il ciclo, detto anche iterazione, è un blocco di istruzioni che vengono ripetutamente eseguite fino a che una certa condizione cambia di stato.
39 Strutture di selezione: if/else if (<test>) istruzione1; else istruzione2; istruzione3; Vero ( 0) Falso (0) test istruzione1 istruzione2 istruzione3 Se il <test> è vero (diverso da zero), allora viene eseguita istruzione1; Se il <test> è falso (=0), allora viene eseguita istruzione2;
40 Strutture di selezione: if, if/else if (<test>) istruzione1; istruzione3; istruzione1 Vero ( 0) test Falso (0) istruzione3 Se il <test> è vero (diverso da zero), allora viene eseguita istruzione1; Se il <test> è falso (=0), allora viene eseguita istruzione3;
41 Esercizi Dato un intero, verifica se é minore di 100 scrivere un programma per calcolare la radice quadrata di un numero a = sqrt ( b ) ; a = b Dati due interi che rappresentano il mese e l'anno, calcola il mese (ed eventualmente l'anno) successivi Problema: scrivere un programma per calcolare le radici di un equazione di secondo grado
PROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
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?
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
DettagliLe Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliCorso di Fondamenti di Informatica Classi di istruzioni 2
Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
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
DettagliIstruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
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,
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e
DettagliUn esempio di if annidati
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di
DettagliLa codifica. dell informazione
La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero
DettagliFondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi
Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
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
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
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
DettagliSomma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi
Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38
DettagliEsame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma
Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 3 Operazioni Aritmetiche: Somma + 1 0 1 0 (*) 1 0 1 0 (*) con riporto di 1 2 Operazioni Aritmetiche:
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
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)
DettagliIstruzioni iterative. Istruzioni iterative
Istruzioni iterative Esempio: Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d",
DettagliESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 28 Gennaio 1999 PROVA SCRITTA
28 Gennaio 1999 PROVA SCRITTA Esercizio 1 Un elaboratore rappresenta numeri interi in complemento a due su 8 bit e numeri reali in utilizzando un byte per la mantissa normalizzata e un byte per l esponente
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
DettagliLa programmazione nel linguaggio C
3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi
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= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
DettagliIl generatore di numeri casuali
Il generatore di numeri casuali file di libreria: stdlib.h int rand(void) La funzione restituisce un numero casuale di tipo intero compreso tra 0 e RAND_MAX (estremi compresi) Esempio: scriviamo un programma
DettagliModulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1
Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di
DettagliUnità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliNumeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale
Numeri frazionari sistema posizionale due modi: virgola fissa virgola mobile posizionale, decimale 0,341=tre decimi più quattro centesimi più un millesimo cifre dopo la virgola: decimi centesimi millesimi
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliIstruzioni di ripetizione in Java 1
in Java Corso di laurea in Informatica Le istruzioni di ripetizione consentono di eseguire molte volte la stessa Si chiamano anche cicli Come le istruzioni condizionali, i cicli sono controllati da espressioni
DettagliEsercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it
Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN zkiziltan@deis.unibo.it Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come
DettagliInformatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza
Dettagli4 GLI ARRAY E LE STRINGHE
13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si
Dettaglilinguaggio di programmazione e programma
I/O bus CPU memoria elementi di Sistemi Informatici il segnale digitale: conversione analogico-numerica esempi di supporti di memorizzazione dell informazione computer: definizione e struttura (modello
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
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
DettagliL accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.
I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,
DettagliSequenze di controllo C:
Sequenze di controllo C:! sequenza! if-else! while! do-while! for!break!switch 1 Sequenza Una sequenza di istruzioni è racchiusa sempre tra parentesi graffe. Per esempio: leggere e sommare due numeri scanf(a);
DettagliIntroduzione a Visual Basic Lezione 2 Cicli e anomalie
a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto
DettagliLa divisione esatta fra a e b è l operazione che dati i numeri a e b (con a multiplo di b) permette di trovare un terzo numero c tale che c b = a.
Significato Significato della divisione esatta La divisione esatta fra a e b è l operazione che dati i numeri a e b (con a multiplo di b) permette di trovare un terzo numero c tale che c b = a. Descrivendo
DettagliFiles in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007
Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)
DettagliFondamenti di Programmazione
Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) gianfranco.rossi@unipr.it Indice 1 Introduzione
DettagliINDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.
Prodotto da INDICE Vista Libretto Livello Digitale 2 Importazione di dati da strumento 3 Inserisci File Vari 5 Compensazione Quote 5 Uscite 6 File Esporta Livellazioni (.CSV) 6 Corso Livello Digitale Pag.
DettagliEXCEL: FORMATTAZIONE E FORMULE
EXCEL: FORMATTAZIONE E FORMULE Test VERO o FALSO (se FALSO giustifica la risposta) 1) In excel il contenuto di una cella viene visualizzato nella barra di stato 2) In excel il simbolo = viene utilizzato
DettagliMETODI E TECNOLOGIE PER L INSEGNAMENTO DELLA MATEMATICA. Lezione n 4 2016
METODI E TECNOLOGIE PER L INSEGNAMENTO DELLA MATEMATICA Lezione n 4 2016 GLI INSIEMI NUMERICI N Numeri naturali Z : Numeri interi Q : Numeri razionali R : Numeri reali Q A meno di isomorfismi!!! R 5 π
DettagliFILIPPO GIOVANOLLA CLASSE IV A MERCURIO PROGRAMMA PASCAL E C++ DISEQUAZIONI DI PRIMO E SECONDO GRADO
FILIPPO GIOVANOLLA CLASSE IV A MERCURIO PROGRAMMA PASCAL E C++ DISEQUAZIONI DI PRIMO E SECONDO GRADO INDICE: Traccia del problema Analisi di massima Tabella delle variabili Pseudocodifica Listato del programma
DettagliIndividuazione di sottoproblemi
Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che
DettagliEspressioni aritmetiche e ordine delle operazioni
Le operazioni fondamentali Espressioni aritmetiche (UbiMath) - 1 Le operazioni fondamentali Espressioni aritmetiche e ordine delle operazioni Nella risoluzione di problemi compaiono spesso valori legati
DettagliAppunti di informatica. Lezione 4 anno accademico 2015-2016 Mario Verdicchio
Appunti di informatica Lezione 4 anno accademico 2015-2016 Mario Verdicchio Numeri primi Si definisce primo un numero intero maggiore di 1 che ha due soli divisori: se stesso e 1 Esempi di numeri primi:
DettagliIntroduzione alle macchine a stati (non definitivo)
Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in
Dettagligiapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL
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
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
DettagliFondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento
Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento
DettagliMini-Corso di Informatica
Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 sara.brambilla@polimi.it Note sulle esercitazioni Durante le esercitazioni impareremo a implementare
DettagliLa gestione dei caratteri in C
in C In C i caratteri sono gestiti mediante variabili di tipo char (interi a 8 bit) Ad ogni carattere corrisponde un codice numerico ASCII (American Standard Code for Information Interchange) Un esempio
DettagliUso di metodi statici. Walter Didimo
Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un
DettagliI RADICALI QUADRATICI
I RADICALI QUADRATICI 1. Radici quadrate Definizione di radice quadrata: Si dice radice quadrata di un numero reale positivo o nullo a, e si indica con a, il numero reale positivo o nullo (se esiste) che,
DettagliACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.
ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla
DettagliProcedura operativa per la gestione della funzione di formazione classi prime
Procedura operativa per la gestione della funzione di formazione classi prime Questa funzione viene fornita allo scopo di effettuare la formazione delle classi prime nel rispetto dei parametri indicati
DettagliIntroduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C
Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali
DettagliSULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI
SULL USO DEI CARATTERI Ricordiamo che: int x; si legge con ( %d,&x) e si stampa con ( %d,x) float x; si legge con ( %f,&x) e si stampa con ( %f,x) double x;si legge con ( %lf,&x) e si stampa con ( %f,x)
Dettagli04 - Numeri Complessi
Università degli Studi di Palermo Scuola Politecnica Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 04 - Numeri Complessi Anno Accademico 2015/2016 M. Tumminello,
DettagliRichiami di aritmetica
Richiami di aritmetica I numeri naturali L insieme dei numeri naturali, che si indica con N, comprende tutti i numeri interi maggiori di zero. Operazioni fondamentali OPERAZIONE SIMBOLO RISULTATO TERMINI
DettagliEspressioni ed Equazioni
Espressioni ed Equazioni Introduzione espressioni ed equazioni Espressioni Algebriche ed Equazioni: è qui che comincia il tuo lavoro. Si sta per iniziare a lavorare con le lettere dell'alfabeto, numeri
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)
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
DettagliPROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^
PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^ PER RICONOSCERE, RAPPRESENTARE E RISOLVERE PROBLEMI I. Q. II. Q. CONTENUTI / ATTIVITA 1 bim. 2 bim. 3 bim. 4 bim. 1a) Individuazione di situazioni problematiche
DettagliIl calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
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
DettagliArray multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
DettagliIntroduzione al Linguaggio C ed all IDE DEV-C++
Microsoft Windows e Dev-C++ Introduzione al Linguaggio C ed all IDE DEV-C++ 1 Le Esercitazioni in Laboratorio! MTA + MLAB1/2: Edificio Via Valotti, primo piano e piano interrato! Orario: Giovedì 14:30-17:30!
DettagliIL CONCETTO DI FILE. È illecito operare oltre la fine del file.
IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni
DettagliRisoluzione di problemi ingegneristici con Excel
Risoluzione di problemi ingegneristici con Excel Problemi Ingegneristici Calcolare per via numerica le radici di un equazione Trovare l equazione che lega un set di dati ottenuti empiricamente (fitting
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
Dettaglifloat somma_float(float a, float b) int get_ascii(char c)
Una funzione è caratterizzata da: Tipo di dato restituito void (non restituisce nulla) int, una struttura definita dal programmatore ecc Nome della funzione Elenco parametri in ingresso, specifica: il
DettagliUD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
DettagliIntroduzione al linguaggio C
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Introduzione al linguaggio C Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
DettagliLe quattro operazioni fondamentali
1. ADDIZIONE Le quattro operazioni fondamentali Def: Si dice ADDIZIONE l operazione con la quale si calcola la somma; i numeri da addizionare si dicono ADDENDI e il risultato si dice SOMMA o TOTALE. Proprietà:
DettagliAlgoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative
Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli Formule iterative L algoritmo che, comunemente, viene presentato a scuola per l estrazione della radice quadrata è alquanto laborioso e di scarsa
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliUnità Didattica 2 Rappresentazione dei Dati
Unità Didattica Rappresentazione dei Dati Codiica dell Inormazione Ad un calcolatore le inormazioni sono ornite come sequenze di caratteri alanumerici (alabeto esterno [6 lettere maiuscole e minuscole,
DettagliEsercizio. Sia a R non nullo e siano m, n numeri interi non nulli con m n. Allora a m /a n è uguale a. [1] 1/a n m [2] 1/a m n [3] 1/a n m [4] a n m
Sia a R non nullo e siano m, n numeri interi non nulli con m n. Allora a m /a n è uguale a [1] 1/a n m [2] 1/a m n [3] 1/a n m [4] a n m Vale la [1] perché per le proprietà delle potenze risulta a m a
DettagliFILE BINARI FILE BINARI
FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di
DettagliFortran in pillole : prima parte
Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato
Dettagli1 L estrazione di radice
1 L estrazione di radice Consideriamo la potenza 3 2 = 9 di cui conosciamo: Esponente 3 2 = 9 Valore della potenza Base L operazione di radice quadrata consiste nel chiedersi qual è quel numero x che elevato
DettagliElementi base per la realizzazione dell unità di calcolo
Elementi base per la realizzazione dell unità di calcolo Memoria istruzioni elemento di stato dove le istruzioni vengono memorizzate e recuperate tramite un indirizzo. ind. istruzione Memoria istruzioni
DettagliDon Bosco, A.S. 2013/14 Compiti per le vacanze - 1C
Don Bosco, A.S. 01/14 Compiti per le vacanze - 1C 1. Rappresenta per elencazione ciascuno dei seguenti insiemi: A { x x è una lettera della parola cattedra } B { x N x < 7 } C { x N x è pari x 10 } D {
DettagliLiceo scientifico Pascal Manerbio Esercizi di matematica per le vacanze estive
Di alcuni esercizi non verranno riportati i risultati perché renderebbero inutile lo svolgimento degli stessi. Gli esercizi seguenti risulteranno utili se i calcoli saranno eseguiti mentalmente applicando
DettagliCURRICOLO DI MATEMATICA CLASSE PRIMA
CURRICOLO DI MATEMATICA CLASSE PRIMA INDICATORI OBIETTIVI SPECIFICI CONTENUTI NUMERI Eseguire le quattro operazioni con i numeri interi. Elevare a potenza numeri naturali e interi. Comprendere il significato
DettagliDisequazioni in una incognita. La rappresentazione delle soluzioni
Disequazioni in una incognita Una disequazione in una incognita è una disuguaglianza tra due espressioni contenenti una variabile (detta incognita) verificata solo per particolari valori attribuirti alla
DettagliDISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei
DettagliSequenze di controllo C:
Sequenze di controllo C: sequenza if-else while do-while for 1 Sequenza Una sequenza di istruzioni è racchiusa sempre tra parentesi graffe. Per esempio: leggere e sommare due numeri scanf(a); scanf(b);
DettagliEsame Informatica Generale 13/04/2016 Tema A
Esame Informatica Generale 13/04/2016 Tema A! 1/! Quesito 1 (punteggio 2) Si considerino le seguenti istruzioni del linguaggio c/c++. int x[100]; void fz(int[], double[], double*); // puntatori void fz(int[],
Dettagli