GARANTIR DESCONTO

Fórum Divisao por 2 e 3 #207150

17/01/2004

0

olá pessoal, to com 1 duvida, quero fazer 1 programa simples onde eu digite 4 numeros, 1 em cada edit, e ai ele verifica se o numero digitado é divisivel por 2 e por 3, e só mostra na tela se for divisivel por ambos os numeros, só que nao sei como fazer pra verificar cada numero sem fazer varias variaveis, ou seja, pelo metodo q ia fazer, o programa acabaria tendo q usar 1 variavel pra cada calculo, ele pegaria o resto e ia ver se era 0 ou nao, ai iria fazer usando resto1, resto2, resto3, resto4, fazendo o calculo com cada edit entenderam? como posso fazer pra usar apenas 1 variavel pra fazer isso?

Desde já agradeço a ajuda.


Diegobarcelos

Diegobarcelos

Responder

Posts

17/01/2004

Tnaires

Olá
if ((StrToInt(Edit1.Text) mod 2 = 0) or
   (StrToInt(Edit1.Text) mod 3 = 0)) and
   ((StrToInt(Edit2.Text) mod 2 = 0) or
   (StrToInt(Edit2.Text) mod 3 = 0)) and
   ((StrToInt(Edit3.Text) mod 2 = 0) or
   (StrToInt(Edit3.Text) mod 3 = 0)) and
   ((StrToInt(Edit4.Text) mod 2 = 0) or
   (StrToInt(Edit4.Text) mod 3 = 0)) then
   ShowMessage(Edit1.Text + ´ ´ + Edit2.Text + ´ ´ + Edit3.Text + ´ ´ + Edit4.Text);

Deve haver maneira melhor, mas...


Responder

Gostei + 0

17/01/2004

Tnaires

Ops
A solução acima é para números divisíveis por 2 ou por 3.
Para números divisíveis por dois e por 3:
if ((StrToInt(Edit1.Text) mod 2 = 0) and 
   (StrToInt(Edit1.Text) mod 3 = 0)) and 
   ((StrToInt(Edit2.Text) mod 2 = 0) and 
   (StrToInt(Edit2.Text) mod 3 = 0)) and 
   ((StrToInt(Edit3.Text) mod 2 = 0) and 
   (StrToInt(Edit3.Text) mod 3 = 0)) and 
   ((StrToInt(Edit4.Text) mod 2 = 0) and 
   (StrToInt(Edit4.Text) mod 3 = 0)) then 
   ShowMessage(Edit1.Text + ´ ´ + Edit2.Text + ´ ´ + Edit3.Text + ´ ´ + Edit4.Text);

OK?


Responder

Gostei + 0

17/01/2004

Tnaires

Perdão amigo, acho q li errado seu enunciado.
Eu interpretei o seguinte: mostre na tela somente se todos os números forem divisíveis por 2 e por 3.
Mas acho q vc quer q mostre na tela aqueles números divisíveis por 2 e por 3 não é?
Me desculpe o excesso de mensagens, esta é a última:
function NumerosDivisiveisPor2EPor3: string;
begin
  Result := ´´;
  if (StrToInt(Edit1.Text) mod 2 = 0) and
     (StrToInt(Edit1.Text) mod 3 = 0) then
    Result := Result + Edit1.Text + ´ ´;
  if (StrToInt(Edit2.Text) mod 2 = 0) and
     (StrToInt(Edit2.Text) mod 3 = 0) then
    Result := Result + Edit2.Text + ´ ´;
  if (StrToInt(Edit3.Text) mod 2 = 0) and
     (StrToInt(Edit3.Text) mod 3 = 0) then
    Result := Result + Edit3.Text + ´ ´;
  if (StrToInt(Edit4.Text) mod 2 = 0) and
     (StrToInt(Edit4.Text) mod 3 = 0) then
    Result := Result + Edit4.Text + ´ ´;
  Result := Trim(Result);
end;

No OnClick do botão:
ShowMessage(NumerosDivisiveisPor2EPor3);

Mais uma vez, peço desculpas.


Responder

Gostei + 0

17/01/2004

Diegobarcelos

Olá, muito obrigado pela dica, nao precisa pedir desculpas, valeu mesmo pela ajuda, to estudando por 1 livro e o livro nao fala da parte do resto da divisao e tem 1 exercicio pra fazer isso, q foi o q citei no forum e vc respondeu, estou estudando delphi agora nas ferias antes do proximo semestre da faculdade onde terei delphi hehe, assim ja fico familiarizado com o delphi, gostei desse forum, tem uns foruns q sao umas coisas, pois os cara se acham o tal e ai tu faz uma pergunta o qual seria besta pra quem ja entende e mexe em delphi, ai xingam o cara ou respondem coisas que nao tem haver com a duvida, valeu mesmo a ajuda, obrigado.


Responder

Gostei + 0

17/01/2004

Marco Salles

Entendo que Um Número Quando For Divisível Por 2 E Por 3 , Somente Se
Este Número For Divisível Por [color=red:9c7a9ad308]SEIS[/color:9c7a9ad308]. Então Sugiro Que o Código Fique Mais Simplificado ..

function NumerosDivisiveisPor2EPor3: string;
begin
Result := ´´;
if (StrToInt(Edit1.Text) mod 6 = 0)
Result := Result + Edit1.Text + ´ ´;
if (StrToInt(Edit2.Text) mod 6 = 0)
Result := Result + Edit2.Text + ´ ´;
if (StrToInt(Edit3.Text) mod 6 = 0)
Result := Result + Edit3.Text + ´ ´;
if (StrToInt(Edit4.Text) mod 6 = 0) and
Result := Result + Edit4.Text + ´ ´;
Result := Trim(Result);
end;

No OnClick do botão:
Código:
ShowMessage(NumerosDivisiveisPor2EPor3);

Espero Ter Contribuido....


Responder

Gostei + 0

17/01/2004

Tnaires

Caro diego, não posso garantir q vc não vá encontrar pessoas assim no fórum, mas posso garantir q no q eu puder ajudar, ajudarei sem menosprezo. Afinal, perguntas q hj parecem bobas para alguém um dia pareceram complicadas.

Entendo que Um Número Quando For Divisível Por 2 E Por 3 , Somente Se Este Número For Divisível Por SEIS.


Impressionante como um detalhe matemático pode simplificar drasticamente o código... :wink:
Sucesso a todos nós


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar