Traduction
Fermé
cc
-
cc -
cc -
Bonjour,
aider moi a traduire ce programme pascal en language c
PROGRAM walid;
uses wincrt;
type pointeur=^ processus;
processus=record
nom:string;
priorite:integer;
dur_ex:integer;
date_arr:integer;
ta,tr:integer;
svt:pointer
end;
var
v:array[1..100]of string;
trouve:boolean;
f:text;
d,rep:string;
p,q,tete:pointeur;
compt,i,j,c,nb:integer;
(**************saisir********************************)
procedure saisir;
begin
tete:=nil;
i:=1;
writeln (' **********************"donner le nbre de processus" *********');
readln(nb);
for i:=1 to nb do
begin
writeln('***************************** "donner le nom du ',i,' processus" *******************');
new(p);
readln (p^.nom);
writeln('donner la priorité du processus');
readln (p^.priorite);
writeln('donner la d arrivéé du processus');
readln (p^.date_arr);
writeln('donner le temps d execution du processus');
readln (p^.dur_ex);
p^.svt:=tete;
tete:=p;
end;
writeln('=*************************** "otre saisie: oui / non :" ******************');
readln(rep);
if rep='oui' then
begin
repeat
writeln('***************************** "donner le nom du ',i,' processus" *******************');
readln (p^.nom);
writeln('donner la priorité du processus');
readln (p^.priorite);
writeln('donner la d arrivéé du processus');
readln (p^.date_arr);
writeln('donner le temps d execution du processus');
readln (p^.dur_ex);
p^.svt:=tete;
tete:=p;
writeln(' ************************"otre saisie: oui / non :" **************************' );
readln(rep);
until rep='non';
end;
end;
(*************************************procedure :tri de la liste*********************************)
procedure compter;
begin
p:=tete;
q:=p^.svt;
i:=1;
while q<>nil do
begin
i:=i+1;
compt:=i;
q:=q^.svt;
end;
end;
procedure tri;
begin
compter;
p:=tete;
q:=p^.svt;
j:=0;
trouve:=true;
for i:=1 to compt-1 do
begin
while (q<>nil) and (trouve=true) do
begin
if p^.priorite<q^.priorite then
begin
d:=p^.nom;
p^.nom:=q^.nom;
q^.nom:=d;
c:=p^.priorite;
p^.priorite:=q^.priorite;
q^.priorite:=c;
c:=p^.date_arr;
p^.date_arr:=q^.date_arr;
q^.date_arr:=c;
c:=p^.dur_ex;
p^.dur_ex:=q^.dur_ex;
q^.dur_ex:=c;
end
else if p^.priorite=q^.priorite then begin
if p^.date_arr>q^.date_arr then
begin
d:=p^.nom;
p^.nom:=q^.nom;
q^.nom:=d;
c:=p^.priorite;
p^.priorite:=q^.priorite;
q^.priorite:=c;
c:=p^.date_arr;
p^.date_arr:=q^.date_arr;
q^.date_arr:=c;
c:=p^.dur_ex;
p^.dur_ex:=q^.dur_ex;
q^.dur_ex:=c;
end;
end;
q:=q^.svt;
end;
begin
j:=j+1;
v[j]:=p^.nom;
p:=p^.svt;
q:=p^.svt;
if (q=nil) then begin
trouve:=false;
v[j+1]:=p^.nom;
end;
end;
end;
end;
(*******affichage du diagramme de gantt**********)
procedure gantt;
begin
writeln ('*** le diagramme de gantt ***');
for j:=1 to compt do
begin
write('| ',v[j],' |');
end;
writeln('|');
end;
(***********temp d attente**********)
procedure attente;
begin
p:=tete;
p^.ta:=0;
writeln('le temp d attente de ',p^.nom,' = ',p^.ta);
q:=p^.svt;
while (q<>nil) do
begin
q^.ta:=(p^.ta+p^.dur_ex);
writeln('le temp d attente de ',q^.nom,' = ',q^.ta);
p:=p^.svt;
q:=q^.svt;
end;
end;
(*************temps de restitution******)
procedure tps;
begin
p:=tete;
q:=p^.svt;
while (q<>nil) do
begin
p^.tr:=q^.ta;
writeln('le temps de restitution de ',p^.nom,' = ',p^.tr);
p:=p^.svt;
q:=q^.svt;
end;
p^.tr:=(p^.ta+p^.dur_ex);
writeln('le temps de restitution de ',p^.nom,'est ',p^.tr);
end;
(*********************principale*****************)
begin
saisir;
gantt;
attente;
tps;
end.
aider moi a traduire ce programme pascal en language c
PROGRAM walid;
uses wincrt;
type pointeur=^ processus;
processus=record
nom:string;
priorite:integer;
dur_ex:integer;
date_arr:integer;
ta,tr:integer;
svt:pointer
end;
var
v:array[1..100]of string;
trouve:boolean;
f:text;
d,rep:string;
p,q,tete:pointeur;
compt,i,j,c,nb:integer;
(**************saisir********************************)
procedure saisir;
begin
tete:=nil;
i:=1;
writeln (' **********************"donner le nbre de processus" *********');
readln(nb);
for i:=1 to nb do
begin
writeln('***************************** "donner le nom du ',i,' processus" *******************');
new(p);
readln (p^.nom);
writeln('donner la priorité du processus');
readln (p^.priorite);
writeln('donner la d arrivéé du processus');
readln (p^.date_arr);
writeln('donner le temps d execution du processus');
readln (p^.dur_ex);
p^.svt:=tete;
tete:=p;
end;
writeln('=*************************** "otre saisie: oui / non :" ******************');
readln(rep);
if rep='oui' then
begin
repeat
writeln('***************************** "donner le nom du ',i,' processus" *******************');
readln (p^.nom);
writeln('donner la priorité du processus');
readln (p^.priorite);
writeln('donner la d arrivéé du processus');
readln (p^.date_arr);
writeln('donner le temps d execution du processus');
readln (p^.dur_ex);
p^.svt:=tete;
tete:=p;
writeln(' ************************"otre saisie: oui / non :" **************************' );
readln(rep);
until rep='non';
end;
end;
(*************************************procedure :tri de la liste*********************************)
procedure compter;
begin
p:=tete;
q:=p^.svt;
i:=1;
while q<>nil do
begin
i:=i+1;
compt:=i;
q:=q^.svt;
end;
end;
procedure tri;
begin
compter;
p:=tete;
q:=p^.svt;
j:=0;
trouve:=true;
for i:=1 to compt-1 do
begin
while (q<>nil) and (trouve=true) do
begin
if p^.priorite<q^.priorite then
begin
d:=p^.nom;
p^.nom:=q^.nom;
q^.nom:=d;
c:=p^.priorite;
p^.priorite:=q^.priorite;
q^.priorite:=c;
c:=p^.date_arr;
p^.date_arr:=q^.date_arr;
q^.date_arr:=c;
c:=p^.dur_ex;
p^.dur_ex:=q^.dur_ex;
q^.dur_ex:=c;
end
else if p^.priorite=q^.priorite then begin
if p^.date_arr>q^.date_arr then
begin
d:=p^.nom;
p^.nom:=q^.nom;
q^.nom:=d;
c:=p^.priorite;
p^.priorite:=q^.priorite;
q^.priorite:=c;
c:=p^.date_arr;
p^.date_arr:=q^.date_arr;
q^.date_arr:=c;
c:=p^.dur_ex;
p^.dur_ex:=q^.dur_ex;
q^.dur_ex:=c;
end;
end;
q:=q^.svt;
end;
begin
j:=j+1;
v[j]:=p^.nom;
p:=p^.svt;
q:=p^.svt;
if (q=nil) then begin
trouve:=false;
v[j+1]:=p^.nom;
end;
end;
end;
end;
(*******affichage du diagramme de gantt**********)
procedure gantt;
begin
writeln ('*** le diagramme de gantt ***');
for j:=1 to compt do
begin
write('| ',v[j],' |');
end;
writeln('|');
end;
(***********temp d attente**********)
procedure attente;
begin
p:=tete;
p^.ta:=0;
writeln('le temp d attente de ',p^.nom,' = ',p^.ta);
q:=p^.svt;
while (q<>nil) do
begin
q^.ta:=(p^.ta+p^.dur_ex);
writeln('le temp d attente de ',q^.nom,' = ',q^.ta);
p:=p^.svt;
q:=q^.svt;
end;
end;
(*************temps de restitution******)
procedure tps;
begin
p:=tete;
q:=p^.svt;
while (q<>nil) do
begin
p^.tr:=q^.ta;
writeln('le temps de restitution de ',p^.nom,' = ',p^.tr);
p:=p^.svt;
q:=q^.svt;
end;
p^.tr:=(p^.ta+p^.dur_ex);
writeln('le temps de restitution de ',p^.nom,'est ',p^.tr);
end;
(*********************principale*****************)
begin
saisir;
gantt;
attente;
tps;
end.
A voir également:
- Traduction
- Google traduction photo - Guide
- Hibiki traduction telecharger - Accueil - Intelligence artificielle
- Bible hébreu traduction mot à mot pdf - Télécharger - Vie quotidienne
- Waldik traduction - Forum Réseaux sociaux
- Traduction site web - Guide
1 réponse
Bonjour,*
S'il vous plaît
Merci
Au revoir
etc.
Sont monnaie courante quand on veut obtenir quelque chose !
Saine lecture...
A voir aussi
;-)
* Ne pas en tenir compte si présent dans le message initial, mais bon vu qu'il est ajouté automatiquement, ça ne fait pas de mal.
S'il vous plaît
Merci
Au revoir
etc.
Sont monnaie courante quand on veut obtenir quelque chose !
Saine lecture...
A voir aussi
;-)
* Ne pas en tenir compte si présent dans le message initial, mais bon vu qu'il est ajouté automatiquement, ça ne fait pas de mal.
cc
la prochaine foi quand t bloqué fuat mieu se taire!!!!!!!!!!!