Aiutatemi per favore e urgente....

mikutza
per favore aiutatemi in informatica devo codificare quest'esercizio in visual basic con i vettori paralleli:

Di alcune città di una regione italiana vengono memorizzate le seguenti informazioni:
- il nome della città
- la temperatura massima registrata nella giornata
- la temperatura minima registrata nella giornata
E fornire in output:
a) la città più fredda
b) la città più calda
c) la città che ha avuto la maggiore escursione termica.

Risposte
Max 2433/BO
Ok...

... attenderò :hi

mikutza
Max 2433/BO ...te lo dirò mercoledi che cosi ho informatica a scuola...:)

lucry98
scusatemi nn lo farò più!!!!

bimbozza
valerio64, sei pregato di non intervenire se non sei in grado di contribuire alle necessità dell'utente. Ti ricordo che dare disposte inutili è contro il regolamento.

lucry98
il virtual basic dovrebbe essere un linguaggio di programmazione, giusto???

Max 2433/BO
... ok fammi sapere se funzione, perchè questa notte :lol mi è venuto un dubbio: forse dopo il comando ELSE invece di i=p sarebbe più corretto mettere i=i+1...

... comunque fammi sapere.

:hi

mikutza
mm qualcosa ho capito....ora mi metto a scriverlo in vb...:) grazie

Max 2433/BO
Allora le variabili i, p sono in pratica i puntatori utilizzati per estrarre i dati dagli array, avrei anche potuto chiamare indice1 e indice2 o puntatore1 e puntatore2

Per cui quando scrivo

a=temp_min(i)
b=temp_min(p)

si intende che

la variabile a conterrà il valore presente nell'array temp_min alla posizione i,

e la variabile b conterrà il valore presente nell'array temp_min alla posizione p

Quindi se, ad esempio i=2 e p=3, considerando gli array che ti ho proposto all'inizio:

a=temp_min(2)=1
b=temp_min(3)=10

Nota: io ho considerato che gli elementi si iniziano a conteggiare da sinistra verso destra e a partire da un indice pari a 0, di norma è così.

Quando, invece, scrivo:

d1 = temp_max(i) - temp_min(i)
d2 = temp_max(p) - temp_min(p)

la variabile d1 contiene la differenza di temperatura calcolata utilizzando il valore presente nell'array temp_max puntato dall'indice i e il valore presente nella variabile temp_min puntato dall'indice i

e, parimenti, la variabile d2 contiene la differenza di temperatura calcolata utilizzando il valore presente nell'array temp_max puntato dall'indice p e il valore presente nella variabile temp_min puntato dall'indice p

Per cui, se ad esempio, consideriamo sempre i=2 e p=2 e gli array che ti ho postato, avremo:

d1 = temp_max(2) - temp_min(2) = 5 - 1 = 4
d2 = temp_max(3) - temp_min(3) = 25 - 10 = 5

Ecco qua, se hai altri dubbi chiedi pure.

Ti volevo ricordare che la notazione di scrittura che ho utilizzato non è necessariamente uguale a qualle di vb , che non conosco, ma dovresti essere in grado, visto gli esempi, a tradurla nella sua corretta sintassi.

:hi

mikutza
grazie mille...non riesco a capire per le variabili ...p...d1---d2 non capisco,può spiegarmeli con altri nomi...:(

Aggiunto 6 minuti più tardi:

non capisco neanche quando faccio questo....

a=temp_min(i)
b=temp_min(p)

Max 2433/BO
Non conosco propriamente il visual basic (non potrei nemmeno utilizzarlo perchè lavoro con linux ;) ), comunque con le mie basi ti posso indicare dei semplici algoritmi in basic che penso che tu possa tradurre semplicemente in vb dal momento che si tratta di istruzioni basilari.

Allora se ho ben compreso il problema è il seguente:

abbiamo tre array contenenti, rispettivamente, i nomi delle città, i valori delle rispettive temperature minime e i valori delle rispettive temperature massime.

Ovviamente i tre array sono in relazione tra loro, nel senso che l'indice dell'array contenenti i nomi delle città e corrispondente a quello contenente le temperature in modo da avere un relazione univoca.

Supponiamo, quindi che i tre array siano i seguenti:

nome_città$ [Roma, Bologna, Milano, Napoli]
temp_min [5,3,1,10]
temp_max [15,10,5,25]

La routine per trovare la città più fredda potrebbe essere la seguente:

variabili utilizzate

i, p ; indici di scansione array

a, b ; contenitori per confronto

:inizio

i=0

FOR p (1 TO 3) ; dopo il TO va inidcata la lunghezza dell'array (3 perchè si parte a contare da 0)

a=temp_min(i)
b=temp_min(p)

IF a nella struttura IF THEN ELSE, puoi costruirti la routine per trovare la temperatura massima, analizzando, ovviamente, l'array temp_max.

... tra un attimo ti posto la routine per l'ultima domanda

Aggiunto 10 minuti più tardi:

... rieccomi, questa dovrebbe essere la routine per il confronto dell'escursione termica:

variabili utilizzate

i,p ; indici di scansione array

d1, d2; contenitori differenze di temperatura

:inizio

i=0

FOR p (1 TO 3)

d1 = temp_max(i) - temp_min(i)
d2 = temp_max(p) - temp_min(p)

IF d1>d2 THEN
i=i
ELSE
i=p
END IF

NEXT

Come vedi è molto simili alla precedente, cambino solo le operazioni da eseguire sui dati degli array che, da un semplice confronto, diventa un confronto di differenze di valori.

Anche in questo caso, alla fine del ciclo FOR NEXT la variabile i punta alla città con maggior escursione termica.

... spero di esserti stato un po' d'aiuto, con le mie scarse conoscenze di programmazione.

:hi

Massimiliano

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.