Ir ao conteúdo

Posts recomendados

Postado

eu acabei faltando na introduçao do assunto e o professor passou uns exercicios (como trabalho) ai nao posso perguntar a ele, eu ate consegui fazer duas mas o resto eu nao consigo, se alguem de bom coração ajudar eu agradeço e digo: "Deus te abençoe."

Lista proscara ajuda a familia.png

  • Curtir 1
  • Membro VIP
Postado
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
Postado

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
  • Membro VIP
Postado

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
Postado

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!!!

  • Membro VIP
Postado

 

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.

 

 

  • Membro VIP
Postado

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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!