Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
2dff68b
Add files via upload
DavidEPA2001 Sep 25, 2020
589770d
creacion del file main.c y main.h
JcGarcia126 Sep 28, 2020
7d7194c
cambios a main.h
JcGarcia126 Sep 28, 2020
2f7cc60
cambio al main pequeño
JcGarcia126 Sep 28, 2020
16801d1
.h de las ecuaciones V1
DavidEPA2001 Sep 29, 2020
55285e3
Merge pull request #1 from DavidEPA2001/master
DavidEPA2001 Sep 29, 2020
ba7c6ec
cambio al main y creacion de files.c y files.h
JcGarcia126 Sep 29, 2020
f4b04f9
añadir los equations
JcGarcia126 Sep 29, 2020
7732d8a
arreglar tantito del equations.h (cambiar 2 DEFINE a define), añadir …
JcGarcia126 Sep 29, 2020
e348898
Merge pull request #1 from VisionedCoin/Students
DavidEPA2001 Sep 29, 2020
cada619
Update equations.h
DavidEPA2001 Sep 29, 2020
7e87015
Update files.c
MirnaCardona Sep 29, 2020
cff7293
Merge pull request #2 from MirnaCardona/patch-1
JcGarcia126 Sep 29, 2020
5aaacc4
cambios a main.c
JcGarcia126 Sep 29, 2020
59adf51
Update equations.c
DavidEPA2001 Sep 29, 2020
6a2d869
Update files.c
MirnaCardona Sep 29, 2020
8f32be5
Update equations.h
DavidEPA2001 Sep 29, 2020
89e8116
Merge pull request #2 from VisionedCoin/Students
DavidEPA2001 Sep 29, 2020
7d0964f
Update files.c
MirnaCardona Sep 29, 2020
6f51f0c
Merge pull request #5 from DavidEPA2001/Students
JcGarcia126 Sep 29, 2020
91d6942
Merge pull request #4 from MirnaCardona/patch-3
JcGarcia126 Sep 29, 2020
05f2c89
Update files.c
MirnaCardona Sep 29, 2020
4e18f2b
Merge pull request #6 from MirnaCardona/patch-4
JcGarcia126 Sep 29, 2020
2db16d1
Update main.c
DavidEPA2001 Sep 29, 2020
34d0bda
Merge pull request #7 from DavidEPA2001/Students
JcGarcia126 Sep 29, 2020
74325ef
cambios finales a equations.c/h files.c/h main.c
JcGarcia126 Oct 1, 2020
f35aa1b
Merge pull request #1 from VisionedCoin/Students
MirnaCardona Oct 3, 2020
44f5da1
Update files.c
MirnaCardona Oct 3, 2020
de1caea
Delete TDA practica.pdf
MirnaCardona Oct 3, 2020
65046d0
Update equations.c
MirnaCardona Oct 3, 2020
1fd8599
Delete TDA practica1 Equipo4.pdf
MirnaCardona Oct 3, 2020
55c993a
Documentación final
MirnaCardona Oct 3, 2020
3b05728
Merge pull request #8 from MirnaCardona/Students
JcGarcia126 Oct 5, 2020
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 renamed TDA practica1 Equipo4.pdf → TDA practica (1).pdf
Binary file not shown.
76 changes: 76 additions & 0 deletions equations.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@

// equations.c
//
//
// Created by David Perez on 29/09/2020.
//

#include <stdio.h>
#include <stdlib.h>
#include "equations.h"
#include "main.h"
#include "files.h"

/**
* Obtiene el resultado de la ecuacion de las fuerzas del sistema.
* @param
* masa (double):
* La masa del usuario en Kg.
* Dt (double ):
* nuestra constante de cambio
* k (double):
* la constante de nuestro bungee
*
* @return double.
*/
double equations_fuerzas(double masa, double Dt, double K, double xt)
{
double res, BT = 10;
res=(-xt * (((K * (Dt * Dt))/masa)+1-((BT*DT)/masa)));
//-x(t)*(1+((K Dt^2)/masa))
return res;
}

/**
* Obtiene el resultado de la gravedad por nuestra constante de cambio.
* @param
* Dt (double ):
* nuestra constante de cambio
* @return double.
*/
double equations_grav(double Dt)
{
return ((Dt * Dt) * GRAVEDAD);
}

/**
* Obtiene el resultado nuestro sistema.
* @param
* masa (double):
* La masa del usuario en Kg.
* t (double ):
* el tiempo del movimiento
* k (double):
* la constante de nuestro bungee
* xt (double):
* el movimiento anterior
* xt2 (double):
* dos movimientos antes.
*
* @return double.
*/
double equ(double K, double masa, double t, double xt, double xt2)
{
double res, eq1, eq2, eq3, BT = 10;
if(t==0 || t<=(DT+0.01))
return 10;
else
{
eq1=equations_fuerzas(masa,DT, K,xt2);
eq2=(2-(BT*DT)/masa)*xt;
eq3=equations_grav(DT);
res=eq1+eq2+eq3;
return res;
}
}

105 changes: 105 additions & 0 deletions equations.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
//
// equations.h
//
//
// Created by David Perez on 28/09/2020.
//

#ifndef equations_h
#define equations_h


/*
* System headers required by the following declarations
* (the implementation will import its specific dependencies):
*/

#include <stdio.h>
#include <stdlib.h>
/*
* Application specific headers required by the following declarations
* (the implementation will import its specific dependencies):
*/

/* Constants declarations. */
#define GRAVEDAD 9.81
#define DT 0.001
/* Set EXTERN macro: */

#ifndef equations_IMPORT
#define EXTERN
#else
#define EXTERN extern
#endif

/* Types declarations. */

/* Global variables declarations. */


/* Function prototypes. */


/*
*
* La funcion equations_fuezas calcula la fuerza externa
*
* @params
* masa (double):
* masa proporcionada por el usuario dado por el usuario
* Dt(double);
* diferencia de tiempo
* K (double):
* Constante del bongee
.* xt (double)
* posicion 2 segundos atras atras

* @returns
int
*/


EXTERN double equations_fuerzas(double masa, double Dt, double K, double xt);
/*
*
* La funcion equiations_grav regresa el valor de la graverdad por
* el cuadrado de la diferencial del tiempo.
*
* @params
*
* Dt(double);
* diferencial del tiempo

* @returns
int.
*/


EXTERN double equations_grav(double Dt);

/*
*
* La funcion equ regresa el valor de la posicion que
* necesita el usuario
*
* @params
* K (double);
* contante de elasticidad del bongee
* masa (double);
* masa de la persona que esta cayendo
* t (double);
* tiempo de donde se quirere sacar la posicion
* xt (double)
* posicion anterior
* xt2 (double)
* hace 2 posiciones
* @returns
* double
*/


EXTERN double equ(double K, double masa, double t, double xt, double xt2);

#undef equations_IMPORT
#undef EXTERN
#endif /* equiations_h */
45 changes: 45 additions & 0 deletions files.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
//
// files.c
//
//
// Created by Juan Carlos Garcia on 28/09/20.
//


#include "files.h"
#include "main.h"
#include "equations.h"

/* Function imprimircpu. */
/**
* Guarda en un archivo la informacion del tiempo que le tomo a nuestro cpu hacer los calculos de cada operacion
* @param
* count (int)
* Index
* cpu_time (double)
* tiempo del cpu
* arch ( FILE *)
* apuntador al archivo que contiene la informacion de nuestro cpu
* @return void
*/
void imprimircpu(int cont,double cpu_time, FILE * arch)
{
fprintf(arch, "\n%d, %f", cont, cpu_time);

}
/**
* Writes into a file.
* @param
* arch (FILE *):
* Storage file
* count (size_t ):
* Index
* res (double):
* Equation result
*
* @return void.
*/
void imprimirres(int count, double res,FILE * arch)
{
fprintf(arch, "\n%d, %f", count, res);
}
36 changes: 36 additions & 0 deletions files.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
//
// files.h
//
//
// Created by Juan Carlos Garcia on 28/09/20.
//

#ifndef files_h
#define files_h

#include <stdio.h>


#ifndef files_IMPORT
#define EXTERN
#else
#define EXTERN extern
#endif


/*Imprime los datos a un archivo tipo .csv donde cada dato está en una celula diferente
* @params
* FILE * arch1 & arch2
* archivos .csv a donde se van a escribir los datos
* int cont
* numero contador que indica cuantas veces se ha repetido el programa
* double res & cpu_time
* resultados de la ecuacion y en cuanto tiempo se calculó
* @return void
*/

EXTERN void imprimircpu(int cont,double cpu_time, FILE * arch);

EXTERN void imprimirres(int count, double res,FILE * arch);

#endif /* files_h */
48 changes: 48 additions & 0 deletions main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
//
// main.c
//
//
// Created by Juan Carlos Garcia on 28/09/20.
//

#include "main.h"
#include "equations.h"
#include "files.h"



int main(void){
FILE * arch1, * arch2;
double tiempo,k,masa,cpu_time,resultado[100000], ant1=0, ant2=0;
int cont;
float t;
clock_t start, stop;

arch1 = fopen("tiempoCPU.csv","w");
arch2 = fopen("resultados.csv","w");

printf("Calculadora de bongee");
printf("\nCual es la masa del usuario? (kg)\n");
scanf("%lf",&masa);
printf("\nCual es el tiempo de la caida? (s)\n");
scanf("%lf",&tiempo);
printf("\nCual es el constante de bongee? (N/m)\n");
scanf("%lf",&k);


for(cont = 0; cont <= tiempo *(1/DT); cont ++){
t = (float)cont * DT;
start = clock();
resultado[cont] = equ(k,masa,t, ant1, ant2);
stop = clock();
cpu_time = (stop-start)*1e3 ;
ant2=ant1;
ant1 = resultado[cont];

imprimircpu(cont,cpu_time,arch1);
imprimirres(cont, resultado[cont],arch2);
}
fclose(arch1);
fclose(arch2);
return 0;
}
25 changes: 25 additions & 0 deletions main.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
//
// template.h
//
//
// Created by Juan Carlos Garcia on 28/09/20.
//

#ifndef main_h
#define main_h

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


#ifndef main_IMPORT
#define EXTERN
#else
#define EXTERN extern
#endif




#endif /* main_h */