# Fundamentos de programación/Evaluación final
## Ejercicio #1
## Ejercicio #2

Escribir un programa en pseudocódigo que realice las tareas especificadas a continuación:
* Solución propuesta
* // Cargando las bibliotecas necesarias.
* cargar ("cadenas.bib")
* cargar ("es_texto.bib")
* cargar ("funciones_útiles.bib")
* // Declaración de funciones.
* cadena subrutina obtener_nombre_cliente (cadena línea_de_texto)
* cadena sección_izquierda
* entero posición_coma
* posición_coma := posiciónCarácter (línea_de_texto, ',')
* si posición_coma > 1 entonces
* sección_izquierda := subcadena_izquierda (línea_de_texto, posición_coma)
* sino
* sección_izquierda := ""
* fin_si
* regresar sección_izquierda
* fin_subrutina
* cadena subrutina obtener_saldo_cuenta(cadena línea_de_texto)
* cadena sección_derecha
* entero posición_coma
* posición_coma := posiciónCarácter (línea_de_texto, ',')
* si (posición_coma < largo_cadena (línea_de_texto)) y (posición_coma > 0) entonces
* sección_derecha := subcadena_derecha (línea_de_texto, posición_coma)
* sino
* sección_derecha := ""
* fin_si
* regresar sección_derecha
* fin_subrutina
* // Programa principal
* cadena nombre_del_archivo := "lista_clientes.csv"
* entero archivo_abierto
* entero número_cliente
* cadena número_cliente_texto
* cadena línea_actual
* entero número_de_línea := 0
* lógico más_líneas := verdadero
* lógico línea_encontrada := falso
* lógico error_convirtiendo_número := falso
* cadena nombre_cliente
* cadena saldo_cuenta
* // Capturar el número del cliente a recuperar
* nueva_linea
* desplegar_en_pantalla ("¿Cuál es el número de cliente que desea consultar? ")
* número_cliente_texto := leer_texto
* intentar
* número_cliente := texto_a_entero (número_cliente_texto)
* atrapar NúmeroInválido:
* error_convirtiendo_número := verdadero
* fin_intentar
* si error_convirtiendo_número = falso entonces
* archivo_abierto := abrir_archivo (nombre_del_archivo, "leer")
* si archivo_abierto > 0 entonces
* mientras (más_líneas = verdadero) y (línea_encontrada = falso) hacer
* línea_actual := leer_línea_de_archivo (archivo_abierto)
* si largo_cadena(línea_actual) = 0 entonces
* más_líneas := falso
* sino
* número_de_línea := número_de_línea + 1
* si número_de_línea = número_cliente entonces
* línea_encontrada := verdadero
* fin_si
* fin_si
* fin_mientras
* si línea_encontrada entonces
* nombre_cliente := obtener_nombre_cliente (línea_actual)
* saldo_cuenta := obtener_saldo_cuenta (línea_actual)
* si largo_cadena(nombre_cliente) > 0 y largo_cadena(saldo_cuenta) > 0 entonces
* nueva_linea
* desplegar_en_pantalla ("Nombre del cliente: ")
* desplegar_en_pantalla (nombre_cliente)
* nueva_linea
* desplegar_en_pantalla ("Saldo de la cuenta: ")
* desplegar_en_pantalla (saldo_cuenta)
* sino
* nueva_linea
* desplegar_en_pantalla ("Error: El registro del cliente en el archivo no tiene el formato correcto.")
* fin_si
* sino
* nueva_linea
* desplegar_en_pantalla ("Error: El número de cliente indicado es superior al número de clientes en el archivo.")
* fin_si
* sino
* nueva_linea
* desplegar_en_pantalla ("Error: No fue posible abrir el archivo con la información de los clientes.")
* fin_si
* sino
* nueva_linea
* desplegar_en_pantalla ("Error: El texto digitado no corresponde a un número entero positivo.")
* fin_si
* Proyecto: Fundamentos de programación
* Anterior: Cuarta evaluación parcial — Evaluación final — Siguiente: Actividad > Simulador de un cajero automático