• Non ci sono risultati.

IEIM 2014-2015

N/A
N/A
Protected

Academic year: 2021

Condividi "IEIM 2014-2015"

Copied!
12
0
0

Testo completo

(1)

IEIM 2014-2015

Esercitazione 1

Alessandro A. Nacci

[email protected] - alessandronacci.com

1

(2)

Chi sono

Chi sono:

- Alessandro Nacci

- 3nd year PhD Student

- Il vostro esercitatore di IEIM

Mi occupo di:

- Mobile Devices

- Smart Buildings

Contatti:

- www.alessandronacci.com

- [email protected]

Ricevimento:

- Ci mettiamo d’accordo via e-mail

2

(3)

Esercizio 1

Da#  cinque  vo#  compresi  tra  0  e  10,  calcolarne  la  media        e  dire  se  lo  studente  e'  bocciato  (media  minore  di  6)  

     o  promosso  (media  maggiore  o  uguale  a  6)  

3

/* dati cinque voti compresi tra 0 e 10, calcolarne la media e dire se lo studente e' bocciato (media minore di 6)

o promosso (media maggiore o uguale a 6) */

#include <stdio.h>

#include <math.h>

int main(){

float v1, v2, v3, v4, v5, somma, media;

printf("inserire i cinque voti: \n");

scanf("%f%f%f%f%f", &v1, &v2, &v3, &v4, &v5);

somma = v1 + v2 + v3 + v4 + v5;

media = somma/5;

if (media < 6.0){

printf("Bocciato! media: %f\n", media);

}else{

printf("Promosso! media: %f\n", media);

}

return 0;

}

(4)

ALGEBRA DI BOOL

• LI FACCIAMO ALLA LAVAGNA ;)

• Troverete una scansione online con gli esercizi fatti

4

(5)

ALGEBRA DI BOOL - ESERCIZIO

5

AXO – esame di giovedì 4 marzo 2010 - CON SOLUZIONI pagina 13 di 22

seconda parte – algebra booleana

Si consideri la funzione booleana di 3 variabili G(a ,b, c) espressa dall’equazione seguente:

G(a, b, c) = a b c + !a !b c + !a b c + a b !c

Si trasformi - tramite le proprietà dell’algebra di commutazione - l’equazione di G in modo da ridurre il co- sto della sua realizzazione, indicando le singole operazioni svolte e il nome oppure la forma della proprietà utilizzata.

Soluzione via breve

a b c + !a !b c + !a b c + a b !c distributiva

!a c (b + !b) + a b (c + !c) elemento neutro

!a c 1 + a b 1 elemento neutro

!a c + a b forma minima

oppure (ma è più lunga)

a b c + !a !b c + !a b c + a b !c

a b c + !a !b c + !a b c + a b !c + a b c + !a b c idempotenza a b c + !a b c + !a b c + !a !b c + a b c + a b !c commutativa (a + !a) b c + !a (b + !b) c + a b (c + !c) distributiva

1 b c + !a 1 c + a b 1 elemento neutro

b c + !a c + a b elemento neutro

1 b c + !a c + a b elemento inverso

(a + !a) b c + !a c + a b distributiva

a b c + !a b c + !a c + a b commutativa

a b c + a b + !a b c + !a c assorbimento

a b + !a c forma minima

(6)

ALGEBRA DI BOOL - ESERCIZIO (SOLUZIONE)

6

AXO – esame di giovedì 4 marzo 2010 - CON SOLUZIONI pagina 13 di 22

seconda parte – algebra booleana

Si consideri la funzione booleana di 3 variabili G(a ,b, c) espressa dall’equazione seguente:

G(a, b, c) = a b c + !a !b c + !a b c + a b !c

Si trasformi - tramite le proprietà dell’algebra di commutazione - l’equazione di G in modo da ridurre il co- sto della sua realizzazione, indicando le singole operazioni svolte e il nome oppure la forma della proprietà utilizzata.

Soluzione via breve

a b c + !a !b c + !a b c + a b !c distributiva

!a c (b + !b) + a b (c + !c) elemento neutro

!a c 1 + a b 1 elemento neutro

!a c + a b forma minima

oppure (ma è più lunga)

a b c + !a !b c + !a b c + a b !c

a b c + !a !b c + !a b c + a b !c + a b c + !a b c idempotenza a b c + !a b c + !a b c + !a !b c + a b c + a b !c commutativa (a + !a) b c + !a (b + !b) c + a b (c + !c) distributiva

1 b c + !a 1 c + a b 1 elemento neutro

b c + !a c + a b elemento neutro

1 b c + !a c + a b elemento inverso

(a + !a) b c + !a c + a b distributiva

a b c + !a b c + !a c + a b commutativa

a b c + a b + !a b c + !a c assorbimento

a b + !a c forma minima

(7)

Esercizio 1

Da#  cinque  vo#  compresi  tra  0  e  10,  calcolarne  la  media        e  dire  se  lo  studente  e'  bocciato  (media  minore  di  6)  

     o  promosso  (media  maggiore  o  uguale  a  6)  

7

START

Leggi primo voto

Leggi secondo voto

Leggi terzo voto

Leggi quarto voto

Leggi quinto voto

Calcola la media

Media < 6

Bocciato Promosso

VERO FALSO

FINE

START

Leggi primo voto

Leggi secondo voto

Leggi terzo voto

Leggi quarto voto

Leggi quinto voto

Media < 6

Bocciato Promosso

VERO FALSO

FINE

FAI LA SOMMA FAI LA DIVISIONE

(8)

Esercizio 2

Da#  un  numero,  stampare  il  primo  numero  successivo  pari

8 /* ESERCIZIO 1 */

/* dati un numero, stampare il primo numero successivo pari */

#include <stdio.h>

#include <stdlib.h>

int main(){

int n, r;

printf("inserire un numero intero: \n");

scanf("%d", &n);

r = n%2;

if( r == 0){

printf("il primo numero successivo pari di %d e' %d\n", n, n+2);

}else{

printf("il primo numero successivo pari di %d e' %d\n", n, n+1);

}

return 0;

}

/* ESERCIZIO 2 */

/* dati dati tre numeri, chiedere all'utente che tipo di operazione vuole effettuare:

- se l'utente inserisce 's' effettuare la somma - se l'utente inserisce 'p' effettuare il prodotto

- se l'utente inserisce un altro carattere, visualizzare un messaggio di errore */

#include <stdio.h>

#include <stdlib.h>

int main(){

int n1, n2, n3, operation;

char c;

printf("inserire tre numeri interi: \n");

scanf("%d%d%d", &n1, &n2, &n3);

printf("Inserire s per effettuare la somma, inserire p per effettuare il prodotto:

\n");

scanf("\n%c", &c);

if(c == 's'){

operation = n1 + n2 + n3;

printf("la somma e' %d\n", operation);

}else if (c == 'p'){

operation = n1 * n2 * n3;

printf("il prodotto e' %d\n", operation);

}else{

printf("ERRORE: il carattere inserito non permette di effettuare nessuna operazione");

}

return 0;

}

(9)

Esercizio 3

9 /* ESERCIZIO 1 */

/* dati un numero, stampare il primo numero successivo pari */

#include <stdio.h>

#include <stdlib.h>

int main(){

int n, r;

printf("inserire un numero intero: \n");

scanf("%d", &n);

r = n%2;

if( r == 0){

printf("il primo numero successivo pari di %d e' %d\n", n, n+2);

}else{

printf("il primo numero successivo pari di %d e' %d\n", n, n+1);

}

return 0;

}

/* ESERCIZIO 2 */

/* dati dati tre numeri, chiedere all'utente che tipo di operazione vuole effettuare:

- se l'utente inserisce 's' effettuare la somma - se l'utente inserisce 'p' effettuare il prodotto

- se l'utente inserisce un altro carattere, visualizzare un messaggio di errore */

#include <stdio.h>

#include <stdlib.h>

int main(){

int n1, n2, n3, operation;

char c;

printf("inserire tre numeri interi: \n");

scanf("%d%d%d", &n1, &n2, &n3);

printf("Inserire s per effettuare la somma, inserire p per effettuare il prodotto:

\n");

scanf("\n%c", &c);

if(c == 's'){

operation = n1 + n2 + n3;

printf("la somma e' %d\n", operation);

}else if (c == 'p'){

operation = n1 * n2 * n3;

printf("il prodotto e' %d\n", operation);

}else{

printf("ERRORE: il carattere inserito non permette di effettuare nessuna operazione");

}

return 0;

}

/* ESERCIZIO 1 */

/* dati un numero, stampare il primo numero successivo pari */

#include <stdio.h>

#include <stdlib.h>

int main(){

int n, r;

printf("inserire un numero intero: \n");

scanf("%d", &n);

r = n%2;

if( r == 0){

printf("il primo numero successivo pari di %d e' %d\n", n, n+2);

}else{

printf("il primo numero successivo pari di %d e' %d\n", n, n+1);

}

return 0;

}

/* ESERCIZIO 2 */

/* dati dati tre numeri, chiedere all'utente che tipo di operazione vuole effettuare:

- se l'utente inserisce 's' effettuare la somma - se l'utente inserisce 'p' effettuare il prodotto

- se l'utente inserisce un altro carattere, visualizzare un messaggio di errore */

#include <stdio.h>

#include <stdlib.h>

int main(){

int n1, n2, n3, operation;

char c;

printf("inserire tre numeri interi: \n");

scanf("%d%d%d", &n1, &n2, &n3);

printf("Inserire s per effettuare la somma, inserire p per effettuare il prodotto:

\n");

scanf("\n%c", &c);

if(c == 's'){

operation = n1 + n2 + n3;

printf("la somma e' %d\n", operation);

}else if (c == 'p'){

operation = n1 * n2 * n3;

printf("il prodotto e' %d\n", operation);

}else{

printf("ERRORE: il carattere inserito non permette di effettuare nessuna operazione");

}

return 0;

}

(10)

Esercizio 2

Leggere  3  numeri,  A,  B  e  C.  

Dire  quale  di  essi  é  maggiore.

10

#include <stdio.h>

int main(int argn, char** argv) { int a, b, c;

scanf("%d", &a);

scanf("%d", &b);

scanf("%d", &c);

if (a > b) {

if (a > c) {

printf("A");

exit(0);

} }

if (b > c) {

if (b > a) {

printf("B");

exit(0);

} }

if (c > b) {

if (c > a) {

printf("C");

exit(0);

} }

return 0;

}

#include <stdio.h>

int main(int argn, char** argv) { int a, b, c;

scanf("%d", &a);

scanf("%d", &b);

scanf("%d", &c);

if (a > b) {

if (a > c) {

printf("A");

exit(0);

} }

if (b > c) {

if (b > a) {

printf("B");

exit(0);

} }

if (c > b) {

if (c > a) {

printf("C");

exit(0);

} }

return 0;

}

(11)

11

Tutte il materiale sarà disponibile sul mio sito internet!

alessandronacci.com

(12)

12

Tutte il materiale sarà disponibile sul mio sito internet!

alessandronacci.com

Riferimenti

Documenti correlati

Comune di Trieste, Area Polizia Locale e Sicurezza, Servizio Amministrativo, Ufficio Gestione Economico-Finanziaria; via Genova 6, 34121 Trieste. Codice NUTS: ITD44. Sito internet:

Comune di Trieste, Area Polizia Locale e Sicurezza, Servizio Amministrativo, Ufficio Gestione Economico-Finanziaria; via Genova 6, 34121 Trieste. Codice NUTS: ITD44. Sito internet:

Comune di Trieste, Area Polizia Locale e Sicurezza, Servizio Amministrativo, Ufficio Gestione Economico-Finanziaria; via Genova 6, 34121 Trieste. Codice NUTS: ITD44. Sito internet:

Comune di Trieste, Area Polizia Locale e Sicurezza, Servizio Amministrativo, Ufficio Gestione Economico-Finanziaria; via Genova 6, 34121 Trieste. Codice NUTS: ITD44. Sito internet:

Il sito è inoltre dinamico e quindi aggiornabile in tutte le sue parti (strutture ricettive, guide, itinerari, foto) direttamente da un

Anche un vettore multidimensionale è implementato in C come un puntatore all’area di memoria da cui partono le celle contigue contenenti il vettore. contigue contenenti il vettore

• Si scriva un programma che controlli la possibilità di perdere una partita a tris alla mossa successiva. • Il programma chiede all'utente di inserire una matrice 3x3 riempita con

• Se una cella ha valore 0 questa assumera’ un valore pari alla somma dei valori contenuti nelle celle adiacenti. • L’algoritmo si ferma quando non esistono piu’ celle con