Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Dubbio su cicli iterativi
Forum - C/C++ - Dubbio su cicli iterativi - Pagina 2

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:55
Mercoledì, 21/10/2009
Testo quotato

Postato originariamente da Dummy:

Allora vedi che si cicla per falso :D



Non hai capito molto ... il ciclo viene ripetuto se quella espressione e' VERA ... ed esce quando e' FALSA ... e quell'espressione tra 1 e 49 e' FALSA.

Chiaro?

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 15:56
Mercoledì, 21/10/2009
Testo quotato

Postato originariamente da Dummy:

Testo quotato

Postato originariamente da theprogrammer:

E la variabile i cosa e' ? Quanto vale ?



Scusa la versione coretta è qst:
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #define max 50
  3. using namespace std;
  4. int n;
  5. main()
  6. {
  7.  do
  8.    {
  9.     cout<<"immetti n";
  10.     cin>>n;
  11.    }
  12.  while((n <=0) || (n > max));
  13. system("pause");
  14. return 0;
  15. }




no, scusa, come si cicla per falso :-| ...compreso tra 1 e 49 vuol dire che se n <= 0 vera o n > max vera si continua a ciclare. Quindi si cicla per vero

PM Quote
Avatar
Dummy (Normal User)
Newbie


Messaggi: 10
Iscritto: 21/10/2009

Segnala al moderatore
Postato alle 16:48
Mercoledì, 21/10/2009
Ma chi lo dice che è falsa la condizione??:_doubt:

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 16:52
Mercoledì, 21/10/2009
come chi lo dice :-|:-|:-|

scusa ma non riesco a seguirti...

PM Quote
Avatar
Dummy (Normal User)
Newbie


Messaggi: 10
Iscritto: 21/10/2009

Segnala al moderatore
Postato alle 16:53
Mercoledì, 21/10/2009
"e quell'espressione tra 1 e 49 e' FALSA. "

PM Quote
Avatar
Lawliet (Normal User)
Expert


Messaggi: 386
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 17:44
Mercoledì, 21/10/2009
Esempio concreto: immettiamo n=100 la condizione è falsa, quindi esce dal ciclo, mentre se immetti 20, la condizione è vera quindi ti richiederà di reinserire un altro numero! Chiaro?

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 18:31
Mercoledì, 21/10/2009
Testo quotato

Postato originariamente da Lawliet:

Esempio concreto: immettiamo n=100 la condizione è falsa, quindi esce dal ciclo, mentre se immetti 20, la condizione è vera quindi ti richiederà di reinserire un altro numero! Chiaro?



Cosi' lo fate confondere ... e' esattamente il contrario ...

Nell'espressione logica che ha scritto per il controllo del loop, il risultato e' FALSE per ogni valore tra 1 e 50 (estremi compresi, e non 49 ma 50, avevo visto un >= ma e' semplicemente un > ) e quindi - ad esempio per 20 - il ciclo TERMINA.

Al contrario per valori < 1 OPPURE > 50 il risultato e' TRUE e quindi il ciclo continua.

Ultima modifica effettuata da theprogrammer il 21/10/2009 alle 18:32
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 18:38
Mercoledì, 21/10/2009
Testo quotato

Postato originariamente da Dummy:

"e quell'espressione tra 1 e 49 e' FALSA. "



Volevo dire "tra 1 e 50" e' FALSA ...

Devi considerare il risultato dell'espressione

((n <=0) || (n > max))

se sostituisci uno dei valori di quell'intervallo ad n ... ad esempio, se usi il valore 21

((21 <= 0) || (21 > 50))

e il risultato e' FALSO quindi il ciclo termina.

PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo