PDA

View Full Version : Svolgimento di un algoritmo + codificazione in pascal!?


while
12-05-2011, 16:53
I dati relativi al campionato di calcio, sono memorizzati in 3 vettori paralleli: squadre, contenente i nomi delle squadre; serie contenente A o B; punti contenente il punteggio ottenuto nel campionato.
Scrivere un programma che dopo aver caricato i 3 vettori, risolva le seguenti richieste:

1) stampare l'elenco delle squadre di serie A;
2) Dato in input il nome di una squadra, stampare la serie in cui milita e i punti realizzati. Se la squadrea non esiste, stampare una segnalazione di errore.
3) Cercare e stampare il nome della squadra campione di serie A.
4) stampare la classifica finale di serie B.



mi serve per la preparazione al compito!
grazie mille..
P.S vorrei capire!

!fazz
12-05-2011, 17:07
comincia a postare il codice che hai scritto, eventuale idee per realizzarlo ecc ecc su hwupgrade non si svolgono i compiti al posto degli allievi, posta cosa hai fatto e i tuoi dubbi e vedremo di aiutarti consigliandoti

while
17-05-2011, 13:44
ho seguito i vostri consigli!

Allora innanzitutto ho caricato i 3 vettori.

Inizio
Input (I)
Per da I a N
Input Squadre[I]
Input Serie[I]
Input Punti [I]
Fine.

Punto 1

Per I da 1 a N
Se Serie[I] = 'A'
andando sul ramo vero
stampa Squadra [I]
Fine.

Punto 2

Inizio
A <--- False
Input di (NomeSquadra)
Per I da 1 A N
Se Squadra[I] = NomeSquadra
allora sul ramo vero
stampa
Serie[I]
Punti[I]
ed A<--- True
alla fine del ciclo
Se A = False allora 'La squadra non è stata trovata'
fine.

Punto 3

Inizio
Max<-- 0
Trovato<-- false
Per I da 1 a N
Se Serie[I] = 'A' and Punti [I] > Max
allora
Max<-- Punti [I]
Trovato<-- True
alla fine del ciclo
se trovato = true
allora
stampa (Squadre [I] )
fine.

Punto 4.

ecco la pagina scannerizzata:
http://imageshack.us/m/121/2804/img001ee.jpg

!fazz
19-05-2011, 14:42
per il punto 2 il for non è il massimo invece di usare un ciclo con un numero fisso di iterazioni fai in modo che il ciclo si interrompa appena trova la squadra

mentre A= falso e i<= dimensione_massima_array

se squadra[i]=nomesquadra allora
stampa
Serie[i]
Punti[i]
ed A<--- True

altrimenti
i=i+1

finementre


il punto 3 è sbagliato, non tieni in memoria la posizione del vettore del massimo il trovato booleano non serve a nulla, quando trovi il massimo devi memorizzare il nuovo massimo e la posizione in cui si trova nel vettore. inoltre max inizializzalo non a zero ma ad un valore assurdo tipo -100 ad inizio campionato le squadre hanno tutte 0 punti.

inoltre fatto così il programma non gestisce le squadre capoliste a pari punti, se vuoi gestirle la posizione dell'elemento massimo non serve ma una volta trovato il massimo devi fare un altro for per stampare le squadre con numero punti uguali al massimo