Capitolo 1 Fondamenti di Informatica - Esercizi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Capitolo 1 Fondamenti di Informatica - Esercizi"

Transcript

1 Capitolo 1 Fondamenti di Informatica - Esercizi Vengono proposti alcuni esercizi relativi alla parte introduttiva della programmazione in C (Struttura ed elementi base di un programma, Ingresso e uscita dei dati (Input/output) e Strutture di controllo) e vengono presentate le relative soluzioni. 1

2 2 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI 1.1 INTRODUZIONE AL C Esercizio 1 Descrivere l output del seguente programma #define Saluto "salve!" printf("saluto"); printf("\n"); printf(saluto); printf("\n"); printf("%s",saluto); printf("\n"); printf("%s","saluto"); printf("\n"); printf("%c",saluto); Esercizio 2 Sia data la seguente espressione logica: (A==B)&&(B!=0)&&(10/A>2) Discuterne la sua valutazione (stabilire, in particolare, se ci sono errori in esecuzione) sia con la tecnica della valutazione in corto circuito che senza. Esercizio 3 Sia data la seguente espressione logica:!(((a<10)&&(b>=20)) (C==12)) Applicando le leggi di De Morgan, indicare quali delle seguenti espressioni è equivalente alla espressione logica data: 1. ((A>=10)&&(B<20))&&(C!=12) 2. ((A>=10) (B<20)) (C!=12) 3. ((A>=10) (B<20))&&(C!=12) Esercizio 4 Scrivere un programma che acquisisca da input tre numeri interi, usando tre separate istruzioni di scanf, e, utilizzando un unica funzione printf, li stampi in output secondo i seguenti formati a) su un unica riga, separati dal carattere - ; b) su tre righe differenti; c) su tre righe differenti, ma con spaziatura doppia, cioè lasciando una riga vuota tra un numero e l altro.

3 1.1. INTRODUZIONE AL C 3 Esercizio 5 Scrivere un programma che acquisisca da input tre numeri interi e stampi in output la loro somma. Esercizio 6 Scrivere un programma che calcola l espressione X=(C-B)/A, dove A, B e C sono costanti di valore 4, 6 e 16 rispettivamente. Esercizio 7 Scrivere un programma che calcoli l orario di arrivo di un treno. Il programma deve leggere da input ora e minuto di partenza di un treno e ore e minuti di percorrenza prevista. Si visualizzerà in output ora e minuto di arrivo. Esercizio 8 Scrivere un programma che deve da input caratteri fino a quando si digita # ; per ogni carattere letto il programma dice se si tratta di una lettera, oppure di una cifra, oppure di un segno di punteggiatura (specificando quale). Esercizio 9 Descrivere un algoritmo che acquisisce tre numeri interi e determina il numero più grande; tradurre quindi l algoritmo in un programma. Esercizio 10 Descrivere un algoritmo e quindi tradurlo in un programma che risolve equazioni di primo grado della forma: a*x+b=0. Il programma deve essere in grado di accettare qualsiasi valore per i coefficienti a e b e di fornire un risultato corretto per ogni valore ricevuto. Esercizio 11 Scrivere un programma che accetti l immissione da tastiera di caratteri, fino all immissione di un asterisco, e ne stampi il numero totale. Esercizio 12 Scrivere un programma che accetti l immissione di caratteri da tastiera, fino all immissione di due asterischi consecutivi, e ne stampi il numero totale. Esercizio 13 Che differenza c è tra i seguenti frammenti di programma? Quali sono quelli sintatticamente corretti? Quali potrebbero essere quelli semanticamente corretti? Frammento A: if(a!=0) if(a<0) printf("a e negativo"); else printf("a e zero");

4 4 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI Frammento B: if(a!=0){ if (a<0) printf("a e negativo"); else printf("a e zero"); Frammento C: if(a!=0) if (a<0) { printf("a e negativo"); else printf("a e zero"); Esercizio 14 Scrivere un programma che accetti da tastiera numeri relativi, fermandosi all immissione di uno 0, e stampi separatamente le somme dei numeri positivi e di quelli negativi. Esercizio 15 Scrivere un programma che acquisisca da input un numero intero N, controlli che sia non negativo e ne stampi in output il suo fattoriale. Esercizio 16 Scrivere un programma per stampare la tabellina Pitagorica 10*10. Esercizio 17 Il programma deve stampare una piramide (formata da caratteri * ) di altezza NR acquisita da input. Esempio con NR=4 * * * * * * * * * * * * * * * * Esercizio 18 Scrivere un programma C che legge da input numeri interi positivi (fino a quando non legge zero) e determina la lunghezza della massima sequenza di numeri crescenti. Esercizio 19 Scrivere un programma C che legge N interi da input (con N costante maggiore di 3) e verifica se esistono 3 interi n1, n2, e n3, letti di seguito, tali che n3=n2+1, n2= n1+1 en2>0.

5 1.1. INTRODUZIONE AL C 5 Esercizio 20 Realizzare un programma che, acquisita da tastiera una frase su una riga, sia in grado di: 1. contare il numero di parole (NPAR) contenute nella frase; 2. determinare la lunghezza (MAXLUNG) della parola più lunga contenuta nella frase. Si suppone che la frase inserita da tastiera sia priva di punteggiatura: pertanto le parole nella frase sono separate solo tramite uno o più caratteri spazio bianco. Esempio: Frase acquisita da tastiera : "Questa è una prova" NPAR=4 MAXLUNG=6

6 6 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI 1.2 SOLUZIONI Soluzione Esercizio 1 L output che si ottiene è il seguente Saluto salve! salve! Saluto e l ultima printf("%c",saluto); riporta un carattere non significativo, in quanto viene specificata la stampa di un carattere (%c) ma l argomento corrispondente non è un carattere ma una stringa Soluzione Esercizio 2 Il problema è stabilire se tale espressione è valutabile o meno con il valore di A pari a zero: infatti tale valore di A causerebbe un errore di esecuzione nel valutare (10/A>2). È facile verificare che con A uguale a zero l espressione (A==B)&&(B!=0) è falsa per ogni valore di B. Senza la valutazione in corto circuito tutta l espressione viene valutata quindi (10/A>2) genera un errore in esecuzione quando A ha valore zero. Con la valutazione in corto circuito quando A ha valore zero: ffl se B è zero allora (A==B) è vero ma (B!=0) non è vero quindi la valutazione termina senza considerare (10/A>2) e pertanto si ottiene correttamente il valore falso. ffl se B non è zero allora (A==B) è falso quindi la valutazione termina senza considerare (10/A>2) e pertanto si ottiene correttamente il valore falso. Soluzione Esercizio 3 L espressione equivalente è la numero 3. Infatti: ffl partendo da:!(((a<10)&&(b>=20)) (C==12)) ffl e applicando alle due espressioni in or la legge di De Morgan!(P Q) equivalente a!p &&!Q si ottiene:!((a<10)&&(b>=20))&&!(c==12) ffl ora si applica alle due espressioni in and (cioè a!((a<10)&&(b>=20))) la legge di De Morgan!(P && Q) equivalente a!p!q si ottiene: (!(A<10)!(B>=20))&&!(C==12)

7 1.2. SOLUZIONI 7 ffl che è equivalente a: ((A>=10) (B<20))&&(C!=12) Soluzione Esercizio 4 Per risolvere questo esercizio è importante osservare che, per acquisire e, successivamente, riportare in output, tre valori distinti occorrono tre diverse variabili di tipo intero. int X, Y, Z; printf("inserire tre numeri interi"); scanf("%d", &X); scanf("%d", &Y); scanf("%d", &Z); printf("formato a) \n"); printf("%d-%d-%d ",X,Y,Z); printf("formato b) \n"); printf("%d\n%d\n%d ",X,Y,Z); printf("formato c) \n"); printf("%d\n\n%d\n\n%d \n",x,y,z); 2 Modificare il precedente programma in modo da utilizzare un unica funzione scanf per acquisire i tre valori interi e un unica funzione printf per stampare tutti e tre i formati richiesti, ottenendo lo stesso output ottenuto con il precedente programma. Soluzione Esercizio 5 A differenza del precedente esercizio, ora sono sufficienti due sole variabili: una, diciamo X, per acquisire il valore da input e l altra, diciamo Somma, per calcolare la somma. int X; int Somma=0; printf("inserire il primo numero intero"); scanf("%d", &X);

8 8 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI Somma=Somma+X; printf("inserire il secondo numero intero"); scanf("%d", &X); Somma=Somma+X; printf("inserire il terzo numero intero"); scanf("%d", &X); Somma=Somma+X; printf("la somma vale %d", Somma); Soluzione Esercizio 6 Il valore di X è dato da X=(C-B)/A e quindi vogliamo ottenere 2.5: occorre quindi definire X come float; ma questo non è ancora sufficiente per otterere 2,5, in quanto nell espressione (C-B)/A viene applicata la divisione tra interi (essendo sia il dividendo che il divisore numeri interi) che fornisce come risultato 2, che viene quindi assegnato alla variabile X. Per forzare nell espressione (C-B)/A la divisione tra reali, occorre effettuare su uno dei due operandi il casting a float. const int A=4; const int B=6; const int C=16; float X; X=(C-B)/(float)A; printf("risultato : %f ",X); Soluzione Esercizio 7 Descrizione informale dell algoritmo: legge e stampa i dati di ingresso calcola l ora di arrivo i minuti obbediscono ad una aritmetica modulo 60, quindi quando si sommano minuti occorre calcolare quante ore sono contenute nel totale, tramite una divisione tra interi, e quanti sono i minuti residui, tramite l operatore mod discorso analogo per le ore modulo 24 stampa i dati di uscita

9 1.2. SOLUZIONI 9 Il programma risultante è quindi il seguente: /* legge due numeri che rappresentano l orario di partenza in ore e minuti; legge il tempo di percorrenza in ore e minuti e stampa l orario di arrivo */ int Ore, Minuti; /* orario di partenza */ int OreViaggio, MinutiViaggio; /* tempo di percorrenza */ printf("fornire l orario di partenza (oo mm) "); scanf("%d %d", &Ore, &Minuti); printf("\n L orario di partenza \ e Ore:%d" "Minuti:%d\n",Ore,Minuti); printf("fornire il tempo di viaggio (oo mm) "); scanf("%d %d", &OreViaggio, &MinutiViaggio); printf("\nil tempo di viaggio \ e Ore:%d" "Minuti:%d\n",OreViaggio,MinutiViaggio); Minuti = Minuti + MinutiViaggio; Ore = Ore + OreViaggio + (Minuti / 60); Ore = Ore % 24; Minuti = Minuti % 60; printf("\norario di arrivo previsto \ e Ore:%d" "Minuti:%d\n",Ore,Minuti); Soluzione Esercizio 8 main() { char Ch; do { printf("digita un carattere : "); /* legge il successivo carattere stampabile */ do scanf("%c", &Ch); while (!(Ch>=32 && Ch<=127)); if ((Ch>= A && Ch<= Z ) (Ch>= a && Ch<= z ))

10 10 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI printf("%c e una lettera\n",ch); else if (Ch>= 0 && Ch<= 9 ) printf("%c e un numero\n",ch); else switch (Ch) { case, : printf("%c e una virgola\n",ch); break; case. : printf("%c e un punto\n",ch); break; case ; : printf("%c e un punto-virg.\n",ch); break; case : : printf("%c e un due-punti\n",ch); break; default:printf("non riconosciuto\n"); while (Ch!= # ); Soluzione Esercizio 9 Descrizione a parole dell algoritmo - leggi i numeri NUM1, NUM2 e NUM3 - se NUM1 > NUM2 allora - se NUM1 > NUM3 allora stampa altrimenti stampa altrimenti - se NUM2 > NUM3 allora stampa altrimenti stampa L algoritmo si traduce nel seguente programma: NUM1 NUM3 NUM2 NUM3 /* Calcolo del massimo tra tre numeri */ int NUM1, NUM2, NUM3; /* lettura dei tre numeri */ scanf("%d", &NUM1); scanf("%d", &NUM2); scanf("%d", &NUM3); /* confronto tra i numeri */

11 1.2. SOLUZIONI 11 if (NUM1>NUM2) if (NUM1>NUM3) printf("il piu grande e : %d", NUM1); else /* sicuramente NUM3 >= NUM2 */ printf("il piu grande e : %d", NUM3); else /* NUM1 <= NUM2 */ if (NUM2>NUM3) printf("il piu grande e : %d", NUM2); else /* sicuramente NUM3 >= NUM1 */ printf("il piu grande e : %d", NUM3); Soluzione Esercizio 10 Descrizione a parole dell algoritmo: - leggi i coefficienti A e B - se A e B sono entrambi zero - stampa "tutti i valori di X sono corretti" altrimenti - se A e zero e B non e zero stampa "equazione impossibile" altrimenti calcola e stampa X=-B/A L algoritmo si traduce nel seguente programma: /* Risoluzioni di equazioni di primo grado della forma: a*x+b=0. */ int A, B; /* coefficienti dell equazione */ float X; /* incognita dell equazione */ printf("risoluzioni di equazioni di primo grado"); printf("della forma:a*x+b=0\n"); printf("inserire il valore del coefficiente a: "); scanf("%d", &A); printf("inserire il valore del coefficiente b: "); scanf("%d", &B); if ((A==0) && (B==0)) printf("tutti i valori di X sono corretti \n");

12 12 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI else if ((A==0) && (B!=0)) printf("equazione impossibile \n"); else /* A!=0 e B qualsiasi */ { X= - (float)b/ (float)a; printf("il valore di X e : %f\n", X); Soluzione Esercizio 11 main( ){ /* termina con un asterisco */ char CH; int COUNT; COUNT= 0; printf("inserisci una stringa di caratteri\n"); do { scanf("%c", &CH); COUNT++; while (CH!= * ); printf("caratteri contati : %5d\n", count-1); 2 Modificare il precedente programma utilizzando un istruzione while al posto dell istruzione do... while. Soluzione Esercizio 12 /* termina con due asterischi */ main( ){ char a1, a2; int trovato,count; count = 0; printf("inserisci stringa di caratteri \n"); scanf("%c", &a2);

13 1.2. SOLUZIONI 13 trovato = 0; while (trovato == 0) { a1 = a2; scanf("%c", &a2); count++; if (a1 == * && a2 == * ) trovato = 1; printf("caratteri contati : %5d\n",count-1); 2 Modificare il precedente programma in modo da risolvere il problema senza far uso della variabile trovato. Soluzione Esercizio 13 La differenza consiste nell uso delle parentesi graffe che modifica le associazioni tra la clausola else e le clausole if. I frammenti A e B sono sintatticamente corretti, mentre il frammento C non lo è in quanto, a causa delle parentesi graffe, la clausola else non è associata a nessuna clausola if. Il frammento A non è semanticamente corretto: infatti per un valore di a positivo produce come risultato a e zero mentre se a assume il valore zero non produce niente in output. Il frammento B è semanticamente corretto: infatti per un valore di a positivo non produce niente in output mentre se a assume il valore zero produce come risultato a e zero Soluzione Esercizio 14 /* Numeri Relativi */ main( ){ int totpos=0, totneg=0, a; printf("inserisci numero: "); scanf("%d", &a); while (a!= 0) { if (a > 0) totpos = totpos + a; else

14 14 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI 2 totneg = totneg + a; printf("inserisci numero: "); scanf("%d", &a); printf("totale Numeri Positivi = %5d\n", totpos); printf("totale Numeri Negativi = %5d\n", totneg); Modificare il precedente programma utilizzando un istruzione do... posto dell istruzione while. Soluzione Esercizio 15 In base alla definizione di fattoriale di un numero N N! = ρ 1 se N =0oppure N =1 2 Λ :::(N 1) Λ N se N>1 while al il calcolo del fattoriale avviene utilizzando una variabile chiamata fattoriale inizializzata a uno e calcolando il prodotto fattoriale = fattoriale * I perichevada2an. /* Calcolo del fattoriale */ int N; /* numero da acquisire */ int fattoriale; int I; /* variabile di conteggio */ printf("inserire il valore N (non negativo) -->"); do scanf("%d",&n); while (N<0); /* controllo che N non sia negativo */ fattoriale = 1; for (I=2; I<=N; I++) fattoriale = fattoriale * I; printf("il fattoriale di %d vale %d", N,fattoriale);

15 1.2. SOLUZIONI 15 2 Considerando la definizione alternativa di fattoriale di un numero N: N! = ρ 1 se N =0 (N 1)! Λ N se N>0 risolvere il problema del calcolo del fattoriale senza far uso della variabile di conteggio I. Soluzione Esercizio 16 Per stampare la tabellina Pitagorica 10*10 si utilizzano due cicli innestati: quello interno serve per calcolare e stampare una riga, cioè per calcolare e stampare la tabellina di un cero numero R, e quello esterno per ripetere tale calcolo per R da 1 a 10. La struttura dell algoritmo sarà la seguente: - per tutti i valori di R da 1 a 10 - per tutti i valori di C da 1 a 10 - stampa R*C - vai a capo L algoritmo si traduce nel seguente programma: /* Calcolo e stampa della tabellina pitagorica */ int R,C; printf("tabellina Pitagorica 10*10:\n"); for (R=1; R<=10; R++){ for (C=1; C<=10; C++) printf("%5d", R*C); printf("\n"); Soluzione Esercizio 17 Descrizione informale: - acquisisci e controlla che il valore NR sia positivo - per tutti i valori di I da 1 a NR - stampa (NR - I) spazi bianchi - stampa (2*I - 1) caratteri * - vai a capo

16 16 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI /* Stampa Piramide */ int I, J; int NR; printf("numero righe piramide (intero positivo) :"); scanf("%d", &NR); while (NR<=0) { printf("\n Il numero righe deve essere positivo :"); scanf("%d", &NR); for (I=1; I <= NR; I++) { /* ognuno di questi cicli equivale ad una riga */ for (J = 1; J <= NR-I; J++) /* stampa NR - I spazi bianchi /* printf(" "); for (J = 1; J<=2*I-1; J++) /* stampa 2I-1 asterischi /* printf("*"); printf("\n"); /* va a capo */ /* fine del ciclo for esterno con I */ 2 Modificare il precedente programma in modo da stampare una piramide vuota. Esempio con NR=4 * * * * * * * * * * * * Soluzione Esercizio 18 Una sequenza X 1 ;X 2 ;X 3 ;:::X n è crescente se X i <X i+1, per 1» i» n 1. Allora per controllare che una sequenza immessa da input sia crescente sono sufficienti solo due variabili, diciamo C e P (Corrente e Precedente) che rappresentano X i e X i+1, rispettivamente. Descrizione informale: - Inizializza P a zero - Inizializza Count a zero

17 1.2. SOLUZIONI 17 - Inizializza MaxLung a zero - Leggi C - Finche C e diverso da 0 - Se (C>P) - incrementa Count Altrimenti - Se (Count > MaxLung) - MaxLung=Count - Inizializza Count a uno - P=C - Leggi C - Se (Count > MaxLung) - MaxLung=Count - Stampa MaxLung int C,P=0; int Count=0; int MaxLung=0; scanf("%d",&c); while (C!=0) { if (C>P) Count++; else { if (Count>MaxLung) MaxLung=Count; Count=1; P=C; scanf("%d",&c); if (Count>MaxLung) MaxLung=Count; printf("massima Lunghezza %d", MaxLung); Soluzione Esercizio 19 #define N 10

18 18 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI int n1,n2,n3; int I; int trovato=0; for(i=1;i<=n;i++){ scanf("%d",&n3); if ((I>=3) && (n3==n2+1) && (n2==n1+1) && (n2>0)) trovato=1; n1=n2; n2=n3; if (trovato) printf("ok"); 2 Modificare il precedente programma in modo tale che l acquisizione dei numeri termini non appena sia stata letta una sequenza con le caratteristiche richieste, senza arrivare necessariamente ad N acquisizioni. Soluzione Esercizio 20 Si legge la frase carattere per carattere e due caratteri consecutivi vengono memorizzati due variabili, Ch1 e Ch2: Q u e s t a è u n a p r o v a Ch1 Ch2 In questo modo è possibile individuare quando inizia e quando finisce una parola: Ch1 Ch2 Significato!= == è terminata la parola corrente: incrementare di uno il numero delle parole e controllare se la lunghezza della parola appena terminata è quella massima azzerare la lunghezza della parola corrente successiva!=!= continua la parola corrente: incrementare di uno la sua lunghezza ==!= è iniziata la parola corrente: incrementare di uno la sua lunghezza == == non ci sono parole: non fare nessuna azione Si noti che ffl All inizio della frase: il numero di parole e la lunghezza della parola corrente sono zero Ch2 è il primo carattere della frase, mentre Ch1 viene inizializzato a

19 1.2. SOLUZIONI 19 ffl Alla fine della frase: la parola corrente può terminare anche con Ch1!= e Ch2== \n Pertanto i casi da considerare sono sostanzialmente due: se (Ch2!= && Ch2!= \n ) la parola comincia (nel caso in cui Ch1== ) oppure continua (se Ch1!= ): in entrambi i casi occorre aumentare di uno la sua lunghezza altrimenti (cioè Ch2== Ch2== \n ) se (Ch1!= ) la parola è terminata - Inizializzare a zero NPAR e MAXLUNG - Inizializzare con il carattere spazio bianco Ch1 - Ripeti - leggi un carattere in Ch2 - effettua i controlli e le azioni riportate in precedenza - poni Ch1 uguale a Ch2 - Finche il carattere Ch2 e diverso dal fine riga \n - Stampa i risultati Il programma risultante sarà quindi il seguente: main() { char Ch1=,Ch2; int NPAR=0; /* numero parole */ int MAXLUNG=0; /* massima lunghezza di una parola */ int LUNG=0; /* lunghezza della parola corrente */ int i; printf("inserire la frase \n "); do { scanf("%c",&ch2); if (Ch2!= && Ch2!= \n ) /* la parola comincia o continua */ LUNG = LUNG +1; else if (Ch1!= ) /* e terminata una parola */ { NPAR = NPAR +1;

20 20 CAPITOLO 1. FONDAMENTI DI INFORMATICA - ESERCIZI Ch1=Ch2; while (Ch2!= \n ); if (LUNG>MAXLUNG) MAXLUNG=LUNG; LUNG=0; printf("\n Numero parole --> %d \n",npar); printf("\n Lunghezza parola piu lunga" "--> %d \n",maxlung);

1 Elementi base di un programma INTRODUZIONE AL C SOLUZIONI... 8

1 Elementi base di un programma INTRODUZIONE AL C SOLUZIONI... 8 Indice 1 Elementi base di un programma 3 1.1 INTRODUZIONE AL C....................... 4 1.2 SOLUZIONI............................. 8 2 Dato strutturato array 23 2.1 DATI STRUTTURATI........................

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()

Dettagli

Esercizio 1" input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2

Esercizio 1 input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2 Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 03 Istruzioni" Lab03 1 Esercizio

Dettagli

Fondamenti di Informatica T-1 Modulo 2

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

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 scanf: STRINGA DI FORMATO

Dettagli

Lab 04 Programmazione Strutturata"

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate

Dettagli

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

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

Dettagli

Esempi comparati while, do...while

Esempi comparati while, do...while Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare

Dettagli

Fondamenti di Informatica T-1 Modulo 2

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

Dettagli

Lab 03 Istruzioni Prima Parte"

Lab 03 Istruzioni Prima Parte Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione Lab 03 Istruzioni Prima Parte" Lab03 1 Esercizio 1"

Dettagli

Esercizio 1. Esercizio 1 - Soluzione

Esercizio 1. Esercizio 1 - Soluzione Esercizio 1 Progettare e Codificare in C un programma che permetta di Chiedere all utente quanti numeri vuole inserire Leggere i numeri inseriti dall utente e calcolare la somma dei fattoriali Esempio:

Dettagli

Input / Output, Espressioni Condizionali e Cicli

Input / Output, Espressioni Condizionali e Cicli LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Laboratorio di informatica LA Corso di laurea in Ingegneria Informatica - Anno Accademico 2007-2008 Input / Output, Espressioni Condizionali e

Dettagli

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Alcuni esercizi 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Stampa di voti Esempio 1 (switch) Realizzare un programma che legge da input un voto (carattere tra A ed E ) e ne

Dettagli

del Linguaggio C Istruzioni di iterazione

del Linguaggio C Istruzioni di iterazione Istruzioni i Iterative ti del Linguaggio C Istruzioni di iterazione Le istruzioni di iterazione forniscono strutture di controllo che esprimono la necessità di ripetere una certa istruzione durante il

Dettagli

prof. P. Mancarella Dip.to Informatica INFORMATICA 1 a.a. 07/08 pag. 170

prof. P. Mancarella Dip.to Informatica INFORMATICA 1 a.a. 07/08 pag. 170 Istruzioni condizionali Esempio: Dati tre valori che rappresentano le lunghezze dei lati di un triangolo, stabilire se si tratti di un triangolo equilatero, isoscele o scaleno. Algoritmo: determina tipo

Dettagli

3 Costrutti while, for e switch

3 Costrutti while, for e switch Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while e for e switch. I costrutti per costruire cicli in C sono il while (e la variante

Dettagli

Schemi ricorrenti nei cicli. Contatori Accumulatori Flag Esistenza e universalità

Schemi ricorrenti nei cicli. Contatori Accumulatori Flag Esistenza e universalità Cicli ed iterazioni Schemi ricorrenti nei cicli Contatori Accumulatori Flag Esistenza e universalità 2 Schemi ricorrenti nei cicli Contatori Spesso in un ciclo è utile sapere Quante iterazioni sono state

Dettagli

Dott. R. Gori, Dott. A. Rama INFORMATICA 242AA a.a. 2011/12 pag. 1. Le istruzioni iterative permettono di ripetere determinate azioni più volte:

Dott. R. Gori, Dott. A. Rama INFORMATICA 242AA a.a. 2011/12 pag. 1. Le istruzioni iterative permettono di ripetere determinate azioni più volte: 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", &i5); printf("%d", i1 +

Dettagli

3 Costrutti while, for e switch

3 Costrutti while, for e switch Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante

Dettagli

Concetti chiave. Istruzioni Iterative. Strutture di controllo iterative while do-while for Cicli annidati

Concetti chiave. Istruzioni Iterative. Strutture di controllo iterative while do-while for Cicli annidati Concetti chiave Istruzioni Iterative Strutture di controllo iterative while do-while for Cicli annidati Altre Espressioni Operatori Aritmetici +, -, *, /, si applicano a qualunque tipo Operatore Aritmetico

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica C: costanti introdotte con #define Laboratorio di informatica Ingegneria meccanica Lezione 4 22 ottobre 2007 Forma: #define nome valore Effetto: ogni occorrenza successiva di nome sarà rimpiazzata con

Dettagli

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

I cicli. Iterazioni Calcolo della media Istruzioni break e continue I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione

Dettagli

Istruzioni iterative. Istruzioni iterative

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",

Dettagli

Array Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione

Array Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione Array Tipi di dato semplici e strutturati i tipi di dato visti finora erano tutti semplici: int, char, float,... i dati manipolati sono spesso complessi (o strutturati) con componenti elementari o strutturate

Dettagli

Schemi ricorrenti nei cicli. Cicli ed iterazioni. Contatori. Schemi ricorrenti nei cicli. Contatori. Esempio

Schemi ricorrenti nei cicli. Cicli ed iterazioni. Contatori. Schemi ricorrenti nei cicli. Contatori. Esempio Schemi ricorrenti nei cicli Contatori Accumulatori lag Esistenza e universalità Cicli ed iterazioni 2 Contatori Schemi ricorrenti nei cicli Spesso in un ciclo è utile sapere Quante iterazioni sono state

Dettagli

Lab 04 Istruzioni, cicli e array"

Lab 04 Istruzioni, cicli e array Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 04 Istruzioni, cicli e array" Lab04 1 Esercizio 1" Si scriva un

Dettagli

Lab 04 (parte A) Programmazione Strutturata

Lab 04 (parte A) Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 (parte A) Programmazione Strutturata Lab04 1 Valutazione in cortocircuito (1) In C, le espressioni booleane

Dettagli

Controllo del flusso

Controllo del flusso Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Iterazione A. Ferrari

Iterazione A. Ferrari Iterazione A. Ferrari Iterazioni (cicli) L iterazione è una struttura che consente di ripetere più volte l esecuzione di un insieme di istruzioni. Due tipi di iterazione: iterazioni enumerative: consentono

Dettagli

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning Obiettivi di questa esercitazione Fondamenti di Informatica T-1 Parte 2 Laboratorio 01 1. Input e output in linguaggio i C 2. Espressioni 3. Programmazione strutturata 1 (if, switch, do while) 1 2 Warning

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case

Dettagli

sum = 0; positivenumbers = 0; /* Passo 1 */ printf("introduci i numeri (0 per finire): "); scanf("%d", &number);

sum = 0; positivenumbers = 0; /* Passo 1 */ printf(introduci i numeri (0 per finire): ); scanf(%d, &number); / Questo programma legge numeri interi, positivi e negativi, finche' l'utente non digita il valore 0 (valore di terminazione). Quando l'utente ha finito di immettere gli interi, il programma stampa la

Dettagli

==,!=, >, <, >=, <= (a > 7), (b % 2 == 0), (x <= w) &&, (a > 7) && (b % 2 == 0)!(x >= 7) (a == 0)

==,!=, >, <, >=, <= (a > 7), (b % 2 == 0), (x <= w) &&, (a > 7) && (b % 2 == 0)!(x >= 7) (a == 0) ==,!=, >, =, 7), (b % 2 == 0), (x 7) && (b % 2 == 0)!(x >= 7) (a == 0)!, int = int int + int int - int int * int int / int % ==!= < > = int = int int + int int - int int

Dettagli

Istruzioni iterative (o cicliche)

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

Dettagli

Esercitazione 6. Array

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

Dettagli

do { printf("inserisci due numeri reali:"); scanf("%f %f", &a, &b);

do { printf(inserisci due numeri reali:); scanf(%f %f, &a, &b); Fondamenti di Informatica T-1 modulo 2 Laboratorio 02 1 Obiettivi di questa esercitazione 1. Valutazione in cortocircuito i 2. If innestati 3. Switch 4. Cicli 5. Funzioni e Header File 2 Valutazione in

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

do { printf("inserisci due numeri reali:"); scanf("%f %f", &a, &b); while(b!=0 && a/b<0);

do { printf(inserisci due numeri reali:); scanf(%f %f, &a, &b); while(b!=0 && a/b<0); Obiettivi di questa esercitazione Fondamenti di Informatica T-1 modulo 2 Laboratorio 02 1. Valutazione in cortocircuito i 2. If innestati 3. Switch 4. Cicli 5. Funzioni e Header File 1 2 Valutazione in

Dettagli

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Iterative: Istruzione FOR Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione del

Dettagli

INFORMATICA. Strutture iterative

INFORMATICA. Strutture iterative INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

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

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

Iterazione indeterminata

Iterazione indeterminata Iterazione indeterminata In alcuni casi il numero di iterazioni da effettuare non è noto prima di iniziare il ciclo, perché dipende dal verificarsi di una condizione. Esempio: Leggere una sequenza di interi

Dettagli

Istruzioni di Controllo in C. Emilio Di Giacomo

Istruzioni di Controllo in C. Emilio Di Giacomo Istruzioni di Controllo in C Emilio Di Giacomo Limite delle istruzioni viste L insieme delle istruzioni che abbiamo visto fino ad ora consiste per lo più di: dichiarazioni e assegnazioni di variabili espressioni

Dettagli

Corso di Informatica B - Sezione D. Esercitazioni Linguaggio C

Corso di Informatica B - Sezione D. Esercitazioni Linguaggio C Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Corso di Informatica B - Sezione D Esercitazioni Linguaggio C Esercitazione del 2012-10-11 Davide Chicco davide.chicco@elet.polimi.it

Dettagli

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Iterative: Istruzione FOR Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative n Anche dette cicli n Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo) n Ad ogni iterazione del

Dettagli

Blocchi. a=10; { b=2; 2 C-strutture di controllo.tex: Versione 1.0, aa

Blocchi. a=10; { b=2; 2 C-strutture di controllo.tex: Versione 1.0, aa 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 è

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 Esercizio 1 - Soluzione

Dettagli

Espressioni booleane. Esempio: temperatura <= 0 velocita > velocita max

Espressioni booleane. Esempio: temperatura <= 0 velocita > velocita max Espressioni booleane Espressioni booleane il linguaggio deve consentire di descrivere espressioni booleane cioé espressioni che ritornino come risultato valori di verit : vero o falso (guardie di condizionali

Dettagli

Sistemi di sviluppo integrati

Sistemi di sviluppo integrati Elementi di Informatica e Programmazione Ingegneria Informatica Ingegneria dell'automazione Industriale Ingegneria Elettronica e delle Telecomunicazioni Alessandro Saetti (email: alessandro.saetti@unibs.it)

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

Tipi di dato strutturati: Array

Tipi di dato strutturati: Array Tipi di dato strutturati: Array I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono

Dettagli

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Strutture di Controllo Condizionali e Operatori Logici e Relazionali Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo! Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 18/10/07 Ing. Giorgio Villani Ripasso Teoria Caratteri char x; x = a ; printf( Il carattere e %c, x); putchar(x); scanf( %c, &x); x = getchar(); Ripasso

Dettagli

Tipi di dato strutturati: Array

Tipi di dato strutturati: Array Tipi di dato strutturati: I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono uno dei

Dettagli

Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione

Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione Lab 03 Istruzioni" Lab03 1 Esercizio 1" n Realizzare

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 30/10/07 Ing. Giorgio Villani Ripasso Teoria Ciclo do while do {istruzioni while(espressione); int i; do { printf( Scegli un numero tra 1 e 3 ); scanf( %d,

Dettagli

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli - ESERCIZI DI PROGRAMMAZIONE - condizionali e cicli - Elementi di Informatica e Programmazione Università di Brescia 1 Esercizio 1: dal tema d esame ING-INF del 28 gennaio 2009 Si sviluppi un programma in

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 3 Input/Output elementare. Operatori, espressioni e istruzioni FABIO SCOTTI Laboratorio di programmazione

Dettagli

Istruzioni di Controllo

Istruzioni di Controllo Istruzioni di Controllo Programmazione strutturata Ricordiamo i concetti chiave: concatenazione o composizione BLOCCO istruzione condizionale SELEZIONE ramifica il flusso di controllo in base al valore

Dettagli

Informatica 2 modulo C Massimo Callisto De Donato

Informatica 2 modulo C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria ivile e Ingegneria per l ambiente e il territorio Linguaggio : Le basi Stefano

Dettagli

Corso di Informatica B - Sezione D. Esercitazioni Linguaggio C

Corso di Informatica B - Sezione D. Esercitazioni Linguaggio C Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Corso di Informatica B - Sezione D Esercitazioni Linguaggio C Esercitazione del 2012-10-11 Davide Chicco davide.chicco@elet.polimi.it

Dettagli

while Istruzione while Cicli ed iterazioni Istruzioni di ripetizione in C Comportamento del while

while Istruzione while Cicli ed iterazioni Istruzioni di ripetizione in C Comportamento del while icli ed iterazioni Sintassi dell istruzione Esercizio Media aritmetica Esecuzione del programma icli while annidati Esercizio Quadrato 2 Istruzioni di ripetizione in Nel linguaggio esistono tre distinte

Dettagli

ISTRUZIONI ISTRUZIONI SEMPLICI

ISTRUZIONI ISTRUZIONI SEMPLICI ISTRUZIONI istruzioni azioni modifica permanente dello stato interno strutture di controllo ::= ::= ::=

Dettagli

Esercitazione 2. Espressioni booleane Il comando if-else

Esercitazione 2. Espressioni booleane Il comando if-else Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Esercizio 1: calcolo del massimo di una sequenza (versione 1)

Esercizio 1: calcolo del massimo di una sequenza (versione 1) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 2 Esercitazione: 12 ottobre 2005 Primi esercizi in C Esercizio 1: calcolo del massimo di una sequenza (versione 1) Si legga

Dettagli

Istruzioni. Una istruzione semplice è qualsiasi espressione seguita da un punto e virgola. Esempio x = 0; y = 1;/* due istruzioni */

Istruzioni. Una istruzione semplice è qualsiasi espressione seguita da un punto e virgola. Esempio x = 0; y = 1;/* due istruzioni */ Istruzioni Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono di aggregare

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato 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

Dettagli

Come va usato il codice dei caratteri

Come va usato il codice dei caratteri Espressioni booleane Come va usato il codice dei caratteri Convertiamo una lettera minuscola in maiuscolo: char lower = k ; char upper = (char) (lower - a + A ); printf("%c", upper); Convertiamo un carattere

Dettagli

Istruzioni. Istruzioni semplici Istruzioni di controllo. Fondamenti di Informatica e laboratorio Istruzioni e Controllo del flusso

Istruzioni. Istruzioni semplici Istruzioni di controllo. Fondamenti di Informatica e laboratorio Istruzioni e Controllo del flusso Istruzioni Istruzioni Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono

Dettagli

Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf

Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Riassunto Esercitazione 3 Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Sono state introdotte anche le seguenti relazioni: uguaglianza:

Dettagli

Esercitazione 4. Esercizio 1 (test anni bisestili) Dato il seguente codice rispondere alle seguenti domande:

Esercitazione 4. Esercizio 1 (test anni bisestili) Dato il seguente codice rispondere alle seguenti domande: Esercitazione 4 Esercizio 1 (test anni bisestili) Dato il seguente codice rispondere alle seguenti domande: Codice 1. Si descriva a parole cosa fa il programma 2. Si riscriva il programma utilizzando un

Dettagli

Istruzioni di controllo

Istruzioni di controllo Istruzioni di controllo Le istruzioni in C Assegnazione Sequenza I/O Test Cicli Controllo = che cosa è la prossima cosa da fare La prossima cosa da fare è quella che segue La prossima cosa da fare dipende

Dettagli

Corso di Informatica 1 (IN110) Tutorato n. 4

Corso di Informatica 1 (IN110) Tutorato n. 4 Corso di Informatica 1 (IN110) Tutorato n. 4 Marco Liverani Esercizio n. 1 Letto in input un array di n numeri interi ed un intero k > 1, eliminare dall array tutti i multipli di k, spostando a sinistra

Dettagli

Linguaggio C++ 5. Strutture cicliche

Linguaggio C++ 5. Strutture cicliche 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) Linguaggio C++ 5 Strutture cicliche Linguaggio C++ 5 1 Strutture cicliche Utilizzate per ripetere un certo numero di volte

Dettagli

Lab 04 Programmazione Strutturata

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata Lab04 1 Valutazione in cortocircuito (1) In C, le espressioni booleane sono valutate

Dettagli

PRIMA PROVA INTERMEDIA DEL MODULO DI

PRIMA PROVA INTERMEDIA DEL MODULO DI PRIMA PROVA INTERMEDIA DEL MODULO DI MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (4 punti) L espressione booleana F = A + B ha un espressione equivalente

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 Esercizio 1 Si acquisisca da tastiera una sequenza (a priori illimitata) di caratteri terminata da '\n'. Per poter acquisire ed elaborare anche eventuali caratteri di spaziatura, è necessario utilizzare

Dettagli

Strutture di controllo

Strutture di controllo Strutture di controllo 73 Teorema di Bohm e Jacopini Tutti i programmi possono essere scritti in termini di tre strutture di controllo: La sequenza, permette di eseguire le istruzioni secondo l ordine

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 1: media di numeri reali (uso funzioni e struct) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le

Dettagli

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 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

Dettagli

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione Sequenze di cifre Esercizio 1 - cicli Realizzare un programma che prende in input una sequenza di cifre (tra 1 e 9) e calcola la somma massima fra le sotto- sequenze di cifre non decrescente Il programma

Dettagli

Un programma deve essere scritto come collezione di tante piccole funzioni perché:

Un programma deve essere scritto come collezione di tante piccole funzioni perché: Un programma deve essere scritto come collezione di tante piccole funzioni perché: ƒè più facile scrivere correttamente una funzione breve che abbia un unico compito: in questo modo sia la scrittura che

Dettagli

Esercizio 1. Esercizio 2

Esercizio 1. Esercizio 2 Esercizio 1 Progettare e Codificare in C un programma che permetta di Chiedere all utente quanti numeri vuole inserire Leggere i numeri inseriti dall utente e calcolare la somma dei fattoriali Esempio:

Dettagli

1 Operatori matematici e costrutto if

1 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

For e do. Parte 4. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

For e do. Parte 4. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

La principale modalità di calcolo è l applicazione di funzioni

La principale modalità di calcolo è l applicazione di funzioni 1 La principale modalità di calcolo è l applicazione di funzioni Nei linguaggi funzionali puri non esistono strutture di controllo predefinite per la realizzazione di cicli quali for, while, repeat Un

Dettagli

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili Lo scopo 2 Il primo esperimento 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 Ver. 2.4

Dettagli

Strutture di Controllo Iterative: Istruzioni While e Do

Strutture di Controllo Iterative: Istruzioni While e Do Linguaggio C Strutture di Controllo Iterative: Istruzioni While e Do 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione

Dettagli