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
Pascal - Domande if e procedure
Forum - Pascal - Domande if e procedure

Avatar
Tommaso95 (Normal User)
Newbie


Messaggi: 17
Iscritto: 17/10/2012

Segnala al moderatore
Postato alle 23:58
Domenica, 28/10/2012
Ciao a tutti, stavo facendo un nuovo programma quando mi sono trovato davanti a due dubbi a cui non riesco a dare una risposta:

1) Ho 10 variabili che leggo tramite un readln. Successivamente devo controllare se sono tutte comprese tra 0 e 20. Devo fare per ogni variabile una cosa del tipo if (numa>20) OR (numa<0) OR if(numb>20)...... oppure c'è qualche tecnica per velocizzare il tutto?

2) E' corretto fare una procedure senza parametri?

grazie

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 9:49
Lunedì, 29/10/2012
Studia ed usa i vettori

PM Quote
Avatar
Tommaso95 (Normal User)
Newbie


Messaggi: 17
Iscritto: 17/10/2012

Segnala al moderatore
Postato alle 19:46
Lunedì, 29/10/2012
Uhm, in che senso?

Io ho questa parte di codice che riceva i valori di input:
Codice sorgente - presumibilmente Plain Text

  1. Write('Inserisci 10 numeri separati da uno spazio da 1 a 20: ');
  2.         Readln(numa,numb,numc,numd,nume,numf,numg,numh,numi,numl);



e poi dovrei controllare se ogni numero è compreso tra 1 e 20. Con i vettori come si può fare?


Grazie

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 20:00
Lunedì, 29/10/2012
Testo quotato

Postato originariamente da Tommaso95:

Uhm, in che senso?



C'è un solo senso ... usa i vettori ...

Testo quotato
PM Quote
Avatar
Tommaso95 (Normal User)
Newbie


Messaggi: 17
Iscritto: 17/10/2012

Segnala al moderatore
Postato alle 21:49
Lunedì, 29/10/2012
Sono stupido, mi ero messo in testa che all'interno di Read non potevo leggere i dati sotto forma di array.

Ho risolto, grazie :-|

PM Quote
Avatar
Tommaso95 (Normal User)
Newbie


Messaggi: 17
Iscritto: 17/10/2012

Segnala al moderatore
Postato alle 22:28
Lunedì, 05/11/2012
Scusate se riuppo il topic ma dato che mi è sorta un problemino relativo a quello che avevo scritto non mi sembrava il caso di aprirne un altro.

In pratica adesso sto cercando di controllare se i 10 numeri che l'utente inserisce sono compresi tra 1 e 20. Se non lo sono dovrei dare la possibilità all'utente di modificare quel numero.

Purtroppo quello che ho provato a creare non funziona, consigli?
Codice sorgente - presumibilmente Delphi

  1. Write('Inserisci 10 numeri separati da uno spazio da 1 a 20: ');
  2.                 for b:=1 to 10 do
  3.                   begin
  4.                     Read(aux);
  5.                                 errore := (aux>20) OR (aux<1);
  6.                                 if errore then
  7.                                        begin
  8.                                               writeln('Errore, valore non corrretto');
  9.                                               Writeln('Inserisci un''altro numero tra 1 e 20');
  10.                                               readln(aux);
  11.                                          end
  12.                                  else
  13.                                       aux:=nu[b];
  14.  
  15.  
  16.                   end;


Ultima modifica effettuata da Tommaso95 il 05/11/2012 alle 22:30
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 22:30
Lunedì, 05/11/2012
Cosa vuol dire questa linea

aux:=nu;

secondo te?

Ultima modifica effettuata da il 05/11/2012 alle 22:31
PM Quote
Avatar
Tommaso95 (Normal User)
Newbie


Messaggi: 17
Iscritto: 17/10/2012

Segnala al moderatore
Postato alle 0:00
Martedì, 06/11/2012
aux è una variabile ausiliaria.
Se rispetta le condizioni la "copio" nell'array vero e proprio contenente i 10 valori definitivi.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 9:32
Martedì, 06/11/2012
Testo quotato

Postato originariamente da Tommaso95:

aux è una variabile ausiliaria.
Se rispetta le condizioni la "copio" nell'array vero e proprio contenente i 10 valori definitivi.



Ma in quel modo fai il contrario ... copi l'elemento dell'array nella variabile ...

PM Quote