Jump to content


Photo

Erro De Procedure Não Compila O Pacal


  • Faça o login para participar
1 reply to this topic

#1 xulambs

xulambs

    12 Horas

  • Usuários
  • 162 posts
  • Sexo:Masculino

Posted 13/11/2009, 12:21

Bom gente, boa tarde.

Estou com um problema de de processamento no pascal que funciona o seguinte:

1. Escolhemos a ordem dos processos.
2. Escolhemos a ordem das prioridades.
3. Escolhemos a ordem de tempo.

Só que mando compilar e dá erro sintático na linha 28.

Gostaria de ajuda para resolver esse probleminha. Se alguem puder me ajudar...

Agradeço desde já...

O código em pascal é esse:
//Trabalho em pascal

program Sistema_Operacional;
VAR

Processo: ARRAY [1..4] OF CHAR;
Prioridade: ARRAY [1..4] OF CHAR;
TempoExecucao: ARRAY [1..4] OF CHAR;

i: integer;
j: integer;
aux: integer;
timer: integer;

PROCEDURE ProcessoFila;

	 BEGIN

	 for i:=1 TO 4 DO

	 BEGIN
	 
	 writeln ('Ordem de Execucao dos Processos:');
	 writeln (Processo[i]);
	 END;

PROCEDURE ProcessoPrioridade;

	 BEGIN

	 aux:=4;
	 
	 for i:=1 TO 4 DO
	 
	BEGIN	
			
	 for j:=1 TO 4 DO
	 
	 BEGIN
	 
	 if (Prioridade[j]==aux) then
	 
	BEGIN
	
	 writeln ('Ordem dos Processos por Prioridade:');
	 writeln (Processo[j]);
	 
	 END;
	 END;
	 
	 aux:-=1;
	 
	 END;
	 END;


PROCEDURE ProcessoTempo;

	BEGIN
	 
	for i:=1 TO 4 DO
	 
	BEGIN
	
	for j:=1 TO 4 DO
	
	BEGIN
	
	if (TempoExecucao[j]==aux) then
	
	BEGIN
	
	writeln ('Ordem dos Processos por Prioridade:');
	writeln (Processo[j]);
	END;
	END;
	timer:+=1;
	END;
	END;
	
	 BEGIN
	 {Iniciando a digitacao}

	 for i:= 1 TO 4 DO

	 BEGIN
	 
	 writeln ('Escolha um dos seguintes processos:A,B,C ou D:');
	 Processo[i]:=READKEY;
	 writeln ('Digite a prioridade do processo escolhido:1,2,3 ou 4:');
	 Prioridade[i]:=READKEY;
	 writeln('Digite o tempo restante para termino do processo:');
	 TempoExecucao[i]:=READKEY;

	 END;
	 
	ProcessoFila;
	 
	 ProcessoPrioridade;
	 
	 ProcessoTempo;

	 READKEY;
	 END.

Nesse funciona no c++, então estou deixando para que vcs possam saber como vai funcionar em pascal.

Acho que pode ajudar...

#include <cstdlib>
#include <iostream>

int Prioridade[4], TempoExecucao[4], i=0, j=0, aux=0, aux2=0, timer=1;
char Processo[4]; 

using namespace std;

void ProcessoFila()
{
	 for (i=0; i<4; i++)
{
	 cout<<"Ordem de Execucao dos Processos:" << Processo[i] << endl;
}
}
void ProcessoPrioridade()
{
   aux=4;
   for (i=0; i<4; i++)
{
for (j=0; j<4; j++)
{
	if (Prioridade[j]==aux)
{
 cout<<"Ordem dos Processos por Prioridade:" << Processo[j] << endl;
}
}
aux-=1;

}
}
void ProcessoTempo()
{
	 for (i=0; i<4; i++)
{
for (j=0; j<4; j++)
{
	if (TempoExecucao[j]==timer)
{
 cout<<"Ordem dos Processos por menor tempo restante:" << Processo[j] << endl;
}
}
timer+=1;

}
}






int main(int argc, char *argv[])
{
for (i=0; i<4; i++)
{
	cout<<"Escolha um dos seguintes processos:A,B,C ou D"<<endl;
	cin>>Processo[i];
	cout<<"Digite a prioridade do processo escolhido:1,2,3 ou 4"<<endl;
	cin>>Prioridade[i];
	cout<<"Digite o tempo restante para termino do processo"<<endl;
	cin>>TempoExecucao[i];
}	


	ProcessoFila();
	ProcessoPrioridade();
	ProcessoTempo();


	system("PAUSE");
	return EXIT_SUCCESS;
}


Fico no aguardo, e muito obrigado...

Edição feita por: xulambs, 13/11/2009, 12:22.


#2 Humberto - S.O.S.

Humberto - S.O.S.

    ...

  • Banidos
  • PipPipPipPipPip
  • 463 posts
  • Sexo:Masculino
  • Localidade:São Bernardo do Campo - SP

Posted 13/11/2009, 15:24

TROQUE : if (Prioridade[j]==aux) then
POR : if (Prioridade[j]=aux) then

TROQUE : if (TempoExecucao[j]==timer)
POR : if (TempoExecucao[j]=timer)
...




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq