Divisao por 2 e 3
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.
Desde já agradeço a ajuda.
Diegobarcelos
Curtidas 0
Respostas
Tnaires
17/01/2004
Olá
Deve haver maneira melhor, mas...
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...
GOSTEI 0
Tnaires
17/01/2004
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:
OK?
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?
GOSTEI 0
Tnaires
17/01/2004
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:
No OnClick do botão:
Mais uma vez, peço desculpas.
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.
GOSTEI 0
Diegobarcelos
17/01/2004
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.
GOSTEI 0
Marco Salles
17/01/2004
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....
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....
GOSTEI 0
Tnaires
17/01/2004
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.
Impressionante como um detalhe matemático pode simplificar drasticamente o código... :wink:
Sucesso a todos nós
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
GOSTEI 0