Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi questões Matriz e Vetor em Pascal


Posts recomendados

  • Membro VIP
3 horas atrás, JeanCarloOs disse:

por aqui que respondo?

eu estou pelo celular, mas quando eu chegar da escola la pelas 16:30 eu mando os dados do programa aqui OK?

 

adicionado 1 minuto depois

@JeanCarloOs ah eu esqueci de citar que é linguagem pascal NO PascalZim

 

OK. Poste o que já conseguiu fazer e onde está com dúvidas.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

image.png.f1c125e33631f9d353f0eed9c73adcfc.png

Duvida: separra os números PARES e torná-los 0 

 

Program Exercicio_3 ;
Var
i,p:integer;
X:Array[1..10]Of Integer;
Begin
  For i:=1 to 10 do
      Begin
        Writeln('Digite Valor: ',i,': ');
        Readln(x);
      End;
  For i:=1 to 10 do
      Begin      
    If(X Mod 2 = 0)Then
    Begin
      X:=0;
       Writeln(X);
    End;
    End;
 
End.

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

Siga o enunciado. É ele que define as características do programa. Repare que são 3 etapas separadas:

 

1. Ler os 10 valores;

2. Substituir os pares por 0;

3. Escreve o vetor X.

 

Segue um esboço:

program Exercicio_3 ;
{
Escrever um algoritmo/programa em Pascal que lê dez valores de um vetor X[10].
Substitua, a seguir, todos os valores pares de X por 0 e escreva o vetor X.
}
var
  i :integer;
  X :array[1..10] of integer;

begin
for i:=1 to 10 do
  begin
  {writeln('Digite Valor: ',i,': ');}
  write  ('Digite o valor ',i:2,': ');
  readln(x[i]);
  end;

for i:=1 to 10 do
  if (X[i] mod 2 = 0) then //se dividir por 2 e tem resto 0, então é par
    X[i]:=0;

writeln;
write  ('Vetor X: ');
for i:=1 to 10 do
  write  (X[i],' ');
end.

obs.: observe que não precisa de begin/end nos segundo e terceiro for, assim como não precisa no if do segundo for... pois eles só tem uma instrução dentro.

 

 

Qualquer dúvida é só perguntar.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

 

12 minutos atrás, JeanCarloOs disse:

Ah sim, foi meu modo de compreender que foi mal, entao na questao do Begin/End se tiver:


for i:=1 to 10 do
  write (X,' ');
  X:=0;
end.

ai precisa do Begin/End?

e novamente muito Obrigado!!!

 

Sim, pois tem duas instruções independentes no for. Daí, sem o begin/end, o x:=0 estaria fora do laço. A indentação, deveria ficar assim:

for i:=1 to 10 do
  write (X,' ');
X:=0;
end.

 

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Já:

3 horas atrás, Simon Viegas disse:

for i:=1 to 10 do
  if (X[i] mod 2 = 0) then //se dividir por 2 e tem resto 0, então é par
    X[i]:=0;

 

Não precisa, pois só tem uma instrução (um if). E if também não precisa, pois também só tem uma instrução.

 

Perceba a importância da indentação... o que está mais a direita está "dentro" do que está na esquerda...

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...