Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Isabelle_Andrade

[Resolvido] Dificuldade em Pascal

Recommended Posts

Bom dia!

Estou fazendo um trabalho na faculdade, mas estou meio perdida. Na hora de compilar da erro. O código ainda não está pronto.

 

 

Program matrizes;
	uses crt;
	const
		n = 2; {tamanho da matriz}
	type
		vet_matA = array[1..n,1..n] of real;	
		vet_matB = array[1..n,1..n] of real;	
	var 
	i,j:integer; {variaveis de controle}
	matA: vet_matA; {variavel da matriz A}
	matB: vet_matB; {variavel da matriz B}
	opcao: char;  {variavel que recebera a opcao que o usuario digitou no menu}
	som,sub,traspA,transpB,procura: real;  {variaveis para operacoes do menu}
	verificaSimet: string; {variavel para verificar se sa matrizes sao simetricas}
	
	Begin
		clrScr;
		som:= 0;
		sub:= 0;
		
	{===================funcoes e procedimentos===================}
		
		{Procedimentos de preenchimento e leitura da matrizes::::::::::::::::::::::::::::::::::::}
		procedure lerMatA; {---------------------------> aqui esta o erro, o que esta faltando?}
			begin
			{Aqui o usuario preenche a matriz A::::::::::::::::::::::::::::::::::::::::::::::::::}
			for i:=1 to n do
				for j:=1 to n do
					begin
						writeln('Digite os valores da matriz A, linha ',i,' coluna ',j,':');
						readln(matA[i,j]);
					end;
			
			end;
		
		procedure lerMatB;
			begin
			{Aqui o usuario preenche a matriz B::::::::::::::::::::::::::::::::::::::::::::::::::}
			for i:=1 to n do
				for j:=1 to n do
					begin
						writeln('Digite os valores da matriz B, linha ',i,' coluna ',j,':');
						readln(matB[i,j]);
					end;
			{Fim do preenchimento da matriz B::::::::::::::::::::::::::::::::::::::::::::::::::::}
			end;
			
		
		{Funcao que monta o menu na tela:::::::::::::::::::::::::::::::::::::::::::::::::::::}
		function menu (matA,matB:var);
			begin
				writeln('Menu de opcoes:');
				writeln('');				
				writeln('A: soma as matrizes (A+B)');
				writeln('S: subtrai as matrizes (A-B)');
				writeln('T: escreve a transposta de A');
				writeln('R: escreve a transposta de B');
				writeln('M: mostra as matrizes A e B');
				writeln('V: verifica se A e B são simetricas');
				writeln('P: procura um elemento em A e B');
				writeln('F: finaliza o programa.');
				readln(opcao); {recebe a opcao que o usuário digitou}
				menu:= opcao;
			end;
				
		
		{Funcao soma::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
		function soma(var matA,matB:real);
			begin
				for i:=1 to n do
					begin
						for j:=1 to n do
							begin
								som:= matA[i] + matB[i];
								writeln(som' ');
							end;
						writeln('');
					end
				menu;
			end;
			
			begin
				readln(matA,matB);
				som(matA,matB);			
			end;
			
		
		{Funcao subtracao::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
		function subtracao();
			begin
				for i:=1 to n do
					begin
						for j:=1 to n do
							begin
								sub:= matA[i] + matB[i];
								writeln(sub' ');
							end;
						writeln('');
					end
				menu;
			end;
			
			begin
				readln(matA,matB);
				sub'(matA,matB);			
			end;
		
{====================Codigo Principal====================}
	
		writeln('.::::::::Trabalhando com matrizes::::::::.');
		begin
			lerMatA(matA);
			lerMatB(matB);
		end;
		
		{Executa a operacao que o usuario escolheu:::::::::::::::::::::::::::::::::::::::::::}
		While opcao <> F then
			begin
			if (opcao = A) or (opcao = a) do 
				som(matA,matB);				
			else if (opcao = S) or (opcao = s) do
				sub(matA,matB);
			else if (opcao = T) or (opcao = t) do
				transpA;
			else if (opcao = R) or (opcao = r) do
				transpB;
			else if (opcao = M) or (opcao = m) do
				begin
					mostraMatA;
					mostraMatB;
				end;
			else if (opcao = V) or (opcao = v) do
				verificaSimet;
			else if (opcao = P) or (opcao = p) do
				procura;
			else
				begin
					writeln('Você digitou uma opção inválida. Tente novamente!');
					menu;
				end;
			end; {fim do while}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não qria ser chato, + ...

ql o erro q ele apresenta?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nessa parte:

Begin
		clrScr;
		som:= 0;
		sub:= 0;
teria q ter um end no final??

e outra pascal é case-sensitive??

se for escreva clrscr;

 

-- ou então cria tds as funções fora da principal, e depois faça a chamada delas lah dentro.

é q n mecho com pascal, por isso a ajuda será um pouco dificil, + vamos lah

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um end no final, é que não postei ai em cima.

vou tentar o clrscr;

 

o lance de crias as funções fora da principal...., eu n entendi....

 

 

testei o clrscr; , mas continua dando erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.