Ir para conteúdo

POWERED BY:

Arquivado

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

well2905

[Resolvido] Lógica do exercicio

Recommended Posts

Bom pessoal, não entendi muito bem como fazer esse exercicio:

 

Escrever um algoritmo que lê cinco pares de valores A, B, todos inteiros e

positivos, um par de cada vez e A < B. Escrever os inteiros pares de A até B,

incluindo o A e o B se forem pares

 

Eu preciso fazer um PARA de 1 ate 5, e escrever 5 valores em pares, mas como A < B? e escrever os valores de A até B?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele quer que o programa leia cinco pares de numeros inteiros, positivos e pares. Exemplo:

(2,4),(6,8),(10,12),(14,16),(18,20), onde A,B > 0 e A,B MOD 2 = 0 e A < B

O que ele quer que você faça é, escrevar o intervalo que fica entre A e B.

Para isto, você vai ter que usar a estrutura de repetição para, empregando essas pares dentro de uma array. Exemplo:

vars tipo A = vetor[1:5]inteiros;
	 tipo B = vetor[1:5]inteiros;
	 tipo A_1 : vetor[1:B[1]-A[1]]Inteiros;
	 tipo A_2 : vetor[1:B[2]-A[2]]Inteiros;
	 tipo A_3 : vetor[1:B[3]-A[3]]Inteiros;
	 tipo A_4 : vetor[1:B[4]-A[4]]Inteiros;
	 tipo A_5 : vetor[A:B[5]-A[5]]Inteiros;
	 Inteiros : Loop;
Inicio
 Imprimir('Digite aqui os cincos valores de A');
 Imprimir('Digite aqui os cinco valores de B');
 ler(A,B,A_1,A_2,A_3,A_4,A_5,Loop);
 Loop <- 1;
 Para x de A[1] em B[1]
  Se A[1] MOD 2 = 0 e B[1] MOD 2 = 0
	então A_1[Loop] <- x;
  Senão se A[1] MOD 2 = 1 e B[1] MOD 2 = 1
	  Se Loop = 1
		 A_1[Loop] <- x + 1;
	  Senão
	  A_1[Loop] <- x;
	  Fim_se
	  Se Loop = B[1] - 1
	 então Abandonar;
	  Fim_se
  Senão se A[1] MOD 2 = 0 e B[1] MOD 2 = 1
	A_1[Loop] <- x;
	Se Loop = B[1] - 1
	 Abandonar;
	Fim_se
  Senão se A[1] MOD 2 = 1 e B[1] MOD 2 = 0
	Se Loop = 1
	   A_1[Loop] <- x + 1;
	Senão
	  A_1[Loop] <- x;
	Fim_Se
  Fim_Se
  Loop <- Loop + 1;
 Fim_para
 {------------------------------------------}
 Loop <- 1 
 Para x de A[2] em B[2]
  Se A[2] MOD 2 = 0 e B[2] MOD 2 = 0
	então A_2[Loop] <- x;
  Senão se A[2] MOD 2 = 1 e B[2] MOD 2 = 1
	  Se Loop = 1
		 A_2[Loop] <- x + 1;
	  Senão
	  A_2[Loop] <- x;
	  Fim_se
	  Se Loop = B[2] - 1
	 então Abandonar;
	  Fim_se
  Senão se A[2] MOD 2 = 0 e B[2] MOD 2 = 1
	A_2[Loop] <- x;
	Se Loop = B[2] - 1
	 Abandonar;
	Fim_se
  Senão se A[2] MOD 2 = 1 e B[2] MOD 2 = 0
	Se Loop = 1
	   A_2[Loop] <- x + 1;
	Senão
	  A_2[Loop] <- x;
	Fim_Se
  Fim_Se
  Loop <- Loop + 1;
 Fim_para
 {------------------------------------------}
 Loop <- 1 
 Para x de A[3] em B[3]
  Se A[3] MOD 2 = 0 e B[3] MOD 2 = 0
	então A_3[Loop] <- x;
  Senão se A[3] MOD 2 = 1 e B[3] MOD 2 = 1
	  Se Loop = 1
		 A_3[Loop] <- x + 1;
	  Senão
	  A_3[Loop] <- x;
	  Fim_se
	  Se Loop = B[3] - 1
	 então Abandonar;
	  Fim_se
  Senão se A[3] MOD 2 = 0 e B[3] MOD 2 = 1
	A_3[Loop] <- x;
	Se Loop = B[3] - 1
	 Abandonar;
	Fim_se
  Senão se A[3] MOD 2 = 1 e B[3] MOD 2 = 0
	Se Loop = 1
	   A_3[Loop] <- x + 1;
	Senão
	  A_3[Loop] <- x;
	Fim_Se
  Fim_Se
  Loop <- Loop + 1;
 Fim_para
 {------------------------------------------}
 Loop <- 1 
 Para x de A[4] em B[4]
  Se A[4] MOD 2 = 0 e B[4] MOD 2 = 0
	então A_4[Loop] <- x;
  Senão se A[4] MOD 2 = 1 e B[4] MOD 2 = 1
	  Se Loop = 1
		 A_4[Loop] <- x + 1;
	  Senão
	  A_4[Loop] <- x;
	  Fim_se
	  Se Loop = B[4] - 1
	 então Abandonar;
	  Fim_se
  Senão se A[4] MOD 2 = 0 e B[4] MOD 2 = 1
	A_4[Loop] <- x;
	Se Loop = B[4] - 1
	 Abandonar;
	Fim_se
  Senão se A[4] MOD 2 = 1 e B[4] MOD 2 = 0
	Se Loop = 1
	   A_4[Loop] <- x + 1;
	Senão
	  A_4[Loop] <- x;
	Fim_Se
  Fim_Se
  Loop <- Loop + 1;
 Fim_para
 {------------------------------------------}
 Loop <- 1 
 Para x de A[5] em B[5]
  Se A[5] MOD 2 = 0 e B[5] MOD 2 = 0
	então A_5[Loop] <- x;
  Senão se A[5] MOD 2 = 1 e B[5] MOD 2 = 1
	  Se Loop = 1
		 A_5[Loop] <- x + 1;
	  Senão
	  A_5[Loop] <- x;
	  Fim_se
	  Se Loop = B[5] - 1
	 então Abandonar;
	  Fim_se
  Senão se A[5] MOD 2 = 0 e B[5] MOD 2 = 1
	A_5[Loop] <- x;
	Se Loop = B[4] - 1
	 Abandonar;
	Fim_se
  Senão se A[5] MOD 2 = 1 e B[5] MOD 2 = 0
	Se Loop = 1
	   A_5[Loop] <- x + 1;
	Senão
	  A_5[Loop] <- x;
	Fim_Se
  Fim_Se
  Loop <- Loop + 1;
 Fim_para
 escrever(A_1);
 escrever(A_2);
 escrever(A_3);
 escrever(A_4);
 escrever(A_5);
Fim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Abner Matheus, desse jeito não funcionou...

Pessoal um amigo me ajudou, mas em Pascal, poderiam me ajudar a passar pro Portugol?

 

var
i, j :integer;
A, B :array [1..5] of integer;

Begin
for i:= 1 to 5 do
begin
writeln ('DIGITE O ', i,' PAR DE VALORES:');
write ('valor A: ');
readln (A[i]);
write ('valor B: ');
readln (B[i]);
writeln;
writeln (i, ' PAR DE VALORES');
writeln;
writeln ('OS NUMEROS PARES SAO: ');
for j:= (A[i]) to (B[i]) do
begin
if j mod 2 = 0 then
write (j, ' ');
end;
writeln;
writeln;
end;
End

Compartilhar este post


Link para o post
Compartilhar em outros sites

@well2905:

Ah sim, sim... Tem alguns errinhos, foi a correria para ir ao colégio, já concertei ;)

Bugs Corrigidos:

- Ausência do Fim no Final;

- Usar o Indexador 0, onde o correto seria usar o index 1;

- Definir um tamanho para a Array A_1 não correspente as necessidades;

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.