Ir ao conteúdo

Posts recomendados

Postado

Utilizando o recurso while, desenvolva um programa que receberá um número qualquer e apresentará a tabuada (multiplicação) do número recebido (OBS: estava aparecendo  false no resultado)

Program Pzim ;
var v,n,total  :integer;
Be
    v:= 1;
    while v < 10 do
    begin
        writeln('Digite um número:    ');
        read (n);
        v:= v+1;
        writeln (n*1= total);
          writeln (n*2= total);
              writeln (n*3= total);
                  writeln (n*4= total);
                      writeln (n*5= total);
                          writeln (n*6= total);
                              writeln (n*7= total);
                                  writeln (n*8= total);
                                      writeln (n*9= total);
                            writeln (n*10= total);
                            
  end;
End.

 

Obrigado pela ajuda.

  • Amei 1
Postado

@JoaoVictorAbreu    ficou faltando o restante da palavra begin ali no início , e para imprimir o resultado só precisa de uma linha e multiplicando o número digitado pela variável que vai sendo incrementada ,  então seu código com algumas modificações ficaria assim  :

Program tabuada ;
var v,n : integer;
begin
  v := 1;
  writeln('Digite um número:    ');
  read (n);
  clrscr;
  writeln('Tabuada De ',n);
  while v < 11 do
  begin
    if v < 10 then 
      writeln(n,' * ',v,'  = ',n*v)
    else
      writeln(n,' * ',v,' = ',n*v);
    v := v+1;        
  end;
End. 

 

  • Curtir 1
  • Membro VIP
Postado

Olá.

 

1#

@JoaoVictorAbreu, sempre mantenha seu código indentado. Segue um exemplo:

Program Pzim ;
var
  v,n,total  :integer;

begin
v:=1;
while v < 10 do
  begin
  writeln('Digite um número:    ');
  //read (n); EVITE USAR READ(), USE APENAS READLN()
  readln(n);
  v:=v+1;
  writeln(n*1= total);
  writeln(n*2= total);
  writeln(n*3= total);
  writeln(n*4= total);
  writeln(n*5= total);
  writeln(n*6= total);
  writeln(n*7= total);
  writeln(n*8= total);
  writeln(n*9= total);
  writeln(n*10= total);
  end;
end.

 

 

 

2#

Sobre:

Em 01/07/2018 às 15:52, JoaoVictorAbreu disse:

(OBS: estava aparecendo  false no resultado)

 

Estava não, está! Isso está acontecendo porque , por exemplo:

 (n*6= total)

é uma "expressão lógica", ou seja, está verificado "se essa expressão resulta em VERDADEIRO, se sim, retorna true ou se a expressão resultar em FALSO, retorna false". Como assim?

 

Veja, vamos supor que n=1 e total=0. Logo temos: "1*1=0". Isso é verdadeiro ou falto? é falso, pois 1 não é igual a 0, logo retorna false. Como está dentro do writeln(), vai imprimir essa resposta.

 

Essa expressão funciona da mesma forma nos if, ex.:

if  (n*6= total) then
  begin

  end;

O if funciona desta forma: se a expressão resultar em true, o programa entra e executa o que está dentro no begin/end, caso contrário, pula para próxima instrução.

 

 

 

3#

Se quer imprimir a multiplicação, poderia fazer algo assim:

  writeln(n*1);
  writeln(n*2);
  writeln(n*3);
  writeln(n*4);
  writeln(n*5);
  writeln(n*6);
  writeln(n*7);
  writeln(n*8);
  writeln(n*9);
  writeln(n*10);

 

 

***

 

No aguardo.

 

 

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!