Olá amigos, estou precisando traduzir um código em pascal para C.
Já fiz aqui, mas gostaria de saber se está tudo certo..podem conferir??
Código em Pascal:
[code=rich]
program FilaCaixa;
uses Filas;
const Final = 100;
var crono,espera,totcli,client : integer;
caixa: array[1..3] of integer;
filcx: Fila;
function ClienteChegou : boolean;
begin
ClienteChegou := (random(3) = 0);
end;
function Transação : integer;
begin
case random(5) of
0: Transação := 10;
1: Transação := 20;
2: Transação := 30;
3: Transação := 40;
4: Transação := 50;
end;
end;
crono := 0;
espera:= 0;
totcli:= 0;
Qinit(filcx);
for i:=1 to 3 do
caixa[i] :=0;
while crono
begin
if ClienteChegou then
begin
Enqueue(filcx,crono);
inc(totcli);
end;
for i:=1 to 3 do
if (not QisEmpty(filcx)) and (caixa[i]=0) then
begin
client:= Dequeue(filcx);
inc(espera,(crono-client));
caixa[i]:= Transação;
end;
for i:=1 to 3 do
if caixa[i]<>0 then dec(caixa[i]);
inc(crono);
end;
writeln;
writeln(' Tempo de atendimento: ',Final);
writeln(' Total de clientes..:', totcli);
writeln(' Tempo tot. de espera:',espera);
writeln(' Tempo med. de espera:',(espera/totcli):0:2);
end.
[/code]
Código Traduzido para C:
[code=rich]
#include
#define final 100;
int main()
{
int crono,espera,totcli,client;
int caixa1,caixa2,caixa3;
fila f1;
int ClienteChegou()
{
if ((rand()%3)==0)
return 1;
else
return 0;
}
int Transacao(){
int Transacao;
switch(rand()%5)
{
case 0:Transacao=10;
case 1:Transacao=20;
case 2:Transacao=30;
case 3:Transacao=40;
case 4:Transacao=50;
}
return Transacao;
}
crono=0;
espera=0;
totcli=0;
iniciar_fila(f1);
for (i=1;i==3,i++)
caixa[i]=0;
while (crono
if (ClienteChegou()==1){
enfileirar(f1,crono);
totcli++;}
for(i=1;i==3;i++)
if ((vazia(f1)==0) && (caixa[i]==0))
{
client=desenfileirar(f1);
espera=(espera+(crono-client))
caixa[i]=Transacao();
}
for(i=0,i==3,i++)
{
if (caixa!=0)
caixa[i]--;
crono++;
}
printf(“Tempo de Atendimento: “,Final);
printf(“Total de Clientes:”,totcli);
printf(“Tempo total de Espera”,espera);
printf(“Tempo Medio de Espera”,(espera/totcli)
}
[/code]
jigga
Membro Senior
Registrado
348 Mensagens
0 Curtidas