==,!=, >, <, >=, <= (a > 7), (b % 2 == 0), (x <= w) &&, (a > 7) && (b % 2 == 0)!(x >= 7) (a == 0)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "==,!=, >, <, >=, <= (a > 7), (b % 2 == 0), (x <= w) &&, (a > 7) && (b % 2 == 0)!(x >= 7) (a == 0)"

Transcript

1

2

3 ==,!=, >, <, >=, <= (a > 7), (b % 2 == 0), (x <= w) &&, (a > 7) && (b % 2 == 0)!(x >= 7) (a == 0)!,

4 int = int int + int int - int int * int int / int % ==!= < > <= >=

5 int = int int + int int - int int * int int / int % ==!= < > <= >=

6 ==,!=, >, <, >=, <= (a > 7), (b % 2 == 0), (x <= w) &&, (a > 7) && (b % 2 == 0)!(x >= 7) (a == 0)!,

7 ! < > <= >= ==!= && x > 0 y == 3 &&!z (x > 0) ((y == 3) && (!z))

8 && (a && b) == (b && a) (a b) == (b a)!!a == a

9 ! &&

10 !A A

11 negazione (NOT) A!A 0 1!A A 1 0

12 A && B B A

13 A && B B A congiunzione (AND) A B A && B

14 A && B B A congiunzione (AND) A B A && B

15 A B disgiunzione (OR) A B A B

16 A B disgiunzione (OR) A B A B

17 n 2 n 2 n

18 A &&!B C

19 A &&!B C A B C!B A &&!B A &&!B C

20 A &&!B C A B C!B A &&!B A &&!B C

21 A &&!B C A B C!B A &&!B A &&!B C

22 A &&!B C A B C!B A &&!B A &&!B C

23 A &&!B C A B C!B A &&!B A &&!B C

24 x x 2 1 x N, a, b, c, d N x a 2 b 2 c 2 d 2

25

26 A && (!B C)

27 A && (!B C) A B C!B!B C A && (!B C)

28 && 1.!(a && b) ==!a!b 2.!(a b) ==!a &&!b!((a >= 5) && (a <= 10)) ->!(a >= 5)!(a <= 10) >= <=!!(a < 5)!!(a > 10) ((a < 5) (a > 10))

29 A C &&!B!((B!C) &&!A)

30 A C &&!B!((B!C) &&!A)!((B!C) &&!A) (!(B!C)!!A)!(B!C) A) (!B && C) A A (!B && C) A (C &&!B) A C &&!B

31 A C &&!B!((B!C) &&!A)!((B!C) &&!A) (!(B!C)!!A)!(B!C) A) (!B && C) A A (!B && C) A (C &&!B) A C &&!B

32 A C &&!B!((B!C) &&!A)!((B!C) &&!A) (!(B!C)!!A)!(B!C) A (!B && C) A A (!B && C) A (C &&!B) A C &&!B

33 A C &&!B!((B!C) &&!A)!((B!C) &&!A) (!(B!C)!!A)!(B!C) A (!B && C) A A (!B && C) A (C &&!B) A C &&!B

34 A C &&!B!((B!C) &&!A)!((B!C) &&!A) (!(B!C)!!A)!(B!C) A (!B && C) A A (!B && C) A (C &&!B) A C &&!B

35 A C &&!B!((B!C) &&!A)!((B!C) &&!A) (!(B!C)!!A)!(B!C) A (!B && C) A A (!B && C) A (C &&!B) A C &&!B

36 A C &&!B!((B!C) &&!A)!((B!C) &&!A) (!(B!C)!!A)!(B!C) A (!B && C) A A (!B && C) A (C &&!B) A C &&!B

37 if switch while do while for

38 0!=0 if while

39

40 Passa l Italia VI PI VI PI

41 Passa l Italia VI PI VI PI

42

43

44 VI && CRP && ( DRM (DRU && GSM))

45 VI CRP DRM DRU GSM DRU && GSM DRM (DRU && GSM) VI && CRP && (DRM (DRU && GSM))

46 VI CRP DRM DRU GSM DRU && GSM DRM (DRU && GSM) VI && CRP && (DRM (DRU && GSM))

47 VI CRP DRM DRU GSM DRU && GSM DRM (DRU && GSM) VI && CRP && (DRM (DRU && GSM))

48 VI CRP DRM DRU GSM DRU && GSM DRM (DRU && GSM) VI && CRP && (DRM (DRU && GSM))

49 VI CRP DRM DRU GSM DRU && GSM DRM (DRU && GSM) VI && CRP && (DRM (DRU && GSM))

50

51 VI CRP DRM DRU GSM DRU && GSM DRM (DRU && GSM) VI && CRP && (DRM (DRU && GSM))

52

53 VI CRP DRM DRU GSM DRU && GSM DRM (DRU && GSM) VI && CRP && (DRM (DRU && GSM))

54

55 VI CRP DRM DRU GSM DRU && GSM DRM (DRU && GSM) VI && CRP && (DRM (DRU && GSM))

56

57

58

59 #include<stdio.h> void main() { int n; // anno int bis = 0; printf("inserire anno: "); scanf("%d", &n); if(n % 4 == 0) { bis = 1; if(n % 100 == 0) bis = 0; if(n % 400 == 0) bis = 1; } printf("\n%d ", n); if(bis == 0) printf("non "); printf("e' bisestile!"); }

60 #include<stdio.h> void main() { int n; // anno int bis = 0; printf("inserire anno: "); scanf("%d", &n); if(n % 4 == 0) { bis = 1; if(n % 100 == 0) bis = 0; if(n % 400 == 0) bis = 1; } printf("\n%d ", n); if(bis == 0) printf("non "); printf("e' bisestile!"); }

61 #include<stdio.h> void main() { int n; // anno int bis = 0; int d4, d100, d400; printf("inserire anno: "); scanf("%d", &n); d4 = (n % 4 == 0); d100 = (n % 100!= 0); d400 = (n % 400 == 0); if(d4 && (d100 d400)) bis = 1; printf("\n%d ", n); if(bis == 0) printf("non "); printf("e' bisestile!"); }

62

63 #include<stdio.h> void main() { int a,b,c; printf("\ninserire a: "); scanf("%d", &a); printf("\ninserire b: "); scanf("%d", &b); printf("\ninserire c: "); scanf("%d", &c); if(a > b) if(a > c) // b non può essere il max printf("\nmax = %d", a); else printf("\nmax = %d", c); else if(b > c) printf("\nmax = %d", b); else printf("\nmax = %d", c); }

64 #include<stdio.h> void main() { int a,b,c; n printf("\ninserire a: "); scanf("%d", &a); printf("\ninserire b: "); scanf("%d", &b); printf("\ninserire c: "); scanf("%d", &c); if(a > b) if(a > c) // b non può essere il max printf("\nmax = %d", a); else printf("\nmax = %d", c); else } if(b > c) printf("\nmax = %d", b); else printf("\nmax = %d", c);

65 #include<stdio.h> void main() { int a,b,c; printf("\ninserire a: "); scanf("%d", &a); printf("\ninserire b: "); scanf("%d", &b); printf("\ninserire c: "); scanf("%d", &c); if(a >= b && a >= c) printf("\nmax = %d", a); if(b >= c && b >= a) printf("\nmax = %d", b); if(c >= a && c >= b) printf("\nmax = %d", c) } n n

66 #include<stdio.h> void main() { int a,b,c; printf("\ninserire a: "); scanf("%d", &a); printf("\ninserire b: "); scanf("%d", &b); printf("\ninserire c: "); scanf("%d", &c); max = a; if(max < b) max = b; if(max < c) max = c; printf("\nmax(%d,%d,%d) = %d", a, b, c, max); }

67

68 while, do while, for

69 while, while expression while (expression) statement statement if statement {}

70 while instrbefore expression expression statement expression instrbefore; while(expression) statement; instrafter; expression instrafter while(expression) ) statement: while(expression);

71 while instrbefore; expression instra; instrb; instrbefore; while(expression) { instra; instrb; } instrafter; instrafter;

72 /* stampa i primi 100 numeri*/

73 /* stampa i primi 100 numeri*/ # include<stdio.h> void main() { int a = 1; while(a < 100) { printf("\n%d", a); a++; } }

74 /* stampa i primi 100 numeri pari */

75 /* stampa i primi 100 numeri pari */ # include<stdio.h> void main() { int a = 1; while(a < 100) { printf("\n%d", 2*a); a++; } }

76 while expression expression while, /* Esempio: stampa i primi 100 numeri pari */ # include<stdio.h> void main() { int a = 1; while(a < 100) { printf("\n%d", 2*a); a++; } }

77 while expression expression while, /* Esempio: stampa i primi 100 numeri pari */ # include<stdio.h> void main() { int a = 1; while(a > 0) { printf("\n%d", 2*a); a++; } }

78 N N N 2 (N + 1)

79 INIZIO Leggi: N I simboli S, I e N sono definiti come VARIABILI NUMERICHE (di tipo intero) Scrivi: "la somma è" S SI S = 0 I = 1 S = S + I I = I + 1 I > N FINE NO

80 istruzione di inizializzazione istruzione di inizializzazione istruzione di assegnamento istruzione di assegnamento istruzione di I/O (scrittura) SCRIVI:LA SOMMA E S sì INIZIO LEGGI N S = 0 I = 1 S = S + I I = I + 1 I > N FINE no istruzione di I/O (lettura) ciclo istruzione di test

81 #include <stdio.h> /* Somma dei primi N naturali */ int main ( ) { } int N, S, I; printf ("Inserisci N: "); scanf ("%d", &N); if (N >= 0) { } return 0; S = 0; I = 1; while (I <= N) { } S = S + I; I = I + 1; condizione di permanenza nel ciclo corpo del ciclo printf ("\nsum is: %d\n", S);

82 while /* eseguire la somma di una sequenza di numeri inseriti dall'utente (continuare fino a quando l'utente inserisce 0)*/ # include<stdio.h> void main() { }

83 while /* eseguire la somma di una sequenza di numeri inseriti dall'utente (continuare fino a quando l'utente inserisce 0)*/ # include<stdio.h> void main() { int a, somma; somma = 0; printf("\ninserire a:"); scanf("%d", &a); while (a > 0) { somma += a; //somma = somma + a; printf("\ninserire a:"); scanf("%d", &a); } printf("\nsomma = %d",somma); }

84 while /* eseguire la somma e la media di una sequenza di numeri inseriti dall'utente (continuare fino a quando l'utente inserisce 0)*/ # include<stdio.h> void main() { }

85 while /* eseguire la somma e la media di una sequenza di numeri inseriti dall'utente (continuare fino a quando l'utente inserisce 0)*/ # include<stdio.h> void main() { int a, somma, n; float media; somma = 0; n = 0; printf("\ninserire a:"); scanf("%d", &a); while (a > 0) { somma += a; n++; //n = n + 1; printf("\ninserire a:"); scanf("%d", &a); } media = (1.0 * somma) / n; printf("\nsomma = %d, media = %f", somma, media); }

86

87 do-while expression statement expression statement do statement while (expression);

88 do-while do-while while do statement while (expression); statement while (expression) statement scanf do-while while(expression); while if statement {}

89 do-while expression instrbefore; instra; instrb; instrbefore; do { instra; instrb; } while (expression); instrafter; instrafter;

90

91 istruzione di inizializzazione istruzione di inizializzazione istruzione di assegnamento istruzione di assegnamento istruzione di I/O (scrittura) SCRIVI:LA SOMMA E S sì INIZIO LEGGI N S = 0 I = 1 S = S + I I = I + 1 I > N FINE no istruzione di I/O (lettura) ciclo istruzione di test

92 #include <stdio.h> /* Somma dei primi N numeri naturali */ int main ( ) { */ */ */ } corpo del ciclo int N, S, I; printf ("Inserisci N: "); scanf ("%d", &N); /* input */ if ( N > 0 ) { } S = 0; I = 1; do { S = S + I; I = I + 1; } while (I <= N); /* dichiarazione variabili /* accetto solo N positivo /* ciclo a condizione finale condizione di permanenza nel ciclo /* il ciclo è eseguito almeno una volta! */ printf ("\nsum is: %d\n", S); /* output */

93 if while if while

94

95 while if while expr1 instra; expr2 instrc; instrb; instrafter;

96 while if while while(expr1) { instra; if (expr2) instrb; else instrc; } instrafter; expr1 instrc; instra; expr2 instrb; instrafter;

97

98 for, for(init_instr; expression; loop_instr) statement for for init_instr expression loop_instr statement while statement {}

99 for, for(init_instr; expression; loop_instr) statement init_instr expression statement statement loop_instr expression init_instr; expression statement; loop_instr;

100 for while for(init_instr; expression; loop_instr) statement init_instr; while(expression) { statement; loop_instr; } init_instr loop_instr

101 for while i = 0; while (i < 100) { //statement i++; } for(i=0; i<100; i++) //statement

102 for while i = 0; while (i < 100) { //statement i++; } for for(i=0; i<100; i++) //statement

103 for while scanf( %d, &a); while (a < 0) scanf( %d, &a); scanf( %d, &a); for( ; a < 0; ) scanf( %d, &a); for loop_instr init_instr

104 for while scanf( %d, &a); while (a < 0) scanf( %d, &a); scanf( %d, &a); for( ; a < 0; ) scanf( %d, &a); for loop_instr init_instr

105 for while scanf( %d, &a); while (a < 0) scanf( %d, &a); scanf( %d, &a); for( ; a < 0; ) scanf( %d, &a); for loop_instr init_instr for(scanf( %d, &a); a < 0; scanf( %d, &a))

106 for while scanf( %d, &a); while (a < 0) scanf( %d, &a); do scanf( %d, &a); while (a < 0); do while

107 for for ( j = 0; j < 100; j = j + 7 ) printf( %d, j ); for( n = 1; n*n < L; n++ ) printf( %d, n*n);

108 for for ( j = 0; j < 100; j++) printf( %d, j ); for( n = 1; n*n < L; n++ ) printf( %d, n*n);

109 for for ( j = 0; j < 100; j++) printf( %d, j ); for( n = 1; n*n < L; n++ ) printf( %d, n*n); for

110 break continue break while, do while switch for continue continue while, do while, for.

111 for(i=0; i<10; i++) { scanf("%d",&x); if(x < 0) break; printf("%d", x); }

112 for(i=0; i<10; i++) { scanf("%d",&x); if(x < 0) break; printf("%d", x); } break if for

113 i = 0; while(i<10) { scanf("%d",&x); if(x < 0) continue; printf("%d", x); i++; }

114 i = 0; while(i<10) { scanf("%d",&x); if(x < 0) continue; printf("%d", x); i++; } i continue

115 for(i=0; i<10; i++) { scanf("%d",&x); if(x < 0) continue; printf("%d", x); } continue

116 for(i=0; i<10; i++) { scanf("%d",&x); if(x < 0) continue; printf("%d", x); } continue loop_expr continue for

117 break continue

118 N n

119 for (i = 0 ; i < N ; i++ ) { printf( immetti un intero>0 ); scanf( %d,&n); if (n < 0) continue; if (n == 0) break; printf( %d,n);.. /*elabora i positivi */ }

120 int n, i, flag; flag = 0;//diventa 1 quando inserisco zero. for(i =0; i <= N && flag == 0; i++) { printf("\ninserire n: "); scanf("%d", &n); if(n==0) flag = 1; else if(n > 0) printf(" %d", n); /*eventuali altre istruzioni per i positivi*/ }

121 a

122 int n, i, flag; flag = 0;//diventa 1 quando inserisco zero. for(i =0; i <= 10 && flag == 0; i++) { printf("\ninserire n: "); scanf("%d", &n); if(n==0) flag = 1; else if(n > 0) printf(" %d", n); /*eventuali altre istruzioni per i positivi*/ } if(flag == 0) printf("\n tutti non nulli");

123 int n, i, flag; flag = 0;//diventa 1 quando inserisco zero. for(i =0; i <= 10 && flag == 0; i++) { printf("\ninserire n: "); scanf("%d", &n); if(n==0) flag = 1; else if(n > 0) printf(" %d", n); /*eventuali altre istruzioni per i positivi*/ } if(flag == 0) printf("\n tutti non nulli");

124 int n, i, flag; flag = 0;//diventa 1 quando inserisco zero. for(i =0; i <= 10 && flag == 0; i++) { printf("\ninserire n: "); scanf("%d", &n); if(n==0) flag = 1; else if(n > 0) printf(" %d", n); /*eventuali altre istruzioni per i positivi*/ } if(flag == 0) printf("\n tutti non nulli");

125

126 if, for, switch, while, main, printf, scanf, int, float, a

127 a a' undeclared (first use in this function)

128 nometipo nomevariabile; int N; int N; printf("%d",n); scanf("%d",&n); printf("%d",n);

129 const float PiGreco = 3.14; const float PiGreco = , e = 2.718; const int N = 100, M = 1000; const char CAR1 = 'A', CAR2 = 'B';

130 const float PiGreco = 3.14; PiGreco const float PiGreco = ;

131 b = b + 7; b +=7 a = a + 1; a++; b = b 1; b--;

132 ++i i++ int c = 5; printf ("%d", ++c); 6 printf ("%d", c++); 5 c 6 if ( i++ > 0 ) if ( ++i > 0 )

133 stringacontrollo printf "%5d" "%.2f"

134 switch-case, switch,case,default int_expr constant-expr1 default switch (int_expr) { case constant-expr1: statement1 case constant-expr2: statement2 case constant-exprn: statementn [default : statement] }

135 switch-case, constant-expr1 int_expr for, int_expr if, while switch (int_expr) { case constant-expr1: statement1 case constant-expr2: statement2 case constant-exprn: statementn [default : statement] } statement {}

136 switch-case statement1, default expression expression constant-expr1 case expression constant-expr2 default switch (int_expr) { case constant-expr1: statement1 case constant-expr2: statement2 case constant-exprn: statementn [default : statement] }

137 switch-case switch scanf( %c, &a); switch (a) {case A : na++; case E : ne++; case O : no++; default : ncons++;} a== A, a== E, a== O, a== K, na,ne,no,ncons; ne,no,ncons; no,ncons; Cons;

138 switch-case break scanf( %c, &a); switch (a) {case A : na++; break; case E : ne++; break; case O : no++; break; default : ncons++;} a== A, a== E, a== O, a== K, na; ne; no; Cons;

139 switch-case

140 #include<stdio.h> int main () { float op1, op2, tot; char operazione; int errore = 0; printf ("Operazione (+,-,*,/): "); scanf ("%c", &operazione); printf ("Primo operando: "); scanf ("%f", &op1);fflush(stdin); printf ("Secondo operando: "); scanf ("%f", &op2);fflush(stdin); switch (operazione) { case '+': tot = op1 + op2; break; case '-': tot = op1 - op2; break; case '*': tot = op1 * op2; break; case '/': if (op2!= 0) { tot = op1 / op2; } else { errore = 1; } break; default: printf ("Operazione?\n"); errore = 1; } if (errore == 0) printf ("Risultato: %f\n", tot); else printf ("Errore!\n"); } return 0;

141 switch-case

142 TODO: modificarlo salvando i conteggi delle occorrenze in un vettore e stamparloo #define N 100 #include<stdio.h> int main() { int r,n8 = 0,n4 = 0,n2 = 0,n, i = 0,max; int vet[n]; do { printf("\ninserire un numero: "); scanf("%d",&vet[i]); if (n>0) { r=n%8; switch(vet[i]) { // il numero è divisibile per 8 case 0: n8++; case 4: n4++; case 2: n2++; break; case 6: n2++; } i++; // incrementa il contatore } }while(vet[i -1]!=0 && i < N); // occhio che l'indice è stato incrementato n = i; printf("\n%d numeri,\nmult. di 8:%d \nmult. di 4:%d\nmult. di 2:%d\n\n",n, n8,n4,n

143 TODO: modificarlo salvando i conteggi delle occorrenze in un vettore e stampando a schermo l'istogramma delle occorrenze // stampa histogramma // definisce il max tra n8, n4, n2 max = n2; // non può essere che così, in altri contesti occorre stimarlo // stampo l'istogramma in verticale for(i = max; i > 0; i--) // quando è n2 = 0 non non deve stampare asterischi { if(n8 >= i) printf(" * "); else printf(" "); } if(n4 >= i) printf(" * "); else printf(" "); if(n2 >= i) printf(" * "); else printf(" "); printf("\n"); } printf(" \n"); printf(" 8 4 2");

144

145

146

147 & scanf int a = 7; scanf("%d",a); 7.

148 int a = 10; if(a = 7) printf( Vero ); else printf( Falso ); Vero (a = 7) 1

149 void main(){ int x; printf("inserire x: "); } scanf("%f", &x); printf("\nx = %d",x);

150 void main(){ float x; printf("inserire x: "); } scanf("%f", &x); printf("\nx = %d",x);

151 void main(){ char x; printf("inserire x: "); } scanf("%c", &x); printf("\nx = %c = %d", x, x);

152 i = i++; i++ i = i + 1; i = i++; i = (i = i + 1);

153 ; ; if, while, for, switch, ; int a = 10; if(a == 7); printf( Vero ); printf( Vero ); if else else if ; do while while(expression);

154 scanf scanf("%c", &variabile);

155 scanf scanf("%c", &variabile); scanf fflush(stdin); scanf("%*c"); scanf(" %c"); %c

156

157 scanf char x; scanf("%c", &x); fflush(stdin); x stdin) scanf("%c", &altravariabile)

158 scanf char x; scanf("%c", &x); fflush(stdin); stdin) &altravariabile) x scanf("%c", int main(void) { char a,b; scanf("%c", &a); fflush(stdin);// elimina tutto il buffer scanf("%c", &b);// acquisisce da zero printf("%c %c", a, b); }

159 fflush(stdin) scanf("%*c") %*c

160 fflush(stdin) scanf("%*c") %*c int main(void) { char a,b; scanf("%c", &a); scanf("%*c");// acquisisce ed elimina l invio scanf("%c", &b);// acquisisce da zero printf("%c %c", a, b); }

161 fflush(stdin) scanf(" %c") %c int main(void) { char a,b; scanf("%c", &a); scanf(" %c", &b);// butta via tutti gli spazi // ed invio quindi acquisisce printf("%c %c", a, b); }

162 = == nomevariabile == Espressione; nomevariabile = Espressione; Espressione nomevariabile == Espressione 1 nomevariabile Espressione

163 #include<stdio.h> void main() { char a, b; b = '2'; a = b == '0'; printf("%d", a); } 0, 1 a 1 b

164 #include<stdio.h> void main() { char a, b; b = '2'; a = b == '0'; printf("%d", a); } a 1 b 0, 1 a = (b =='0 ); b = '2'; b = '0'; b = 0;

165 for (i = 0; i < 10; i++) { if(i % 2 == 0) i++; printf( %d, i);} init_instr loop_instr while

Esercizi di programmazione in C

Esercizi di programmazione in C Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal

Dettagli

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

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Esercitazione 3. Corso di Fondamenti di Informatica

Esercitazione 3. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 3 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

/*dichiarazioni*/ // le frasi sono contenute in stringhe, cioè array di char char f1[max]; int i, giusto,len;

/*dichiarazioni*/ // le frasi sono contenute in stringhe, cioè array di char char f1[max]; int i, giusto,len; /* Date in ingresso una frase, dire se una è palindroma */ #include #define MAX 100 int main() /*dichiarazioni*/ // le frasi sono contenute in stringhe, cioè array di char char f1[max]; int i,

Dettagli

SOLUZIONE ESERCIZIO 1

SOLUZIONE ESERCIZIO 1 SOLUZIONE ESERCIZIO 1 Progettare un algoritmo che dati tre numeri (voti) a, b, c che possono assumere i valori interi da 18 a 30, calcoli la loro media. #include void main() { int a, b, c; float

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files

Dettagli

MAGAZZINO.CPP January 2, 2008 Page 1

MAGAZZINO.CPP January 2, 2008 Page 1 MAGAZZINO.CPP January 2, 2008 Page 1 1 #include 2 #include 3 #include 4 // ==================================================================== 5 // Versione 1.1 1/1/2008

Dettagli

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.

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. 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. void main(){ int i; printf("inserire l'importo intero:\n"); scanf("%d",&i);

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Corso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com

Corso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com Corso di Informatica Medica Esercitazione 1I 2013-2014! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com 1 2 Esercizio 1 Scrivere un programma che legga due array di interi da tastiera dica

Dettagli

Linguaggio C - Funzioni

Linguaggio C - Funzioni Linguaggio C - Funzioni Funzioni: Il linguaggio C è di tipo procedurale; ogni programma viene suddiviso in sottoprogrammi, ognuno dei quali svolge un determinato compito. I sottoprogrammi si usano anche

Dettagli

Concetti chiave. Struct. Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture

Concetti chiave. Struct. Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture Concetti chiave Struct Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture Struct Per aggregare elementi di tipo diverso si utilizza una struttura. struct

Dettagli

Ricorsione. Corso di Fondamenti di Informatica

Ricorsione. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Ricorsione Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e

Dettagli

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero ---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi

Dettagli

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di esempio CERCA 90 NEL SACCHETTO = estrai num Casi num 90 Effetti CERCA 90 NEL

Dettagli

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il

Dettagli

FUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni:

FUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni: FUNZIONI La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni: double sqrt(double) double pow (double, double) della libreria matematica, che abbiamo già usato anche senza

Dettagli

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

Dettagli

Fondamenti di Informatica T. Linguaggio C: File

Fondamenti di Informatica T. Linguaggio C: File Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.

Dettagli

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo /*Caricare un vettore di n numeri float, ordinarlo e e stamparlo

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

Funzioni. Corso di Fondamenti di Informatica

Funzioni. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei

Dettagli

Appello di Informatica B

Appello di Informatica B Politecnico di Milano Facoltà di Ingegneria Industriale 19 febbraio 2004 Appello di Informatica B Prof. Angelo Morzenti - Prof. Vincenzo Martena Cognome e nome: Matricola: Tipo di prova: recupero I prova

Dettagli

1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S.

1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S. 1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S. Molinari 4: Il programma gestisce gli articoli di un negozio

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

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

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Operazioni su Liste Doppie e Circolari 2 1 Indice Liste puntate semplici: Gli elementi sono

Dettagli

RICERCA DI UN ELEMENTO

RICERCA DI UN ELEMENTO RICERCA DI UN ELEMENTO Si legga da tastiera un array di N elementi (N stabilito dall utente) Si richieda un elemento x il programma deve cercare l elemento x nell array Se l elemento è presente, deve visualizzare

Dettagli

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore. 1 Esercizio 1 1. Immaginate di avere una calcolatore che invece che poter rappresentare i classici due valori per ogni bit (0/1) possa rappresentare 7 valori per ogni bit. (a) Quanti bit gli occorreranno

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe

CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe Caratteri e stringhe Caratteri Sono i blocchi costitutivi di ogni programma:

Dettagli

Caricare un numero n float, calcolare e stampare il quadrato e il cubo di n. Diagramma di flusso

Caricare un numero n float, calcolare e stampare il quadrato e il cubo di n. Diagramma di flusso Esercizi svolti durante le ore di nformatica e Sistemi automatici nelle Clas del Liceo Scientifico Teclogico Milli di Teramo Esercizio N. 1 Caricare un numero n float, calcolare e stampare il quadrato

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Funzioni. Il modello console. Interfaccia in modalità console

Funzioni. Il modello console. Interfaccia in modalità console Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi

Dettagli

TUTORATO di LINGUAGGI I

TUTORATO di LINGUAGGI I TUTORATO di LINGUAGGI I Enrico Vianello TUTORATO di LINGUAGGI I contatti utili LE LEZIONI SI TERRANNO: VENERDI 12.30-14.30 PER INFORMAZIONI e DOMANDE: enrico.vianello@student.unife.it IL MATERIALE UTILIZZATO

Dettagli

Caratteri e stringhe Esercizi risolti

Caratteri e stringhe Esercizi risolti Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.

Dettagli

Alfabeto ed elementi lessicali del linguaggio C

Alfabeto ed elementi lessicali del linguaggio C Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2015-2016 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n

Dettagli

STRUTTURE DI CONTROLLO E TIPI SEMPLICI...4

STRUTTURE DI CONTROLLO E TIPI SEMPLICI...4 Esercizi di Informatica A cura di Massimiliano Colombo ed Elisabetta Di Nitto (Vi preghiamo di segnalarci ogni errore che vi capitasse di trovare.) Indice 1. STRUTTURE DI CONTROLLO E TIPI SEMPLICI...4

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Matrici Vettori di stringhe. Programmazione in C. Riferimenti al materiale

Matrici Vettori di stringhe. Programmazione in C. Riferimenti al materiale Matrici Vettori di stringhe Programmazione in C Matrici Definizione di matrici in C Operazioni elementari sulle matrici Vettori di stringhe Esercizi proposti Sommario Riferimenti al materiale Testi Kernighan

Dettagli

Struttura dati FILE. Concetto di FILE

Struttura dati FILE. Concetto di FILE Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file

Dettagli

PROGRAMMI LINGUAGGIO C

PROGRAMMI LINGUAGGIO C PROGRAMMI IN LINGUAGGIO C Corso di Programmazione Modulo B Prof. GIULIANO LACCETTI Studentessa Bellino Virginia Matr. 408466 Corso di Diploma in Informatica http://www.dicecca.net Indice 1. Package per

Dettagli

Esercitazione 10. Strutture ed Enumerazioni. Allocazione dinamica di memoria

Esercitazione 10. Strutture ed Enumerazioni. Allocazione dinamica di memoria Esercitazione 10 Strutture ed Enumerazioni Allocazione dinamica di memoria ESERCIZIO Scrivere una funzione che, dato un array di interi bidimensionale di dimensione n n, calcoli e stampi la somma degli

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice

Dettagli

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni. Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni

Dettagli

Primi programmi in C

Primi programmi in C Primi programmi in C Docente: Violetta Lonati PAS classe A042 Corso introduttivo pluridisciplinare in Informatica Nota: ricordate le opzioni principali del comando gcc (per eventuali dubbi, consultate

Dettagli

IL LINGUAGGIO C++ Configurazione di Dev-C++

IL LINGUAGGIO C++ Configurazione di Dev-C++ IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Gestione dei File. dischi nastri cd

Gestione dei File. dischi nastri cd Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione

Dettagli

Prova Scritta del 19/07/10

Prova Scritta del 19/07/10 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da un solo lato. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo

Dettagli

Record in C: il costruttore struct.

Record in C: il costruttore struct. Record in C: il costruttore struct. Le variabili di tipo record e i nuovi tipi record si dichiarano in C tramite il costruttore di tipo struct:. ::= ;

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

/* esercizio 5. Memorizzare l elenco dei prodotti giacenti in un magazzino in modo da poter effettuare le seguenti operazioni :

/* esercizio 5. Memorizzare l elenco dei prodotti giacenti in un magazzino in modo da poter effettuare le seguenti operazioni : /* esercizio 5. Memorizzare l elenco dei prodotti giacenti in un magazzino in modo da poter effettuare le seguenti operazioni : Stampare le caratteristiche di un determinato prodotto (codice, descrizione,

Dettagli

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

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

IEIM. Esercizio Gestione Automobili Strutture e Files 2014-2015. Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.it

IEIM. Esercizio Gestione Automobili Strutture e Files 2014-2015. Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.it IEIM Esercizio Gestione Automobili Strutture e Files 2014-2015 Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.it 1 2 Automobili Rappresentare in C una automobile. Nel nostro caso, una automobile

Dettagli

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

void funzioneprova() { int x=2; cout<<dentro la funzione x=<<x<<endl; } FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo

Dettagli

La somma di 12 e 30 è 42

La somma di 12 e 30 è 42 Nuovo Esercizio Supponendo che: all operazione somma corrisponda il numero 1 all operazione differenza corrisponda il numero 2 all operazione modulo corrisponda il numero 3 all operazione divisione intera

Dettagli

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri

Dettagli

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Le system call: fork(), wait(), exit()

Le system call: fork(), wait(), exit() Le system call: fork(), wait(), exit() Di seguito viene mostrato un programma che fa uso di puntatori a funzione, nel quale si mette in evidenza il loro utilizzo. Programma A1 #include int add(a,b,c)

Dettagli

Esercizio. Pseudocodice

Esercizio. Pseudocodice Esercizio Trovare quoziente e resto di una divisione intera per differenze successive (supponendo cioè di non disporre dell operatore di divisione) Dati di Input: D, D1 (supponiamo D1>0) Dati di Output:

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

Esercizi di programmazione in C

Esercizi di programmazione in C Esercizi di programmazione in C Esercitazioni per il corso di Fondamenti di Informatica Fulvio Corno Silvia Chiusano Politecnico di Torino Dipartimento di Automatica e Informatica Versione 1.01 24 novembre

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...

Dettagli

Laboratorio di Fondamenti di Informatica anno accademico 2015-2016. Esercizi proposti il 09-12-2015

Laboratorio di Fondamenti di Informatica anno accademico 2015-2016. Esercizi proposti il 09-12-2015 Laboratorio di Fondamenti di Informatica anno accademico 2015-2016 Esercizi proposti il 09-12-2015 ESERCIZI GUIDATI Gli esercizi saranno svolti in aula dal docente di laboratorio per illustrare alcuni

Dettagli

Programmi per il calcolo deterministico del prezzo di opzioni call e put

Programmi per il calcolo deterministico del prezzo di opzioni call e put Programmi per il calcolo deterministico del prezzo di opzioni call e put Mariapaola Blancato e Federica Galdelli Introduzione Ogetto di questa tesina è l implementazione del modello di Cox, Ross e Rubinstein

Dettagli

puntatori Lab. Calc. AA 2007/08 1

puntatori Lab. Calc. AA 2007/08 1 puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene

Dettagli

Bontà dei dati in ingresso

Bontà dei dati in ingresso COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Il costo puo' dipendere dal valore dei dati in ingresso Un tipico esempio è dato

Dettagli

Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei

Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei 04-21-giugno-2011-DomandeConSoluzione.doc 1/12 22/06/2011 15:07:59 Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei Docente Risultati Scritto Orali Carulli Venerdì

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 2 - Funzioni Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2.

Dettagli

Fondamenti di Informatica T. Linguaggio C: i puntatori

Fondamenti di Informatica T. Linguaggio C: i puntatori Linguaggio C: i puntatori Il puntatore E` un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore

Dettagli

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa

Dettagli

Alcune regole di base per scrivere un programma in linguaggio C

Alcune regole di base per scrivere un programma in linguaggio C Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza

Dettagli

Gestione dinamica della memoria Stringhe File

Gestione dinamica della memoria Stringhe File Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Gestione dinamica della memoria Stringhe File Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti

Dettagli

Tutorato: Programmazione 1 - Modulo I

Tutorato: Programmazione 1 - Modulo I UNIVERSITÀ DEGLI STUDI DI SALERNO, DIPARTIMENTO DI INFORMATICA Tutorato: Programmazione 1 - Modulo I Carmine Spagnuolo October 14, 2014 Descrivere l output del seguente programma: Listing 1: Welcome by

Dettagli

Ingegneria del Software II 12 Gennaio 2012 Parte teoria, punti 14 - Tempo a disposizione: 1h

Ingegneria del Software II 12 Gennaio 2012 Parte teoria, punti 14 - Tempo a disposizione: 1h Ingegneria del Software II 12 Gennaio 2012 Parte teoria, punti 14 - Tempo a disposizione: 1h Esercizio 1 (punti 7) Si descriano i modelli COCOMO e COCOMO II. Esercizio 2 (punti 7) Si definisca il principio

Dettagli

Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli

Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli 04-giugno-2012-Soluzioni-9cfu-Fila-A.doc Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino Docente Risultati Scritto Fiorino Carulli Orali Cognome: Nome: Nro di Matricola: Docente:

Dettagli

Compito Scritto di Ingegneria del Software. 10 gennaio 2010. Parte teorica, punti 14. Tempo a disposizione: 1 ora

Compito Scritto di Ingegneria del Software. 10 gennaio 2010. Parte teorica, punti 14. Tempo a disposizione: 1 ora Compito Scritto di Ingegneria del Software 10 gennaio 2010 Parte teorica, punti 14 Tempo a disposizione: 1 ora Esercizio 1 Si descrivano le macchine a stati finiti e i loro impieghi e limiti. PUNTI 7 Esercizio

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Implementazioni di Liste Doppiamente Puntate e Circolari Corso di Laurea Codice insegnamento Email docente Anno accademico Informatica 13917

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE C LORENZO BRACCIALE LORENZO.BRACCIALE@UNIROMA2.IT

INTRODUZIONE ALLA PROGRAMMAZIONE C LORENZO BRACCIALE LORENZO.BRACCIALE@UNIROMA2.IT INTRODUZIONE ALLA PROGRAMMAZIONE C LORENZO BRACCIALE LORENZO.BRACCIALE@UNIROMA2.IT AMBIENTE ED EDITOR DI RIFERIMENTO Utilizziamo editor a linea di comando: nano o vim Ci permettono di programmare anche

Dettagli

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Il linking tra i moduli di un programma e le librerie da esso utilizzate può essere Statico

Dettagli

Compilatori GNU in Linux: gcc e g++

Compilatori GNU in Linux: gcc e g++ Un compilatore integrato C/C++ Per Linux e' disponibile un compilatore integrato C/C++: si tratta dei comandi GNU gcc e g++, rispettivamente. In realta g++ e' uno script che chiama gcc con opzioni specifiche

Dettagli

Corso Programmazione 1 Capitolo 01: Concetti Elementari

Corso Programmazione 1 Capitolo 01: Concetti Elementari Corso Programmazione 1 Capitolo 01: Concetti Elementari Docente: Roberto Sebastiani - roberto.sebastiani@unitn.it Esercitatori: Mario Passamani - mario.passamani@unitn.it Alessandro Tomasi - alessandro.tomasi@unitn.it

Dettagli

I/O su Socket TCP: read()

I/O su Socket TCP: read() I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una

Dettagli