Ir ao conteúdo

Posts recomendados

Postado

Bom sou novo nessa área e precisso de uma ajuda para criar um programinha simples.

Precisso saber quantos numero tem meu nome.

a = 1, b = 2, c = 3, d = 4, e = 5......y = 25, z = 26.

Pedir nome.

Para cada letra mostrar o numero da letra no alfabeto.

Ex:

Nome = Ivan.

Ivan = 922114.

I = 9, v = 22, a = 1, n = 14

Sei que é um programinha meio tosco mais ficarei grato em quem puder me ajudar!

  • Membro VIP
Postado

Olá, seja bem vindo ao Fórum do Clube do Hardware.

[...]Precisso saber quantos numero tem meu nome.

Provavelmente nenhum número. Deve ter somente letras! :D

Para cada letra mostrar o numero da letra no alfabeto.

Ex:

Nome = Ivan.

Ivan = 922114.

Pelo que eu entendi, o programa deve fazer simplesmente "trocar cada letra de uma palavra pelo seu respectivo valor numérico". Não é isso?

Então, você pode usar uma String para receber o "nome". Para acessar um caractere da letra, basta informar a posição através de "[]". Ex.:

nome:='Pascal';
writeln(nome[3]); //exibirá a letra "s" (posição 3)

Ou seja, usando o "[]" você tem acesso a cada letra da string, da mesma forma que se acessa uma posição de um array, ou seja, uma string se comporta mais ou menos como se fosse um array[1..255] of char. ^_^ Daí vai verificando letra por letra e traduzindo para o numeral correspondente.

Obs.: Como dif sugeriu, tente fazer algo e poste aqui seu código e onde está com dúvidas.

PS:

- Você precisará de um laço de repetição para percorrer as letras

- Você pode usar uma sequência de if/else para comparar as letras. Fica mais fácil e elegante usando um case.

No aguardo.

Abraços

  • Curtir 1
Postado

DEFINE VARIABLE Nome        AS CHARACTER    NO-UNDO.

DEFINE VARIABLE Numeros AS INTEGER NO-UNDO.

DEFINE VARIABLE iConvert AS INTEGER NO-UNDO.

UPDATE Nome.

Esse ai é o começo...

agora o que eu tenho que fazer é básicamente pegar cada letra do nome, e dar o seu respectivo valor numerico.

Ex:

a = 1, b = 2, c = 3, d = 4, e = 5......y = 25, z = 26.

vamor dizer que o nome seja "Ivan".

Nome = Ivan.

Ivan = 922114.

I = 9, v = 22, a = 1, n = 14

Espero que vocês tenham compreendido melhor ^_^

  • Membro VIP
Postado
DEFINE VARIABLE Nome        AS CHARACTER    NO-UNDO.

DEFINE VARIABLE Numeros AS INTEGER NO-UNDO.

DEFINE VARIABLE iConvert AS INTEGER NO-UNDO.

UPDATE Nome.

Esse ai é o começo...

agora o que eu tenho que fazer é básicamente pegar cada letra do nome, e dar o seu respectivo valor numerico.

Ex:

a = 1, b = 2, c = 3, d = 4, e = 5......y = 25, z = 26.

vamor dizer que o nome seja "Ivan".

Nome = Ivan.

Ivan = 922114.

I = 9, v = 22, a = 1, n = 14

Espero que vocês tenham compreendido melhor ^_^

Eu me confundi... postei como se fosse especificadamente para Pascal/Delphi... :rolleyes:

Pela sintaxe, já vi que não tenho muito conhecimento.. :lol:

Qual a linguagem de programação está se referindo?

Abraços

  • Curtir 1
  • 3 anos depois...
Postado

bem atrasado mas ai vai a resposta em uma procedure, se alguém precisar..

 

DEF VAR texto AS CHAR INIT "ivan".DEF VAR tx AS CHAR INIT "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".  DEF VAR i AS INT INIT 1.DEF VAR j AS INT INIT 1.DEF VAR retorno AS CHAR INIT "".  REPEAT:      IF ENTRY(i,tx,",") = SUBSTRING(texto,j,1) THEN DO:          ASSIGN retorno = retorno + string(i).          ASSIGN i = 0.          ASSIGN j = j + 1.       END.      i = i + 1.      IF j > LENGTH(texto) THEN LEAVE.  END.  MESSAGE retorno      VIEW-AS ALERT-BOX INFO BUTTONS OK.

adapte a seu código e pronto.

 
Abraço. :D
  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...