- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Exercício de contar as vogais e as consoantes de uma palavra
×
Linguagem de Programação ADVPL
Perguntas Exercício de contar as vogais e as consoantes de uma palavra
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
8 anos 11 meses atrás #29754
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Exercício de contar as vogais e as consoantes de uma palavra
Muda aqui
While nOpcao1 # 2 .And. nOpcao2 # 2
While nOpcao1 # 2 .And. nOpcao2 # 2
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- viniciusbsilva
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 29
- Obrigados Recebidos: 0
8 anos 11 meses atrás #29755
por viniciusbsilva
Respondido por viniciusbsilva no tópico Exercício de contar as vogais e as consoantes de uma palavra
Mesmo com a alteração, ele continua executando as outras perguntas antes de finalizar.
Por favor Acessar ou Registrar para participar da conversa.
- viniciusbsilva
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 29
- Obrigados Recebidos: 0
8 anos 11 meses atrás #29756
por viniciusbsilva
Respondido por viniciusbsilva no tópico Exercício de contar as vogais e as consoantes de uma palavra
Quando o 2 é digitado primeiro, o programa é encerrado, mas quando é digitado depois de uma ou mais execuções ele só encerra após mais uma execução completa.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
8 anos 11 meses atrás #29757
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Exercício de contar as vogais e as consoantes de uma palavra
Segue Correcao
User Function ATV013()
**********************
Local nOpcao1 := 0
Local nOpcao2 := 0
Local cTotal := " "
Local cPerg := "TATV013_1"
Local cPerg2 := "TATV013_2"
Local cPerg3 := "TATV013_3"
fPutSX1(cPerg)
fPutSX3(cPerg3)
If !Pergunte(cPerg, .T.)
Return
EndIf
nOpcao1 := mv_par01
If nOpcao1 == 2
Return
EndIf
While .t.
If !Pergunte(cPerg, .T.)
Exit
EndIf
nOpcao1 := mv_par01
nOpcao2 := 0
If nOpcao1==2
Exit
Endif
If !Pergunte(cPerg3, .T.)
Exit
EndIf
nOpcao2 := mv_par01
If nOpcao2 == 1
U_FVogais()
ElseIf nOpcao2 == 2
U_FConsoantes()
EndIf
EndDo
Return
User Function FVogais(nOpcao2)
******************************
Local cPalavra := " "
Local aVogais := {}
Local i := 0
Local n := 0
Local nLetras := 0
Local nVogais := 0
Local cPerg := "TATV013_1"
Local cPerg2 := "TATV013_2"
Local cPerg3 := "TATV013_3"
fPutSX2(cPerg2)
If !Pergunte(cPerg2, .T.)
Return
EndIf
cPalavra := mv_par01
//aAdd(nome no array, "elemento")
aAdd(aVogais, "a")
aAdd(aVogais, "e")
aAdd(aVogais, "i")
aAdd(aVogais, "o")
aAdd(aVogais, "u")
nVogais := 0
nLetras := 0
nLetras := Len(cPalavra)
For i := 1 To nLetras
For n := 1 To 5
If SubStr(cPalavra, i, 1) == aVogais[n]
nVogais++
EndIf
Next n
Next i
MsgInfo("Na palavra, há: " + cValToChar(nVogais) + " vogais.", "Exibição dos resultados")
Return
User Function FConsoantes(nOpcao2)
**********************************
Local cPalavra := " "
Local aConsoantes := {}
Local i := 0
Local n := 0
Local nLetras := 0
Local nConsoantes := 0
Local cPerg := "TATV013_1"
Local cPerg2 := "TATV013_2"
Local cPerg3 := "TATV013_3"
fPutSX2(cPerg2)
If !Pergunte(cPerg2, .T.)
Return
EndIf
cPalavra := mv_par01
//aAdd(nome no array, "elemento")
aAdd(aConsoante, "b")
aAdd(aConsoante, "c")
aAdd(aConsoante, "d")
aAdd(aConsoante, "f")
aAdd(aConsoante, "g")
aAdd(aConsoante, "h")
aAdd(aConsoante, "j")
aAdd(aConsoante, "k")
aAdd(aConsoante, "l")
aAdd(aConsoante, "m")
aAdd(aConsoante, "n")
aAdd(aConsoante, "p")
aAdd(aConsoante, "q")
aAdd(aConsoante, "r")
aAdd(aConsoante, "s")
aAdd(aConsoante, "t")
aAdd(aConsoante, "v")
aAdd(aConsoante, "w")
aAdd(aConsoante, "x")
aAdd(aConsoante, "y")
aAdd(aConsoante, "z")
aAdd(aConsoante, "ç")
nConsoantes := 0
nLetras := 0
nLetras := Len(cPalavra)
For i := 1 To nLetras
For n := 1 To 22
If SubStr(cPalavra, i, 1) == aConsoantes[n]
nConsoantes++
EndIf
Next n
Next i
MsgInfo("Na palavra, há: " + cValToChar(nConsoantes) + " consoantes.", "Exibição dos resultados")
Return
Static Function fPutSX1(cPerg)
******************************
Local aTam := {}
Local aHelpPor
aTam := {1, 0, "N"} //Primeira pregunta: nOpcao1
aHelpPor := {}
aAdd(aHelpPor, "Digite 1 para ler uma palavra ou 2 para " )
aAdd(aHelpPor, "finalizar. " )
aAdd(aHelpPor, " " )
PutSX1(cPerg,"01","Digite a opção correspondente","","","mv_ch1",aTam[3],aTam[1],aTam[2],0,"G","","","","","mv_par01","","","","","","","","","","","","","","","","",aHelpPor,{},{})
Return
Static Function fPutSX2(cPerg2)
******************************
Local aTam := {}
Local aHelpPor
aTam := {25, 0, "C"}
aHelpPor := {}
aAdd(aHelpPor, "Digite uma palavra para que possa ser ap" )
aAdd(aHelpPor, "resentado o número de vogais ou o número" ) //Segunda pergunta: cPalavra
aAdd(aHelpPor, "de consoantes. " )
PutSX1(cPerg2,"01","Digite uma palavra","","","mv_ch1",aTam[3],aTam[1],aTam[2],0,"G","","","","","mv_par01","","","","","","","","","","","","","","","","",aHelpPor,{},{})
Return
Static Function fPutSX3(cPerg3)
******************************
Local aTam := {}
Local aHelpPor
aTam := {1, 0, "N"} //Terceira pergunta: nOpcao2
aHelpPor := {}
aAdd(aHelpPor, "Selecione a opção correspondente. " )
aAdd(aHelpPor, " " )
aAdd(aHelpPor, " " )
PutSX1(cPerg3,"01","Opções","","","mv_ch1",aTam[3],aTam[1],aTam[2],0,"C","","","","","mv_par01","Vogais","","","","Consoantes","","","","","","","","","","","",aHelpPor,{},{})
Return
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- viniciusbsilva
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 29
- Obrigados Recebidos: 0
8 anos 11 meses atrás #29758
por viniciusbsilva
Respondido por viniciusbsilva no tópico Exercício de contar as vogais e as consoantes de uma palavra
Muito obrigado Luiz, consegui concluir o programa. Está rodando perfeito. Após alguns ajustes, ele ficou assim:
User Function ATV013()
**********************
Local nOpcao1 := 0
Local nOpcao2 := 0
Local cTotal := " "
Local cPerg := "TATV013_4"
Local cPerg2 := "TATV013_5"
Local cPerg3 := "TATV013_6"
fPutSX1(cPerg)
fPutSX3(cPerg3)
nOpcao1 := 1
While .t.
If !Pergunte(cPerg, .T.)
Return
EndIf
nOpcao1 := mv_par01
nOpcao2 := 0
If nOpcao1 == 2
Return
EndIf
If !Pergunte(cPerg3, .T.)
Return
EndIf
nOpcao2 := mv_par01
If nOpcao2 == 1
U_FVogais()
EndIf
If nOpcao2 == 2
U_FConsoantes()
EndIf
EndDo
Return
User Function FVogais(nOpcao2)
******************************
Local cPalavra := " "
Local aVogais := {}
Local i := 0
Local n := 0
Local nLetras := 0
Local nVogais := 0
Local cPerg := "TATV013_4"
Local cPerg2 := "TATV013_5"
Local cPerg3 := "TATV013_6"
fPutSX2(cPerg2)
If !Pergunte(cPerg2, .T.)
Return
EndIf
cPalavra := mv_par01
cPalavra := Lower(cPalavra)
//aAdd(nome no array, "elemento")
aAdd(aVogais, "a")
aAdd(aVogais, "e")
aAdd(aVogais, "i")
aAdd(aVogais, "o")
aAdd(aVogais, "u")
nVogais := 0
nLetras := 0
nLetras := Len(cPalavra)
For i := 1 To nLetras
For n := 1 To 5
If SubStr(cPalavra, i, 1) == aVogais[n]
nVogais++
EndIf
Next n
Next i
MsgInfo("Na palavra, há: " + cValToChar(nVogais) + " vogais.", "Exibição dos resultados")
Return
User Function FConsoantes(nOpcao2)
**********************************
Local cPalavra := " "
Local aConsoantes := {}
Local i := 0
Local n := 0
Local nLetras := 0
Local nConsoantes := 0
Local cPerg := "TATV013_4"
Local cPerg2 := "TATV013_5"
Local cPerg3 := "TATV013_6"
fPutSX2(cPerg2)
If !Pergunte(cPerg2, .T.)
Return
EndIf
cPalavra := mv_par01
cPalavra := Lower(cPalavra)
//aAdd(nome no array, "elemento")
aAdd(aConsoante, "b")
aAdd(aConsoante, "c")
aAdd(aConsoante, "d")
aAdd(aConsoante, "f")
aAdd(aConsoante, "g")
aAdd(aConsoante, "h")
aAdd(aConsoante, "j")
aAdd(aConsoante, "k")
aAdd(aConsoante, "l")
aAdd(aConsoante, "m")
aAdd(aConsoante, "n")
aAdd(aConsoante, "p")
aAdd(aConsoante, "q")
aAdd(aConsoante, "r")
aAdd(aConsoante, "s")
aAdd(aConsoante, "t")
aAdd(aConsoante, "v")
aAdd(aConsoante, "w")
aAdd(aConsoante, "x")
aAdd(aConsoante, "y")
aAdd(aConsoante, "z")
aAdd(aConsoante, "ç")
nConsoantes := 0
nLetras := 0
nLetras := Len(cPalavra)
For i := 1 To nLetras
For n := 1 To 22
If SubStr(cPalavra, i, 1) == aConsoantes[n]
nConsoantes++
EndIf
Next n
Next i
MsgInfo("Na palavra, há: " + cValToChar(nConsoantes) + " consoantes.", "Exibição dos resultados")
Return
Static Function fPutSX1(cPerg)
******************************
Local aTam := {}
Local aHelpPor
aTam := {1, 0, "N"} //Primeira pregunta: nOpcao1
aHelpPor := {}
aAdd(aHelpPor, "Digite 1 para ler uma palavra ou 2 para " )
aAdd(aHelpPor, "finalizar. " )
aAdd(aHelpPor, " " )
PutSX1(cPerg,"01","Digite a opção correspondente","","","mv_ch1",aTam[3],aTam[1],aTam[2],0,"G","","","","","mv_par01","","","","","","","","","","","","","","","","",aHelpPor,{},{})
Return
Static Function fPutSX2(cPerg2)
******************************
Local aTam := {}
Local aHelpPor
aTam := {25, 0, "C"}
aHelpPor := {}
aAdd(aHelpPor, "Digite uma palavra para que possa ser ap" )
aAdd(aHelpPor, "resentado o número de vogais ou o número" ) //Segunda pergunta: cPalavra
aAdd(aHelpPor, "de consoantes. " )
PutSX1(cPerg2,"01","Digite uma palavra","","","mv_ch1",aTam[3],aTam[1],aTam[2],0,"G","","","","","mv_par01","","","","","","","","","","","","","","","","",aHelpPor,{},{})
Return
Static Function fPutSX3(cPerg3)
******************************
Local aTam := {}
Local aHelpPor
aTam := {1, 0, "N"} //Terceira pergunta: nOpcao2
aHelpPor := {}
aAdd(aHelpPor, "Selecione a opção correspondente. " )
aAdd(aHelpPor, " " )
aAdd(aHelpPor, " " )
PutSX1(cPerg3,"01","Opções","","","mv_ch1",aTam[3],aTam[1],aTam[2],0,"C","","","","","mv_par01","Vogais","","","","Consoantes","","","","","","","","","","","",aHelpPor,{},{})
Return
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Exercício de contar as vogais e as consoantes de uma palavra
Tempo para a criação da página:0.111 segundos