Pergunta
Alexandre Lago · Jun. 21

Contar a palavra com maior número de caracteres

Olá, comecei a trabalhar com Caché a pouco, e estou em treinamento.

Me surgiu uma dúvida de uma determinada atividade, aonde a regra solicita que o usuário digite uma string, e selecione uma das opções listradas, e uma delas e informar a palavra com maior número de carácteres da string.

Já tentei de tudo, porém não consegui chegar a nenhuma conclusão.

Desde já agradeço

Product version: Caché 2012.1
2
0 29
Discussão (2)1
Entre ou crie uma conta para continuar

Oi Alexandre! 
O que me veio em mente rapidamente foi criar um código que transforme a sua string/frase em uma lista de palavras para depois percorrer a lista contando o numero de letras de cada palavra da lista.

Algo assim: 

Set frase = "Como contar a palavra com maior numero de caracteres"

#; cria uma lista da string com delimitador " " espaço 
Set fraseList = $Listfromstring(frase," ")

#; percorre a lista e imprime a posição da palavra na frase (i), o tamanho da palavra ($length) e a palavra ($listget(fraseList,i))
For i=1:1:$Listlength(fraseList) w !,i_"- tamanho:"_$length($listget(fraseList,i))_"->"_$lg(fraseList,i) 

O código acima pode ser executado no Terminal. 
Mas se você somente desejar saber o maior tamanho, basta salvar o tamanho em uma variável comparando os tamanhos. Exemplo: 

Set maiorTamanho=""
For i=1:1:$Listlength(fraseList) {
       set tamanho=$length($listget(fraseList,i))
       if tamanho>maiorTamanho {
           set maiorTamanho=tamanho
           set maiorPalavra=$listget(fraseList,i)
       }
}

Write !,maiorPalavra_" - tamanho: "_maiorTamanho 

Espero que ajude! :-)