Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi...

91

Transcript of Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi...

Page 2: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 3: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 10: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 11: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 12: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 13: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 15: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 16: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 17: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 18: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 19: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 20: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 21: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 22: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 23: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 24: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 25: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 26: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 27: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 28: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 29: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 30: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 32: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 33: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 34: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 35: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 36: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 37: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 38: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 39: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 40: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 41: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 42: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 43: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 44: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 45: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 46: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 47: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 48: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 49: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 50: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 51: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 52: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 53: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 54: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

Page 55: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 56: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 57: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 58: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 59: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 60: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 62: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

(1) collezioni di istruzioni

(2) in questo corso: il C

(3) in questo corso: la macchina astratta C

(4) realizziamo, codifichiamo, traduciamo…

(5) sequenze finite di passi elementari

(6) nel caso generale, NON ci sono garanzie!

(7) opportuna “semplificazione” (astrazione) dei problemi reali

Page 63: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 64: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 65: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology
Page 66: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

Page 67: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

/* Il mio primo

programma C */

#include<stdio.h>

int main()

// punto di inizio

{

printf("Hello world!");

return 0;

}

Page 68: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

/* Il mio primo

programma C */

#include<stdio.h>

int main()

// punto di inizio

{

printf("Hello world!");

return 0;

}

Page 69: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

/* Il mio primo

programma C */

#include<stdio.h>

int main()

// punto di inizio

{

printf("Hello world!");

return 0;

}

• /* */

• //

Page 70: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

/* Il mio primo

programma C */

#include<stdio.h>

int main()

// punto di inizio

{

printf("Hello world!");

return 0;

}

#include

#include<nomeLibreria.h>

nomeLibreria.h.

stdio.h

printf scanf

Page 71: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

/* Il mio primo

programma C */

#include<stdio.h>

int main()

// punto di inizio

{

printf("Hello world!");

return 0;

}

main.

main.

int main(){…

return 0;}

void main(){…}

Page 72: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

/* Il mio primo

programma C */

#include<stdio.h>

int main()

// punto di inizio

{

printf("Hello world!");

return 0;

}

Hello world

Page 73: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

printf ("Hello World!\n");

"…"

− ’ “ ”

− … … …

'\' “ ”'\n' printf()

“ ”

Page 74: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

return 0;

int main()

− return 0

Page 75: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

Page 76: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

#include

Page 77: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

#include <stdio.h>

int main(){

int integer1, integer2, sum;

printf("Enter first integer\n");

scanf("%d", &integer1 );

printf("Enter second integer\n");

scanf("%d", &integer2);

sum = integer1 + integer2;

printf("Sum is %d\n\n", sum );

return 0;

}

Page 78: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

> Enter first integer

> 45

> Enter second integer

> 72

> Sum is 117

#include <stdio.h>

int main(){

int integer1, integer2, sum;

printf("Enter first integer\n");

scanf("%d", &integer1 );

printf("Enter second integer\n");

scanf("%d", &integer2);

sum = integer1 + integer2;

printf("Sum is %d\n\n", sum );

return 0;

}

Page 79: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

> Enter first integer

> 45

> Enter second integer

> 72

> Sum is 117

/* Sum of two integers */

#include <stdio.h>

int main(){

int integer1, integer2, sum; /* declaration */

printf("Enter first integer\n"); /* prompt */

scanf("%d", &integer1 ); /* read an integer */

printf("Enter second integer\n"); /* prompt */

scanf("%d", &integer2); /* read an integer */

sum = integer1 + integer2; /* assignment */

printf("Sum is %d\n\n", sum ); /* print sum */

return 0; /* successful end */

}

Page 80: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

int integer1, integer2, sum;

• int

• integer1 integer2 sum

Page 81: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

scanf("%d", &integer1);

− %d

− &integer1 ’

integer1

− & ’

• scanf

’ scanf

Page 82: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

=

sum = integer1 + integer2;

sum integer1 + integer2

Page 83: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

nomeVariabile = espressione;

nomeVariabile espressione

Page 84: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

nomeVariabile = espressione;

nomeVariabile espressione

nomeVariabile espressione

+ * /

a = 7; k = 9.02; a = (3 – 214) * 2;

a = b; a = a + 1;

Page 85: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

nomeVariabile = espressione;

nomeVariabile espressione

espressione

nomeVariabile

=

==

Page 86: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

printf("Sum is %d\n\n", sum );

scanf %d

• sum

printf

printf("Sum is %d\n\n", integer1 + integer2);

printf

printf("Sum of %d and %d is %d\n\n“, integer1, integer2,

sum);

Page 88: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

Page 89: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

int main()

{

int x, y, z, w;

scanf("%d%d%d%d", &x, &y, &z, &w);

printf("\nRisultato:%d",(x+y)-

(z+w));

return 0;

}

Page 90: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

/* Sum of two integers */

#include <stdio.h>

int main()

{

int integer1, integer2, sum;

printf("Enter first integer\n);

scanf("%d", &integer1 );

printf("Enter second integer\n");

scanf("%d", &integer2);

sum = integer1 + integer2;

printf("Sum is %d\n\n", sum );

return 0;

}

Page 91: Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi (giacomo.boracchi@polimi.it)Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

/* Sum of two integers */

#include <stdio.h>

int main()

{

int integer1, integer2, sum;

printf("Enter first integer\n");

scanf("%d", &integer1 );

printf("Enter second integer\n");

scanf("%d", &integer2);

sum = integer1 * integer2;

printf("Sum is %d\n\n", sum );

return 0;

}