Esercitazione 2. Corso di Fondamenti di Informatica

Documenti analoghi
Esercitazione 5. Corso di Fondamenti di Informatica. Laurea in Ingegneria Informatica

Esercitazione 7. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008

Esercitazione 3. Corso di Fondamenti di Informatica

Istruzioni iterative (o cicliche)

Input / Output, Espressioni Condizionali e Cicli

LIA. LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L

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

Esercitazione 6. Array

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

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

Esercizi di programmazione in linguaggio C - Costrutto iterazione

Scelte ed alternative. Esercizi risolti

Fondamenti di Programmazione

Fondamenti di Informatica L-A

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

- Dispensa III - PROGRAMMAZIONE C (Parte I)

3 Costrutti while, for e switch

# include<stdio.h> int main() { // Dichiarazioni int n; int i;

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

Istruzioni decisionali

Istruzioni iterative. Istruzioni iterative

Switch. Unità 3. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Corso di Informatica 1 Esercitazione n. 4

IL PRIMO PROGRAMMA IN C

Fondamenti di Informatica T-1 Modulo 2

acquisizione numero elementi del primo insieme e del secondo insieme, finché elprimoinsieme oppure elsecondoinsieme > EL_INS

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi

Esercizi proposti. Esercizio Confronto tra date Esercizio Quadrato Esercizio Indovina numero

Istruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

ISTRUZIONI DI ITERAZIONE

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore.

Esercizio n.1 FONDAMENTI DI INFORMATICA 1. Esercizio n.2. Soluzione. LINGUAGGIO C Funzioni e gestione file: esercitazione

ESERCIZI DI PROGRAMMAZIONE DA TEMI D ESAME - vettori -

Corso di Informatica B - Sezione D. Esercitazioni Linguaggio C

Unità 3 Istruzioni condizionali

Stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

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

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Primo programma in C Esercizi risolti

Esercizi proposti. Funzioni. Esercizio Confronto tra date. Esercizi proposti. Analisi. Controlli

Controllo del flusso di esecuzione Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Esercizio 1. Esercizio 1 - Soluzione

LABORATORIO DI FONDAMENTI DI INFORMATICA DIAGRAMMI DI FLUSSO E CODIFICA IN C DEGLI ALGORITMI

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

Esempio: somma di due numeri

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

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Capitolo 1 Fondamenti di Informatica - Esercizi

PROGRAMMAZIONE: ESERCITAZIONE N. 6

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione

Esercizi di programmazione in C

Programmare in C. Esempio: Algoritmo del Risveglio

INFORMATICA. Strutture iterative

Informatica B

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

Cicli annidati e matrici di variabili

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Corso di Informatica 1 (IN1) Tutorato n. 11

Esercizio 1: calcolo insieme intersezione

Introduzione al linguaggio C

1 (4) 2 (4) 3 (12) 4 (6) 5 (6)

main() { int i; int a[10]={1,2,3,4,5,6,7,8,9,10}; /* inizializzazione in fase di definizione */ int b[10];

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

Fondamenti di Informatica T-1 Modulo 2

Corso di Informatica

Esercizi di programmazione in C

Immettere un importo in euro intero e stampare il numero minimo di banconote da 20, 10, 5 e monete da 1 e 2 euro necessarie per pagarlo.

Esercizio 1. Esercizio 1 Soluzione

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA 17/1/1997 PROVA SCRITTA

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

Input/Output di numeri

RICORSIONE. Informatica B - A.A. 2013/2014

Corso di Informatica Medica Esercitazione 1I ! Alessandro A. Nacci - alessandronacci.com

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento)

(*lista == NULL (*lista)->info >= elem) accede al campo next di *lista solo se *lista non e' NULL. */ #include <stdio.h> #include <stdlib.

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Primo programma in C

Scelte ed alternative

Programmazione strutturata

7. Strutture di controllo

Compilare il primo programma. Primo programma in C. Esercizio Somma due numeri. Compilare il primo programma. Analisi. Analisi

Laboratorio di Informatica Ingegneria Clinica Lezione 5/10/2011. Prof. Raffaele Nicolussi

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione

Il linguaggio C Strutture

Strutture di Controllo

Istruzioni Condizionali in C

Programmazione I - Laboratorio

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

Esercizio 1: Puntatori impiegati che sono manager

switch Istruzione switch Scelte ed alternative Scelte multiple Sintassi istruzione switch Precisazioni (1/2)

Esercitazioni di Fondamenti Informatica - Modulo A 1

Programmi su più moduli - Esempio

1 (4) 2 (4) 3 (7) 4 (5) 5 (5) 6 (7)

Introduzione all elaborazione automatica delle informazioni

La somma di 12 e 30 è 42

Programmazione I - Laboratorio

Scelte ed alternative

Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011. Prof. Raffaele Nicolussi

Transcript:

Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 2 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti) Anno Accademico 2007/2008 Tutor: Ing. Diego Rughetti

Argomenti di riferimento Istruzioni decisionali Iterazioni

Esercizio 1 Scrivere un programma che calcola e stampa l area di un rettangolo dopo avere chiesto in ingresso (da tastiera) la base e l altezza (due numeri interi).

Soluzione #include <stdio.h> int main(void){ int base, altezza, area; printf("immetti base del rettangolo e premi INVIO\n"); scanf("%d", &base); printf("immetti altezza del rettangolo e premi INVIO\n"); scanf("%d", &altezza); area = base * altezza; printf("area: %d\n", area); return 0;

Esercizio 2 Scrivere un programma C che prende in ingresso tre numeri interi e stampa a monitor il maggiore.

Soluzione #include <stdio.h> #include <stdio.h> int main(){ int a,b,c; printf("introduci tre numeri interi:"); scanf("%d%d%d", &a, &b, &c); if (a > b) if (a > c) printf("%d",a); else printf("%d",c); else if (b > c) printf("%d",b); else printf("%d",c); return 1 int min(){ interi:"); int a,b,c; printf("introduci tre numeri scanf("%d%d%d", &a, &b, &c); if (a > b && a > c) printf("%d",a); else if (b > a && b > c) printf("%d",b); else return 1 printf("%d",c);

Esercizio 3 Scrivere un programma C che prende in ingresso una data (giorno, mese ed anno) e stampa la data successiva

Soluzione #include <stdio.h> int main(){ int g,m,a, gm; printf("giorno:"); scanf("%d",&g); printf("mese:"); scanf("%d",&m); printf("anno:"); scanf("%d",&a); printf("data: %d/%d/%d\n",g,m,a); if (m == 1 m == 3 m == 5 m == 7 m == 8 m == 10 m == 12) gm = 31; else if (m == 2) if ( (a % 4 == 0) && (a % 100!= 0) (a % 400 == 0) ) gm = 29; else gm = 28 else gm = 30; g = g+1; if (g > gm){ g = 1; m++; if (m > 12){ m = 1; ++a; printf("data successiva: %d/%d/%d\n",g,m,a); return 1;

Soluzione migliore #include <stdio.h> int main (){ ) int g,m,a, gm; g = 0; m = 0, a = 0, gm = 0; while (!(g >0 && g < 32 )){ // oppure (g<1 g>31) printf("giorno:"); scanf("%d",&g); while (!(m >0 && m < 13 )){ printf("mese:"); scanf("%d",&m); printf("anno:"); scanf("%d",&a); printf("data: %d/%d/%d\n",g,m,a); switch(m){ case 2: if ( (a % 4 == 0) && (a % 100!= 0) (a % 400 == 0) gm = 29; else gm = 28; break; case 4: gm = 30; break; case 6: gm = 30; break; case 9: gm = 30; break; case 11: gm = 30; break; default: gm = 31; g = g+1; if (g > gm){ g = 1; m++; if (m > 12){ m = 1; ++a; printf("data successiva: %d/%d/%d\n",g,m,a); return 1;

Esercizio 4 Scrivere un programma che calcoli e visualizzi la somma degli interi pari compresi tra 2 e 100.

Soluzione #include <stdio.h> int main() { int i,somma =0; for (i=2; i<=100; i+=2) somma +=i; printf("la somma e' %d \n",somma); return 0;

Esercizio 5 Scrivere un programma che, letto in ingesso il numero di righe da stampare, visualizzi il triangolo seguente: 1 2 3 4 5 6 7 8 9 10...

Soluzione #include <stdio.h> int main(){ int righe,i,j, c=1; /* c numero corrente da stampare inizializzato ad 1*/ printf("righe?"); scanf("%d",&righe); for (i=1; i <= righe; i++) { for (j =1; j<= i; j++) printf("%d ",c++); printf("\n"); return 0;

Esercizio 6 Progettare un programma che legge due numeri interi e ne stampa il massimo comun divisore (utilizzare l algoritmo di Euclide). Codificare l'algoritmo in un programma C, compilatelo ed eseguitelo.

Soluzione #include <stdio.h> int main(){ int m, n; printf("digita due interi positivi: "); scanf("%d%d", &m, &n); /* la stampa del messaggio che utilizza i valori iniziali m e n deve essere fatta prima del calcolo in quanto tali valori vanno perduti */ printf("il massimo comun divisore di %d e %d e` ", m, n); while (m!= n) if (m > n) m = m - n; else n = n - m; printf("%d\n", m); return1

Esercizio 7 Progettate un programma che legge un intero positivo e stampa il suo fattoriale. Si ricorda che il fattoriale n! e' definito come: n! = n * (n-1) * (n-2) *... * 3 * 2 * 1.

Soluzione #include <stdio.h> int main(){ int n; long fatt; /* si utilizza il tipo long */ printf("digitare un intero >= 0: "); scanf("%d", &n); if (n >= 0) { printf("il fattoriale di %d e` ", n); fatt = 1; while (n > 1) { fatt = fatt * n; n--; printf("%ld\n", fatt); else printf("il numero deve essere nonnegativo.\n"); return 0;

Esercizio 8 Scrivere un programma C che prenda in ingresso una sequenza di numeri interi terminante con 0 e ne calcoli la lunghezza (0 escluso)

Soluzione int main(){ int main(){ int cnt = 0; int num; scanf("%d",&num); while (num){ ++cnt; scanf("%d",&num); printf( lunghezza = %d, cnt); return 1; int cnt = 0; int num; scanf("%d",&num); for (;num;++cnt) scanf("%d",&num); printf( lunghezza = %d, cnt); return 1; int main(){ int cnt = 0; int num; for (scanf("%d",&num); num; ++cnt, scanf("%d",&num)); printf( lunghezza = %d, cnt); return 1;

Esercizio 9 Leggere una sequenza di numeri interi terminante con 0 e stampare la media dei numeri pari e la media dei numeri dispari

Soluzione int main(){ int np,nd,sp,sd; int n; np=nd=sp=sd=0; printf("n = "); scanf("%i",&n); while (n){ if (n % 2){ nd++; sd+=n; else{ np++; sp+=n; printf("n = "); scanf("%d",&n); if (np) if (nd) return 0; printf( Media dei pari:%12.3f\n",(float)sp/np); printf( Media dei dispari:%12.3f\n",(float)sd/nd);