Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• POO - atributos y métodos
Creado por Ing. Alvaro Enrique Ruano
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Estructura de Datos
Unidad V: Métodos de Ordenamiento
Retícula ISIC-2010-224: Programa: AED-1026/2016
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Constructores
• Destructores
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Búsqueda por método secuencial
• Búsqueda por método binario
• Búsqueda por método hashing
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• POO - atributos y métodos
Creado por Ing. Alvaro Enrique Ruano
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Estructura de Datos
Unidad V: Métodos de Ordenamiento
Retícula ISIC-2010-224: Programa: AED-1026/2016
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Constructores
• Destructores
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Búsqueda por método secuencial
• Búsqueda por método binario
• Búsqueda por método hashing
Creado por Ing. Alvaro Enrique Ruano
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Estructura de datos
Unidad 1: Introducción a las estructuras de datos
Retícula ISIC-2010-224: Programa: AED-1026;
TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Fundamentos de Programación
Unidad V: Modularidad
Retícula ISIC-2010-224: Programa: AED-1285
análisis a priori, a posteriori, costo de algoritmos, análisis iterativo, análisis recursivo, complejidad del algoritmo, orden de complejidad, notación asintótica
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Incluye los temas:
1.1 Complejidad de un algoritmo
• Espacial
• Temporal
1.2 Análisis asintótico
• Notaciones
• Clasificación de algoritmos
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Herencia
• Polimorfismo
Creado por Ing. Alvaro Enrique Ruano
Ingeniería en Sistemas Computacionales
Simulación
Algoritmo congruencial cuadrático
Programa que genera una serie de números pseudoaleatorios basándose en el algoritmo congrencial cuadratico, al final los muestra en pantalla.
Tecnológico Nacional de México
instituto Tecnológico Superior de Guasave
Ingeniería en Gestión Empresarial
Mercadotecnia Electrónica - Tecnologías de integración
Material desarrollado a forma de resumen de la materia de Mercadotecnia electrónica, Unidad 3 Tecnologías de Integración
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Estructura de datos
Unidad 1: Introducción a las estructuras de datos
Retícula ISIC-2010-224: Programa: AED-1026;
TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Fundamentos de Programación
Unidad V: Modularidad
Retícula ISIC-2010-224: Programa: AED-1285
análisis a priori, a posteriori, costo de algoritmos, análisis iterativo, análisis recursivo, complejidad del algoritmo, orden de complejidad, notación asintótica
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Incluye los temas:
1.1 Complejidad de un algoritmo
• Espacial
• Temporal
1.2 Análisis asintótico
• Notaciones
• Clasificación de algoritmos
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Herencia
• Polimorfismo
Creado por Ing. Alvaro Enrique Ruano
Ingeniería en Sistemas Computacionales
Simulación
Algoritmo congruencial cuadrático
Programa que genera una serie de números pseudoaleatorios basándose en el algoritmo congrencial cuadratico, al final los muestra en pantalla.
Tecnológico Nacional de México
instituto Tecnológico Superior de Guasave
Ingeniería en Gestión Empresarial
Mercadotecnia Electrónica - Tecnologías de integración
Material desarrollado a forma de resumen de la materia de Mercadotecnia electrónica, Unidad 3 Tecnologías de Integración
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Simulación
Algoritmo de productos medios
Ejemplo de aplicación que genera 10 número pseudoaleatorios basándose en el algoritmo de Productos Medios. También, ordena el arreglo resultante por medio del algoritmo de la Burbuja.
Tecnológico Nacional de México
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Estructura de Datos: AED-1026
Estructuras no lineales
Material de clase
Diplomado para la Formación y Desarrollo de las Competencias Docentes
MÓDULO 4. Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
Ejemplo de 3 instrumentos de evaluación
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Este material didáctico fue desarrollado para la asignatura de Tópicos Avanzados de Programación, del plan SCD-1027 2016
DIPLOMADO PARA LA FORMACIÓN DE COMPETENCIAS DOCENTES
MÓDULO 4: EVALUACIÓN.
4.4.1: INTEGRACIÓN DE LOS INSTRUMENTOS DE EVALUACIÓN AL PROYECTO GENERAL DE ASIGNATURA
Diplomado para la Formación y Desarrollo de las Competencias Docentes
MÓDULO 4. Evaluación
Tema 4.3.1. Actividad 1: Tabla comparativa de instrumentos de evaluación
Diplomado para la Formación de Competencias Docentes
Módulo 4: Evaluación.
4.2.2: Proceso de Evaluación
Actividad 2: Presentación Asertum - Hexágono de evaluación
Ingeniería en Sistemas Computacionales
Simulación
Algoritmo lineal
Programa que genera una serie de números pseudoaleatorios por medio del Algoritmo Lineal, al finalizar se aplica el método de ordenamiento Shell Sort para mostrar el conjunto ya ordenado.
Portafolio diagnóstico que se presenta para ser evaluado por pares, como actividad de aprendizaje del Tema 1 del MOOC «innovación educativa con recursos abiertos
Uno de los problemas a los que tenemos que enfrentarnos cuando creamos software es el control de errores, que pueden ser de diferentes tipos y naturaleza.
Quizás los mas difíciles de tratar son los errores lógicos, mas conocidos como BUGS, ya que por su naturaleza puede llevarnos horas y hasta días en solucionarlos.
En esta oportunidad veremos como controlar los errores en tiempo de ejecución, para lo cual en Java tenemos las Excepciones y la estructura try-catch-finally.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal de yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
Cursos gratis de programación en Java.Excepciones. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Se denomina motor de corriente alterna a aquellos motores eléctricos que funcionan con alimentación eléctrica en corriente alterna. Un motor es una máquina motriz, esto es, un aparato que convierte una forma determinada de energía en energía mecánica de rotación o par.
Una señal analógica es una señal generada por algún tipo de fenómeno electromagnético; que es representable por una función matemática continua en la que es variable su amplitud y periodo en función del tiempo.
Convocatoria de becas de Caja Ingenieros 2024 para cursar el Máster oficial de Ingeniería de Telecomunicacion o el Máster oficial de Ingeniería Informática de la UOC
Programación Orientada a Objetos - Unidad 5 Excepciones
1. TECNOLÓGICO NACIONAL DE MÉXICO
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Programación Orientada a Objetos
Unidad 5: Excepciones
PROGRAMACIÓN ORIENTADA A OBJETOS
2. Competencia de la unidad:
Comprende y aplica la clasificación de archivos y operaciones
básicas sobre éstos para manipular su información.
PROGRAMACIÓN ORIENTADA A OBJETOS
3. ¿Qué son las Excepciones?
• Ocasionalmente es posible que ciertas instrucciones no funcionen
adecuadamente o se encuentren con problemas de ejecución no
contemplados. C++ proporciona un mecanismo para manejar este tipo
de situaciones o errores en tiempo de ejecución llamado Excepciones.
• El mecanismo de excepciones está basado en las palabras clave: try,
catch y throw.
PROGRAMACIÓN ORIENTADA A OBJETOS
4. ¿Qué son las Excepciones?
• La forma en que trabaja éste mecanismo es que cuando ocurre un
evento o error inesperado C++ busca un segmento de código neutral,
esto es, la sección final del mecanismo, el bloque catch.
• Si todo salió bien y no se presentaron errores, únicamente se ejecutará
el código del bloque try, por lo tanto en éste caso el bloque catch es
completamente ignorado.
PROGRAMACIÓN ORIENTADA A OBJETOS
5. ¿Qué son las Excepciones?
• Es importante señalar que los únicos errores que se pueden controlar
son los producidos en tiempo de ejecución dentro del propio programa,
conocidos como errores síncronos.
• Es imposible controlar errores debido al mal funcionamiento del sistema
por cortes eléctricos, bloqueos de la computadora, etc.
PROGRAMACIÓN ORIENTADA A OBJETOS
6. • Podemos decir que el programa se prepara para cierta acción, decimos
que "lo intenta". Para ello se especifica un bloque de código cuya
ejecución se va a intentar ("try‐block") utilizando la palabra clave try:
PROGRAMACIÓN ORIENTADA A OBJETOS
7. • Un ejemplo sencillo sería la operación en la que se dividen dos
números, no puede realizarse una división entre cero por lo que C++
regresa un error crítico que provoca el cierre de la aplicación en caso de
no ser controlado por medio de una excepción.
PROGRAMACIÓN ORIENTADA A OBJETOS
8. El bloque catch
• Mediante la palabra clave catch especificamos el código encargado de
reaccionar ante una determinada excepción o conjunto de excepciones.
• En C++ es obligatorio que tras un bloque try se incluya al menos un
bloque catch, por lo que la sintaxis anterior quedaría completa de la
siguiente forma:
PROGRAMACIÓN ORIENTADA A OBJETOS
9. Lanzamiento de una excepción throw()
• Las excepciones no sólo las lanzan las funciones incluidas dentro de las
librerías externas, sino que nosotros podemos querer informar que algo
no ha ido bien dentro de la lógica de nuestro programa, esto se realiza
por medio de la instrucción throw().
PROGRAMACIÓN ORIENTADA A OBJETOS
10. El sistema tiene un número de excepciones predefinidas, que pueden, a su
vez, ser base para nuevas excepciones definidas por el programador.
• logic_error(str): son, en teoría, predecibles y por lo tanto evitables
mediante chequeos adecuados insertados en lugares estratégicos.
(#include <stdexcept>)
domain_error(str)
invalid_argument(str)
length_error(str)
out_of_range(str)
PROGRAMACIÓN ORIENTADA A OBJETOS
11. • runtime_error(str): son errores impredecibles y la única alternativa es
su manejo en tiempo de ejecución. (#include <stdexcept>)
range_error(str)
overflow_error(str)
underflow_error(str)
• bad_alloc(): lanzada en fallo en new (#include <new>)
• bad_cast(): lanzada en fallo en dynamic_cast (#include <typeinfo>)
• bad_typeid(): lanzada en fallo en typeid (#include <typeinfo>)
• bad_exception(): lanzada en fallo en la especificacion de excepciones
lanzadas por una función. (#include <exception>)
PROGRAMACIÓN ORIENTADA A OBJETOS
12. Excepciones definidas por el lenguaje
• Como ya lo vimos en diapositivas anteriores es posible utilizar las
excepciones que el propio lenguaje C++ proporciona para ciertos
aspectos, como verificar si se produce un error al asignar memoria a un
vector, etc.
PROGRAMACIÓN ORIENTADA A OBJETOS
13. • Ejemplo: vemos el ejemplo de como validar por medio de excepciones un
programa crea arreglos y les asigna memoria, en este caso utilizamos
punteros debido a que los arreglos se crean de forma dinámica por lo que
se debe asignar un espacio de memoria para cada uno.
• Definición de puntero: Un puntero es una variable que contiene la
dirección de memoria de un dato o de otra variable que contiene al dato en
un arreglo.
PROGRAMACIÓN ORIENTADA A OBJETOS
14. #include <iostream>
#include <exception>
using namespace std;
class arreglos {
public:
double *ptr[50];
arreglos();
void dinamico();
};
arreglos::arreglos() { }
PROGRAMACIÓN ORIENTADA A OBJETOS
void arreglos::dinamico() {
try {
for (int i= 0 ; i < 50; i++) {
// asignación dinámica de memoria
ptr[i] = new double[50000000];
cout << "Reservando memoria "
<< i << endl;
}
} catch (bad_alloc ex){
cout << "Error: " << ex.what() << endl;
}
}
int main()
{
arreglos arr;
arr.dinamico();
return 0;
}
Ejemplo:
15. Excepciones lanzadas por el usuario
Ejemplo de como lanzar excepciones: Se lanzará una excepción al momento de
capturar un numero menor o igual a cero.
try {
cout << “capture num: ”;
cin>>num;
fflush(stdin);
if (num <=0) throw invalid_argument(“Numero no valido”);
} catch (invalid_argument e) {
cout << “Error: ” << e.what();
}
PROGRAMACIÓN ORIENTADA A OBJETOS
16. • Otra forma de lanzar excepciones es disparándolas en una función
independiente, la cual se encarga de evaluar los argumentos necesarios
y determinar si hay o no que lanzar la excepción.
• struct: esta orden se emplea para agrupar variables de tipos
iguales o diferentes en un solo registro, con la misma se
pueden crear estructuras anónimas o estructuras con nombre;
PROGRAMACIÓN ORIENTADA A OBJETOS
17. Ejemplo de como lanzar una excepción por medio de un método auxiliar
PROGRAMACIÓN ORIENTADA A OBJETOS
//creamos una clase que contenga un struct
class valNum {
public:
struct NUM_NOVALIDO { };
valNum();
valNum(int x);
int num;
};
valNum::valNum(){ // contructor
num=0;
}
// metodo que lanza la excepción en caso de recibir un
// entero menor o igual a cero
valNum::validar(int x) {
if (num <= 0) {
throw NUM_NOVALIDO();
}
}
// capturamos un número entero y se llama la validación
int main() {
valNum v;
try {
cout<<"Número: ";
cin >> v.num;
fflush(stdin);
v.validar(v.num);
} catch ( ... ) {
// evalua cualquier tipo de excepcion recibida
cout << "Error inesperado" << endl;
}
cin.get();
}
18. Ejercicio:
• Realice un programa utilizando POO, debe capturar un número y
obtener su factorial.
• El factorial de un número (n!) es la multiplicación de los número que
van del 1 a dicho número.
• El programa debe validar desde una función independiente que no se
capturen números menores o iguales a cero, en caso de hacerlo debe
devolver una excepción y mostrar un error en pantalla.
• Debe incluir un menú que permita calcular un número indeterminado
de factoriales.
PROGRAMACIÓN ORIENTADA A OBJETOS
19. Práctica:
• Realice un programa utilizando POO, debe capturar dos números y
realice la división de ambos.
• Cuando un número es dividió entre cero C++ produce un error, en este
caso debes realizar la división en una función que regresa el resultado,
en caso de recibir un divisor cero debes lanzar una excepción y
regresarla al punto donde llamaste la función y mandar el mensaje a la
pantalla.
PROGRAMACIÓN ORIENTADA A OBJETOS
20. Proyecto para manejo de excepciones
• Utilizando POO desarrolle un programa que capture un número, y después
pregunte a que raíz se le desea convertir.
• Los números negativos reales tienen la propiedad de que no pueden ser
convertidos a raíces pares.
• Cuando un número negativo sea capturado y se intente convertir a una raíz
par debes lanzar una excepción e indicar en pantalla que no es posible
realizar el cálculo.
• Debes utilizar todos los recursos que C++ te proporciona para lograr validar
y lanzar la excepción.
PROGRAMACIÓN ORIENTADA A OBJETOS