0% encontró este documento útil (0 votos)
5 vistas6 páginas

Proyecto de Programación en C: Arreglos

final

Cargado por

Juliette Del Cid
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas6 páginas

Proyecto de Programación en C: Arreglos

final

Cargado por

Juliette Del Cid
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

FACULTAD DE INGENIERÍA DE SISTEMAS


COMPUTACIONALES
DEPARTAMENTO DE PROGRAMACION DE
COMPUTADORA
Proyecto Final Manejo de Arreglos

FACILITADORA: Miriam Fernandez ASIGNATURA: Programación


CAPÍTULOS: todos FECHA DE ASIGNACIÓN: 12/10/2023

OBJETIVOS:

Que el estudiante sea capaz debe:


Manejar los elementos y sentencia básicas, sentencias de control y
arreglos, atendiendo a las especificaciones de los algoritmos y el
paradigma estructurado.
Resolver el problema aplicando sentencias de control y arreglos,
atendiendo a las especificaciones del algoritmo y el paradigma
estructurado.

Introducción

En este proyecto podremos ver y explorar mas sobre los programas en c, la función de los
arreglos y nuestra capacidad de desarrollar un programa que corra de forma fácil y correcta.
También ha desarrollar nuestra capacidad de solución de problemas ya que la necesitaremos
para crear el programa y resuelva lo que nos piden.

ENUNCIADOS.

1. Un maestro de primaria está interesado en motivar a sus estudiantes a la práctica de cálculos


mentales, para esto, elabore un programa que funcione en forma de juego bajo las siguientes
condiciones.

• Establezca 3 oportunidades para cada jugador. Y 5 operaciones random para cada


jugador. El juego finaliza cuando terminen las oportunidades para cualquiera de los
jugadores o cuando finalice la ronda de 5 operaciones.
• La cantidad de jugadores serán de 2 estudiantes.
• Se debe registrar el nombre y grado de los jugadores.
• Lleve el registro de cada operación por jugador, las correctas y las incorrectas. Las
operaciones son suma, resta y multiplicación. En las operaciones de suma y resta deberán
ser con números menores a 99. Y en las multiplicaciones menores a 12.
• Cuando el estudiante no acierte, el programa deberá descontarle de la cantidad de
oportunidades.
• El programa debe imprimir los puntajes de cada jugador por tipo de operación y un
promedio general.

Programa

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

// Función para generar un número aleatorio en el rango especificado


int generarNumeroAleatorio(int min, int max) {
return rand() % (max - min + 1) + min;
}

// Función para realizar una operación y verificar la respuesta del jugador


int realizarOperacion(char operador, int num1, int num2) {
int resultado;
printf("\n%d %c %d = ", num1, operador, num2);
scanf("%d", &resultado);

return resultado == (operador == '+' ? num1 + num2 : (operador == '-' ? num1 - num2 : num1 *
num2));
}

int main() {
srand(time(NULL));

// Definir variables
char nombreJugador1[50], nombreJugador2[50];
int gradoJugador1, gradoJugador2;
int oportunidades = 3;
int puntajeJugador1Suma = 0, puntajeJugador1Resta = 0, puntajeJugador1Multiplicacion = 0;
int puntajeJugador2Suma = 0, puntajeJugador2Resta = 0, puntajeJugador2Multiplicacion = 0;

// Obtener nombres y grados de los jugadores


printf("Ingrese el nombre del Jugador 1: ");
scanf("%s", nombreJugador1);
printf("Ingrese el grado del Jugador 1: ");
scanf("%d", &gradoJugador1);

printf("Ingrese el nombre del Jugador 2: ");


scanf("%s", nombreJugador2);
printf("Ingrese el grado del Jugador 2: ");
scanf("%d", &gradoJugador2);

// Iniciar el juego
for (int ronda = 1; ronda <= 5; ronda++) {
printf("\nRonda %d\n", ronda);

// Jugador 1
printf("\n%s, grado %d:\n", nombreJugador1, gradoJugador1);
if (realizarOperacion('+', generarNumeroAleatorio(1, 99), generarNumeroAleatorio(1, 99)))
{
puntajeJugador1Suma++;
} else {
oportunidades--;
}

if (realizarOperacion('-', generarNumeroAleatorio(1, 99), generarNumeroAleatorio(1, 99)))


{
puntajeJugador1Resta++;
} else {
oportunidades--;
}

if (realizarOperacion('*', generarNumeroAleatorio(1, 12), generarNumeroAleatorio(1, 12)))


{
puntajeJugador1Multiplicacion++;
} else {
oportunidades--;
}
// Jugador 2
printf("\n%s, grado %d:\n", nombreJugador2, gradoJugador2);
if (realizarOperacion('+', generarNumeroAleatorio(1, 99), generarNumeroAleatorio(1, 99)))
{
puntajeJugador2Suma++;
} else {
oportunidades--;
}

if (realizarOperacion('-', generarNumeroAleatorio(1, 99), generarNumeroAleatorio(1, 99)))


{
puntajeJugador2Resta++;
} else {
oportunidades--;
}

if (realizarOperacion('*', generarNumeroAleatorio(1, 12), generarNumeroAleatorio(1, 12)))


{
puntajeJugador2Multiplicacion++;
} else {
oportunidades--;
}

// Mostrar puntajes parciales


printf("\nPuntajes parciales:\n");
printf("%s: Suma(%d) Resta(%d) Multiplicación(%d)\n", nombreJugador1,
puntajeJugador1Suma, puntajeJugador1Resta, puntajeJugador1Multiplicacion);
printf("%s: Suma(%d) Resta(%d) Multiplicación(%d)\n", nombreJugador2,
puntajeJugador2Suma, puntajeJugador2Resta, puntajeJugador2Multiplicacion);

// Reiniciar oportunidades para la siguiente ronda


oportunidades = 3;
}

// Calcular promedio general


float promedioGeneral = ((float)(puntajeJugador1Suma + puntajeJugador1Resta +
puntajeJugador1Multiplicacion +
puntajeJugador2Suma + puntajeJugador2Resta +
puntajeJugador2Multiplicacion)) / 6;

// Mostrar puntajes finales y promedio general


printf("\n\nPuntajes finales:\n");
printf("%s: Suma(%d) Resta(%d) Multiplicación(%d)\n", nombreJugador1,
puntajeJugador1Suma, puntajeJugador1Resta, puntajeJugador1Multiplicacion);
printf("%s: Suma(%d) Resta(%d) Multiplicación(%d)\n", nombreJugador2,
puntajeJugador2Suma, puntajeJugador2Resta, puntajeJugador2Multiplicacion);
printf("Promedio General: %.2f\n", promedioGeneral);

return 0;
}

Conclusión

En resumen, los arreglos son herramientas poderosas y eficientes para organizar datos en programas,
proporcionando acceso rápido y secuencial a elementos del mismo tipo. Sin embargo, su tamaño fijo
y la necesidad de contener elementos del mismo tipo son consideraciones importantes al utilizar
arreglos en el desarrollo de software.
RUBRICA

ASPECTOS PARA EVALUAR/ CRITERIO DE EVALUACIÓN PUNTAJE PUNTAJE


MAXIMO OBTENIDO
[Link].
1. Entrega en la fecha y hora señalada 5
2. El trabajo posee introducción, portada, enunciado del problema, 10
referencias del juego y conclusiones
3. Creatividad
NOV.9
[Link]
Análisis y diseño 15
NOV.9
[Link]
1. Libre de errores, corre sin dificultad 10
2. Indenta las instrucciones 10
3. Utiliza documentación o comentarios 10
4. Manejo de los ciclos de repetición apropiados 10
5. Validaciones requeridas (entrada de datos) 10
6. Se aplican arreglos. 5

PRUEBA DE ESCRITORIO 15

TOTAL, DE PUNTOS 100

OBSERVACIONES

También podría gustarte