Passati gli altri test, quelli in comune compresi tra gli estremi:In che modo dovrei aggiungere una condizione per individuare il sottoinsieme comune?
Mettiamola così:Ah ok, quindi al posto del ; devo inserire AND?
Per quanto riguarda l'ultimo diagramma che ho mandato, cosa ne dici?
Mettile in linea tutte tre.. ogni test esclude qualcosa, se li passa tutti hai n che appartiene ad entrambi gli insiemiMa non saprei proprio come e dove aggiungere un'altra funziona SE per verificare 4>n<11
Personalmente non ho MAI usato diagrammi di flusso, vanno bene solo per esempi giocattolo e sono molto meno chiari di un testo informale in pseudocodice.
Vanno bene per spiegare ad un principiante come funziona una istruzione condizionale o un ciclo ma anche in questo caso se ne puòò fare tranquillamente a meno.
int main()
{
vector<Range> Ranges{
Range(4, 10),
Range(5, 20)
};
int MyNumber = 4;
for (auto& Range : Ranges)
{
cout << "Range [" << Range.first << "," << Range.last << "] ";
if (Range.Includes(MyNumber))
{
cout << "includes " << MyNumber << endl;
}
else
{
cout << "does not include " << MyNumber << endl;
}
}
}
Range [4,10] includes 4
Range [5,20] does not include 4
Ma se non sa fare un diagramma di flusso e non ha mai visto un linguaggio di programmazione.. certo che gli stai confondendo le idee!Non so che linguaggio stai usando, ma nel caso sia C++, senza darti la soluzione posso proporti la struttura del test e lasciare il completamento degli elementi mancanti a te, come esercizio extra :)
Tutto ciò che ti serve scrivere è una classe Range con dentro 2 int, un costruttore che prende il valore del primo ed ultimo elemento, ed infine una funzione "Include" con signature "bool (int)" che controlla se il valore passato è nel range [first,last]
Edit: ho letto ora gli altri commenti e forse ti sto confondendo le idee piu che altro... nel caso ignora il mio commento :D
Quello che cercavo di sottolineare è che puoi strutturare la cosa in modo che sembri una comune frase, come a punto nel codice sotto "if (Range.Includes(MyNumber))" che sarebbe una cosa tipo "Se l'intervallo contiene il mio numero", in questo modo ti viene molto piu semplice ragionarci su :)
Output n=4:C++:int main() { vector<Range> Ranges{ Range(4, 10), Range(5, 20) }; int MyNumber = 4; for (auto& Range : Ranges) { cout << "Range [" << Range.first << "," << Range.last << "] "; if (Range.Includes(MyNumber)) { cout << "includes " << MyNumber << endl; } else { cout << "does not include " << MyNumber << endl; } } }
Ma se non sa fare un diagramma di flusso e non ha mai visto un linguaggio di programmazione.. certo che gli stai confondendo le idee!
i famigerati flowchartLol :D
Cmq onestamente io non so neppure cosa sia un diagramma di flusso (o almeno non lo conosco sotto questo nome)
Non sono qui a difenderli, ma come ogni cosa non sono il male assoluto e non bisogna abusarne, ma anche al di fuori dell'ambito della programmazione ci sono situazioni in cui possono essere utili a fare chiarezza ai neofiti soprattutto.i famigerati flowchart
non preoccuparti non ti sei perso niente :ok:
Ecco, vedi.Io trovo i flowchart utili nell'imparare a programmare.