Algoritmo SeleccionarOperador - jsyh1/practica_aplicada GitHub Wiki

Algoritmo SeleccionarOperador

Definir expresion, operador, ultimoElemento Como Cadena
Definir valido Como Logico

expresion <- "5"
valido <- Falso

Mientras NO valido Hacer
	
	Escribir "Expresion actual: ", expresion
	Escribir "Ingrese un operador (+, -, *, /):"
	Leer operador
	
	Si expresion = "" Entonces
		
		Escribir "Error: no puede ingresar un operador porque la expresion esta vacia."
		
	SiNo
		
		Si operador <> "+" Y operador <> "-" Y operador <> "*" Y operador <> "/" Entonces
			
			Escribir "Error: operador no valido."
			Escribir "Solo se permiten +, -, * y /."
			
		SiNo
			
			ultimoElemento <- Subcadena(expresion, Longitud(expresion), Longitud(expresion))
			
			Si ultimoElemento = "+" O ultimoElemento = "-" O ultimoElemento = "*" O ultimoElemento = "/" Entonces
				
				Escribir "Error: no se pueden ingresar dos operadores consecutivos."
				
			SiNo
				
				Si ultimoElemento = "(" Entonces
					
					Escribir "Error: no puede colocar un operador inmediatamente despues de un parentesis de apertura."
					
				SiNo
					
					expresion <- expresion + operador
					valido <- Verdadero
					
					Escribir "Operador agregado correctamente."
					Escribir "Expresion actual: ", expresion
					
				FinSi
				
			FinSi
			
		FinSi
		
	FinSi
	
FinMientras

FinAlgoritmo