Maestros Online www.maestronline.com
Pide una cotización a nuestros correos
Maestros Online
Fundamentos de
programación
Grupo de
problemas
Servicio de asesorías y solución de ejercicios
Envía tus actividades a
ciencias_help@hotmail.com
Maestros Online www.maestronline.com
Ejercicio 1
Instrucciones
1. Lee el siguiente problema: Un cajero de una tienda necesita un programa que le ayude a
generar una nota de compra, el programa necesita pedir el nombre del cliente, su correo
electrónico y su teléfono, también deberá pedir la cantidad que va a pagar por la compra,
así como la cantidad de dinero con la que realizará el pago. El programa deberá imprimir
una nota con los datos del cliente, el monto de la compra, el monto de pago, y deberá
calcular el cambio.
2. Aplica el ciclo de vida de software:
a. Análisis: define una lista de requerimientos e identifica las entradas, el proceso del
programa y las salidas.
b. Diseño: realiza el diseño del algoritmo de solución utilizando raptor , valida el
programa y ejecútalo con raptor.
c. Genera también el pseudocódigo de los pasos.
d. Pruebas: verifica que tu programa funcione correctamente.
Ejercicio 2
Instrucciones
Utilizando tus conocimientos de solución de un programa siguiendo todas las fases de ciclo de
vida realiza lo siguiente:
1. Se tiene la necesidad de un programa que calcule el promedio de calificación de 3
alumnos.
2. Para solucionar el problema deberás aplicar tus conocimientos de variables y
asignaciones; dentro del programa almacena los nombres y apellidos de los alumnos;
selecciona las variables para guardar las calificaciones de todos los alumnos y también
selecciona las variables para calcular el promedio.
3. El programa deberá imprimir el nombre de los alumnos, sus calificaciones y sus
promedios.
4. Aplica el ciclo de vida de desarrollo de software a través de lo siguiente:
a. Análisis: realiza una lista de las necesidades del programa e identifica las entradas,
procesos y salidas.
b. Diseño: realiza el diagrama de flujo de la solución y el pseudocódigo. Diseña al menos
2 casos de prueba.
c. Codificación: realiza la programación utilizando C++.
Maestros Online www.maestronline.com
d. Pruebas: corre los casos de prueba y documenta los resultados.
Ejercicio 3
Instrucciones
Resuelve los siguientes ejercicios:
1. El Deportivo Estrella realiza diversos partidos de fútbol amistosos entre los equipos de los
miembros del club. Se tiene la necesidad de contar con un programa para generar un
reporte de los partidos y la información concerniente a cada equipo. Por lo anterior,
deberás crear el programa que genere este reporte, para ello deberás generar de manera
ficticia los siguientes datos:
a. Información del día, mes, año y hora en que se efectuó el partido.
b. Nombre de cada uno de los equipos (2 equipos participantes en el partido).
c. Nombre de los 11 jugadores de cada equipo, el número de jugador, la altura de cada
jugador (expresada en metros) y el número de socio. El número de socio comienza
con una letra S seguida de tres números enteros (ejemplo: S001, S050, S112).
d. El marcador, esto es, la cantidad de goles que anotó cada uno de los equipos.
e. El equipo ganador (como regla de los partidos, si existe un empate al final del
segundo tiempo, se tiran penales hasta que haya un desempate; es decir, siempre
hay un equipo ganador).
f. El programa deberá imprimir el reporte del partido con el siguiente formato:
2. Resuelve el problema tomando como base las fases del ciclo de vida de desarrollo
de software:
a. Análisis: define la lista de requerimientos, cantidad de variables que se necesitan,
tipos de datos de cada variable y el nombre de cada una de ellas.
b. Diseño: realiza el diagrama de flujo y el diseño de los casos de prueba, los
indicadores de entrada e indicadores de salida.
c. Codificación: programa utilizando DevC++.
d. Pruebas: ejecuta las pruebas y verifica que la salida sea la esperada.
3. Realiza un programa que pida al usuario 2 números, y muestra cuál de ellos es mayor o si
son iguales:
a. Análisis: define la lista de requerimientos.
b. Diseño: realiza el diagrama de flujo de la solución, utilizando estructuras de control de
flujo. Diseña los casos de prueba.
c. Codificación: programa utilizando DevC++.
d. Pruebas: ejecuta las pruebas y verifica los resultados.
Maestros Online www.maestronline.com
Evidencia
Evidencia:
Desarrolla la solución de un problema realizando el análisis, diseño (pseudocódigo o
diagrama de flujo) y la programación en un lenguaje computacional.
Instrucciones para realizar evidencia:
Con base en tus conocimientos, indica los pasos del ciclo de vida del desarrollo de
un software:
1. Lee el siguiente problema:
Una tienda de música tiene la necesidad de generar un pequeño
sistema para controlar su inventario.
2. Realiza la solución del problema, considerando:
a. El programa deberá cumplir las siguientes necesidades:
i. Mostrar el catálogo de productos que registran en su inventario (actualmente se
dedican a vender CD, DVD y Blu Rays).
ii. Preguntar al usuario el precio de compra y precio de venta de cada tipo de
producto.
iii. Preguntar al usuario cuántas unidades va a registrar de cada uno de los
productos.
iv. Solicitar el nombre, dirección y teléfono del proveedor.
v. Calcular el monto de compra.
vi. En caso de que la compra exceda los 500 pesos deberá contemplarse mostrar un
mensaje de alerta a la persona que está registrando la compra.
vii. Calcular las ganancias que se van a obtener cuando se venda todo.
viii. Si las ganancias exceden los 1000 pesos deberá mostrarse un mensaje que
especifique que se ha cumplido la meta de estimación de ventas.
ix. Mostrar cuánto dinero se tiene invertido y en qué productos.
x. Mostrar las ganancias totales que se van a obtener con el inventario registrado.
xi. Imprimir la información en pantalla.
b. La solución deberá contener lo siguiente:
i. Análisis: examina los requerimientos y genera una lista de todas las necesidades
detalladas que identifiques del sistema. Define las entradas, salidas y el proceso.
ii. Diseño: plantea el algoritmo de la solución utilizando pseudocódigo y
diagramación en Raptor. Valida el diagrama de flujo y muestra las evidencias de la
consola de Raptor. Indica también los casos de prueba para asegurar que tu
programa funciona correctamente (mínimo tres casos de prueba, cada prueba
deberá tener un identificador, la descripción de la prueba, las entradas y las
salidas esperadas).
Maestros Online www.maestronline.com
iii. Codificación: programa la solución utilizando C++, incluye el comentario de
encabezado donde muestres lo que realiza el programa, las entradas y las salidas
(puedes incluir comentarios simples dentro del programa para mejorar el
entendimiento de tu programa).
iv. Pruebas: ejecuta las pruebas y documenta la evidencia de cada caso de prueba.
Genera el reporte de la ejecución de pruebas.
c. Recuerda que el programa deberá usar las mejores prácticas de indentación y orden
del código.
3. Con base en lo anterior elabora un reporte del procedimiento que realizaste para
desarrollar elsoftware, así como los problemas que presentaste para lograr su correcto
funcionamiento.
Nota: no olvides incluir el proyecto de Dev C++, así como el diagrama de flujo en Raptor.
Realiza la entrega de tu evidencia con base en los criterios de evaluación que se muestran en
la siguiente rúbrica.
Ejercicio 4
Instrucciones
1. Lee el siguiente problema:
Una escuela secundaria necesita un programa que puedan utilizar los alumnos para verificar si
aprendieron correctamente a solucionar las ecuaciones cuadráticas a través de la aplicación
de la fórmula general.
Una ecuación cuadrática de la forma tiene dos soluciones para la variable X, esas soluciones
son X1 y X2. A través de la fórmula general, cumpliendo con ciertas restricciones, es posible
resolver la ecuación. La fórmula general es la siguiente:
La diferencia radica en que para X1 el dividendo suma la raíz al valor de –b, mientras que X2
efectúa una resta.
Se necesita un programa que pida al usuario el valor de a, b y c. El programa deberá mostrar
al usuario los valores de solución de X1 y X2.
2. Analiza las necesidades del programa, genera un listado de requerimientos.
Maestros Online www.maestronline.com
3. Analiza qué funciones predefinidas pueden ayudarte a resolver el problema.
4. Analiza cómo serían las funciones para resolver la ecuación por la fórmula general.
5. Genera el diagrama de flujo o pseudocódigo para la solución.
6. Divide el programa de forma modular, incluyendo cuando menos 2 funciones
personalizadas.
7. Diseña la tabla de casos de prueba tomando en cuenta los siguientes valores (nota: estos
valores satisfacen las restricciones para que no haya raíces negativas y los resultados
sean correctos, no utilices otros valores, pues la fórmula general solo puede usarse
cumpliendo ciertas restricciones):
Valor
A
Valor
B
Valor
C
Salidas
2 10 2 X1 = -0.20871215
X2 = -4.79128784
1 20 2 X1 = -0.10050506
X2 = -
19.89949493
4 12 3 X1 = -0.27525512
X2 = -2.72474487
8. Codifica el programa utilizando DevC++.
9. Realiza las pruebas y depuración del programa para obtener el resultado esperado
(pueden incluir el diseño de casos de prueba).
10. Justifica el diseño de las subtareas.
Ejercicio 5
Instrucciones
1. Lee el siguiente problema:
Se necesita un programa que pueda calcular indicadores sobre los jugadores de futbol más
destacados. El programa debe ser capaz de leer la cantidad de goles que ha metido cada uno
de los 5 jugadores seleccionados en los últimos 6 meses. A continuación se presenta un
ejemplo de la información:
Maestros Online www.maestronline.com
Mes 1 Mes 2 Mes 3 Mes 4 Mes 5 Mes 6
Jugador
1
2 3 2 3 2 3
Jugador
2
1 5 4 1 0 3
Jugador
3
6 0 0 2 3 1
Jugador
4
4 4 4 4 0 0
Jugador
5
1 6 6 0 0 4
2. El programa debe generar la siguiente información:
a. El jugador que ha metido más goles.
b. El jugador que ha metido menos goles.
c. El mes en el que se anotaron más goles.
d. El mes en el que se anotaron menos goles.
e. Los jugadores que no metieron goles en algún mes.
f. El jugador que anotó más goles de cada mes.
g. El mes donde hubo más jugadores que no anotaron goles.
h. Los meses donde todos los jugadores anotaron cuando menos un gol.
3. Genera el análisis de requerimientos:
a. Analiza las necesidades del programa, realiza un listado de requerimientos.
b. Analiza el/los arreglos que vas a utilizar.
4. Realiza el diseño:
a. Genera el diagrama de flujo o pseudocódigo para obtener los indicadores.
b. Diseña los casos de prueba para validar que el programa funciona correctamente.
5. Codifica y prueba tu programa
a. Programa utilizando DevC++.
b. Pruebas y depuración del programa para obtener el resultado esperado (pueden
incluir el diseño de casos de prueba).
Maestros Online www.maestronline.com
Ejercicio 6
Instrucciones
1. ¿Recuerdas el programa que realizaste en la tarea anterior? Muy bien, realízale las
siguientes modificaciones:
a. Prepara un archivo con los datos de entrada y carga esa información al momento de
apertura de tu programa.
b. Implementa un reporte de las salidas del programa pero guardando la información en
un archivo.
Evidencia
Evidencia:
Resuelve un problema en el que se involucren condiciones, ciclos, arreglos de datos y
archivos, presentando el algoritmo, diagrama de flujo con estructura modular y su codificación
en un lenguaje computacional de última generación.
Instrucciones para realizar evidencia:
1. Resuelve el siguiente problema:
En las elecciones realizadas para la región del municipio de Cancún se tuvieron los siguientes
resultados de votos:
Distrito 1 2 3 4 5
Juan Montes 194 180 221 432 820
Pedro Zapata 48 20 90 50 61
Ana Martínez 206 320 140 821 946
Rogelio Guerra 45 16 20 14 18
2. Para la definición del programa debes considerar la siguiente información, que se obtuvo
de la región de Cancún con base en sus necesidades:
a. Los datos de los votos por distrito para cada candidato deben ser leídos de un archivo.
b. Se debe producir un reporte de resultados que se imprima en un archivo y que
contenga:
Maestros Online www.maestronline.com
i. La tabla de resultados debe estar impresa y con los títulos incluidas.
ii. Se debe mostrar el cálculo del número total de votos recibidos por cada candidato
y el porcentaje del total de votos emitidos.
iii. Se debe mostrar el candidato más votado.
iv. Si alguno de los candidatos recibe más del 50% de los votos, imprimir un mensaje
en el reporte que declare al ganador de las elecciones.
v. Si ningún candidato recibió más del 50% de los votos, se debe imprimir el nombre
de los 2 candidatos más votados, que serán los que pasarán a la segunda ronda.
3. Una vez que se tiene la información y especificaciones para desarrollar el programa, la
solución deberá contener lo siguiente:
a. Análisis: examina los requerimientos y genera una lista de todas las necesidades que
identifiques del sistema. Define las entradas, procesos y salidas.
b. Diseño: plantea el algoritmo de solución general del programa y los algoritmos para la
lógica de cada uno de los indicadores que pide el reporte. Deberás tomar en cuenta el
diseño modular para dividir la solución en subpartes a través del uso de funciones.
Genera también el diseño de casos de prueba (mínimo 5) que te permitan probar
todos los escenarios que pide el programa; no olvides tomar en cuenta los casos de
prueba en caso de que algún archivo no exista, o que el formato de entrada sea el
incorrecto (cada prueba deberá contener un identificador, la descripción de la prueba,
las entradas y las salidas esperadas).
c. Codificación: programa la solución usando C++, incluye el comentario de encabezado
de cada una de las funciones, en donde se muestre el objetivo de la función, la
definición de parámetros y los retornos (si aplican). El programa deberá realizarse
aplicando arreglos y archivos.
d. Pruebas: ejecuta las pruebas y documenta la evidencia de cada caso de prueba.
Genera el reporte de la ejecución de pruebas.
Recuerda que el programa debe usar las mejores prácticas de documentación e indentación
de código.
4. Elabora un reporte con el procedimiento que seguiste para desarrollar el software y los
problemas que presentaste para lograr el correcto funcionamiento. No olvides incluir la
justificación de tu diseño, los algoritmos de funciones, el algoritmo general y el proyecto en
DevC++.
Realiza la entrega de tu evidencia con base en los criterios de evaluación que se muestran en
la siguiente rúbrica.