Newsgroup: it.comp.lang.pascal
Titolo: aiutino

Se c'è ancora qualcuno che scrive qui, avrei bisogno ancora di un
aiuto con pascal.
Devo stabilire l'ordine di esecuzione di alcune procedure in base al
valore integer di altrettante variabili.
Inoltre, se un valore integer è zero, la corrispondente procedura non
deve verificarsi.
Domanda: come faccio?

 Domanda: come faccio?
Non capisco bene cosa devi fare, ho due domande:
- Le procedure devono essere eseguite solo 1 volta o all'infinito?
- Le altre procedure aspettano che la procedura corrente finisca il suo 
lavoro o aspettano solo un delta_time?
-- 
Il Razziatore,
"Lo sviluppo di una nazione si misura anche dallo stato della sua rete 
ferroviaria". Camillo Benso Conte di Cavour
"Per tutto quanto non previsto nel presente regolamento il capostazione 
deve usare senno e ponderatezza." Regolamento d'esercizio FS
-----------------------------------------------
MSN   : 
IlRazz...@netscape.net
ICQ   : 67552596
Yhaoo : Razziatore82
-----------------------------------------------
Founder of MediaPlayer Project
http://razziatore.no-ip.com/mpp/

 Founder of MediaPlayer Projecthttp://
razziatore.no-ip.com/mpp/
Devo ripetere ogni procedura una sola volta e ogni procedura inizia
quando finisce l'altra.

 
Beh allora la cosa si semplifica parecchio. Ti basta un normale 
algoritmo di ordinamento e un array di puntatori a funzioni. Una volta 
che hai ordinato l'array in base al valore dell'integer ti basta un 
ciclo for e il gioco č fatto.
Se hai dubbi chiedi pure.
-- 
Il Razziatore,
"Lo sviluppo di una nazione si misura anche dallo stato della sua rete 
ferroviaria". Camillo Benso Conte di Cavour
"Per tutto quanto non previsto nel presente regolamento il capostazione 
deve usare senno e ponderatezza." Regolamento d'esercizio FS
-----------------------------------------------
MSN   : 
IlRazz...@netscape.net


Ehm... io pascal non lo conosco troppo bene (l'ho imparato a scuola e
x ora ho fatto solo la prima liceo).
Potresti per favore spiegarti meglio?

 Potresti per favore spiegarti meglio?
Beh per prima cosa devi riscriverti un l'algoritmo di ordinamento in 
modo che ti ordini un array che contenga dei record tipo questi
Type
     PProc = ^TPorc;
     TProc = Procedure;
     SchItem = Record
        Proc : PProc;
        Prio : Integer;
     End;
     TProcArray = Array[ 1..N ] of SchItem;
Var
   Sch : TProcArray;
devi riscrivere un qualsiasi ordinamento ( ad esempio il BubleSort ) in 
modo che invece di ordinare un array di integer, ordini un array di 
SchItem tenendo conto del valore del campo "Prio". Ci sono diversi 
algoritmi di ordinamento sono sicuro che in giro trovi l'implementazioni 
( aka Google ).
Una volta che hai l'array ordinato ti basta richiamare una ad una le 
procedure:
For I:= 1 to N do
   Sch[I]^;
Volendo si possono anche passare dei parametri, basta modificare il tipo 
TProc e la chiamata a funzione.


 TProc e la chiamata a funzione.
Scusa, ma non ho ancora capito... le mie conoscenze si limitano ai
cicli for, while e until, alle procedure e alle operazioni "if...
then" e "case of".
Non è una cosa urgente, se ti sei rotto, puoi non rispondere.

 Non è una cosa urgente, se ti sei rotto, puoi non rispondere.
Rotto? E perché mai... finalmente si vede un po' di vita qua dentro. 
Solo che le tue conoscenze sono un po' pochine. Prima di tutto devi 
cercare un algoritmo di ordinamento. Ne esistono a miglioni su libri e 
su internet.
Qui per esempio trovi la spiegazione del 
http://it.wikipedia.org/wiki/Bubble_sort
infondo alla pagina trovi anche un link per le implementazioni in vari 
linguaggi. Le tue conoscenze sono più che sufficienti a implmentare un 
programma che dato 10 numeri da tastiera prima li salva in un arrat ( 
gli array e record li hai fatti... vero? ) te li ordina. Una volta fatto 
questo sei a cavallo.
Ora devi solo cambiare il tipo di dato da intero a quello che ti ho 
scritto nell'altro messaggio e hai finito ( quasi ).
Comunque se mi spieghi dove ti intoppi e mi butti giu un po' di codice 
ti posso aiutare meglio.
PS: Come mai date le tue scarse conoscenze fai questo programma?
