1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Funçoes Predefenidas Pascal

Discussão em 'Programação' iniciada por c0d3r, 15 de Março de 2008. (Respostas: 8; Visualizações: 2764)

  1. c0d3r

    c0d3r Power Member

    Boas

    Gostaria de saber se existe alguma funçao para retornar o valor de uma letra A ->1, B ->2, Z ->26

    Exemplo
    Input:
    C

    Output:
    3

    Cumps
     
    Última edição: 15 de Março de 2008
  2. tonebiclas

    tonebiclas Power Member

    isso não vai lá com um case??
     
  3. c0d3r

    c0d3r Power Member

    Com um case tinha de por as letras todas...
     
  4. Baderous

    Baderous Banido

    [/FONT]
     
  5. c0d3r

    c0d3r Power Member

    Essa funçao retorna o valor de um caracter da tabela Ascci, nao era bem isso que eu pretendia...
    Obrigado namesma ;)
     
  6. Baderous

    Baderous Banido

    Mas acho que se fizeres:
    Código:
    type Alfabeto = (A,B,C,...,Z)
    e depois fizeres:
    Código:
    begin Writeln ('A letra A tem o valor', Ord(A)+1);
    vai dar o que queres.
     
  7. c0d3r

    c0d3r Power Member

    Desconhecia o type
    Eu fiz da seguinte maneira:


    Function Art(letra: char): integer;
    Var i: char;
    x, letraX: integer;
    label fora;

    Begin
    x:= 0;
    For i:= 'A' to 'Z' do
    Begin
    x:= x + 1;
    If (i = letra) then
    Goto fora;
    End;
    fora:
    l etrax:= x;

    End;


    E funcionou corretamente
    Cumps
     
    Última edição: 15 de Março de 2008
  8. balute

    balute Power Member

    Isto dá?
    Código:
    Ord[letra] - 64
    O código ASCII do caracter 'A' é 65. 65-64=1, e assim sucessivamente.
     
  9. c0d3r

    c0d3r Power Member

    Dá, essas três maneiras funcionam. ;)
     

Partilhar esta Página