Top Banner
91

Introduzione al Corso - Politecnico di Milano...Giacomo Boracchi ([email protected])Matematico (Università Statale degli Studi di Milano 2004), PhD in Information Technology

Oct 27, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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;

}