Oppure

Loading
14/02/10 11:23
Mariano90
Alla fine dell'anno scolastico si conoscono per le cinque classi di una scuola superiore i risultati riguardanti: iscritti,promossi,bocciati. Calcolare le percentuali di bocciati e promossi e memorizzare i risultati in un file. Avendo,poi,a disposizione un archivio contenente i risultati dell'anno precedente,stampare le differenze degli iscritti,dei promossi e dei bocciati rispetto all'anno in corso.

Spero che potrete aiutarmi...Vi ringrazio anticipatamente ;-)
Ultima modifica effettuata da Mariano90 05/03/10 10:36
aaa
14/02/10 11:49
XBarboX
uhm... e speri che noi te lo facciamo? Hai proprio una bella faccia tosta. Questo forum serve se hai dei problemi su del codice, noi non sforniamo codice...
aaa
14/02/10 12:29
cassin.simone
Potresti postare il tuo codice indicando gli eventuali problemi?
aaa
14/02/10 17:16
Poggi Marco
Sicuramente hai già fatto qualcosa!

Spiegaci più in particolare le tue difficoltà, altrimenti noi non sapremo nai come aiutarti!
aaa
15/02/10 10:30
Mariano90
Allora innanzitutto vi ringrazio per la vostra disponibilità. Questo è un programma che ci è stato assegnato nell'ultimo compito in classe(era uno degli 8 quesiti).Io questo esercizio non l'ho svolto perchè nn sapevo proprio da dove partire(l'unica idea di partenza era un record di file poi nnt più;). Dato che ci tengo a fare bene in questa materia che oltretutto è la mia materia d'indirizzo,chiedevo un aiuto a voi programmatori o almeno più esperti di me sikuro x poter risolvere insieme questo problema. Grazie ;-)
aaa
15/02/10 12:44
Ciao.
Allora spero intanto di aver capito il problema. Comunque io ragionerei così:
Metterei tre array così formati:
var Ni,Np,Nb: integer; 
    Iscritti[1..Ni], Promossi[1..Np], Bocciati[1..Nb]: array of String

dove Np è Numero Promossi, Nb è Numero Bocciati e Ni è numero Iscritti con Ni = Np + Nb
Negli array puoi inserire i nomi dei promossi e dei bocciati mentre per il numero degli iscritti basterà unire i due array. Io penso a qualcosa come:
var k: integer;
For i:= 1 To Np Do
  Iscritti[i]:= Promossi[i];
k:= 1;
For i:= (1+Ni) to (Np+Ni) do
  Begin
    Iscritti[i]:= Bocciati[k]
    k:= k +1;
  end;


Per la percentuale di Promossi e Bocciati basta fare:
//PP: PercentualePromossi mentre PB: PercentualeBocciati
PP:= (Np/Ni) * 100;
PB:= (Nb/Ni) * 100;
Per inserire in un file:
var scrivi: TextFile;
Begin
  AssignFile(scrivi, 'tuofile.txt')
  Rewrite(scrivi)
  Writeln(scrivi, 'La percentuale dei promossi è: ' + IntToStr(Round(PP)) + '%');
  Writeln(scrivi, 'La percentuale dei bocciati è: ' + IntToStr(Round(PB)) + '%');
  CloseFile(scrivi);
End;
  


Per l'ultimo punto invece, tu parli di un registro... Ma che tipo di registro? E' un normale file txt? Come è stutturato?

Spero di essere stato utile
ciaociao
15/02/10 13:11
Mariano90
Allora da come ho capito io l'organizzazione dei dati deve essere attraverso dei file di record e non array è questo il punto. Per quanto riguarda il registro dell'anno precedente credo che sia un normale file testo che contiene tutti i dati dell'anno precedente(es.assenze,rapporti,numero alunni ecc...).
aaa
15/02/10 13:14
mmmh... Mi dispiace allora... Perchè sinceramente non ho mai lavorato con i tipi record.
Buon Lavoro comunque...