[:it]
- Costruire la tabella della verità associata al seguente circuito logico:

2. Costruire la tabella della verità associata al seguente circuito:
3. Esercizi molto più complesso, associare la tabella di verità al seguente circuito:

[:]
[:it]

2. Costruire la tabella della verità associata al seguente circuito:
3. Esercizi molto più complesso, associare la tabella di verità al seguente circuito:

[:]
[:it]Gli operatori logici si possono rappresentare con la seguente rappresentazione grafica:




Tutte le operazioni booleane possono essere ottenute mediante la corretta combinazione delle porte logiche AND, OR e NOT.
Ad esempio un NAND può essere realizzato mediante un AND ed un NOT nella seguente maniera:

Un NOR può essere realizzato mediante un OR ed un NOT nella seguente maniera

Un XOR si può realizzare con un’opportuna combinazione di AND, OR a NOT nella seguente maniera:
[:]
[:it]Completare il seguente CPM con tutte le date per ogni nodo identificando il percorso critico.
In particolare evidenziare il ES,EF, LS,LF ed il TF per tutti i nodi.
[:]
[:it]

roger de la fresnaye
Si richiedano tre numeri 6,7; 87,9;6,87 e successivamente altri tre 5,7; 9,2; 3,4 e che si mettano esattamente con questa sequenza e si trovi il più piccolo, il più grande e la media di ciascuna serie.
Poi si calcoli il prodotto della media e il prodotto dell’errore che viene dato dalla differenza tra il massimo ed il minimo.
Specifiche di programmazione e relativo punteggio:
| Specifiche | Punteggio |
| Nome programma: CognomeNomeVergg_mm_aa
ad esempio RossiMarioVer27_11_17 |
0.2 |
| Commenti all’interno del programma che spieghi le singole fasi | 0.3 |
| Richiedere all’utente i tre valori con la corretta istruzione di programmazione | 0.2 |
| Utilizzare un ciclo for o while per l’inserimento dei dati della prima serie (se non si riesce inserirli senza un ciclo) | 3 |
| Corretta gestione del tipo dei dati | 0.3 |
| Utilizzare un ciclo for o while per l’inserimento dei dati della seconda serie (se nel primo caso si è utilizzato un ciclo for nel secondo si usi un ciclo while o viceversa) | 3 |
| Utilizzare un ciclo for o while per determinare il valore minimo o massimo tra i valori inseriti | 2 |
| Calcolare il corretto algoritmo per il prodotto | 1 |
[:]
[:it]

roger de la fresnaye
Il nucleo della soluzione è il seguente:
massimo=-1000
minimo=1000
media=0
for i in range (1,4):
a=input(“valore: “)
a=float(a)
media=media+a
if (a>massimo):
massimo=a
if (a<minimo):
minimo=a
media=media/3
print(“media “, media)
print(“massimo “,massimo)
print(“mnimio “, minimo)
Tale ciclo si ripete per le due dimensioni da inserire.[:]
[:it]

Roberto Bergonzo, Società Pres – L’asseedio, olio su tela cm.230×90
Questa versione, in un unico ciclo si immettono i valori e si calcola la media ed il valore massimo
/*
author: francesco bragadin
data: 26/11/2017
oggetto: calcolo della superficie di un tavolo senza
l’uso di un vettore immettendo dieci valori
delle rispettive misure calcolando l’errore
*/
#include<iostream>
using namespace std;
int main(){
double a,b;
double Amax,Amin,Amedia,Aerr;
double Bmax,Bmin,Bmedia,Berr;
double area;
double areaerr;
int k;
Amax=-1000;
Amin=1000;
Bmax=-1000;
Bmin=1000;
/* si chiede a chi usa il programma quanti sono i valori da immettere */
cout<<“quanti valori si immettono?”<<“\n”;
cin>>k;
/* ciclo per la prima dimensione per immettere i valori e per caloclare la medeia e il valore massimo */
for (int i=0;i<k;i++){
cout<<“immetere il valore: “;
cin>>a;
Amedia=Amedia+a;
if (a>Amax)
Amax=a;
if (a<Amin)
Amin=a;
}
/* Calcolo della media e errore sulla misura */
Amedia=Amedia/k;
Aerr=(Amax-Amin)/2;
/* questa parte anche se non obbligtoria funziona per verificare la correttezza degli algoritmi usati */
cout<<“la media risulta: “<<Amedia<<endl;
cout<<“il minimo risulta: “<<Amin<<endl;
cout<<“il massimo risulta:”<<Amax<<endl;
cout<<“Errore risulta “<<Aerr<<endl;
/* ciclo per la seconda dimensione per immettere i valori e per calcolare la medeia e il valore massimo */
for (int i=0;i<k;i++){
cout<<“immetere il valore: “;
cin>>b;
Bmedia=Bmedia+b;
if (b>Bmax)
Bmax=b;
if (b<Bmin)
Bmin=b;
}
/* Calcolo media ed errore sulla misura */
Bmedia=Bmedia/k;
Berr=(Bmax-Bmin)/2;
/* questa parte anche se non obbligtoria funziona per verificare la correttezza degli algoritmi usati */
cout<<“la media risulta: “<<Bmedia<<endl;
cout<<“il minimo risulta: “<<Bmin<<endl;
cout<<“il massimo risulta:”<<Bmax<<endl;
cout<<“Errore risulta “<<Berr<<endl;
/* calcolo della superficie */
areaerr=Amedia*Aerr+Bmedia*Berr;
area=Amedia*Bmedia;
cout<<“area: “<<area<<” +/- “<<areaerr;
}[:]
[:it]

Roberto Bergonzo, Fiat Gsa 2000, olio su tela, cm.130×130
Questa soluzione non è efficiente dal punto di vista della complessità computazionale in quanto effettuo numerosissimi cicli che potrebbero benissimo essere raggruppati in un solo.
In ogni caso esso è un esempi di come si è utilizzato una sequenzialità delle istruzioni immesse suddividendola in momenti diversi.
/*
author: francesco bragadin
data: 26/11/2017
oggetto: calcolo della superficie di un tavolo senza
l’uso di un vettore immettendo dieci valori
delle rispettive misure calcolando l’errore
*/
#include<iostream>
using namespace std;
int main(){
double a0,a1,a2,a3,a4,a5,a6,a7,a8,a9;
double b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
double amax,amin;
double amedia;
double aerr;
double bmax,bmin;
double bmedia;
double berr;
int const k=10;
double areaerr;
double area;
/*
ciclo per l’inserimeto dei valori della base
*/
for (int i=0;i<k;i++)
{
cout<<“Inserisci il valore a”<<i<<“\n”;
switch(i){
case 0:
cin>>a0;
break;
case 1:
cin>>a1;
break;
case 2:
cin>>a2;
break;
case 3:
cin>>a3;
break;
case 4:
cin>>a4;
break;
case 5:
cin>>a5;
break;
case 6:
cin>>a6;
break;
case 7:
cin>>a7;
break;
case 8:
cin>>a8;
break;
case 9:
cin>>a9;
break;
default:
cout<<“Errore”;
break;
}
}
/*
verifico la correttezza dei valori inseriti
*/
cout<<“Ecco i valori inseriti”<<“\n”;
cout<<a0<<” “<<a1<<” “<<a2<<” “<<a3<<” “<<a4<<” “<<a5<<” “<<a6<<” “<<a7<<” “<<a8<<” “<<a9<<“\n”;
/*
ciclo per prendere il valore piu’ grande
*/
for (int i=0;i<k;i++)
{
switch(i){
case 0:
amax=a0;
break;
case 1:
if (a1>amax)
amax=a1;
break;
case 2:
if (a2>amax)
amax=a2;
break;
case 3:
if (a3>amax)
amax=a3;
break;
case 4:
if (a4>amax)
amax=a4;
break;
case 5:
if (a5>amax)
amax=a5;
break;
case 6:
if (a6>amax)
amax=a6;
break;
case 7:
if (a7>amax)
amax=a7;
break;
case 8:
if (a8>amax)
amax=a8;
break;
case 9:
if (a9>amax)
amax=a9;
break;
default:
cout<<“Errore”;
break;
}
}
cout<<“Valore maggiore: “<<amax<<“\n”;
/*
ciclo per prendere il valore piu’ piccolo
*/
for (int i=0;i<k;i++)
{
switch(i){
case 0:
amin=a0;
break;
case 1:
if (a1<amin)
amin=a1;
break;
case 2:
if (a2<amin)
amin=a2;
break;
case 3:
if (a3<amin)
amin=a3;
break;
case 4:
if (a4<amin)
amin=a4;
break;
case 5:
if (a5<amin)
amin=a5;
break;
case 6:
if (a6<amin)
amin=a6;
break;
case 7:
if (a7<amin)
amin=a7;
break;
case 8:
if (a8<amin)
amin=a8;
break;
case 9:
if (a9<amin)
amin=a9;
break;
default:
cout<<“Errore”;
break;
}
}
cout<<“Valore minore: “<<amin<<“\n”;
/*
errore
*/
aerr=(amax-amin)/2;
/*
media
*/
amedia=(a0+a1+a2+a3+a4+a5+a6+a7+a8+a9)/k;
cout<<“la base risula “<<amedia<<” +/- “<<aerr<<“\n”;
/*************************************************/
/*
ciclo per l’inserimeto dei valori della altezza
*/
int i=0;
while (i<k)
{
cout<<“Inserisci il valore b”<<i<<“\n”;
switch(i){
case 0:
cin>>b0;
break;
case 1:
cin>>b1;
break;
case 2:
cin>>b2;
break;
case 3:
cin>>b3;
break;
case 4:
cin>>b4;
break;
case 5:
cin>>b5;
break;
case 6:
cin>>b6;
break;
case 7:
cin>>b7;
break;
case 8:
cin>>b8;
break;
case 9:
cin>>b9;
break;
default:
cout<<“Errore”;
break;
}
i++;
}
/*
verifico la correttezza dei valori inseriti
*/
cout<<“Ecco i valori inseriti”<<“\n”;
cout<<b0<<” “<<b1<<” “<<b2<<” “<<b3<<” “<<b4<<” “<<b5<<” “<<b6<<” “<<b7<<” “<<b8<<” “<<b9<<“\n”;
/*
ciclo per prendere il valore piu’ grande
*/
for (int i=0;i<k;i++)
{
switch(i){
case 0:
bmax=b0;
break;
case 1:
if (b1>bmax)
bmax=b1;
break;
case 2:
if (b2>bmax)
bmax=b2;
break;
case 3:
if (b3>bmax)
bmax=b3;
break;
case 4:
if (b4>bmax)
bmax=b4;
break;
case 5:
if (b5>bmax)
bmax=b5;
break;
case 6:
if (b6>bmax)
bmax=b6;
break;
case 7:
if (b7>bmax)
bmax=b7;
break;
case 8:
if (b8>bmax)
bmax=b8;
break;
case 9:
if (b9>bmax)
bmax=b9;
break;
default:
cout<<“Errore”;
break;
}
}
cout<<“Valore maggiore: “<<bmax<<“\n”;
/*
ciclo per prendere il valore piu’ piccolo
*/
for (int i=0;i<k;i++)
{
switch(i){
case 0:
bmin=b0;
break;
case 1:
if (b1<bmin)
bmin=b1;
break;
case 2:
if (b2<bmin)
bmin=b2;
break;
case 3:
if (b3<bmin)
bmin=b3;
break;
case 4:
if (b4<bmin)
bmin=b4;
break;
case 5:
if (b5<bmin)
bmin=b5;
break;
case 6:
if (b6<bmin)
bmin=b6;
break;
case 7:
if (b7<bmin)
bmin=b7;
break;
case 8:
if (a8<bmin)
bmin=a8;
break;
case 9:
if (a9<bmin)
bmin=a9;
break;
default:
cout<<“Errore”;
break;
}
}
cout<<“Valore minore: “<<bmin<<“\n”;
/*
errore
*/
berr=(bmax-bmin)/2;
/*
media
*/
bmedia=(b0+b1+b2+b3+b4+b5+b6+b7+b8+b9)/k;
cout<<“la base risula “<<bmedia<<” +/- “<<berr<<“\n”;
areaerr=amedia*aerr+amedia*berr;
area=amedia*bmedia;
cout<<“area: “<<area<<” +/- “<<areaerr;
return 0;
}[:]
[:it]

Picabia
[WpProQuiz 52][:]
[:it]

Roberto Bergonzo
[WpProQuiz 54][:]
[:it]

Ivan Slavinsky
Siano dati dieci valori relativi ad una dimensione di un tavolo, ed altri dieci relativi all’altra dimensione (come da tabella 1). Si calcoli la superficie del tavolo considerando il relativo errore sulla misura, prendendo la corretta relazione che esprime le incertezza nella misura nel caso specifico.
Tabella 1 dei valori:
| Dimensione1 | Dimensione2 |
| 0.75 | 0.15 |
| 0.57 | 0.23 |
| 0.69 | 0.73 |
| 0.48 | 0.45 |
| 0.82 | 0.83 |
| 0.55 | 0.58 |
| 0.65 | 0.62 |
| 0.62 | 0.67 |
| 0.59 | 0.69 |
| 0.42 | 0.44 |
Per ogni dimensione si dovrà calcolare:
![]()
![]()
in generale quindi una grandezza si esprime come:
![]()
Tabella 2 che esprime i valori delle grandezze derivate e corrispondenti incertezze
| Grandezza | Valore più plausibile | Errore |
| a+b | Err(a)+Err(b) | |
| a-b | Err(a)+Err(b) | |
![]() |
Specifiche di programmazione e relativo punteggio:
| Specifiche | Punteggio |
| Nome programma: CognomeNomeVergg_mm_aa
ad esempio RossiMarioVer27_11_17 |
0.2 |
| Commenti all’interno del programma che spieghi le singole fasi | 0.3 |
| Richiedere all’utente i dieci valori della tabella con la corretta istruzione di programmazione | 0.2 |
| Utilizzare un ciclo for o while per l’inserimento dei dati della prima dimensione (se non si riesce inserirli senza un ciclo) | 3 |
| Corretta gestione del tipo dei dati | 0.3 |
| Utilizzare un ciclo for o while per l’inserimento dei dati della seconda dimensione (se nel primo caso si è utilizzato un ciclo for nel secondo si usi un ciclo while o viceversa) | 3 |
| Utilizzare un ciclo for o while per determinare il valore minimo o massimo tra i valori inseriti | 2 |
| Calcolare il corretto algoritmo per il calcolo della superficie del tavolo | 1 |
[:]