A N5 JRCM
A N5 JRCM
A N5 JRCM
México
Dr. Sergio Sentecal Guerrero
Alumno:
✓ José Reyes Cortés Montelongo
Actividad 5
Ejercicios
31-julio -2022
Tetramestre mayo – ago 2022
ACTIVIDAD V:
1. Revisa la Guía de uso de Online GDB, compilador y depurador en línea que se proporciona en
los materiales básicos para esta actividad, así como la serie de videotutoriales para comenzar a
programar en lenguaje C
Ejemplo de entrada
Ingrese el número a evaluar 8
Ejemplo se salida
El número 8 es par
Enviar el código fuente (el que tiene extensión cpp) así como capturas de pantalla que muestren el
funcionamiento correcto del programa.
Nota. Para resolver este programa se sugiere haber revisado los siguientes videos de la serie de
videotutoriales:
- Video 22. Vectores
- Video 23. Primer vector
- Video 24. Fábrica de vectores
Código implementado:
#include<stdio.h>
void par_impar(int numero); //Definimos la funcion
int resultado;
resultado = numero % 2;
if (resultado == 0)
{
printf("El numero %d es par\n", numero);
}
else
{
printf("El numero %d es impar\n", numero);
}
printf("Hasta pronto\n\n");
}
return 0;
}
Ejercicio 2. Arreglos de una dimensión
A partir de los recursos revisados acerca arreglos de una dimensión y funciones, resuelve lo siguiente:
Realiza un programa que llene un arreglo unidimensional (vector) de tamaño n de
calificaciones y calcule el promedio, usar funciones.
Las funciones que debe de implementar son las siguientes:
a. Función para llenar el arreglo
b. Función para calcular el promedio
c. La función main, en donde se deben de llamar a las demás funciones de la forma
correcta.
Ejemplo de entrada
¿Cuantas calificaciones desea
ingresar? 7
Ingresa la calificación 1: 6
Ingresa la calificación 2: 3
Ingresa la calificación 3: 4
Ingresa la calificación 4: 7
Ingresa la calificación 5: 5
Ingresa la calificación 6: 4
Ingresa la calificación 7: 8
Ejemplo de salida
El promedio es: 5.28
Enviar el código fuente (el que tiene extensión cpp) así como capturas de pantalla que muestren el
funcionamiento correcto del programa.
Nota. Para resolver este programa se sugiere haber revisado los siguientes videos de la serie de
videotutoriales:
- Video 22. Vectores
- Video 23. Primer vector
Video 24. Fábrica de vectores
Código empleado:
#include<stdio.h>
void llenarVector(int tam, int vec[]);
void imprimirVector(int tam, int vec[]);
void promedio(int tam, int vec[]);
//Funciones
void llenarVector(int tam, int vec[]) {
int i;
for (i = 1; i <= tam; i++)
{
printf("Ingresa la calificacion No%d: (1-10)", i);
scanf("%d", &vec[i]);
}
}
void imprimirVector(int tam, int vec[]) {
int i;
printf("\nLa lista de calificaciones es la siguiente: \n");
for (i = 1; i <= tam; i++)
{
printf("Alumno No%d: %d \n", i, vec[i]);
}
}
void promedio(int tam, int vec[]) {
int i, suma = 0, promedio;
for (i = 1; i <= tam; i++)
{
suma = suma + vec[i];
}
promedio = suma / tam;
printf("El promedio es: %d\n", promedio);
}
//Funcion principal
int main() {
int tVector;
printf("Ingresa el numero de alumnos a promediar: ");
scanf("%d", &tVector);
int vector[tVector];
llenarVector(tVector, vector);
imprimirVector(tVector, vector);
promedio(tVector, vector);
return 0;
}
Ejercicio 3. Arreglos bidimensionales
A partir de los recursos revisados acerca arreglos bidimensionales y funciones, resuelve lo
siguiente:
Realiza un programa que calcule la suma de matrices (arreglos bidimensionales),
de dimensión mxn, use funciones.
Ejemplo de entrada:
Matriz A
Ingrese el valor de a11: 1
Ingrese el valor de a12: 2
Ingrese el valor de a13: 2
Ingrese el valor de a21: 1
Ingrese el valor de a22: 2
Ingrese el valor de a23: 3
Ingrese el valor de a31: 2
Ingrese el valor de a32: 1
Ingrese el valor de a33: 2
Matriz B
Ingrese el valor de b11: 2
Ingrese el valor de b12: 2
Ingrese el valor de b13: 2
Ingrese el valor de b21: 1
Ingrese el valor de b22: 1
Ingrese el valor de b23: 1
Ingrese el valor de b31: 4
Ingrese el valor de b32: 4
Ingrese el valor de b33: 3
Ejemplo de salida
Enviar el código fuente (el que tiene extensión cpp) así como capturas de pantalla que muestren el
funcionamiento correcto del programa.
Nota. Para resolver este programa se sugiere haber revisado los siguientes videos de la serie de
videotutoriales:
- Video 28. Matrices
Código empleado:
#include<stdio.h>
void llenarArreglo(int f, int c, int vec[][100]);
void imprimirArreglo(int f, int c, int vec[][100]);
void sumarArreglos(int f, int c, int vec1[][100], int vec2[][100], int vec3[][100]);
//funciones
void llenarArreglo(int f, int c, int vec[][100]) {
int fila, columna;
for (fila = 0; fila < f; fila++)
{
for (columna = 0; columna < c; columna++)
{
printf("Ingresa el valor del arreglo en la posicion %d, %d\n", fila,
columna);
scanf("%d", &vec[fila][columna]);
}
}
}
void imprimirArreglo(int f, int c, int vec[][100]) {
int fila, columna;
for (fila = 0; fila < f; fila++)
{
for (columna = 0; columna < c; columna++)
{
printf("%d", vec[fila][columna]);
}
printf("\n");
}
}
void sumarArreglos(int f, int c, int vec1[][100], int vec2[][100], int vec3[][100]) {
printf("Iniciando la suma de arreglo1 + arreglo2 = arreglo3\n");
int fila, columna;
for (fila = 0; fila < f; fila++)
{
for (columna = 0; columna < c; columna++)
{
vec3[fila][columna] = vec1[fila][columna] + vec2[fila][columna];
printf("%d", vec3[fila][columna]);
}
printf("\n");
}
}
//funcion principal
int main() {
int nfilas, ncolumnas;
printf("Ingresa el numero de filas\n");
scanf("%d", &nfilas);
printf("Ingresa el numero de columnas\n");
scanf("%d", &ncolumnas);
int arreglo1[nfilas][100];
int arreglo2[nfilas][100];
int arreglo3[nfilas][100];
llenarArreglo(nfilas, ncolumnas, arreglo1);
imprimirArreglo(nfilas, ncolumnas, arreglo1);
llenarArreglo(nfilas, ncolumnas, arreglo2);
imprimirArreglo(nfilas, ncolumnas, arreglo2);
sumarArreglos(nfilas, ncolumnas, arreglo1, arreglo2, arreglo3);
return 0;
}
Ejercicio 4. Estructuras
A partir de los recursos revisados acerca de los tipos de datos struct, resuelve lo siguiente:
Realizar un programa que permita guardar en un tipo struct los datos concernientes a un
estudiante, los datos de interés son:
• Matricula
• Nombre
• Carrera
• Promedio
• Dirección
Ejemplo de entrada
Ingrese la matrícula del estudiante: 12345
Ingrese el nombre del estudiante: Juan Pérez
Ingrese la carrera del estudiante: Ingeniería en Sistemas
Ingrese el promedio del estudiante: 9.5
Ingrese la dirección del estudiante: Calle Juárez #16, Colonia Centro, Macuspana Tabasco
Ejemplo de salida
La matrícula del estudiante es: 12345
El nombre del estudiante es: Juan Pérez
La carrera del estudiante es: Ingeniería en Sistemas
El promedio del estudiante es: 9.5
La dirección del estudiante es: Calle Juárez #16, Colonia Centro, Macuspana Tabasco
Código implementado:
#include<stdio.h>
//estructura del estudiante
typedef struct estudiante
{
int matricula;
char nombre[40];
char carrera[40];
float promedio;
char direccion[40];
}estudiante_t;
estudiante_t crear_ne() {
estudiante_t new_e;
printf("Ingrese Matricula del estudiante: ");
scanf("%d", &new_e.matricula);
printf("Ingrese Nombre del estudiante: ");
scanf("%s", &new_e.nombre);
printf("Ingrese Carrera del estudiante: ");
scanf("%s", &new_e.carrera);
printf("Ingrese Promedio del estudiante: ");
scanf("%f", &new_e.promedio);
printf("Ingrese Direccion del estudiante: ");
scanf("%s", &new_e.direccion);
return new_e;
}
//funcion
void imprimir_estudiante(estudiante_t estudiante) {
printf("\n\n Los datos del estudiante son: \n");
printf("Matricula %d \n", estudiante.matricula);
printf("Nombre %s \n", estudiante.nombre);
printf("Carrera %s \n", estudiante.carrera);
printf("Promedio %f \n", estudiante.promedio);
printf("Direccion %s \n", estudiante.direccion);
}
int main() {
estudiante_t e1 = crear_ne();
imprimir_estudiante(e1);
return 0;
}
Ejercicio 5. Cuestionario
Revisa nuevamente el documento “Funciones en C” disponible también en los materiales básicos
de la unidad y resuelve el cuestionario de evaluación que aparece en la página 98.
1. ¿Qué es una función?
Las funciones nos permiten dividir grandes programas en pequeñas partes con tareas específicas,
permitiéndonos tratar el código de una manera óptima y muy realista.
Si, Porque cuando aparece la palabra, la función deja de funcionar. Puede existir más de un return si
el código se ramifica, ya que el programa devuelve el control a la sentencia que llamó a la función en
cuanto encuentra el return.
5. ¿Podemos llamar a una función más de una vez desde distintas partes de un programa?
Justifica brevemente
Si, Siempre que se requiera ejecución de código. Hay que recordad que las funciones son bloques
de código independientes que pueden reutilizarse desde varias partes del código.
6. ¿Qué diferencia existe entre el paso de argumentos por valor y el paso de argumentos por
referencia?
Es un conjunto de funciones estándar que soportan las operaciones más comunes. Estas funciones
se agrupan en bibliotecas.
10. ¿Cómo se pasan los argumentos a la función scanf?
Scanf es una función de entrada para obtener cualquier cosa desde el teclado. Estas se ejecutand
e la siguiente manera: Scanf (“cadena de control”, lista de argumentos);
Conclusiones
El manejo de las estructuras de datos permite desarrollar códigos que den soluciones aplicadas a
procesos que logren generar valores agregados a la información que se maneja; ya sea al manipular
datos para generar más información o que los datos tengan un formato adecuado que puedan ser
utilices para un usuario o un cliente.
Referencias
1. García-Bermejo Giner, José R. (2008). Programación estructurada en C [Versión
electrónica].Recuperado de https://elibro.net/es/ereader/uvm/53853
2. S.A. (s.f.). Funciones en C Haga clic para ver más opciones [Archivo PDF]. Recuperado de
https://www.mheducation.es/bcv/guide/capitulo/8448148681.pdf