Oppure

Loading
28/10/12 22:58
Tommaso95
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
aaa
29/10/12 8:49
Studia ed usa i vettori
29/10/12 18:46
Tommaso95
Uhm, in che senso?

Io ho questa parte di codice che riceva i valori di input:
 Write('Inserisci 10 numeri separati da uno spazio da 1 a 20: ');
	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
aaa
29/10/12 19:00
Postato originariamente da Tommaso95:

Uhm, in che senso?


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

Con i vettori come si può fare?


gbgb.altervista.org/Web_progepi/appunti/…
29/10/12 20:49
Tommaso95
Sono stupido, mi ero messo in testa che all'interno di Read non potevo leggere i dati sotto forma di array.

Ho risolto, grazie :-|
aaa
05/11/12 21:28
Tommaso95
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?
Write('Inserisci 10 numeri separati da uno spazio da 1 a 20: ');
		for b:=1 to 10 do
                  begin
                    Read(aux);
			        errore := (aux>20) OR (aux<1);
			        if errore then
				       begin
					      writeln('Errore, valore non corrretto');
                                              Writeln('Inserisci un''altro numero tra 1 e 20');
                                              readln(aux);
                                         end
                                 else
                                      aux:=nu[b];


		  end;
Ultima modifica effettuata da Tommaso95 05/11/12 21:30
aaa
05/11/12 21:30
Cosa vuol dire questa linea

aux:=nu;

secondo te?
Ultima modifica effettuata da 05/11/12 21:31
05/11/12 23:00
Tommaso95
aux è una variabile ausiliaria.
Se rispetta le condizioni la "copio" nell'array vero e proprio contenente i 10 valori definitivi.
aaa