Postado originalmente por
Bruce L
@Jaguncio:
você não especificou uma linguagem, mas ok.
Acho que é meio impossível de se fazer, ja que pelo meu ver substantivos,e adjetivos não possuem uma estruturação padrão de letras, fazer um programa 100% funcional seria muito trabalhoso(Ao meu ver, mas podem haver outros jeitos.)
Para verbos fica um pouco mais fácil, já que terminam com "ar","am", etc...
Uma ideia que tive seria assim:
frase:"Eu joguei o faustão pela janela".
Primeiro de tudo, criar arrays (associativos ou não, a gosto) com uma listagem de algumas palavras que sejam verbos, exemplo:
verbo = new Array();
verbo[0] = "Cagar";
verbo[1] = "Jogar";
verbo[2] = "programar";
verbo[3] = "joguei"
etc......
Faça isso também para adjetivos e substantivos.
2-):pegar a frase;
3-):cortar a frase por ocorrência de carácter do tipo espaço, formando arrays(normalmente existem funções nativas que fazem isso, no php, chama-se explode()) ,com cada palavra da frase.
Mais ou menos assim(usando php):
var palavra = explode(" ",frase);
o array palavra ficaria assim:
palavra[0 => "Eu",1=> "joguei",2=>"o",3=>"faustão",4=>"pela",5=>"janela" )
4-):fazer um loop, para correr todas as arrays(palavras da frase);
5-):E em cada laço, verificar se existe a ocorrência da palavra no array que você criou dos verbos.
O programinha que verificaria a ocorrência seria mais ou menos assim:
for(i=0;i<palavra.length;i++){
for(x=0;x<verbo.length;x++){
if(array[i] == verbo[x]){
alert("Existe um verbo na frase.")
}
}
}
É possível adaptá-lo para os adjetivos e substantivos também, apenas trocando o "verbo[x]" por "adjetivo[x]" ou "substantivo[x]" e o alerta.
Resumindo(Se ficou meio confuso =PP):
1-)Criar um array, contendo palavras do tipo verbos, outro do tipo adjetivos e outro do tipo substantivos;
2-)Pegar a frase;
3-)Tranformá-lo em arrays, cortando a frase por espaços;
4-)usando um loop, verificar cada palavra da frase cortada, e verificar se existe tal palavra em um dos arrays de substantivos, adjetivos ou verbos, e mostrando na tela.
É um dos meios que achei, espero que tenha dado para entender =))