SlideShare a Scribd company logo
1 of 13
Eficiencia en uso de recursos –
tiempo
Programación avanzada C++
Repaso
• Recordemos qué es un algoritmo
Un algoritmo es:
• Una secuencia de pasos para resolver un
problema, sus características son:
– Independiente: Del lenguaje de programación y de
la máquina.
– Definido: De pasos claros y concretos.
– Finito: En el número de pasos que usará.
– Preciso: Cada paso arroja un cálculo correcto.
– Recibe datos: Debe poseer datos de entrada.
Recursos necesarios para un programa
• Tiempo de procesador
• Memoria RAM
• Uso de recursos de procesador
• Los recursos no son infinitos, por eso se debe
analizar la eficiencia y desempeño de cada
algoritmo, para encontrar el equilibrio adecuado
entre realizar la tarea del programa usando la
menor cantidad de recursos posibles.
Tiempo de ejecución
• Tiempo de Ejecución
– El tiempo de Ejecución de un programa se mide
en función de N, lo que designaremos como T(N).
– Esta función se puede calcular físicamente
ejecutando el programa acompañados de un reloj,
o calcularse directamente sobre el código,
contando las instrucciones a ser ejecutadas y
multiplicando por el tiempo requerido por cada
instrucción.
Tiempo de ejecución (cont.)
• Así, un trozo sencillo de código como:
S1;
for(int x = 0; x < N; x++)
S2;
Va a tardar: T(N) = t1 + t2 * N
• Donde t1 es el tiempo que lleva ejecutar la
serie S1 de sentencias, y t2 es el que lleva la
serie S2.
Tiempo de ejecución (cont.)
• Habitualmente todos los algoritmos contienen
alguna sentencia condicional o selectiva,
haciendo que las sentencias ejecutadas
dependan de la condición lógica, esto hace
que aparezca más de un valor para T(N), es
por ello que debemos hablar de un rango de
valores:
Tmin(N) ≤ T(N) ≤ Tmax(N)
Ejemplo práctico para calcular tiempo
de ejecución.int main(){
int inicio, fin, t;
float tiempoSeg;
inicio = clock();//guarda tiempo inicial
/*Código a calcular el tiempo---lo podemos cambiar para ver cómo se
comportan diferentes algoritmos*/
/*Fin del código a calcular el tiempo*/
fin = clock();//guarda tiempo final
t = fin - inicio;//calcula tiempo transcurrido
tiempoSeg = ((float)t) / CLOCKS_PER_SEC;//investiga qué significa esta
línea
cout << "El tiempo (en segundos) transcurrido en el procedimiento fue:
" << tiempoSeg << "n";
system("pause");
return 0;
}//fin main
Probemos este código con varios sub-
algoritmos
Usando el ejemplo anterior,
investiga y responde lo siguiente
¿Cuánto tarda en ejecutarse este ciclo
for?
for(int i=0; i<1000;i++)
cout <<i<<"n";
¿Cuánto tarda este procedimiento de
arreglo estático?
int const TAM = 5;
int aE[TAM]; //aquí se declara el arreglo estático cuyo tamaño fijo
//está definido por la constante TAM
cout << "nARREGLO ESTATICOn";
srand(5);//"semilla" para generar números aleatorios
//ciclo para llenar el arreglo estático
for (int i = 0; i < TAM; i++){
cout << "Elemento " << i << " del arreglo: ";
aE[i] = rand();
cout << aE[i]<<"t";
}
cout << "n";//imprime en pantalla una línea en blanco
//ciclo para mostrar arreglo estático
for (int i = 0; i < TAM; i++)
cout << aE[i] << " ";
cout << "n";//imprime en pantalla una línea en blanco
¿Cuánto tarda este procedimiento de
arreglo dinámico?
int tamDin = 0; //variable que guarda el tamaño del arreglo
cout << "nARREGLO DINAMICOn";
cout << "Calcula el tamaño del arreglo de enteros: ";//indica a usuario tamaño deseado
srand(5);//"semilla" para generar números aleatorios
tamDin = rand(); //se guarda el tamaño en variable tamDin
cout << " " << tamDin << "n";//se muestra el tamaño aleatorio elegido
int *pArregloDin; //apuntador para guardar dirección de inicio del arreglo dinámico
pArregloDin = new int[tamDin]; //se aparta memoria dinámica para el arreglo pArregloDin
//ciclo para llenar los elementos del arreglo dinámico
for (int i = 0; i < tamDin; i++){
cout << "nElemento " << i << " ";
pArregloDin[i]=rand();
cout << pArregloDin[i];
}//fin for
cout << "n";//imprime en pantalla una línea en blanco
//ciclo para mostrar arreglo dinámico
for (int i = 0; i < tamDin; i++)
cout << pArregloDin[i] << " "; //fin for
cout << "n";//imprime en pantalla una línea en blanco
delete pArregloDin; //librea la memoria dinámica reservada para el arreglo

More Related Content

What's hot

Lenguaje C
Lenguaje CLenguaje C
Lenguaje Cfior
 
Codigo fuente
Codigo fuenteCodigo fuente
Codigo fuenteRASEC1984
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.Javier Cuenca
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos cCarlos
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referenciaAndres Bedoya Tobon
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++ Ronal Palomino
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++David
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicasCarlos
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#rezzaca
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
 
Factura en borland c++
Factura en borland c++Factura en borland c++
Factura en borland c++Luis Coba
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++die_dex
 

What's hot (20)

Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Programación 1: funciones en C
Programación 1: funciones en CProgramación 1: funciones en C
Programación 1: funciones en C
 
Divisores de un número (código Dev C++)
Divisores de un número (código Dev C++)Divisores de un número (código Dev C++)
Divisores de un número (código Dev C++)
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Codigo fuente
Codigo fuenteCodigo fuente
Codigo fuente
 
Practicas de programacion 11 20
Practicas de programacion 11 20Practicas de programacion 11 20
Practicas de programacion 11 20
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Programación 1: cadenas en C
Programación 1: cadenas en CProgramación 1: cadenas en C
Programación 1: cadenas en C
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos c
 
2.4 Bucles Repetitivos
2.4 Bucles Repetitivos2.4 Bucles Repetitivos
2.4 Bucles Repetitivos
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referencia
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicas
 
Presentación 09 Cajas blanca
Presentación 09 Cajas blancaPresentación 09 Cajas blanca
Presentación 09 Cajas blanca
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
Factura en borland c++
Factura en borland c++Factura en borland c++
Factura en borland c++
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 

Viewers also liked

Optimizacion de sistemas Angel Perez
Optimizacion de sistemas Angel PerezOptimizacion de sistemas Angel Perez
Optimizacion de sistemas Angel Perezanyuzz
 
Auditoria informática
Auditoria informáticaAuditoria informática
Auditoria informáticaNorberto Lugo
 
Auditoria Informatica
Auditoria InformaticaAuditoria Informatica
Auditoria InformaticaJams21
 
optimizacion de sistemas vanessa romero
optimizacion de sistemas vanessa romero optimizacion de sistemas vanessa romero
optimizacion de sistemas vanessa romero vaneeromero
 
El ciclo de un proyecto de servicio (Cuarta parte): Implementación
El ciclo de un proyecto de servicio (Cuarta parte): ImplementaciónEl ciclo de un proyecto de servicio (Cuarta parte): Implementación
El ciclo de un proyecto de servicio (Cuarta parte): ImplementaciónRotary International
 
8 introduccion a la auditoria de calidad
8 introduccion a la auditoria de calidad8 introduccion a la auditoria de calidad
8 introduccion a la auditoria de calidadUVM
 
Auditoria calidad I
Auditoria calidad IAuditoria calidad I
Auditoria calidad Iluismarlmg
 
Mi auditoria de calidad v2-mayo 2012
Mi auditoria de calidad v2-mayo 2012 Mi auditoria de calidad v2-mayo 2012
Mi auditoria de calidad v2-mayo 2012 Luz Gomez Velez
 
Tema 4 auditoría del sistema de gestión de la calidad
Tema 4 auditoría del sistema de gestión de la calidadTema 4 auditoría del sistema de gestión de la calidad
Tema 4 auditoría del sistema de gestión de la calidadSeguridad E Higiene Laboral
 
Auditoria De La Calidad
Auditoria De La CalidadAuditoria De La Calidad
Auditoria De La CalidadUNIDEG
 

Viewers also liked (17)

Optimizacion de sistemas Angel Perez
Optimizacion de sistemas Angel PerezOptimizacion de sistemas Angel Perez
Optimizacion de sistemas Angel Perez
 
Apuntes 11
Apuntes 11Apuntes 11
Apuntes 11
 
Auditoria informática
Auditoria informáticaAuditoria informática
Auditoria informática
 
Auditoria Informatica
Auditoria InformaticaAuditoria Informatica
Auditoria Informatica
 
Auditoria
AuditoriaAuditoria
Auditoria
 
optimizacion de sistemas vanessa romero
optimizacion de sistemas vanessa romero optimizacion de sistemas vanessa romero
optimizacion de sistemas vanessa romero
 
El ciclo de un proyecto de servicio (Cuarta parte): Implementación
El ciclo de un proyecto de servicio (Cuarta parte): ImplementaciónEl ciclo de un proyecto de servicio (Cuarta parte): Implementación
El ciclo de un proyecto de servicio (Cuarta parte): Implementación
 
Auditoria software
Auditoria softwareAuditoria software
Auditoria software
 
8 introduccion a la auditoria de calidad
8 introduccion a la auditoria de calidad8 introduccion a la auditoria de calidad
8 introduccion a la auditoria de calidad
 
Auditoria calidad I
Auditoria calidad IAuditoria calidad I
Auditoria calidad I
 
Mi auditoria de calidad v2-mayo 2012
Mi auditoria de calidad v2-mayo 2012 Mi auditoria de calidad v2-mayo 2012
Mi auditoria de calidad v2-mayo 2012
 
Auditoria De Calidad
Auditoria De CalidadAuditoria De Calidad
Auditoria De Calidad
 
Auditoria calidad final2
Auditoria calidad final2Auditoria calidad final2
Auditoria calidad final2
 
Tema 4 auditoría del sistema de gestión de la calidad
Tema 4 auditoría del sistema de gestión de la calidadTema 4 auditoría del sistema de gestión de la calidad
Tema 4 auditoría del sistema de gestión de la calidad
 
Auditoria de calidad
Auditoria de calidadAuditoria de calidad
Auditoria de calidad
 
Auditoria De La Calidad
Auditoria De La CalidadAuditoria De La Calidad
Auditoria De La Calidad
 
Auditorias de calidad
Auditorias de calidadAuditorias de calidad
Auditorias de calidad
 

Similar to Eficiencia en uso tiempo

Eficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecuciónEficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecuciónUVM
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezVanessa Ramirez
 
ANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOSANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOSerwin_alexander
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAdamari Cortes
 
Ctrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidadCtrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidadMiguel sosa
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2luzenith_g
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmosrehoscript
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7lenithoz
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoLincoln School
 

Similar to Eficiencia en uso tiempo (20)

Eficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecuciónEficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecución
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
ANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOSANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOS
 
Resumen
ResumenResumen
Resumen
 
Resumen
ResumenResumen
Resumen
 
Manual.es
Manual.esManual.es
Manual.es
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacio
 
Ctrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidadCtrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidad
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2
 
Tema4
Tema4Tema4
Tema4
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
 
Principios de Programacion
Principios de ProgramacionPrincipios de Programacion
Principios de Programacion
 
Foro de integracion
Foro de integracionForo de integracion
Foro de integracion
 
Clase 2
Clase 2Clase 2
Clase 2
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7
 
Foro de integracion
Foro de integracionForo de integracion
Foro de integracion
 
Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicas
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 

More from UVM

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programaciónUVM
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaUVM
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosUVM
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglosUVM
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadoresUVM
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicosUVM
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funcionesUVM
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funcionesUVM
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bitsUVM
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreUVM
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3UVM
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuarioUVM
 
Función main()
Función main()Función main()
Función main()UVM
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++UVM
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoUVM
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++UVM
 
Objetos y arreglos en C#
Objetos y arreglos en C#Objetos y arreglos en C#
Objetos y arreglos en C#UVM
 
Una solución para agregar estructura de repetición
Una solución para agregar estructura de repetición Una solución para agregar estructura de repetición
Una solución para agregar estructura de repetición UVM
 
Repaso previo a 2º examen parcial
Repaso previo a 2º examen parcialRepaso previo a 2º examen parcial
Repaso previo a 2º examen parcialUVM
 
Polimorfismo
PolimorfismoPolimorfismo
PolimorfismoUVM
 

More from UVM (20)

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Función main()
Función main()Función main()
Función main()
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 
Objetos y arreglos en C#
Objetos y arreglos en C#Objetos y arreglos en C#
Objetos y arreglos en C#
 
Una solución para agregar estructura de repetición
Una solución para agregar estructura de repetición Una solución para agregar estructura de repetición
Una solución para agregar estructura de repetición
 
Repaso previo a 2º examen parcial
Repaso previo a 2º examen parcialRepaso previo a 2º examen parcial
Repaso previo a 2º examen parcial
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 

Recently uploaded

ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 

Recently uploaded (20)

ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 

Eficiencia en uso tiempo

  • 1. Eficiencia en uso de recursos – tiempo Programación avanzada C++
  • 2. Repaso • Recordemos qué es un algoritmo
  • 3. Un algoritmo es: • Una secuencia de pasos para resolver un problema, sus características son: – Independiente: Del lenguaje de programación y de la máquina. – Definido: De pasos claros y concretos. – Finito: En el número de pasos que usará. – Preciso: Cada paso arroja un cálculo correcto. – Recibe datos: Debe poseer datos de entrada.
  • 4. Recursos necesarios para un programa • Tiempo de procesador • Memoria RAM • Uso de recursos de procesador • Los recursos no son infinitos, por eso se debe analizar la eficiencia y desempeño de cada algoritmo, para encontrar el equilibrio adecuado entre realizar la tarea del programa usando la menor cantidad de recursos posibles.
  • 5. Tiempo de ejecución • Tiempo de Ejecución – El tiempo de Ejecución de un programa se mide en función de N, lo que designaremos como T(N). – Esta función se puede calcular físicamente ejecutando el programa acompañados de un reloj, o calcularse directamente sobre el código, contando las instrucciones a ser ejecutadas y multiplicando por el tiempo requerido por cada instrucción.
  • 6. Tiempo de ejecución (cont.) • Así, un trozo sencillo de código como: S1; for(int x = 0; x < N; x++) S2; Va a tardar: T(N) = t1 + t2 * N • Donde t1 es el tiempo que lleva ejecutar la serie S1 de sentencias, y t2 es el que lleva la serie S2.
  • 7. Tiempo de ejecución (cont.) • Habitualmente todos los algoritmos contienen alguna sentencia condicional o selectiva, haciendo que las sentencias ejecutadas dependan de la condición lógica, esto hace que aparezca más de un valor para T(N), es por ello que debemos hablar de un rango de valores: Tmin(N) ≤ T(N) ≤ Tmax(N)
  • 8. Ejemplo práctico para calcular tiempo de ejecución.int main(){ int inicio, fin, t; float tiempoSeg; inicio = clock();//guarda tiempo inicial /*Código a calcular el tiempo---lo podemos cambiar para ver cómo se comportan diferentes algoritmos*/ /*Fin del código a calcular el tiempo*/ fin = clock();//guarda tiempo final t = fin - inicio;//calcula tiempo transcurrido tiempoSeg = ((float)t) / CLOCKS_PER_SEC;//investiga qué significa esta línea cout << "El tiempo (en segundos) transcurrido en el procedimiento fue: " << tiempoSeg << "n"; system("pause"); return 0; }//fin main
  • 9. Probemos este código con varios sub- algoritmos
  • 10. Usando el ejemplo anterior, investiga y responde lo siguiente
  • 11. ¿Cuánto tarda en ejecutarse este ciclo for? for(int i=0; i<1000;i++) cout <<i<<"n";
  • 12. ¿Cuánto tarda este procedimiento de arreglo estático? int const TAM = 5; int aE[TAM]; //aquí se declara el arreglo estático cuyo tamaño fijo //está definido por la constante TAM cout << "nARREGLO ESTATICOn"; srand(5);//"semilla" para generar números aleatorios //ciclo para llenar el arreglo estático for (int i = 0; i < TAM; i++){ cout << "Elemento " << i << " del arreglo: "; aE[i] = rand(); cout << aE[i]<<"t"; } cout << "n";//imprime en pantalla una línea en blanco //ciclo para mostrar arreglo estático for (int i = 0; i < TAM; i++) cout << aE[i] << " "; cout << "n";//imprime en pantalla una línea en blanco
  • 13. ¿Cuánto tarda este procedimiento de arreglo dinámico? int tamDin = 0; //variable que guarda el tamaño del arreglo cout << "nARREGLO DINAMICOn"; cout << "Calcula el tamaño del arreglo de enteros: ";//indica a usuario tamaño deseado srand(5);//"semilla" para generar números aleatorios tamDin = rand(); //se guarda el tamaño en variable tamDin cout << " " << tamDin << "n";//se muestra el tamaño aleatorio elegido int *pArregloDin; //apuntador para guardar dirección de inicio del arreglo dinámico pArregloDin = new int[tamDin]; //se aparta memoria dinámica para el arreglo pArregloDin //ciclo para llenar los elementos del arreglo dinámico for (int i = 0; i < tamDin; i++){ cout << "nElemento " << i << " "; pArregloDin[i]=rand(); cout << pArregloDin[i]; }//fin for cout << "n";//imprime en pantalla una línea en blanco //ciclo para mostrar arreglo dinámico for (int i = 0; i < tamDin; i++) cout << pArregloDin[i] << " "; //fin for cout << "n";//imprime en pantalla una línea en blanco delete pArregloDin; //librea la memoria dinámica reservada para el arreglo

Editor's Notes

  1. Leer más: http://www.monografias.com/trabajos27/complejidad-algoritmica/complejidad-algoritmica.shtml#ixzz3G8CE0vTm
  2. Leer más: http://www.monografias.com/trabajos27/complejidad-algoritmica/complejidad-algoritmica.shtml#ixzz3G8Dzewfu