Esercizi Programmazione I
|
|
|
- Gildo Marini
- 9 anni fa
- Просмотров:
Транскрипт
1 Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x= ; i == j? a 1 : b + 1 ; j % 3 == 0? i + : x ; 7 j % 3? i + : x ; Tipo espressione condizionale Soluzione dell esercizio 1 (i == j)? (a - 1) : (b + 1) Valore 99, Tipo int ((j % 3) == 0)? (i + ): x Valore 7.07, Tipo double (j % 3)? (i + ): x Valore.0, Tipo double Ricordarsi che il tipo di un espressione expr1? expr2: expr3 condizionale è uno solo, e dipende dai tipi delle espressioni expr2 e expr3 : utilizzare le regole di conversione di tipo tra expr2 e expr3 per trovare il tipo di tutta l espressione. Esempio, nel terzo caso sopra, i + ha tipo int, ma viene ritornato un valore.0 di tipo double, dato che expr3 ha tipo double. Il tipo di expr2 viene quindi convertito a quello di expr3. Esercizio 2 Operatore virgola Studiare la seguente porzione di codice; rispondere alle domande nei commenti. Infine controllare la correttezza delle proprie risposte eseguendo tale codice. 1 i n t a= 0 ; 2 double b= 3. ; 3 // D i c h i a r a r e c con i l t i p o appropriato, i n modo che non c i s i a n o c o n v e r s i o n i d i t i p o c= ( a =, b = b ) ; 7 // Cosa stampa? p r i n t f ( %d\n%f \n%f \n, a, b, c ) ; 9 10 // D i c h i a r a r e d con i l t i p o appropriato, i n modo che non c i s i a n o c o n v e r s i o n i d i t i p o 11 d= ( a++, a + 2) ; // Cosa stampa? 1 p r i n t f ( %d\n%d\n, a, d ) ; 1 1 i n t i, j, k= 3 ; 17 double x= 3. 3 ; 1 19 // D i c h i a r a r e f con i l t i p o appropriato, i n modo che non c i s i a n o c o n v e r s i o n i d i t i p o 20 f= ( i = 1, j = 2, ++k + 1) ; // D i c h i a r a r e g con i l t i p o appropriato, i n modo che non c i s i a n o c o n v e r s i o n i d i t i p o 23 g= ( j= k!= 1, ++x ) ; 2 2 // Cosa stampa? 2 p r i n t f ( %d\n%d\n%d\n%f \n%d\n%f \n, i, j, k, x, f, g ) ; 1
2 1 i n t a= 0 ; 2 double b= 3. ; 3 double c = 0. 0 ; c= ( a =, b = b ) ; 7 p r i n t f ( %d\n%f \n%f \n, a, b, c ) ; 9 i n t d= 0. 0 ; 10 d= ( a++, a + 2) ; p r i n t f ( %d\n%d\n, a, d ) ; 13 1 i n t i, j, k= 3 ; 1 double x= 3. 3 ; 1 17 i n t f= ( i = 1, j = 2, ++k + 1) ; 1 double g= ( j= k!= 1, ++x ) ; 19 Soluzione dell esercizio 2 20 p r i n t f ( %d\n%d\n%d\n%f \n%d\n%f \n\n, i, j, k, x, f, g ) ; Output del programma precedente Esercizio 3 Precedenza operatori Studiare la seguente porzione di codice e scrivere quello che si pensa stampi. Cosa succede se si toglie la prima o la seconda coppia di parentesi, o entrambe? Controllare solo alla fine la correttezza delle proprie risposte eseguendo il codice. 1 i n t x= 0, y= 0, z= 0 ; 2 x = ( y = 2) + ( z = 3) ; 3 p r i n t f ( %d %d %d\n, x, y, z ) ; Soluzione dell esercizio (senza togliere parentesi) 3 (togliendo la prima coppia di parentesi) error: expression is not assignable (togliendo la seconda coppia) error: expression is not assignable (togliendo entrambe le coppie) Togliendo la prima coppia, viene valutata per prima l espressione (y = 2), a cui poi si somma z. (y = 2) + z NON rappresenta però un lvalue, quindi non può stare a sinistra di un operatore di assegnamento. Togliendo la seconda coppia di parentesi invece, viene valutata per prima 2 + z (che non è un lvalue), a cui si cerca poi di assegnare 3. Esercizio Effetti collaterali (side effects) Studiare la seguente porzione di codice e scrivere quello che stampa a video. Solo in seguito, scrivere un tale programma, compilare, eseguire e controllare se quello che si era pensato è corretto. 1 i n t a, b =0, c =0; 2 a =++b + ++c ; 3 p r i n t f ( %d %d %d\n, a, b, c ) ; a= b+++c++; 2
3 p r i n t f ( %d %d %d\n, a, b, c ) ; a= ++b + c++; 7 p r i n t f ( %d %d %d\n, a, b, c ) ; a= b + c ; 9 p r i n t f ( %d %d %d\n, a, b, c ) ; 10 i n t q = q ; 11 p r i n t f ( %d\n, q ) ; 12 i n t r = 2+ q++; 13 p r i n t f ( %d %d\n, r, q ) ; 1 Sul mio ambiente viene stampato questo: Soluzione dell esercizio Alcuni compilatori C possono inizializzare una variabile a 0, ma, in generale, una variabile (non dichiarata come static o extern) può essere assegnata a qualsiasi valore. INIZIALIZZARE SEMPRE SUBITO TUTTE LE VARIABILI. Questo per rendere il codice portabile su compilatori che non effettuano automaticamente l inizializzazione a 0. Esercizio Rispondere alle domande nei commenti: While ed espressioni di controllo 1 // 1) Che f u n z i o n e implementa questo programma? 2 // 2) Cosa succede s e da t a s t i e r a p a s s a t e un numero minore d i 0? 3 #i n c l u d e <s t d i o. h> i n t main ( ) { i n t n= 0, r e s= 1 ; 7 s c a n f ( %d, &n ) ; 9 w h i l e ( n ) 10 r e s = ( n + 1) ; p r i n t f ( %d\n, r e s ) ; 13 1 r e t u r n 0 ; 1 } 1 Soluzione dell esercizio Il primo programma calcola il fattoriale di n (passato da tastiera). Se n è negativo, il ciclo termina non correttamente, dato che qualsiasi valore diverso da 0 in C equivale a true. Più precisamente (sulla mia piattaforma), n viene decrementato fino al minimo valore rappresentabile con un tipo int (se int quattro byte, 2, 17, 3,, rappresentato con 32 bit con valore 1), il successivo decremento porta n al massimo valore rappresentabile con un int (se int quattro byte, 2, 17, 3, 7); situazione di overflow. Infine n viene decrementato di volta in volta fino a terminare quando n = 0. Esercizio Loops Utilizzare un ciclo while, un do...while, e un for per stampare tutti i numeri tra 0 e n con il valore n letto da tastiera (scanf()). Per esempio, se n = 10, la stampa deve essere Calcolare il massimo comune divisore (MCD) tra due valori di tipo int presi in input da tastiera. Per farlo, scandire tutti i valori tra 1 ed il minimo dei due valori, controllando per ogni valore scandito se è divisore di entrambi. Il massimo di essi corrisponde al MCD. Leggere 10 valori di tipo int da tastiera assegnadoli a ciscun elemento di un array di 10 posizioni. In seguito, risolvere ciascuno dei seguenti punti con un ciclo for: trovare i) la media dei valori memorizzati nell array, ii) il massimo ed il minimo elemento dell array, iii) ordinare l array in ordine crescente utilizzando due for annidati, iv) stampare tutti gl elementi dell array. Inizializzare max a 0 e min a INT MAX (importare limits.h). 3
4 Di seguito, la soluzione solo per il secondo e terzo punto. 1 #i n c l u d e <s t d i o. h> 2 3 i n t main ( void ) { i n t i, num1, num2, min, gcd =1; Soluzione dell esercizio p r i n t f ( Ricevo i due numeri per i q u a l i c a l c o l a r e i l GCD: ) ; 7 s c a n f ( %d %d, &num1, &num2) ; 9 min = (num1 < num2)? num1 : num2 ; f o r ( i =1; i <= min ; i ++) { // Se i e f a t t o r e d i entrambi i numeri 1 i f (num1 % i == 0 && num2 % i== 0) 1 gcd = i ; 1 } 17 1 p r i n t f ( GCD d i %d e %d = %d\n, num1, num2, gcd ) ; 19 r e t u r n 0 ; 20 } 21 1 #i n c l u d e <s t d i o. h> 2 #i n c l u d e <l i m i t s. h> 3 #d e f i n e ARRAY ELEM 10 i n t main ( void ) { 7 i n t arrayelem [ARRAY ELEM ] ; 9 f o r ( i n t i= 0 ; i < ARRAY ELEM; i ++) { 10 s c a n f ( %d, &arrayelem [ i ] ) ; 11 } i n t sum= 0 ; 1 f o r ( i n t i= 0 ; i < ARRAY ELEM; i ++) { 1 sum+= arrayelem [ i ] ; 1 } 17 1 p r i n t f ( %f \n, ( double ) sum / ARRAY ELEM) ; i n t max= 0 ; 21 i n t min= INT MAX; 22 f o r ( i n t i= 0 ; i < ARRAY ELEM; i ++) { 23 i f ( arrayelem [ i ] > max) 2 max= arrayelem [ i ] ; 2 i f ( arrayelem [ i ] < min ) 2 min= arrayelem [ i ] ; 27 } 2 29 p r i n t f ( Max = %d\nmin = %d\n, max, min ) ; f o r ( i n t i= 0 ; i < ARRAY ELEM; i ++) 32 f o r ( i n t j= i +1; j < ARRAY ELEM; j++) 33 i f ( arrayelem [ i ] > arrayelem [ j ] ) { 3 i n t tmp= arrayelem [ i ] ; 3 arrayelem [ i ] = arrayelem [ j ] ; 3 arrayelem [ j ] = tmp ; 37 } 3 39 f o r ( i n t i= 0 ; i < ARRAY ELEM; i ++) 0 p r i n t f ( Elemento [%d]= %d\n, i +1, arrayelem [ i ] ) ; 1 2 } 3 Esercizio 7 Triangoli
5 Si scriva un programma in linguaggio C che legga da tastiera i valori delle lunghezze dei tre lati di un triangolo (detti A, B e C), e determini (scrivendolo a video): se il triangolo è equilatero, se il triangolo è isoscele, se il triangolo è scaleno, se il triangolo è rettangolo. Prima controllare se le misure dei tre lati ricevuti in input (A, B, C) rappresentano correttamente un triangolo: tutti i lati devono essere positivi, ogni lato deve essere minore della somam degli altri due, ogni lato deve essere maggiore della differenza degli altri due. 1 #i n c l u d e <s t d i o. h> 2 #i n c l u d e <s t d l i b. h> 3 #i n c l u d e <math. h> i n t main ( void ) { 7 f l o a t a, b, c ; / l a t i d e l t r i a n g o l o / / LEGGI A, B e C / 9 p r i n t f ( Immetti A: ) ; s c a n f ( %f, &a ) ; 10 p r i n t f ( Immetti B: ) ; 11 s c a n f ( %f, &b ) ; 12 p r i n t f ( Immetti C: ) ; 13 s c a n f ( %f, &c ) ; 1 1 Soluzione dell esercizio 7 1 i f ( a<=0 b<=0 c<=0 ) 17 p r i n t f ( Errore : i l a t i devono e s s e r e p o s i t i v i \n ) ; 1 e l s e 19 i f ( a>=b+c b>=a+c c>=a+b ) 20 p r i n t f ( Errore : ogni l a t o deve e s s e r e minore d e l l a somma d e g l i a l t r i due \n ) ; 21 e l s e 22 i f ( ( b>c && a<= b c ) 23 ( b<=c && a <= c b ) 2 ( a>c && b<= a c ) 2 ( a<=c && b <= c a ) 2 ( a>b && c<= b a ) 27 ( a<=b && c<=a b ) ) 2 p r i n t f ( Errore : ogni l a t o deve e s s e r e maggiore d e l l a d i f f e r e n z a d e g l i a l t r i due \n ) ; 29 e l s e { p r i n t f ( V e r i f i c o l e p r o p r i e t a d e l t r i a n g o l o d i l a t i : %f, %f, %f \n, a, b, c ) ; 33 3 / VERIFICA SE E EQUILATERO ( 3 LATI UGUALI) / 3 i f ( a==b && b==c ) 3 p r i n t f ( I l t r i a n g o l o e e q u i l a t e r o \n ) ; 37 e l s e 3 / VERIFICA SE E ISOSCELE ( 2 LATI UGUALI) / 39 i f ( a==b b==c a==c ) 0 p r i n t f ( I l t r i a n g o l o e i s o s c e l e \n ) ; 1 e l s e 2 p r i n t f ( I l t r i a n g o l o non e i s o s c e l e \n ) ; 3 / VERIFICA SE E SCALENO ( 3 LATI DIVERSI) / i f ( a!=b && b!= c && a!= c ) p r i n t f ( I l t r i a n g o l o e s c a l e n o \n ) ; e l s e 7 p r i n t f ( I l t r i a n g o l o non e s c a l e n o \n ) ; 9 / VERIFICA SE E RETTANGOLO (TEOREMA DI PITAGORA) /
6 0 1 / VERIFICA SE IL LATO A E L IPOTENUSA / 2 i f ( a a == b b + c c ) 3 p r i n t f ( I l t r i a n g o l o e r e t t a n g o l o ( i p o t e n u s a A) \n ) ; e l s e p r i n t f ( I l t r i a n g o l o non e r e t t a n g o l o ( i p o t e n u s a A) \n ) ; 7 / VERIFICA SE IL LATO B E L IPOTENUSA / i f ( b b == a a + c c ) 9 p r i n t f ( I l t r i a n g o l o e r e t t a n g o l o ( i p o t e n u s a B) \n ) ; 0 e l s e 1 p r i n t f ( I l t r i a n g o l o non e r e t t a n g o l o ( i p o t e n u s a B) \n ) ; 2 3 / VERIFICA SE IL LATO C E L IPOTENUSA / i f ( c c == b b + a a ) p r i n t f ( I l t r i a n g o l o e r e t t a n g o l o ( i p o t e n u s a C) \n ) ; e l s e 7 p r i n t f ( I l t r i a n g o l o non e r e t t a n g o l o ( i p o t e n u s a C) \n ) ; 9 / VERIFICA SE IL TRIANGOLO E RETTANGOLO / 70 i f ( ( a a == b b + c c ) ( b b == a a + c c ) ( c c == b b + a a ) ) 71 p r i n t f ( I l t r i a n g o l o e r e t t a n g o l o \n ) ; 72 e l s e 73 p r i n t f ( I l t r i a n g o l o non e r e t t a n g o l o \n ) ; 7 } 7 7 e x i t ( 0 ) ; 77 } 7 La funzione exit() serve per provocare la terminazione regolare di un programma, proprio come quando da main si fa return. Sia il parametro di exit sia il valore (eventuale) di return vengono restituiti all ambiente da cui il programma è stato chiamato. La differenza fra return ed exit(), oltre al fatto che exit() è una funzione e return non lo è, è che exit() provoca l uscita dal programma in qualunque funzione si trovi. Return provoca l uscita dal programma solo se si trova in main(); in caso contrario provoca il ritorno alla funzione che ha chiamato quella corrente.
Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi
Basi della programmazione in Java Nicola Drago [email protected] Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
Problema. Vettori e matrici. Vettori. Vettori
e matrici Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Problema Si vuole un programma che chieda 10 numeri dalla tastiera e li visualizzi dall ultimo al primo Soluzione attuale (con le
IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
C: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
Espressioni. Espressioni. Valutazione di un espressione. Espressioni semplici
Espressioni Una espressione E del linguaggio C può essere definita formalmente come segue (definizione induttiva): E è una espressione semplice. Espressioni Sia Op n un operatore del linguaggio di arità
HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.
HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di
Teorema di Pitagora. Triangoli con angoli di 45, 30 e 60. Eserciziario con soluzioni. - 1
Teorema di Pitagora. Triangoli con angoli di 45, 30 e 60. Eserciziario con soluzioni. - 1 Raccolta di problemi di geometra piana sul teorema di Pitagora applicato ai triangolo con angoli di 45, 30 e 60
Il linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani [email protected] Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
- Dispensa III - PROGRAMMAZIONE C (Parte I)
Elementi di Informatica e Programmazione - Dispensa III - PROGRAMMAZIONE C (Parte I) Alessandro Saetti (email: [email protected]) Università degli Studi di Brescia 1 Linguaggi di Programmazione
Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative
Scelte ed alternative. Esercizi risolti
1 Esercizio Indovina cosa... Esercizi risolti Determinare che cosa fa il seguente frammento di programma in linguaggio C: int a, b, c; scanf("%d", &a); scanf("%d", &b); if(a>b) { c = a ; a = b ; b = c
Introduzione alla programmazione in C(++)
Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie
Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente
Introduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016
Espressione di chiamata di funzione
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
Esercitazione 3. Espressioni booleane I comandi if-else e while
Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if
Esercizi 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
Informatica 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,
Esercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 -
ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 - Elementi di Informatica e Programmazione Università di Brescia 1 1: ESERCIZI DI BASE - di livello di difficoltà inferiore rispetto all
Struttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
Le basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
Stringhe e allocazione dinamica della memoria
Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per
Programmazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
Variabili. 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 [email protected] Programmazione prof. Domenico
Lezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo [email protected] Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
Esercitazione 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
Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
Istruzioni 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",
a.a Codice corso: 21012, HOMEWORKS
HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di
I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni
Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di
IL PRIMO PROGRAMMA IN C
IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE
Algoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio [email protected] Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
Creare 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
Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch
Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case
ESERCIZI JAVA. Esercizi sulle Interfacce. Esercizio 1:
ESERCIZI JAVA Esercizi sulle Interfacce Esercizio 1: Java mette a disposizione un'interfaccia chiamata Comparable. Quando un oggetto implementa questa interfaccia esso può implementare un metodo chiamato
soluzione in 7 step Es n 208
soluzione in 7 soluzione in 7 soluzione in 7 AH 5 CA CH 5 6 4,8 5 36 3,04 5,96 5 cm soluzione in 7 AH 5 CA CH 5 6 4,8 5 36 3,04 5,96 5 cm 3 : 4,8 5 4,8 : HB 4,8 soluzione in 7 AH 5 CA CH 5 6 4,8 5 36 3,04
Fondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
Definizione di metodi in Java
Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un
Linguaggio C Informatica Grafica
Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione [email protected] Linguaggio C Breve storia Struttura di un programma Variabili
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione
3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di
ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere
Questo teorema era già noto ai babilonesi, ma fu il matematico greco Pitagora, intorno al 500 a.c., a darne una descrizione precisa.
IL TEOREMA DI PITAGORA Questo teorema era già noto ai babilonesi, ma fu il matematico greco Pitagora, intorno al 500 a.c., a darne una descrizione precisa. ENUNCIATO: la somma dei quadrati costruiti sui
I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore
I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p
Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.
Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.
Fondamenti di Informatica T-1
Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo [email protected] a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De
Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.
Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float
SISTEMI DI RIFERIMENTO SU UNA RETTA E SU UN PIANO
DIPARTIMENTO DI INGEGNERIA CIVILE PRECORSO DI MATEMATICA ANNO ACCADEMICO 013-014 ESERCIZI RELATIVI A SISTEMI DI RIFERIMENTO SU UNA RETTA E SU UN PIANO Esercizio 1: Fissato su una retta un sistema di riferimento
Ministero della Difesa Direzione Generale per il Personale Militare I Reparto
Ministero della Difesa Direzione Generale per il Personale Militare I Reparto Concorso Interno, per titoli ed esami, a 300 posti per l ammissione al 20 corso di aggiornamento e formazione professionale
Istruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
Triangolo rettangolo
Dato il triangolo rettangolo Possiamo perciò utilizzare angoli). Progetto Matematica in Rete Triangolo rettangolo OPA sappiamo che: PA cateto sen OP cos tg OA cateto OP PA cateto OA cateto opposto ad ipotenusa
COMANDI ITERATIVI. Ivan Lanese
COMANDI ITERATIVI Ivan Lanese Argomenti Comando while Comando do while Comando for Comando while: reminder while (condizione) comando; Semantica: la condizione viene testata: se è vera, viene eseguito
PROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
Fondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono
Esempio (if): equazione di secondo grado
Esempio (if): equazione di secondo grado /* Programma che calcola le radici di un equazione di secondo grado: ax2+bx+c=0 */ #include /*libreria standard matematica*/ main() { float a,b,c; /*coefficienti
Indice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
Cicli annidati ed Array multidimensionali
Linguaggio C Cicli annidati ed Array multidimensionali Cicli Annidati In C abbiamo 3 tipi di cicli: while(exp) { do { while(exp); for(exp;exp;exp3) { Cicli annidati: un ciclo all interno del corpo di un
