Está en la página 1de 36

Facultad de Ingeniería

Ingeniería de Sistemas de Información.


Ingeniería de Software.

Programación Orientada a
Objetos I
2022-2
Contenido.

Introducción

Desarrollo

Conclusiones

Referencias
Introducción
Introducción.

Qué es un algoritmo?

https://www.youtube.com/watch?v=U3CGMyjzlvM
Logro de Aprendizaje.

Al término de la sesión, el estudiante aprende conceptos de


paradigmas de programación, variables y tipos de datos en un
lenguaje de programación.
Desarrollo
¿Qué es un paradigma de programación?

Es una forma o estilo de programación de software. Existen


diferentes maneras de diseñar un lenguaje de programación y varios
modos de trabajar para obtener los resultados que necesitan los
programadores. Es un conjunto de métodos sistemáticos que se
aplican en todos los niveles del diseño de programas para resolver
problemas computacionales.

Los lenguajes de programación adoptan uno o varios paradigmas en


función del tipo de órdenes que permiten implementar como, por
ejemplo, Python o JavaScript, que son multiparadigmas.
Paradigma imperativo

Los programas consisten en una sucesión de instrucciones o conjunto


de sentencias, como una lista de órdenes concretas. El desarrollador
describe en el código paso por paso todo lo que hará su programa.

Algunos lenguajes: Pascal, COBOL, FORTRAN, C, C++, etc.


Otros enfoques del Paradigma imperativo

Programación estructurada: La programación estructurada es un tipo


de programación imperativa donde el flujo de control se define
mediante bucles anidados, condicionales y subrutinas, en lugar de a
través de GOTO.
Otros enfoques del Paradigma imperativo

Programación procedimental: Este paradigma de programación


consiste en basarse en un número muy bajo de expresiones
repetidas, englobarlas todas en un procedimiento o función y
llamarlo cada vez que tenga que ejecutarse.
Otros enfoques del Paradigma imperativo

Programación modular: consiste en dividir un programa en módulos


o subprogramas con el fin de hacerlo más manejable y legible. Se
trata de una evolución de la programación estructurada para resolver
problemas de programación más complejos.
Paradigma declarativo

No necesita definir algoritmos, este paradigma describe el problema


en lugar de encontrar una solución al mismo. Utiliza el principio del
razonamiento lógico para responder a las preguntas o cuestiones
consultadas.

Se divide en dos:
Programación Lógica: Prolog
Programación funcional: Lisp, Scala, Java, Kotlin
Programación orientada a objetos

En este modelo de paradigma se construyen modelos de objetos que


representan elementos (objetos) del problema a resolver, con
características y funciones. Permite separar los diferentes
componentes de un programa, simplificando así su creación,
depuración y posteriores mejoras.
En la programación orientada a objetos (POO) disminuyen los errores
y promociona la reutilización del código. Es una manera especial de
programar, que se acerca de alguna manera a cómo expresaríamos
las cosas en la vida real.
Programación orientada a objetos

En la programación orientada a objetos se sirve de diferentes


conceptos como:
• Abstracción de datos
• Encapsulación
• Eventos
• Modularidad
• Herencia
• Polimorfismo
Ejemplos de lenguajes de programación orientados a objetos: Java,
Python, C#. C++ es una extensión a C para soportar la POO.
Programación orientada a objetos

La POO es un método de programación en el cual los programas se


organizan en colecciones cooperativas de objetos, cada uno de los
cuales representa una instancia de alguna clase, y cuyas clases son,
todas ellas, miembros de una jerarquía de clases unidas mediante
relaciones de herencia.
• Usamos objetos en lugar de algoritmos como bloque fundamental
• Cada objeto es una instancia de una clase.
• Las clases están relacionadas entre sí por relaciones tan complejas
como la herencia.
Ventajas de la POO

• Proximidad de los conceptos modelados respecto a objetos del


mundo real.
• Facilita la reutilización de código. Y por tanto el mantenimiento del
mismo.
• Se pueden usar conceptos comunes durante las fases de análisis,
diseño e implementación.
• Disipa las barreras entre el qué y el cómo.
Desventajas de la POO

• Mayor complejidad a la hora de entender el flujo de datos. Pérdida


de linealidad
• Requiere de un lenguaje de modelización de problemas más
elaborado:
⁻ Unified Modelling Language (UML)
⁻ Representaciones gráficas más complicadas
Tipos de datos

Cuando trabajamos con un algoritmo que soluciona un problema por


medio de un programa de ordenador escrito en un lenguaje de
programación, siempre tenemos datos de entrada, con los que este
programa va a trabajar y va a generar unos datos de salida, que son la
información.
Tipos de datos simples en C++

En la siguiente tabla los tipos de datos simples en C++


Tipos de datos enteros en C++

Un número entero simplemente es cualquier número(natural) sin


punto por ejemplo 0 es de tipo entero, 846582 también lo es, pero
1.2 no porque tiene un punto y por eso no podríamos almacenar este
valor en una variable de tipo entero, para declarar una variable de
tipo entero utilizamos la palabra reservada int que significa integer
en inglés, se traduce como entero al español, posteriormente
añadimos el nombre de la variable, ejemplos de cómo se usa:
int casas = 5;
int elementos;
Tipos de datos punto flotante C++

Punto flotante: este tipo de datos es la solución para números que


tienen decimales como es el caso de 98.3, para declararlos se utiliza
la palabra reservada float, ejemplos de uso son:
float metros=8.53;
float dólares;
Tipos de datos texto C++

Texto: en este tipo de datos además de texto también pueden


incluirse números pero no pueden hacerse operaciones como suma,
resta u otras para lo cual se necesitaría int o float, para declarar una
variable con este tipo se emplea la palabra char que significa
character y se traduce como carácter, pero en este tipo de datos
además tenemos que indicar la cantidad de caracteres máxima que
se incluirán + 1 así es como "Estetexto" contiene 9 caracteres y
reservamos un total de 10 como mínimo, veamos cómo.
char carta[8] = "manzana" ;
char hoja[800] = "hola" ;
char ultimo[4000];
Tipos de datos string C++

El tipo de datos string es una clase pero su implementación es igual a


la de cualquier otro tipo de datos.
string libro = "Aquí un pequeño ejemplo";
string nombre;
Tipos de datos booleano C++

Booleano: Solo acepta dos tipos de valores, true que significa


verdadero o false que significa falso, se utiliza para guardar el estado
de un resultado por ejemplo si preguntamos 1=5 el resultado será
false porque uno no es igual a cinco y podemos almacenarlo en una
variable de tipo booleano, para declarar una variable booleana
utilizamos la palabra reservada bool, ejemplos serian:
bool reunir=false;
bool bicicleta;
Tipos de datos enumerados en C++

Los tipos enumerados son un mecanismo usado en C++ que permite


agrupar constantes simbólicas.

enum dias { lunes, martes, miercoles, jueves, viernes, sabado,


domingo };
for (int d = lunes; d <=domingo; d++) cout << d;
Tipos de datos complejos en C++

Matrices / Array
Los array son un tipo dato complejo, en el sentido de que permiten
guardar conjuntos de datos, pero siempre datos del mismo tipo.
int numeros[5] = { 1, 2, 3, 4, 5 };
En este ejemplo, el array numeros guarda 5 datos enteros.

Un array es una estructura estática, el tamaño del mismo no cambia a


lo largo de la ejecución del programa.
Tipos de datos complejos en C++

Estructuras
Las estructuras permiten guardar un conjunto de datos, pero dichos
datos pueden ser de distinto tipo.

/* declaración de estructura tiempo */


struct tiempo { int hora, minuto, segundo; };

En este ejemplo tenemos la estructura tiempo que tiene 3 enteros.


Operación básica de suma

#include <iostream>
using namespace std;
int main() {
int incremento = 1;
int valor = 10;
int valor_incrementado = valor + incremento;
std::cout << "Valor final: " << valor_incrementado;
return 0;
}
Operación básica de resta

#include <iostream>
using namespace std;
int main() {
int anio_actual = 2022;
int anio_nacimiento = 1995;
int edad = anio_actual - anio_nacimiento;
std::cout << "Tienes: " << edad << " anios";
return 0;
}
Operación básica de multiplicación

#include <iostream>
using namespace std;
int main() {
int dinero = 20;
int dinero_deseado = dinero * 3;
std::cout << "Me han dado " << dinero << " euros para ir al
cine, pero necesito " << dinero_deseado << " euros...";
return 0;
}
Operación básica de división

#include <iostream>
using namespace std;
int main() {
int precio_cine = 20;
int precio_deseado = precio_cine / 2; // precio_deseado
almacenara el valor 10
std::cout << "El cine cuesta " << precio_cine << " euros pero
me gustaria que costara " << precio_deseado << " euros";
return 0;
}
Consultas
Conclusiones
Conclusiones.

La forma de hacer las cosas cambia cada día, también muchos


lenguajes de programación se adaptan a nuevas formas de hacer las
cosas.
Normalmente se mezclan todos los tipos de paradigmas a la hora de
hacer la programación. Existen varios lenguajes de programación que
son considerados como multiparadigma, ya que permiten la
implementación y combinación de varias de estas estructuras en el
desarrollo de programas.
GRACIAS
Referencias.

Alvarez, I. (2014). Introducción a la Programación Orientada a


Objetos con C++. España. Universidad de Oviedo.
Deitel (2004). C# Programación orientada a objetos. Técnicas de
programación. Mexico. 2nd Edition.
Joyanes, L. (2011). Programación en java : algoritmos, programación
orientada a objetos e interfaz gráfica de usuario. México, D.F.:
McGraw-Hill.

También podría gustarte