116 Subalgoritmos
Donde INGRESO, BUSQUEDA, MODIFICAR Y SACAR son llamadas a subrutinas.
De esta manera el algoritmo principal queda entendible y se saca del mismo todo proceso
extra. Esta es una forma de modularizar un problema
A continuación desarrollaremos el siguiente problema:
“Realizar un algoritmo que permita convertir grados, minutos y segundos a segundos y vice-versa”
Algoritmo GMS a Seg y viceversa
variables
entero opcion, G,M,S,seg
Inicio
Repetir
Escribir (‘Menu: conversión de ángulos’)
Escribir (‘1-Convertir G-M-S a seg’)
Escribir (‘2- Convertir seg a G-M-S’)
Escribir (‘3- Salir’)
Leer (opcion)
VALIDAR (1,3,opcion)
Según sea opcion hacer
1: Escribir (‘Ingrese un ángulo en G-M-S’)
Leer (G)
VALIDAR (0,360,G)
Leer (M)
VALIDAR (0,59,M)
Leer (S)
VALIDAR (0,59,S)
Escribir (‘el ángulo ingresado es: ’, GMSaS(G,M,S), ‘segundos ’)
2: Escribir (‘Ingrese un ángulo en seg’)
Leer (seg)
SaGMS (seg,G,M,S)
Escribir (‘el ángulo ingresado es: ’, G, ‘grados’, M, ‘minutos’,S, ‘segundos’ )
3: Escribir (‘fin del programa’)
Fin según
hasta que opcion = 3
Fin.
Subrutina VALIDAR (E: vi, vf: entero; S: Z: entero)
Inicio
Repetir mientras (Z < vi) O (Z > vf) hacer
Escribir (‘Error. Ingrese de nuevo el valor’)
Leer (Z)
Fin mientras
Fin subrutina
Funcion GMSaS ( entero GG,MM,SS) : entero
Inicio
GMSaS = GG*3600 + MM * 60 + SS