Você está na página 1de 9

U UN NI IV VE ER RS SI ID DA AD DN NA AC CI IO ON NA AL L P PE ED DR RO OR RU UI IZ ZG GA AL LL LO O

FACULTAD DE INGENIERIA CIVIL, SISTEMAS Y ARQUITECTURA

INGENIERA DE SISTEMAS
SEPARACION DE SILABAS

ASIGNATURA

ALGORITMOS

Lambayeque-OCTUBRE-2012

SEPARAR EN SILABAS
INICIO Cadena: palabra; L1; L2; L3; x; vocales [11]

SEPARACION DE SILABAS a e i o u Leer palabra: p Si longitud(p) < 2 entonces i=0 mientras i < longitud(p) hacer L1extrae (p, i, 1) L2extrae (p, i+1, 1) L3extrae (p, i+2, 1) XVERIFICAR(L1, L2, L3) Respresp + proceso(x,L1,L2,L3) Fin_mientras Sino Resppalabra Fin_si Mostrar resp FIN

Funcin VERIFICAR(L1,L2,L3) B1c B2c B3c Mientras i<vocales.longitud Si L1=vocales[i] entonces B1v Fin_si Si L2=vocales[i] entonces B2v Fin_si Si L3=vocales[i] entonces B3v Fin_si i=i+1 Fin_mientras X B1+ B2+ B3 Retornar x Fin_funcion

Booleano funcin VerificarConsonante(L) Bandtrue Si L=vocales[i] Bandfalse Fin_si Retornar band

Algoritmos y estructura de datos

SEPARACION DE SILABAS Fin_funcion

Booleano funcin VerDipto(x+y) Bandfalse Si x=i or x= entonces Si y=u or y=a or y=e or y=o or y= or y= or y= or y= entonces Bandtrue Fin_si Sino Si x=u or x= entonces Si y=i or y= or y=a or y= or y=e or y= or y=o or y= entonces Bandtrue Fin_si Sino Si x=a or x= or x=e or x= or x=o or x= entonces Si y=i or y=u entonces Bandtrue Fin_si Sino Si x= entonces Si y=i or y=e entonces Bandtrue Fin_si Fin_si Fin_si Fin_si Fin_si Retornar band Fin_funcion

Booleano funcin ConsonantesInseparables(x+y) Bandfalse Segn sea x Caso b Si y=r or y=l or y=h entonces Bandtrue Fin_si Caso c Si y=r or y=h or y=l entonces Bandtrue Fin_si Caso d Si y=r or y=h entonces Bandtrue Fin_si Caso g Si y=r or y=l or y=h entonces Bandtrue Fin_si Caso f

Algoritmos y estructura de datos

SEPARACION DE SILABAS Si y=r or y=l or y=h entonces Bandtrue Fin_si Caso k Si y= l or y=r or y=h entonces Bandtrue Fin_si Caso l Si y=l entonces Bandtrue Fin_si Caso p Si y= l or y= r or y= h entonces Band true Fin_si Caso r Si y= r entonces Bandtrue Fin_si Caso s Si y= h entonces Bandtrue Fin_si Caso t Si y=l or y=r or y=h entonces Bandtrue Fin_si Fin_segun Retornar band Fin_funcion

Cadena funcin proceso(x) XVERIFICAR(L1, L2, L3) Segn sea x Caso x=VCC Si i=0 entonces Aextrae(p,3,1) Si VerificarConsonante(A) entonces Si ConsonanteInseparables(L3+A) entonces Si VerificarConsonante(extrae(p,4,1))=false entonces RespL1+L2+ - ii+1 Fin_si Sino Si VerificarConsonante(extrae(p,4,1))=false entonces RespL1+L2+L3+ - ii+2 Fin_si Fin_si Sino Si ConsonanteIneseparables(L2+L3) entonces

Algoritmos y estructura de datos

SEPARACION DE SILABAS RespL1+ - Sino RespL1+L2+ - Fin_si Fin_si Fin_si Caso x=VCV Si i=0 entonces RespL1+ -+ L2+L3 Sino Si L2=h entonces Si VerDipto(L1+L3) entonces RespL1+L2+L3 Sino RespL1+ -+ L2+L3 Fin_si Sino Si VerDipto(extrae(p,i-1,2) RespL1+ -+L2+L3 Sino RespL1+ -+L2+L3 Fin_si Fin_si ii+2 Fin_si Caso x=VVV Si VerDipto(L1+L2) entonces Si VerDipto(L2+L3) entonces RespL1+L2+L3 Sino RespL1+L2+ -+ L3 Fin_si Sino Si VerDipto(L2+L3) entonces RespL1+ -+L2+L3 Sino RespL1+ -+ L2 +-+ L3 Fin_si ii+2 Fin_si

Caso x=CVV Si i=o entonces Si VerDipto(L2+L3)=true entonces RespL1+L2+L3 Sino RespL1+L2+ -+ L3

Algoritmos y estructura de datos

SEPARACION DE SILABAS Fin_si Sino Si L3= entonces RespL1+L2 ii+1 Sino Si VerDipto(L2+L3)=true entonces Aextrae(p,i+4,1) Si A= entonces RespL1+L2+L3+extrae(p,i+3,i) ii+3 Sino Si VerificarConsonante(A) entonces Bextrae(p,i+3,1) Si ConsonanteInseparables(B+A) entonces RespL1+L2+L3+ - ii+2 Sino RespL1+L2+L3+B+ - ii+3 Fin_si Sino RespL1+L2+L3+ - ii+2 Fin_si Fin_si Sino Aextrae(p,i+4,1) Si A= entonces RespL1+L2+ -+L3+extrae(p,i+3,1) ii+3 Sino Si VerificarConsonante(A)=false entonces RespL1+L2+ -+L3+ - ii+2 Fin_si Fin_si Fin_si Fin_si Fin_si

Caso x=VVC Si VerDipto(L1+L2)=true entonces RespL1+L2+ - Sino RespL1+ -+ L2+ - ii+1

Algoritmos y estructura de datos

SEPARACION DE SILABAS fin_si Caso x=CVC Si i=0 entonces Aextrae(p,3,1) Si VerificarConsonante(A) entonces BConsonanteInseparables(L3+A) Si B entonces Si VerificarConsonante(extrae(p,4,1))=false entonces RespL1+L2+ - ii+1 Fin_si Sino Si VerificarConsonante(extrae(p,4,1)) entonces RespL1+L2+L3+extrae(p,3,1)+ - ii+3 Sino RespL1+L2+L3+ - ii+2 Fin_si Fin_si Sino RespL1+L2+ - ii+1 Fin_si Sino Si L3= entonces RespL1+L2 ii+1 Sino Aextrae(p,i+3,1) Si A= entonces RespL1+L2+L3 ii+2 Fin_si Si VerificarConsonante(A) entonces BConsonanteInseparables(L3+A) Si B entonces Cextrae(p,i+4,1) Si VerificarConsonante(C)=false entonces RespL1+L2+ - ii+1 Fin_si Sino Si VerificarConsonante(extrae(p,i+4,1)) entonces RespL1+L2+L3+extrae(p,i+3,1) ii+3 Sino RespL1+L2+L3+ - ii+2 Fin_si Fin_si

Algoritmos y estructura de datos

SEPARACION DE SILABAS Sino RespL1+L2+ - ii+1 Fin_si Fin_si Fin_si Caso x=CCC Si VerificarConsonante(extrae(p,i+3,1))=false entonces Bextrae(p,i+4,1) Si VerificarConsonante(B) entonces Cextrae(p,i+5,1) Si VerificarConsonante(C) entonces Si ConsonanteInseparables(B+C)=false entonces RespL1+L2+L3+extrae(p,i+3,1)+extrae(p,i+4,1)+- ii+4 Fin_si Sino RespL1+L2+L3+extrae(p,i+3,1)+ - ii+3 Fin_si Fin_si Fin_si Caso x=CCV Bextrae(p,i+3,1) Si VerficarConsonante(B) entonces Aextrae(p,i+4,1) Si VerificarConsonante(A) entonces Cextrae(p,i+5,1) Si C= entonces RespL1+L2+L3+extrae(p,i+3,1)+extrae(p,i+4,1) Sino Si VerificarConsonante(C) entonces Si ConsonanteInseparables(A+C) entonces RespL1+L2+L3+extrae(p,i+3,1)+ - ii+3 Sino RespL1+L2+L3+extrae(p,i+3,1)+extrae(p,i+4,1)+ - ii+4 Fin_si Sino RespL1+L2+L3+extrae(p,i+3,1)+ - ii+3 Fin_si Fin_si Sino RespL1+L2+L3+ - ii+2 Fin_si Sino Si VerDipto(L3+B)=true entonces

Algoritmos y estructura de datos

SEPARACION DE SILABAS Aextrae(p,i+4,1) Si VerificarConsonante(A) entonces Cextrae(p,i+5,1) Si VerificarConsonante(C) entonces RespL1+L2+L3+extrae(p,i+3,1)+extrae(p,i+4,1)+- ii+4 Sino RespL1+L2+L3+extrae(p,i+3,1)+ - ii+3 Fin_si Fin_si Sino RespL1+L2+L3+ - ii+2 Fin_si Fin_si

Algoritmos y estructura de datos

Você também pode gostar