Elementi di Informatica e Programmazione ...–C, C++, Java, C#, Perl, Python, PhP, Javascript...
Transcript of Elementi di Informatica e Programmazione ...–C, C++, Java, C#, Perl, Python, PhP, Javascript...
-
1A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Elementi di Informatica e Programmazione- Dispensa III -
PROGRAMMAZIONE C (Parte I)Alessandro Saetti
(email: [email protected])
Università degli Studi di Brescia
A.A. 2019/2020
2A.A. 2019/2020
Linguaggi di Programmazione
• Basso livello di astrazione: – Linguaggio macchina
– Linguaggio assembly
• Alto livello di astrazione: – C, C++, Java, C#, Perl, Python, PhP, Javascript
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
-
3A.A. 2019/2020
Paradigma di programmazione
• Imperativa: Ogni istruzioni corrisponde ad un ordine impartito
– Strutturata-Procedurale
– Orientata agli oggetti
• Funzionale: le istruzioni sono intese come specifiche strutture dati eseguibili
• Dichiarativo: si specifica cosa è il programma anziché cosa fa
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
4A.A. 2019/2020
Interpreti e Compilatori
• Traduttore: Converte il codice di programmi scritti in un linguaggio di programmazione nella corrispondente rappresentazione in linguaggio macchina
• Interprete: Traduce ed esegue il programma istruzione per istruzione
• Compilatore: Genera il programma in linguaggio macchina a partire dal codice del programma sorgente
– Pre-elaborazione (preprocessing)
– Traduzione
– Collegamento (Linking)
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
-
5A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Sistemi di sviluppo integrati
/* Stampa a video una stringa */
#include int main(void) {printf(“Cogito ergo sum.\n”);return 0;
}
6A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Dev-C++: Interfaccia utente
-
7A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Dev-C++: Crea/apri file
8A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Dev-C++: salva file
-
9A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Dev-C++: Compila programma
10A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Dev-C++: Correzione errori
-
11A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Dev-C++: Esecuzione programma
12A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Che voto gli dareste?
#include #include int main() {int
n,max=0;printf("Inserisci numeri interi (0 per terminare):\n"); do { printf("==> ");
scanf("%d",&n); if(n > max) max = n; } while(n > 0);printf("Il massimo valore immesso e': %d\n",max);
system("pause"); return(0); }
-
13A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Regola di scrittura 1
#include
#include int main() { int n,max=0;
printf("Inserisci numeri interi (0 per terminare):\n");do { printf("==> ");
scanf("%d",&n);if(n > max) max = n;
} while(n > 0);printf("Il massimo valore immesso e': %d\n",max);
system("pause");return(0);}
14A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Regola di scrittura 2
#include #include
int main() { int n,max=0;
printf("Inserisci numeri interi (0 per terminare):\n");do { printf("==> "); scanf("%d",&n);if(n > max) max = n;} while(n > 0);printf("Il massimo valore immesso e': %d\n",max);system("pause");return(0);}
-
15A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Regola di scrittura 3
#include #include
int main() {
int n,max=0;
printf("Inserisci numeri interi (0 per terminare):\n");do {
printf("==> "); scanf("%d",&n);if(n > max) max = n;
} while(n > 0);printf("Il massimo valore immesso e': %d\n",max);system("pause");return(0);
}
16A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Regola di scrittura 4.1
#include #include
int main() {
int n,max=0;
printf("Inserisci numeri interi (0 per terminare):\n");do {
printf("==> "); scanf("%d",&n);if(n > max) max = n;
} while(n > 0);printf("Il massimo valore immesso e': %d\n",max);system("pause");return(0);
}
-
17A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Regola di scrittura 4.2
#include #include
int main() { int n,max=0;
printf("Inserisci numeri interi (0 per terminare):\n");do { printf("==> ");
scanf("%d",&n);if(n > max) max = n;
} while(n > 0);printf("Il massimo valore immesso e': %d\n",max);system("pause");return(0);
}
18A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Regola di scrittura 4.3
#include #include
int main() { int n,max=0;
printf("Inserisci numeri interi (0 per terminare):\n");do {
printf("==> "); scanf("%d",&n);if(n > max) max = n;
} while(n > 0);printf("Il massimo valore immesso e': %d\n",max);system("pause");return(0);
}
-
19A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Uso dei commenti#include #include
/* Scopo: Calcolo del valore massimo * Input: --* Output: 0 se il programma termina correttamente */
int main() {int n,max=0;
printf("Inserisci numeri interi (0 per terminare):\n");do {
printf("==> "); scanf("%d",&n);if(n > max) max = n;
} while(n > 0);printf("Il massimo valore immesso e': %d\n",max);system("pause");return(0);
}
20A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Commenti
• /* Scopo: semplice programma* Autore: A. Saetti* Input: --* Output: 0 se termina correttamente*/
• /*********************************************** Scopo: semplice programma ** Autore: A. Saetti ** Input: -- ** Output: 0 se termina correttamente ***********************************************/
-
21A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Tipi di DatiInteri, Caratteri, Floating point
Tipo Bit Valore minimo Valore massimo
short int
unsigned short int
intunsigned int
long intunsigned long int
16
16
32
32
32
32
-32.768
0
-231
0
-231
0
32.767
65.535
231-1
232-1
231-1
232-1
signed char
unsigned char8
8
-128
0
+127
255
Tipo Bit Valore minimo Valore massimo Precisione
float
double32
64
1.17549*10-38
2.22507*10-3083.40282*1038
1.79769*103086 cifre
15 cifre
22A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sui DatiOperatore di assegnamento
int main(void) {
short int i1, i2, i3 = 5, i4;
const float f1 = 1.25e1;
float f2;
char c1 = '2';f2 = 10.2;
i1 = i2 = 10;
i4 = 32768; /* adesso i4 vale –32768 */
return 0;
}
-
23A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sui DatiOperatori aritmetici e di casting
ØOperatore di casting: ( nome-del-tipo ) espressione
Unario Binario
Additivo Moltiplicativo
+ più unario + somma * moltiplicazione
– meno unario – sottrazione / divisione
% resto
24A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sui DatiConversioni aritmetiche
int main(void) {char c;short int s;int i;float f;double d;long double ld;
s = s + c; /* c convertito al tipo short */i = i + s; /* s convertito al tipo int */f = f + i; /* i convertito al tipo float */d = d + f; /* f convertito al tipo double*/ld = ld + d; /* d convertito al tipo long double */return 0;
}
-
25A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sui DatiConversioni negli assegnamenti
int main(void) {char c;short int s;int i;float f;double d;
i = c; /* c convertito al tipo int */f = i; /* i convertito al tipo float */d = f; /* f convertito al tipo double */i = 842.97 /* adesso i vale 842 */return 0;
}
26A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sui DatiConversioni di tipo esplicite: Casting
int main(void){ int parte_int; float numero_reale = 10.2, parte_fraz;
parte_int = (int)numero_reale;parte_fraz = numero_reale - parte_int;return(0);
}
-
27A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sui DatiConversioni di tipo esplicite: Casting
int main(void) { int dividendo = 100, divisore = 8, resto, quoz_intero; float quoz_reale;quoz_intero = dividendo / divisore;resto = dividendo % divisore;quoz_reale = (float)dividendo/(float)divisore;return(0);
}
28A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione ProceduraleVisualizzazione e acquisizione dati
• printf(stringa, espr1, espr2, …);
• scanf(stringa, &espr1, &espr2, …);
• Specifiche di conversione principali:
– %d: stampa un dato intero o carattere in formato decimale
– %f: stampa un dato floating point (float o double)
– %Lf: stampa un dato floating point (long double)
– %c: stampa un dato carattere
– %s: stampa un dato stringa
– %-αX: stampa un dato dedicando almeno α caratteri (indentato a sx)
– %-α.βX: stampa un dato frazione con β cifre dopo la virgola
-
29A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione ProceduraleChiamata a Funzioni: Stampa dati
#include
int main(void) {int h1 = 10, h2 = 11; float x1;
x1=23.21;printf(“Ore %d: %f gradi\nOre %d: %9.2f gradi\n”, h1, x1, h2, x1);printf(“Ore %d: %9.f gradi\n”, h2, x1);return 0;
}
Ore 10: 23.209999 gradiOre 11: 23.21 gradiOre 11: 23 gradi
30A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione ProceduraleChiamata a Funzioni: Acquisizione dati
#include
int main(void) {int i, j, num, den;
float x, y;
scanf(“%d%d%f%f”, &i, &j, &x, &y);scanf(“%d/%d”,&num,&den);return 0;
}
1–20 .3 –4.0e3¿
2/5¿
-
31A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione ProceduraleChiamata a Funzioni: Acquisizione dati
#include
int main(void) {char c1, c2;scanf(“%c”, &c1);fflush(stdin);scanf(“%c”, &c2);fflush(stdin);return 0;
}
A¿B¿
32A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione ProceduraleChiamata a Funzioni: Acquisizione dati
#include
int main(void) {char c1, c2;scanf(“ %c”, &c1);scanf(“ %c”, &c2);return 0;
}
A¿B¿
-
33A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
• Acquisire da tastiera un reale e visualizzare
la sua parte intera e frazionaria
• Acquisire da tastiera due numeri naturali. Si
consideri gli interi acquisiti come il
dividendo ed il divisore di una divisione.
Visualizzare il quoziente intero, il resto ed il
quoziente reale della divisione.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
34A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloScelta semplice e a 2 vie
if (espressione) istruzione;
if (espressione) {
… /* blocco di istruzioni */
}
if (espressione) istruzione1; else istruzione2;
-
35A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloOperatori logico-relazionali
Simbolo Significato Precedenza>
>=
<
= 5;ris = !(op1 < 10 && op1 >= 5);ris = op1 >= 10 || op1 < 5;ris = opc >= 'a' && opc = 'a' && opc = 'A' && opc
-
37A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera tre numeri naturali e visualizzare il massimo tra i naturali acquisiti.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
38A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
#include #include
int main() {int num1, num2, num3, max;
printf("Immetti 3 numeri interi: ");scanf("%d%d%d", &num1, &num2, &num3);max = num1;if (num2 > max)
max = num2;if (num3 > max)
max = num3;printf("Il massimo e' %d\n", max);system("pause");return(0);
}
Astrazione sul ControlloScelta semplice
-
39A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera un numero naturale. Si considero il naturale acquisito come un numero di anno. Si visualizzi un messaggio che indica se l’anno è bisestile o meno.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
40A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloScelta a 2 vie
#include #include
int main() {int anno;
printf("Immetti un anno: ");scanf("%d", &anno);if (anno % 4 == 0 && anno % 100 != 0 || anno % 400 == 0)printf("L'anno %d e' bisestile\n", anno);
elseprintf("L'anno %d non e' bisestile\n",anno);
system("pause");return(0);
}
-
41A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloScelta a più vie
if (espressione-1) istruzione-1;else if (espressione-2) istruzione-2;…else if (espressione-n) istruzione-n;else istruzione-n+1;
switch(espressione) {case exp-costante: istruzioni + break…case exp-costante: istruzioni + breakdefault: istruzioni
}
42A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera un carattere e visualizzare un messaggio che indica se il carattere acquisito è una lettera minuscola, una lettera maiuscola, una cifra o altro.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
-
43A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloScelta a più vie
#include #include
int main() {char c;
scanf(“%c”,&c);if (c >= '0' && c = 'A' && c = 'a' && c
-
45A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzione di selezione SWITCH
#include #include
int main() {int num;
printf(“Inserisci una cifra binaria: ”);scanf(“%d”,&num);switch(num) {
case 0: printf(“%d si pronuncia zero\n”, num);break;
case 1: printf(“%d si pronuncia uno\n”, num);break;
default: printf(“%d non e‘ una cifra binaria\n”, num);}system("pause");return(0);
}
46A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera un numero reale e visualizzare la sua parte frazionaria e la sua parte intera, se quest’ultima è diversa da zero
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
-
47A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
• Acquisire da tastiera due numeri naturali. Si
consideri i naturali acquisiti come il dividendo ed il divisore di una divisione. Visualizzare il quoziente
intero ed il resto se il divisore è diverso da zero.
• Acquisire da tastiera due numeri naturali. Si
consideri i naturali acquisiti come il dividendo ed il
divisore di una divisione. Visualizzare il quoziente
intero ed il resto se il divisore è diverso da zero. Altrimenti visualizzare un messaggio di errore.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
48A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni iterative: WHILE, DO, FOR
• while(espressione) istruzione;
• do istruzione; while (espressione);
• for(exp1;exp2;exp3) istruzione;
-
49A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera un numero naturale e visualizzare la più piccola potenza di 2 superiore al naturale acquisito.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
50A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni iterative: WHILE
#include #include
int main() {int i, n;
printf(“Inserisci un intero: ”);scanf(“%d”,&n);i=1;while(i
-
51A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera un numero naturale e visualizzare il naturale acquisito con le cifre invertite. Ad esempio se si acquisisce 165 si vuole visualizzare 561.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
52A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni iterative: WHILE
#include #include
int main() {int n;
printf(" - INVERSIONE CIFRE - \n");printf("Inserisci un numero positivo: ");scanf("%d",&n);do {
printf("%d", n%10);n=n/10;
} while(n > 0)system("pause");return(0);
}
-
53A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera un numero naturale e visualizzare la quantità di cifre che costituiscono il naturale. Ad esempio, acquisendo 156 si vorrebbe visualizzare il numero 3.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
54A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni iterative: DO
#include #include
int main() {int cifre = 0,n;
printf("Inserisci un numero positivo: ");scanf("%d",&n);do {
n = n / 10;cifre = cifre + 1;
} while(n > 0);printf(“Numero cifre: %d”, cifre);system("pause");return(0);
}
-
55A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera una successione di numeri naturali che termina con zero. Visualizzare il minimo tra naturali acquisiti (zero escluso).
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
56A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni iterative: DO
#include #include
int main() {int n,min = 0;
printf("Inserisci numeri interi (0 per terminare):\n");do {
printf("==> "); scanf("%d",&n);if(min == 0 || (n > 0 && n < min))
min = n;} while(n > 0);printf("Il minimo valore immesso e': %d\n",min);system("pause");return(0);
}
-
57A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera un numero naturale e visualizzare un messaggio che indica se il naturale acquisito è superiore rispetto al naturale con le cifre invertite. Ad esempio se si acquisisce 651 si vuole visualizzare un messaggio per indicare che 651 è superiore a 156.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
58A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
• Acquisire da tastiera una successione di due interi
che termina con due interi positivi. Si consideri i due interi positivi acquisiti come il dividendo ed il
divisore di una divisione. Visualizzare il quoziente
intero della divisione.
• Acquisire da tastiera una successione di due interi
che termina con due interi positivi. Si consideri gli
interi acquisiti come il dividendo ed il divisore di una divisione. Visualizzare il quoziente intero
calcolato utilizzando esclusivamente operazioni di
somma e sottrazione.Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
-
59A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera un numero naturale e visualizzare il suo fattoriale.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
60A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni iterative: FOR
#include
#include
int main() {
int n, fatt = 1, i;
printf(“Immetti il numero n:”);
scanf(“%d”, &n);
for (i = 2; i
-
61A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera un numero naturale e visualizzare i suoi divisori.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
62A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni iterative: FOR
#include #include int main() {
int i,n; printf("Inserisci un intero positivo: ");scanf ("%d",&n);printf("\nI divisori di %d sono:\n", n); for (i = 1; i
-
63A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera due naturali e visualizzare il loro minimo comune multiplo.
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
64A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni iterative: FOR
#include #include int main() {
int num1, num2, max, mcm, i;printf("Inserisci due interi positivi: ");scanf("%d",&num1);scanf("%d",&num2);if (num1 > num2) max = num1;else max = num2;for (i = num1 * num2; i >= max ; i--)if ( i % num1 == 0 && i % num2 == 0) mcm = i;
printf (“Minimo comune multiplo: %d", mcm);system("pause");return(0);
}
-
65A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire un numero naturale n e visualizzare una piramide di naturali tale per cui la piramide ha n righe e la i-esima riga della piramide è costituita da i cifre uguali ad i. Ad esempio per n = 3 si vuole visualizzare:122333
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
66A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Istruzioni iterative:
Cicli Annidati
#include #include
int main() { int i,j,n;
scanf(“%d”,&n);for (i=1; i
-
67A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni di salto: BREAK
scanf(“%d”, &n)for (i = 100; i > n; i--)
if(i % n == 0) break;printf(“%d”, i);
scanf(“%d”, &n)for(i = 100; i > n && i % n != 0; i--);
printf(“%d”, i);
68A.A. 2019/2020Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
Astrazione sul ControlloIstruzioni di salto: CONTINUE
sum = n = 0;
do {
scanf(“%d”, &i);if (i 0) {
sum += i;n++;
}} while (n < 10);
-
69A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
Acquisire da tastiera 5 numeri naturali e dopo ciascuna acquisizione visualizzare quanti divisori ha il naturale acquisito
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia
70A.A. 2019/2020
Esercizi in AulaScrivere dei programmi C per svolgere i seguenti compiti
• Acquisire da tastiera 5 volte due numeri naturali. Si considerino i naturali acquisiti come il dividendo ed il divisore di una divisione. Dopo ciascuna acquisizione visualizzare il quoziente intero ed il resto.
• Acquisire da tastiera una successione di naturali che termina con 0 e al termine delle acquisizione visualizzare la quantità di numeri primi acquisiti
Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia