Ir ao conteúdo
  • Cadastre-se
JoaoVictorAbreu

Pascal Gerar tabuada utilizando while

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×