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
nessuno (Normal User)
Guru^2


Messaggi: 6379
Iscritto: 03/01/2010

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


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
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
nessuno (Normal User)
Guru^2


Messaggi: 6379
Iscritto: 03/01/2010

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

Con i vettori come si può fare?



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
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
nessuno (Normal User)
Guru^2


Messaggi: 6379
Iscritto: 03/01/2010

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

aux:=nu;

secondo te?

Ultima modifica effettuata da nessuno il 05/11/2012 alle 22:31


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
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
nessuno (Normal User)
Guru^2


Messaggi: 6379
Iscritto: 03/01/2010

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 ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote