Ir para conteúdo
Fórum Script Brasil
  • 0

Resto de divisao PONTO FLUTUANTE


jhonantan_soad

Pergunta

Em um programa eu preciso saber se un numero é positivo e inteiro.

Intao o unico geito q eu conheço para saber se um numero é ou não inteiro é dividir o numero por 1, e se o resto for maior que zero intao o numero não é inteiro, mas como que eu obtenho esse resto sem o "mod" ,porque o "mod" é somente para numeros inteiros. Intão se alguém puder me ajudar agradeço.

Obrigado

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Em um programa eu preciso saber se un numero é positivo e inteiro.

Intao o unico geito q eu conheço para saber se um numero é ou não inteiro é dividir o numero por 1, e se o resto for maior que zero intao o numero não é inteiro, mas como que eu obtenho esse resto sem o "mod" ,porque o "mod" é somente para numeros inteiros. Intão se alguém puder me ajudar agradeço.

Obrigado

Pelo visto está perecendo um execício que o professor pediu.... rs

Os números inteiros são constituídos dos números naturais {0, 1, 2, ...} e dos seus

opostos {0, -1, -2, ...}. Dois números são opostos se, e somente se, sua soma é zero.

Por vezes, no ensino pré-universitário, chamam-se a estes números inteiros relativos.

Um número natural é um número inteiro não-negativo (0, 1, 2, 3, ...).

Em alguns contextos, número natural é definido como um número inteiro positivo,

i.e., o zero não é considerado como um número natural.

INTEIRO: qualquer número inteiro, negativo, nulo ou positivo

Ex.: -15, 0, 101

REAL: qualquer número real, negativo, nulo ou positivo

Ex.: -1, -0.5, 0, 5, 9.5

O operador MOD retorna o Resto de uma divisão com numeros inteiros

EX: 7 mod 2 = 1

O operador DIV retorna o Resto de uma divisão com numeros inteiros

EX: 7 div 2 = 3

O operador / retorna o Resto de uma divisão com numeros inteiros e reais

EX: 7 / 2.5 = 2.8

Em um programa eu preciso saber se un numero é positivo e inteiro.

Então o programa ficaria assim:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var i,n : real;
begin
   if not (key in ['0'..'9',',','-',#8,#13]) then
      key := #0;

   if key = #13 then
      begin
         i := strtofloat(Edit1.Text);

         if i = 0 then
            begin
               showmessage(' O numero ' + floattostr(i) + ' é um numero inteiro nulo.');
               exit;
            end
         else
            n := i / int(i);

         //showmessage(floattostr(n));

         if (n > 1) and (i > 0) then
            showmessage(' O numero ' + floattostr(i) + ' não é um numero inteiro positivo.');

         if (n = 1) and (i > 0) then
            showmessage(' O numero ' + floattostr(i) + ' é um numero inteiro positivo.');

         if (n > 1) and (i < 0) then
            showmessage(' O numero ' + floattostr(i) + ' não é um numero inteiro negativo.');

         if (n = 1) and (i < 0) then
            showmessage(' O numero ' + floattostr(i) + ' é um numero inteiro negativo.');
      end;
end;

OBS: Voce precisa estudar mais sobre o delphi

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, olha eu sei q preciso aprender muita coisa sobre o delphi ainda, estou começando aprender delphi agora no meu curso e por isso tem algumas coisas q você usou na estrutura do codigo que eu não conheço ainda sera que dava pra você me explicar direito. Tipo "key" , "#" na frente de um numero.

Obrigado pela paciencia.

Link para o comentário
Compartilhar em outros sites

  • 0
estou começando aprender delphi agora no meu curso e por isso tem algumas coisas q você usou na estrutura do codigo que eu não conheço ainda sera que dava pra você me explicar direito. Tipo "key" , "#" na frente de um numero.

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var i,n : real;
begin
   if not (key in ['0'..'9',',','-',#8,#13]) then
      key := #0;

   if key = #13 then
o evento de OnKeyPress registra o caracter ASCII da tecla apertada, onde Key é uma variavel do tipo Char ( caracter ) EX: quando voce tecla o caracter "A" do teclado, a variavel Key receberá o caracter ASCII correpondente a ele A = #65 ou chr(65) Um controle de string ( # ) é uma sucessão de um ou mais caráter de controle em cada qual consistem o ( # ) símbolo seguido por uma constante sem sinal de 0 a 255 (decimal ou hexadecimal) e denota o caráter ASCII correspondente. Exemplo: #89#79#85 é equivalente a string ' You' seguindo este raciocínio temos então: #8 correponde a tecla "TAB" #13 correponde a tecla "Enter" #89 correponde a tecla "Y" #79 correponde a tecla "o" #85 correponde a recla "u" e por ai vai .... Descobrir o código ASCII de uma tecla: - Coloque um Label no form (Label1); - Mude a propriedade KeyPreview do form para true; - Altere o evento OnKeyDown do form como abaixo:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Label1.Caption :=  Format('O código da tecla pressionada é: %d', [Key]);
end;

Observações

Para testar execute e observe o Label enquanto pressiona as teclas desejadas.

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...