Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Demo: Cicli
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR
Introduzione al C
Claudio Ciccotelli
Sommario
• Cicli definiti:
– for
– while
– do while
• Cicli indefiniti
– while
– do while
– for
2014/2015 Demo: Cicli Pagina 2
Ciclo definito - for
2014/2015 Demo: Cicli Pagina 3
int i;
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
2014/2015 Demo: Cicli Pagina 4
i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
2014/2015 Demo: Cicli Pagina 5
0 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
Inizializzazione
2014/2015 Demo: Cicli Pagina 6
0 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
Condizione (pre iterazione 1)
2014/2015 Demo: Cicli Pagina 7
0 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
0
Corpo (iterazione 1)
2014/2015 Demo: Cicli Pagina 8
1 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
0
Incremento (post iterazione 1)
2014/2015 Demo: Cicli Pagina 9
1 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
Condizione (pre iterazione 2)
0
2014/2015 Demo: Cicli Pagina 10
1 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
Corpo (iterazione 2)
0
1
2014/2015 Demo: Cicli Pagina 11
2 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
0
1
Incremento (post iterazione 2)
2014/2015 Demo: Cicli Pagina 12
2 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
Condizione (pre iterazione 3)
0
1
2014/2015 Demo: Cicli Pagina 13
2 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
Corpo (iterazione 3)
0
1
2
2014/2015 Demo: Cicli Pagina 14
3 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
0
1
2
Incremento (post iterazione 3)
2014/2015 Demo: Cicli Pagina 15
3 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
Condizione (pre iterazione 4)
0
1
2
2014/2015 Demo: Cicli Pagina 16
3 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
Condizione (pre iterazione 4)
0
1
2
Falsa
2014/2015 Demo: Cicli Pagina 17
3 i
for (i = 0; i < 3; i++) {
printf("%d\n", i);
}
console
0
1
2
Ciclo definito - while
2014/2015 Demo: Cicli Pagina 18
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
2014/2015 Demo: Cicli Pagina 19
i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
2014/2015 Demo: Cicli Pagina 20
0 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Inizializzazione
2014/2015 Demo: Cicli Pagina 21
0 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Condizione (pre iterazione 1)
2014/2015 Demo: Cicli Pagina 22
0 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Corpo (iterazione 1)
0
2014/2015 Demo: Cicli Pagina 23
1 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Incremento (post iterazione 1)
0
2014/2015 Demo: Cicli Pagina 24
1 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Condizione (pre iterazione 2)
0
2014/2015 Demo: Cicli Pagina 25
1 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Corpo (iterazione 2)
0
1
2014/2015 Demo: Cicli Pagina 26
2 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Incremento (post iterazione 2)
0
1
2014/2015 Demo: Cicli Pagina 27
2 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Condizione (pre iterazione 3)
0
1
2014/2015 Demo: Cicli Pagina 28
2 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Corpo (iterazione 3)
0
1
2
2014/2015 Demo: Cicli Pagina 29
3 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Incremento (post iterazione 3)
0
1
2
2014/2015 Demo: Cicli Pagina 30
3 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Condizione (pre iterazione 4)
0
1
2
2014/2015 Demo: Cicli Pagina 31
3 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
Condizione (pre iterazione 4)
0
1
2
Falsa
2014/2015 Demo: Cicli Pagina 32
3 i
int i = 0;
while (i < 3) {
printf("%d\n", i);
i++;
}
console
0
1
2
Ciclo definito – do while
2014/2015 Demo: Cicli Pagina 33
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
2014/2015 Demo: Cicli Pagina 34
i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
2014/2015 Demo: Cicli Pagina 35
0 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Inizializzazione
2014/2015 Demo: Cicli Pagina 36
0 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Corpo (iterazione 1)
0
2014/2015 Demo: Cicli Pagina 37
1 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Incremento (post iterazione 1)
0
2014/2015 Demo: Cicli Pagina 38
1 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Condizione (pre iterazione 2)
0
2014/2015 Demo: Cicli Pagina 39
1 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Corpo (iterazione 2)
0
1
2014/2015 Demo: Cicli Pagina 40
2 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Incremento (post iterazione 2)
0
1
2014/2015 Demo: Cicli Pagina 41
2 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Condizione (pre iterazione 3)
0
1
2014/2015 Demo: Cicli Pagina 42
2 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Corpo (iterazione 3)
0
1
2
2014/2015 Demo: Cicli Pagina 43
3 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Incremento (post iterazione 3)
0
1
2
2014/2015 Demo: Cicli Pagina 44
3 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Condizione (pre iterazione 4)
0
1
2
2014/2015 Demo: Cicli Pagina 45
3 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
Condizione (pre iterazione 4)
0
1
2
Falsa
2014/2015 Demo: Cicli Pagina 46
3 i
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 3);
console
0
1
2
Ciclo indefinito - while
2014/2015 Demo: Cicli Pagina 47
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 48
r
Standard Output:
v
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 49
1 r
Standard Output:
10 v
Input Tastiera: 10
Inizializzazione
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 50
1 r
Standard Output:
10 v
Condizione (pre iterazione 1)
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 51
1 r
Standard Output:
10 v
Corpo (iterazione 1)
10
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 52
1 r
Standard Output:
20 v
Lettura prossimo elemento (iterazione 1)
10
Input Tastiera: 20
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 53
1 r
Standard Output:
20 v
Condizione (pre iterazione 2)
10
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 54
1 r
Standard Output:
20 v
Corpo (iterazione 2)
10
20
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 55
1 r
Standard Output:
30 v
Lettura prossimo elemento (iterazione 2)
10
20
Input Tastiera: 30
2014/2015 Demo: Cicli Pagina 56
1 r
Standard Output:
30 v
Condizione (pre iterazione 3)
10
20
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 57
1 r
Standard Output:
30 v
Corpo (iterazione 3)
10
20
30
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 58
EOF r
Standard Output:
30 v
Lettura prossimo elemento (iterazione 3)
10
20
30
Input Tastiera: EOF
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 59
EOF r
Standard Output:
30 v
Condizione (pre iterazione 4)
10
20
30
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 60
EOF r
Standard Output:
30 v
Condizione (pre iterazione 4)
10
20
30
Falsa
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
2014/2015 Demo: Cicli Pagina 61
EOF r
int v;
int r = scanf("%d", &v);
while (r != EOF) {
printf("%d\n", v);
r = scanf("%d", &v);
}
Standard Output:
30 v
10
20
30
Ciclo indefinito – do while
2014/2015 Demo: Cicli Pagina 62
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
2014/2015 Demo: Cicli Pagina 63
r
console
v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
2014/2015 Demo: Cicli Pagina 64
r
console
v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Corpo (iterazione 1)
Età:
2014/2015 Demo: Cicli Pagina 65
0 r
console
v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Corpo (iterazione 1)
Età: evil
Input Tastiera: evil
2014/2015 Demo: Cicli Pagina 66
0 r
console
v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Corpo (iterazione 1) – svuota il buffer
Età: evil
2014/2015 Demo: Cicli Pagina 67
0 r
console
v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Condizione (pre iterazione 2)
Età: evil
2014/2015 Demo: Cicli Pagina 68
0 r
console
v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Corpo (iterazione 2)
Età: evil
Età:
2014/2015 Demo: Cicli Pagina 69
1 r
console
12 v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Corpo (iterazione 2)
Età: evil
Età: 12
Input Tastiera: 12
2014/2015 Demo: Cicli Pagina 70
1 r
console
12 v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Corpo (iterazione 2) – svuota il buffer
Età: evil
Età: 12
2014/2015 Demo: Cicli Pagina 71
1 r
console
12 v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Condizione (pre iterazione 3)
Età: evil
Età: 12
2014/2015 Demo: Cicli Pagina 72
1 r
console
12 v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Condizione (pre iterazione 3)
Età: evil
Età: 12
Falsa
2014/2015 Demo: Cicli Pagina 73
1 r
console
12 v
int r, v;
do {
printf("Età: ");
r = scanf("%d", &v);
// svuota il buffer
while (getchar() != '\n');
} while (r != 1);
Età: evil
Età: 12
Ciclo indefinito – for
2014/2015 Demo: Cicli Pagina 74
int r, v;
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 75
r
Standard Output:
v
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 76
1 r
Standard Output:
Inizializzazione
Input Tastiera: 12
12 v
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 77
1 r
Standard Output:
Condizione (pre iterazione 1)
12 v
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 78
1 r
Standard Output:
Corpo (iterazione 1)
12 v
12
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 79
1 r
Standard Output:
Prossimo (post iterazione 1)
34 v
12
Input Tastiera: 34
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 80
1 r
Standard Output:
Condizione (pre iterazione 2)
34 v
12
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 81
1 r
Standard Output:
Corpo (iterazione 2)
34 v
12
34
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 82
1 r
Standard Output:
Prossimo (post iterazione 2)
56 v
12
34
Input Tastiera: 56
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 83
1 r
Standard Output:
Condizione (pre iterazione 3)
56 v
12
34
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 84
1 r
Standard Output:
Corpo (iterazione 3)
56 v
12
34
56
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 85
EOF r
Standard Output:
Prossimo (post iterazione 3)
56 v
12
34
56
Input Tastiera: EOF
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 86
EOF r
Standard Output:
Condizione (pre iterazione 4)
56 v
12
34
56
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 87
EOF r
Standard Output:
Condizione (pre iterazione 4)
56 v
12
34
56
Falsa
for (r=scanf("%d",&v); r!=EOF; r=scanf("%d",&v)) {
printf("%d\n", v);
}
2014/2015 Demo: Cicli Pagina 88
EOF r
Standard Output:
56 v
12
34
56
2014/2015 Demo: Cicli Pagina 89