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/
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
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.
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.
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?