Durante esta actividad:
Esta actividad promueve las siguientes habilidades, valores y actitudes: capacidad para resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.
Se tiene el siguiente programa incompleto en lenguaje C en un archivo
llamado arreglos.c
:
#include <stdio.h> #include <stdlib.h> #define NUM_ELEMS 20 void imprime_arreglo(int a[]) { printf("["); for (int i = 0; i < NUM_ELEMS; i++) { printf("%d ", a[i]); } printf("]\n"); } int moda(int a[]) { // Coloca aqui tu codigo } double mediana(int a[]) { // Coloca aqui tu codigo } double desviacion(int a[]) { // Coloca aqui tu codigo } void suma(int a[], int b[], int r[]) { // Coloca aqui tu codigo } void escalar_por_vector(int x, int a[], int r[]) { // Coloca aqui tu codigo } int producto_punto(int a[], int b[]) { // Coloca aqui tu codigo } int main(void) { int alfa[NUM_ELEMS] = {59, 90, 43, 61, 28, 29, 42, 71, 33, 86, 93, 3, 68, 97, 61, 81, 61, 25, 42, 79}; int beta[NUM_ELEMS] = {23, 22, 39, 26, 99, 52, 5, 19, 43, 5, 24, 14, 2, 5, 67, 87, 40, 14, 17, 6}; int gama[NUM_ELEMS]; printf("La moda de alfa es: %d\n", moda(alfa)); printf("La mediana de alfa es: %.2f\n", mediana(alfa)); printf("La desviacion estandar de alfa es: %.2f\n", desviacion(alfa)); printf("La moda de beta es: %d\n", moda(beta)); printf("La mediana de beta es: %.2f\n", mediana(beta)); printf("La desviacion estandar de beta es: %.2f\n", desviacion(beta)); suma(alfa, beta, gama); printf("La suma de alfa y beta es:\n"); imprime_arreglo(gama); escalar_por_vector(2, alfa, gama); printf("2 por alfa es:\n"); imprime_arreglo(gama); escalar_por_vector(10, beta, gama); printf("10 por beta es:\n"); imprime_arreglo(gama); printf("Producto punto de alfa por beta es: %d\n", producto_punto(alfa, beta)); system("pause"); return 0; }
De manera individual o en parejas,
completa la implementación de las funciones moda
,
mediana
, desviacion
, suma
,
escalar_por_vector
y producto_punto
, las
cuales se describen puntualmente en la siguiente tabla. Puedes añadir
cualquier número de funciones auxiliares adicionales.
Función | Descripción |
---|---|
int moda(int a[])
|
Devuelve el elemento del arreglo a que más veces
se repite. Si hubiera más de una moda, devuelve cualquiera de
ellas.
|
double mediana(int a[])
|
Realiza una copia de a y la ordena de manera
ascendente, devolviendo la media aritmética de los dos valores
centrales.
|
double desviacion(int a[])
|
Devuelve la desviación estándar de todos los elementos
contenidos en a . La desviación estándar se calcula
con la siguiente fórmula:
|
void suma(int a[], int b[], int r[])
|
Realiza la suma de los vectores |
void escalar_por_vector(int x, int a[], int r[])
|
Realiza la multiplicación del valor escalar |
int producto_punto(int a[], int b[])
|
Devuelve el producto punto del vector |
Una vez que hayas realizado la implementación de cada una de las funciones solicitadas, verifica que el programa produzca la siguiente salida:
La moda de alfa es: 61 La mediana de alfa es: 61.00 La desviacion estandar de alfa es: 25.53 La moda de beta es: 5 La mediana de beta es: 22.50 La desviacion estandar de beta es: 26.84 La suma de alfa y beta es: [82 112 82 87 127 81 47 90 76 91 117 17 70 102 128 168 101 39 59 85 ] 2 por alfa es: [118 180 86 122 56 58 84 142 66 172 186 6 136 194 122 162 122 50 84 158 ] 10 por beta es: [230 220 390 260 990 520 50 190 430 50 240 140 20 50 670 870 400 140 170 60 ] Producto punto de alfa por beta es: 32295
El archivo fuente de lenguaje C debe incluir en la parte superior un comentario con el nombre y matrícula de los autores de la tarea. Por ejemplo:
/* +-------------------------- | Ramiro González 1166666 | Gonzalo Ramirez 1166667 +-------------------------- */
Sube el archivo arreglos.c
al
Sistema de Entrega de
Tareas Automatizado. Basta que una sola persona suba la tarea
en caso de tratarse de una pareja. No se aceptan tareas por ningún otro
medio.
Fecha límite: Martes, 20 de abril.
Esta actividad se evaluará usando los siguientes criterios:
−10 | No se incluyó un comentario con los nombres y matrículas de los autores en cada uno de los archivos fuente. |
---|---|
DA | Si se detecta plagio o fraude. |
0-100 | Dependiendo de la cantidad de funciones correctamente implementadas (16.66 puntos por cada una). |