Fundamentos de programación/Evaluación final
Ejercicio #1
[editar]
Ejercicio #2
[editar]Escribir un programa en pseudocódigo que realice las tareas especificadas a continuación:
« |
Escribir un programa que capture un número desde el teclado, abra un archivo predeterminado y recupere el número de línea que corresponde al proporcionado por el usuario. Una vez recuperada la línea, es necesario separarla en dos: el texto antes de la primera coma y el texto después de ese carácter. Una vez separada la línea se debe imprimir en pantalla el texto a la izquierda con una etiqueta indicando que se trata de un nombre de cliente de un banco y el texto a la derecha indicando que se trata del saldo de la cuenta bancaria de esa persona. Debe mostrarle al usuario mensajes de error significativos. Asuma que la función Puede suponer que existe una biblioteca llamada
Suponga que la funció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 |