Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
Binary file added EXAMEN1_TDA_Carlos_Ibarra.pdf
Binary file not shown.
Binary file modified Examen1/Primer examen parcial Grupo B Otoño 2020.pdf
Binary file not shown.
51 changes: 51 additions & 0 deletions Examen1/data.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
,0
0,5.077850806
1,5.11361086
2,5.013413304
3,4.7066951
4,4.976198376
5,4.687136226
6,5.124400784
7,5.091652721
8,4.626762324
9,5.35344503
10,5.031065345
11,4.162632474
12,5.099215149
13,4.314255758
14,5.071030028
15,5.146366446
16,5.286848671
17,5.132360742
18,5.04395336
19,5.636707268
20,4.777943651
21,4.89574049
22,5.169317399
23,4.893662278
24,4.417269492
25,5.076816536
26,4.955695648
27,4.815426492
28,5.126990887
29,5.111338314
30,5.478111414
31,4.925767003
32,5.042099781
33,4.676226811
34,5.079265995
35,4.424209541
36,5.028716159
37,4.933538801
38,4.978475742
39,4.798586263
40,4.695443163
41,4.923005744
42,5.167948946
43,5.139372134
44,4.670964362
45,4.903235874
46,5.202417898
47,5.190025396
48,5.076624563
49,4.501765132
Binary file added Primer examen parcial Grupo B Otoño 2020.pdf
Binary file not shown.
79 changes: 79 additions & 0 deletions TDA_Statistic.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
//
// TDA_statistic.c
//
//
// Created by Carlos Ibarra on 08/10/2020.
//

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

#include "central.h"
#include "dispersion.h"

int main (void){

int i=0; //index para crear array
int ancho_clase; //para histograma
int n; //numero de datos

FILE * fp; //abre .csv
float array1[100]; //arreglo con los datos del archivo sin ordenar
float x; //ayudante para lectura de file

//estadisticos
float media1, mediana1, moda1, desviacion1, rango1, intercuartil1;
float array2[100]; //arreglo ordenado;

//Leer datos
fp = fopen ("data.csv", "r");
if (fp != NULL){

while (fscanf (fp, "%f", &x)==1){
array1[i] = x;
i++;
}
fclose (fp);
}

//Aqui se ordena el arreglo
//array2 = array1 ordenado

n = sizeof(array2)/sizeof(array2[0]);

//Medidas de tendencia central
media1 = media (array2, n);
mediana1 = mediana (array2, n);
moda1 = moda (array2, n);
//Medidas de dispersion
desviacion1 = desviacion (array2, n);
rango1 = rango (array2, n);
intercuartil1 = intercuartil (array2, n);

printf("Ancho de clase: ");
scanf("%d",&ancho_clase);

//histograma (array2);

//Guardar datos
fp = fopen ("data_statistics.csv", "w");

fprintf(fp, "media: &.2f", media1);
fprintf(fp, "mediana: &.2f", mediana1);
fprintf(fp, "moda: &.2f", moda1);
fprintf(fp, "desviacion: &.2f", desviacion1);
fprintf(fp, "rango: &.2f", rango1);
fprintf(fp, "distancia intercuaritil: &.2f", intercuartil1);
fclose(fp);

//Segundo archivo, con datos de histograma, para graficar
//fp = fopen ("data_graphics.csv", "w");
//fprintf (informacion de clases del histograma);
//fclose(fp);

//pipe a gnuplot
/*pipe = popen("gnuplot -persist");
fprintf(pipe, "plot data_graphics.csv with lines");
pclose(pipe);
}*)

52 changes: 52 additions & 0 deletions central.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
//
// central.c
//
//
// Edited Created by Carlos Ibarra on 08/10/2020.
//

#include <stdio.h>
#include "dispersion.h"

#define central_IMPORT

float suma (float array2[], int n){

int i;
float suma = 0;

for (i = 0; i< n; i++)
{
suma = suma + array2[i];
}
return suma;
}

float media (float array2[], int n){

float media;
media = suma (array2, n);
media = media /n;
return media;
}

float mediana (float array2[], int n){

int i;
float med;
if (n%2 == 0)
{
med = array2[n/2];
}
else
med= array2[n/2 + 1];

return med;
}

float moda (float array2[], int n){

//por el momento regresaremos el dato en la posicion n/2
return array2[n/2];
}

32 changes: 32 additions & 0 deletions central.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
//
// central.h
//
//
// Created by Carlos Ibarra on 08/10/2020.
//

#ifndef central_H
#def central_H

#include <stdio.h>

#ifdef central_IMPORT
#def EXTERN
#else
#def EXTERN extern
#endif

float suma (float array2[], int n);

float media (float array2[], int n);
//Funcion que calcula la media y la regresa

float mediana (float array2[], int n);
//Funcion que calcula la mediana y la regresa

float moda (float array2[], int n);
//Funcion que calcula la moda y la regresa

#undef central_IMPORT
#undef EXTERN
#endif
30 changes: 30 additions & 0 deletions data.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
30
29
28
27
26
25
24
23
22
21
37 changes: 37 additions & 0 deletions dispersion.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//
// dispersion.c
//
//
// Created by Carlos Ibarra on 08/10/2020.
//

#include <stdio.h>
#include <math.h>

#define dispersion_IMPORT

float desviacion (float array2[], int n){

int i;
float suma = 0;
for (i=0; i <n; i++){

suma = suma + ((array2[i] - media) * (array2[i] - media));
}
suma = suma / n;
suma = sqrt (suma);
return suma;
}

float rango (float array2[], int n){

float ran;
ran = array2[n] - array2[0];
return ran;
}

float intercuartil (float array2[], int n){

//por el momento se regresa la ultima posicion
return array2[n];
}
31 changes: 31 additions & 0 deletions dispersion.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
//
// dispersion.h
//
//
// Created by Carlos Ibarra on 08/10/2020.
//

#ifndef dispersion_H
#def dispersion_H

#include <stdio.h>
#include <math.h>

#ifdef dispersion_IMPORT
#def EXTERN
#else
#def EXTERN extern
#endif

float desviacion (float array2[], int n);
//Funcion que calcula la desviacion y la regresa

float rango (float array2[], int n);
//Funcion que calcula el rango y lo regresa

float intercuartil (float array2[], int n);
//Funcion que calcula la la distanicia intercuartil y la regresa

#undef dispersion_IMPORT
#undef EXTERN
#endif