From ce765e7427203d18e79995fd20db7a57bc07406f Mon Sep 17 00:00:00 2001 From: Alejandro Solorzano Date: Wed, 23 Sep 2020 09:49:15 -0500 Subject: [PATCH 1/2] Equipo 3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Práctica de tiempos de Fibonacci --- Sequences.c | 144 ++++++--------------------------------------------- Sequences.h | 4 +- diagnostic.c | 78 ++++++++++++++++++++++++++++ files.c | 128 +++++---------------------------------------- files.h | 7 +-- test.dat | 25 +++++++++ 6 files changed, 136 insertions(+), 250 deletions(-) create mode 100644 diagnostic.c create mode 100644 test.dat diff --git a/Sequences.c b/Sequences.c index 4ef9c72..f5014b7 100644 --- a/Sequences.c +++ b/Sequences.c @@ -1,137 +1,23 @@ -<<<<<<< HEAD -// -// Sequences.c -// -// -// Created by Cesar Angeles on 07/09/2020. -// - #include -#include - -#define Sequences_IMPORT -#include "Sequences.h" - - +//fibonacci secuencial long long int Sequences_sfibo(long long int n){ - long long int sequence_1 = 0, sequence_2 = 1, temp = 0; - int index = 0; - - for (index = 0; index < n; index ++){ - - temp = sequence_2; - sequence_2 = sequence_2 + sequence_1; - sequence_1 = temp; - - } - (n<=0) ? sequence_2 = 0 : (sequence_2 = sequence_1); - - return sequence_2; - + int actual, ant1 = 1, ant2 = 1,i; + if ((n == 0) || (n == 1)) { + actual = 1; + } + else{ + for (i=2; i<=n; i++) { + actual = ant1 + ant2; + ant2 = ant1; + ant1 = actual; + } + } + return actual; } - - long long int Sequences_rfibo(long long int n){ - - if (n == 1){ - return 1; - } - if(n > 1){ - return Sequences_rfibo(n - 1) + Sequences_rfibo(n - 2); - }else{ - return 0; - } - -} -||||||| f46ea0f -======= -// -// Sequences.h -// -// -// Created by Cesar Angeles on 07/09/2020. -// - -#ifndef Sequences_h -#define Sequences_h - -#include - -#ifdef Sequences_IMPORT - #define EXTERN -#else - #define EXTERN extern -#endif - - -/* Sequences.h -- Function prototypes */ - -/** - * Returns the value of the fibonacci sequence at index n calculated sequentially - * @param - * n (long long int): - * Index of the fibonacci sequence - * @return long long int value -*/ - -/*long long int Sequences_sfibo(long long int n) { - int prev_number = 0, next_number = 1; - n = prev_number; - prev_number = next_number; - next_number = next_number + n; + if (n < 2) return n; -}*/ - -long long int Sequences_sfibo(long long int n){ - long long int prev_number = 0, next_number = 1, fibonacci_number = 0; - int index = 0; - - for (index = 0; index < n; index ++){ - fibonacci_number = prev_number; - prev_number = next_number; - next_number = next_number + fibonacci_number; - return fibonacci_number; - } - +return Sequences_rfibo(n - 1) + Sequences_rfibo(n - 2); } - - -/** - * Returns the value of the fibonacci sequence at index n calculated recursively - * @param - * n (long long int): - * Index of the fibonacci sequence - * @return long long int value -*/ - -/*long long int Sequences_rfibo(long long int n) { - if(n == 0) { - return 0; - } - else if(n == 1) { - return 1; - } - else { - return(recursive_fib(n - 1) + recursive_fib(n - 2)); - } -}*/ - -long long int Sequences_rfibo(long long int number){ - if (number == 0){ - return 0; - } - else if(number == 1){ - return 1; - } - else{ - return Sequences_rfibo(number - 1) + Sequences_rfibo(number - 2); - } -} - - -#undef Sequences_IMPORT -#undef EXTERN -#endif /* Sequences_h */ ->>>>>>> e94102e9b652f269c770d77c8267559b161b52fd diff --git a/Sequences.h b/Sequences.h index dac8ae0..89846f3 100644 --- a/Sequences.h +++ b/Sequences.h @@ -1,6 +1,6 @@ // // Sequences.h -// +// // // Created by Cesar Angeles on 07/09/2020. // @@ -15,6 +15,8 @@ #else #define EXTERN extern #endif +#define FILAS 25 +#define COL 4 /* Sequences.h -- Function prototypes */ diff --git a/diagnostic.c b/diagnostic.c new file mode 100644 index 0000000..435854c --- /dev/null +++ b/diagnostic.c @@ -0,0 +1,78 @@ +// +// Sequences.c +// +// +// Created by Alejandro Solorzano, Sergio Javier 08/09/2020 +// +/** +* Our sample program. +* @copyright 2008 by TDA +* @license as you wish +* @author Alejandro Solorzano, Sergio Javier +* @version 2020-08-09 +* @file +*/ + + +/* Include standard headers: */ +#include +#include +#include +#include + +/* Include modules header we directly invoke here: */ +#include "Sequences.h" +#include "files.h" + + + +int main(int argc, char **argv) +{ + /* Initialize modules: */ + long long int n = 0; + int index = 0; + clock_t start,stop; + double time = 0; + FILE *p = NULL; + long double buffer [FILAS][COL] = {0}; + p=file_new("test.dat","wt"); + + + + for (size_t i = 0; i < FILAS; i++) { + + + start = clock (); + for (index = 0; index <= 100; index++) { + Sequences_rfibo(i); + } + stop = clock (); + + + time = ((double)(stop-start))/CLOCKS_PER_SEC/100.0; + buffer [i][0] = i; + buffer [i][1] = time*1e3; + printf("Recursivo %f\t",time); + + start = clock (); + + for (index = 0; index <= 100; index++) { + Sequences_sfibo(i); + } + stop = clock (); + + + time = ((double)(stop-start))/CLOCKS_PER_SEC/100.0; + buffer [i][2] = time*1e9; + printf("Secuencial %f\n",time); + + } + + + + file_num_write(p, COL, buffer, FILAS); + fclose (p); + + + return 0; +} diff --git a/files.c b/files.c index 96d0a32..3fe87da 100644 --- a/files.c +++ b/files.c @@ -1,122 +1,20 @@ -<<<<<<< HEAD -// -// files.c -// -// -// Created by Cesar Angeles on 07/09/2020. -// - #include - -#define files_IMPORT -#include "files.h" - - - +#include FILE * file_new(char *name, char *mode){ - FILE * my_file = NULL; - - my_file = fopen(name, mode); - - if (my_file == NULL){ - puts("FILE OPEN ERROR"); - return NULL; - }else - return my_file; + FILE *fp; + fp = fopen (name, mode); + return fp; } - -void file_num_write(FILE * file,size_t columns, long double buff[][columns], size_t rows){ - size_t row, column = 0; - - for(row = 0; row < rows; row ++){ - for(column = 0; column < columns; column ++){ - fprintf(file, "%Lf\t", buff[row][column]); - } - fprintf(file, "\n"); - } +void file_num_write(FILE * file, size_t columns, long double buff[] [columns], size_t rows){ + int i,o; + for (i = 0 ; i < rows ; i++) + { + fprintf(file, "%Lf \t",buff[i][0]); + fprintf(file, "%Lf \t",buff[i][1]); + fprintf(file, "%Lf \t",buff[i][2]); + fprintf (file, "\n"); + } } -||||||| f46ea0f -======= -// -// files.h -// -// -// Created by Cesar Angeles on 07/09/2020. -// - -#ifndef files_h -#define files_h - -#include - -#ifdef files_IMPORT - #define EXTERN -#else - #define EXTERN extern -#endif - - -/* files.h -- Function prototypes */ - -/** - * Instanciates a new file pointer identified via its name and mode. - * @param - * name (char *): - * Name of the file - * mode (char *): - * Mode of file to be opened {r, rb, a, ab, w, wb} - * - * @return FILE * opened_file. -*/ - -FILE * file_new(char *name, char *mode){ - FILE * my_file = NULL; - - my_file = fopen(name, mode); - - if (my_file == NULL){ - puts("FILE OPEN ERROR"); - return NULL; - } - else - return my_file; -} - - - -/** - * Writes a bidimensional buffer array into a file. - * @param - * file (FILE *): - * Storage file - * columns (size_t ): - * length of the buffer array - * buff [ ][columns] (long double): - * RAM matrix - * rows (size_t): - * width of the storage buffer - * - * @return void. -*/ - -void file_num_write(FILE * file, size_t columns, long double buff[][columns], size_t rows) { - size_t row, column; - - for(row = 0; row < rows; row ++){ - for(column = 0; column < columns; column ++){ - fprintf(file, "%Lf\t", buff[row][column]); - } - fprintf(file, "\n"); - } -} - -#undef files_IMPORT -#undef EXTERN - - - -#endif /* files_h */ ->>>>>>> e94102e9b652f269c770d77c8267559b161b52fd diff --git a/files.h b/files.h index 254089b..9a227c8 100644 --- a/files.h +++ b/files.h @@ -1,6 +1,6 @@ // // files.h -// +// // // Created by Cesar Angeles on 07/09/2020. // @@ -9,6 +9,7 @@ #define files_h #include +#include #ifdef files_IMPORT #define EXTERN @@ -56,7 +57,3 @@ EXTERN void file_num_write(FILE * file, size_t columns, long double buff[] [colu #endif /* files_h */ - - -/*ietartivos en milisegundos -recursivos en segundos*/ \ No newline at end of file diff --git a/test.dat b/test.dat new file mode 100644 index 0000000..646c10a --- /dev/null +++ b/test.dat @@ -0,0 +1,25 @@ +0.000000 0.001000 0.003000 +1.000000 0.001000 0.002000 +2.000000 0.002000 0.001000 +3.000000 0.002000 0.002000 +4.000000 0.002000 0.002000 +5.000000 0.002000 0.001000 +6.000000 0.001000 0.001000 +7.000000 0.001000 0.000000 +8.000000 0.001000 0.001000 +9.000000 0.002000 0.001000 +10.000000 0.002000 0.001000 +11.000000 0.002000 0.001000 +12.000000 0.003000 0.001000 +13.000000 0.004000 0.001000 +14.000000 0.005000 0.001000 +15.000000 0.007000 0.001000 +16.000000 0.011000 0.001000 +17.000000 0.017000 0.001000 +18.000000 0.027000 0.001000 +19.000000 0.043000 0.001000 +20.000000 0.069000 0.001000 +21.000000 0.112000 0.001000 +22.000000 0.180000 0.001000 +23.000000 0.290000 0.001000 +24.000000 0.469000 0.001000 From b83dbb3a5dd0923194cf918bf42d6754815ad942 Mon Sep 17 00:00:00 2001 From: Alejandro Solorzano Date: Wed, 23 Sep 2020 11:04:20 -0500 Subject: [PATCH 2/2] Create 120093298_445616363077697_6481669934674483867_n.png --- ...298_445616363077697_6481669934674483867_n.png | Bin 0 -> 7730 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 120093298_445616363077697_6481669934674483867_n.png diff --git a/120093298_445616363077697_6481669934674483867_n.png b/120093298_445616363077697_6481669934674483867_n.png new file mode 100644 index 0000000000000000000000000000000000000000..66417801954d935f4a155540b24970fff2215f8e GIT binary patch literal 7730 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 literal 0 HcmV?d00001