Está en la página 1de 13

1

Universidad Virtual CNCI

Ingeniería en Tecnologías Computacionales

Alumno: Roldán Neftalí Simón Coy


Matricula: AL054534

Tutor: José Zamora Moreno

Clase: M4 Programación I IN C
Actividad 3 - Proyecto Modular Programación I

Mérida, 09 de mayo de 2020


2

INTRODUCCIÓN

La programación orientada a objetos es un enfoque de programación que combina datos y


acciones asociadas en estructuras lógicas. Este enfoque aumenta la capacidad para
administrar la complejidad del software, lo cual resulta especialmente importante cuando se
desarrollan y mantienen aplicaciones y estructuras de datos de gran tamaño. La programación
orientada a objetos es un paradigma de programación que usa objetos en sus interacciones,
para diseñar aplicaciones y programas informáticos. El cual está basada en varias técnicas,
incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.
La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la
programa, de manera que la forma de hacer las cosas puede ser diferente según el
programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son
correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien
es importante porque así nos podemos aprovechar de todas las ventajas de la POO.
3

QUE ES LA PROGRAMACION ORIENTADA

Un paradigma de programación que permite desarrollar aplicaciones manteniendo un código


más claro y manejable que otros paradigmas anteriores. La programación orientada a objetos
se define como un paradigma de la programación, una manera de programar específica,
donde se organiza el código en unidades denominadas clases, de la cuales se crean objetos
que se relacionan entre sí para conseguir los objetivos de las aplicaciones. La programación
orientada a objetos (POO) es una forma especial de programar, más cercana a como
expresaríamos las cosas en la vida real que otros tipos de programación. Al programar
orientado a objetos tenemos que aprender a pensar cómo resolver los problemas de una
manera distinta a como se realizaba anteriormente, en la programación estructurada. Para
considerar un lenguaje de programación como orientado a objetos se deben cumplir varias
condiciones. Debe soportar objetos, que deben tener un tipo o clase asociado y que estas
clases puedan heredar atributos de una clase superior o superclase. Actualmente existen una
gran variedad de lenguaje de programación orientados a objetos entre los que podemos
destacar: C++, Objective C (lenguaje principal de programación para Mac OSX, iOS), Java,
Ruby, Visual Basic, Visual C Sharp, Perl, Smalltalk, PHP o Python. C++ junto con Java, son
los dos lenguajes de programación orientada a objetos más utilizados actualmente. Python,
PHP y Ruby son tipos de lenguajes de programación orientada a objeto muy populares y
enfocados a la programación y desarrollo web

PORQUE ES IMPORTANTE LA PROGRAMACION ORIENTADA A OBJETOS

La importancia de esta programación radica en que, favorece la creación de programas de


calidad, fuerza en mantenimiento, en extensión y reutilización de programas. Está basada en
el modo de pensar del hombre y en el modo de trabajar de la máquina, el elemento básico de
esta programación no es solo la función sino un ente denominado objeto.
Dentro de la importancia de la POO están: Mantenibilidad: Son más sencillos de leer y
comprender, debido a que permiten ocultar detalles de implementación dejando visibles solo
aquellos detalles más relevantes. Reusabilidad: Los mecanismos de encapsulación de la
POO soportan un alto grado de reutilización de código, sé que incrementa por sus
mecanismos de herencia. Modificabilidad: Facilidad de añadir, suprimir o modificar nuevos
objetos permiten hacer modificaciones de una forma muy sencilla. Escalabilidad: Permite a
un sistema un crecimiento adaptable manteniendo la calidad y la facilidad de trabajo continuo
y fluido.
4

Beneficios de la POO: facilita la creación de programas visuales, construcción de prototipos,


agiliza el desarrollo de software, facilita el trabajo en equipo, facilita el mantenimiento del
software, proporciona conceptos y herramientas con las cuales se modela y representa el
mundo real tan fielmente como sea posible, los programas son fáciles de diseñar debido a que
los objetos reflejan elementos del mundo real, las aplicaciones son mas sencillas para los
usuarios debido a que los datos innecesarios están ocultos, los objetos son unidades auto
contenidas, la productividad se incrementa debido a que puede reutilizar el código, los
sistemas son fáciles de mantener y se adaptan a las cambiantes necesidades de negocios, es
más fácil crear nuevos tipos de objetos a partir de los ya existentes, simplifica los datos
complejos, reduce la complejidad de la transacción, confiablidad, robustez, capacidad de
ampliación y permite mostrar la magnitud de los lenguajes de programación basada en
objetos.

Comparativa de los lenguajes C y C++


C es un lenguaje libre estandarizado por ISO muy pequeño que admite programación
estructurada. Útil en programación de microchips, sistemas operativos, drivers y
programación web.
C++ es un lenguaje libre estandarizado por ISO muy grande, que admite: programación
estructurada, la totalidad de la POO (objetos, herencia simple, herencia múltiple,
polimorfismo, upcasting, downcasting, RTTI, interfaces, clases abstractas, clases amigas,
operadores, sobrecarga y mil cosas más avanzadas), programación genérica (plantillas, STL,
conceptos de contenedores, estructuras de datos genéricas y metaprogramación. Y otras
características mas avanzadas como los punteros inteligentes, programación lambda,
programación física, también se usa como programación por eventos, se usa para cualquier
cosa, desde sistemas operativos has los juegos 3D de última generación pasando por
servidores, pasando por las típicas aplicaciones de escritorio o un office u Open office, un
reproductor WinAMP y Windows media player, un explorador web, un cliente e-mule, un
cliente Torrent. Aunque C++ es un superconjunto de C, existen algunas diferencias entre los
dos. En primer lugar, en C cuando una función no toma parámetros, su prototipo tiene la
palabra void. Sin embargo, en C++ void no es necesario. Otra diferencia entre C y C++ es
que en un programa de C++ todas las funciones deben esta en forma de prototipo, en C los
prototipos se recomiendan, per son opcionales. Así que C es el lenguaje original, mientras
que C++ es una ampliación de C, por eso el ++.
5

Características principales
Características de C: Estructura de C – Lenguaje estructurado, programación de nivel
medio, no depende de hardware, por lo que se puede migrar a otros sistemas. Objetivos
generales, no es un lenguaje para una tarea específica, pudiendo programar tanto un sistema
operativo, una hoja de cálculo o un juego. Ofrece un control absoluto de todo lo que sucede
en el ordenador, organización del trabajo con total libertad, los programas son producidos de
forma rápida y son bastantes potentes, rico en tipo de datos, operadores y variables en C.
Características de C++: compatibilidad con bibliotecas: a través de bibliotecas hay muchas
funciones que están disponible y que ayudan a escribir código rápidamente. Orientado a
Objetos: el foco de la programación esta en los objetos y la manipulación y configuración de
sus distintos parámetros o prioridades. Rapidez: la compilación y ejecución de un programa
en C++ es mucho más rápida que en la mayoría de lenguajes de programación. Compilación:
en C++ es necesario compilar el código de bajo nivel antes de ejecutarse, algo que no ocurre
en otros lenguajes. Punteros: los punteros del lenguaje C, también están disponibles en C++.
Didáctico: Aprendiendo programación en C++ luego es mucho más fácil aprender lenguajes
como Java, C#, PHP, Javascript, etc.

ventajas y desventajas entre ambos lenguajes


ventajas de C: el lenguaje C ha sido pensado para ser altamente transportable. Un núcleo del
lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de
manejo de archivos, proporcionadas por bibliotecas. Es un lenguaje muy flexible que permite
programar con múltiples estilos. Usa un lenguaje de procesado, el preprocesador de c, para
tareas como definir macros e incluir múltiples archivos de código fuente, acceso a memoria
de bajo nivel mediante el uso de punteros. Interrupciones al procesador con uniones. Un
conjunto reducido de palabras claves. Por defecto, el paso de parámetros a una función se
realiza por valor punteros a funciones y variables estáticas, que permiten una forma
rudimentaria de encapsulado y polimorfismo. Gracias a este tipo de programas la tecnología
ha podido alcanzar un gran avance en todos los ámbitos tanto nacionales como
internacionales, es por eso que es necesario que este tipo de lenguaje se aprenda para poder
realizar utilerías capaces de trabajar y apoyar proyectos que ayudaran al manejo mas sencillo
de una empresa o en particular pequeñas aplicaciones en el hogar. El lenguaje C es
relativamente sencillo, pero su gran flexibilidad es terreno abandonado para la creación de
vicios y practicas no adecuadas de programación, por lo cual debe cuidarse la enseñanza de
su estilo de programación, técnica y filosofía de trabajo. Desventaja de C: al igual que otros
6

lenguajes tiene sus inconvenientes como: recolección de basura nativa, sin embargo, se
encuentran a tal efecto bibliotecas como la “libgc” desarrollada por Sun Microsystems, o el
recolector de basura de Boehm. Soporte para programación orientada a objetos, aunque la
implementación original de C++ fue un preprocesador que traducía código fuente de C++ a
C. Encapsulación. Funciones añadidas, aunque GCC tiene esta característica como extensión.
Polimorfismo en tiempo de código en forma d e sobrecarga, sobrecarga de operadores y solo
dispone de un soporte rudimentario para la programación genérica. Soporte nativo para
programación multihilo y redes de computadores. Carece de instrucciones de entrada y salida,
de instrucciones para manejo de cadenas de caracteres, con lo que este trabajo queda para la
librería de rutinas, con la consiguiente perdida de transportabilidad. La excesiva libertad en la
escritura de los programas puede llevar a errores en la programación que, por ser correctos
sintácticamente no se detectan a simple vista. Ventajas de C++: lenguaje de programación
orientado a objetos. Lenguaje muy didáctico, con este lenguaje se puede aprender muchos
otros lenguajes con gran facilidad, como C#, Java, Visual Basic, JavaScript, PHP, entre otros.
Es muy potente en lo que se refiere a creación de sistemas complejos, un lenguaje muy
robusto. Actualmente puede compilar y ejecutar código de C, ya viene con librerías para
realizar esta labor. Desventajas de C++: es mucho más difícil de usar que otros lenguajes de
programación. Es difícil programar bases de datos. Los punteros (es muy complicado su
sistema).

Cuál es la estructura que debe seguir el lenguaje C++ para que pueda ser ejecutado
Las estructuras nos permiten agrupar varios datos, que mantengan algún tipo de relación,
aunque sean de distinto tipo, permitiendo manipularlos todos juntos, usando un mismo
identificador, o cada uno por separado. Las estructuras son llamadas también muy a menudo
registros, o en inglés records.
Tienen muchos aspectos en común con los registros usados en bases de datos y siguiendo la
misma analogía, cada objeto de una estructura se denomina a menudo campo, o field.
Sintaxis:

struct [<identificador>] {
[<tipo> <nombre_objeto>[,<nombre_objeto>,...]];
} [<objeto_estructura>[,<objeto_estructura>,...];

El identificador de la estructura es un nombre opcional para referirse a la estructura. Los


objetos de estructura son objetos declarados del tipo de la estructura y su inclusión también es
opcional. En el interior de una estructura, entre las llaves, se pueden definir todos los
7

elementos que consideremos necesarios, del mismo modo que se declaran los objetos. Las
estructuras pueden referenciarse completas, usando su nombre, como hacemos con los
objetos que ya conocemos y también se puede acceder a los elementos definidos en el interior
de la estructura, usando el operador de selección (.), un punto. Una vez definida una
estructura, es decir, si hemos especificado un nombre para ella, se puede usar igual que
cualquier otro tipo de C++. Esto significa que se pueden declarar mas objetos del tipo de
estructura en cualquier parte del programa. Para ello usaremos la forma normal de
declaración de objetos, es decir:

[struct] <identificador> <objeto_estructura>


[,<objeto_estructura>...];

En C++ la palabra stuct es opcional en la declaración de objetos, al contrario de lo que sucede


en C, en el que es obligatorio usarla ejemplo:

struct Persona {
char Nombre[65];
char Direccion[65];
int AnyoNacimiento;
} Fulanito;

En este ejemplo define la estructura persona y declara a fulanito como un objeto de ese tipo.
Para acceder al nombre de fulanito, para visualizarlo usaremos esta forma.

cout << Fulanito.Nombre;


8

Inicialización de estructuras: de un modo parecido al que se inicializan los arrays, se pueden


inicializar estructuras, tan solo hay que tener cuidado con las estructuras anidadas. Ejemplo:

struct A {
int i;
int j;
int k;
};

struct B {
int x;
struct C {
char c;
char d;
} y;
int z;
};

A ejemploA = {10, 20, 30};


B ejemploB = {10, {'a', 'b'}, 20};

Cada nueva estructura añadida deberá inicializarse usando la pareja correspondiente de


llaves “{}”, tantas veces como sea necesario.

Definición y un ejemplo de las estructuras secuencial, selectiva y repetitiva.


Estructura Secuencial: la estructura secuencial es aquella en la que una acción sigue a otra
en secuencia. Las operaciones se suceden de tal modo que la salida de una es la entrada de la
siguiente y así sucesivamente hasta el fin del proceso. La asignación de esto consiste, en el
paso de valores o resultado a una zona de la memoria.

Ejemplo: estructura secuencial, como obtener el área de un triángulo.

Inicio

...

float b, h, a;

printf("Diga la base");

scanf("%f", &b);

printf("Diga la altura");

scanf("%f", &h);

a = (b*h)/2;

printf("El área del triángulo es %f", a)


9

Estructuras Selectivas: estas estructuras se utilizan para tomar decisiones (por eso también
se llaman estructuras de decisión o alternativas). Lo que se hace es Evaluar una condición y a
continuación en función del resultado, se lleva a cabo una opción u otra. Ejemplo: un Menú
en el cual es necesariamente selectivo.

{Algoritmo MENU a base de 'si ... entonces ... sino'}


Declaracion de variables
........ENTEROS: opcion
fin declaracion de variables
inicio
........mostrar por pantalla 'menu de opciones:'
........mostrar por pantalla '1. Diccionario de sinonimos'
........mostrar por pantalla '2. Diccionario de antonimos'
........mostrar por pantalla '3. Buscar palabra'
........mostrar por pantalla '4. Salir'
........leer del teclado la variable opcion
........SI opcion = 1 ENTONCES
................{lo que toque a esta opcion}
........SI NO, ENTONCES
................SI opcion = 2 ENTONCES
........................{lo que toque a esta opcion}
................SI NO, ENTONCES
........................SI opcion = 3 ENTONCES
................................{lo que toque a esta opcion}
........................SI NO, ENTONCES
................................SI opcion = 4 ENTONCES
......................................… que toque a esta opcion}
................................SI NO, ENTONCES
......................................… por pantalla 'opcion incorrecta'
................................fin del SI
........................fin del SI
................fin del SI
........fin del SI
fin
10

Estructuras Repetitivas: un bucle o lazo (Loop) es un segmento de un algoritmo o


programa, cuyas instrucciones se repiten un numero determinado de veces mientras se
cumple una determinada condición (existe o es verdadera la condición). SE debe establecer
un mecanismo para determinar las tareas repetitivas. Este mecanismo es una condición que
puede ser verdadera o falsa y que se comprueba una vez a cada paso o iteración del bucle
(total de instrucciones que se repiten en el bucle).

Un bucle consta de tres partes: decisión, cuerpo del bucle, salida del bucle. Ejemplo:

Inicio
SUMA 0
1: leer N
Si N = 0 entonces
Escribir SUMA
Ir_a fin
Si_no
Suma suma + N
FIN_SI
IR_A
11

CONCLUSION
Podemos concluir que la programación orientada a objetos es una forma de elaborar
soluciones de programación muy aproximadas a la realidad. La POO no es difícil, pero es una
manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de
hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los
programas de formas distintas, no todas ellas son correctas, lo difícil no es programar
orientado a objetos sino programar bien. Programar bien es importante porque así nos
podemos aprovechar de todas las ventajas de la POO. Con la POO tenemos que aprender a
pensar las cosas de una manera diferente, para escribir nuestros programas en términos de
objetos, propiedades, métodos, etc. Los beneficios de la programación orientada a objetos son
mas que los que pueden ver a simple vista. La POO permite reutilizar funcionalidades y hace
más fácil el mantenimiento del código, una aplicación usará varios objetos para cumplir su
objetivo, es decir es un rompecabezas de objetos. La programación orientada a objetos cuenta
con características como la abstracción, el encapsulamiento, la herencia, el polimorfismo, el
ocultamiento y la recolección de basura. Se han desarrollado numerosos lenguajes de
programación basados en el paradigma orientado a objetos. Por ejemplo, Java, C++, Perl,
Phyton, Ruby, Ada, entre otros.
12

BIBLIOGRAFIA

Soporte y fuentes Bibliográficos:


http://laprogramacionorientadaaobjetos.blogspot.com/2013/11/origen-de-la-poo.html

https://www.fullstack.pe/blog/programacion-orientada-a-objetos

https://www.ecured.cu/Programaci%C3%B3n_Orientada_a_Objetos#Introducci.C3.B3n

https://desarrolloweb.com/articulos/499.php

https://openwebinars.net/blog/que-es-la-programacion-orientada-objetos/

https://www.lainter.edu.mx/blog/2018/03/18/programacion-orientada-a-objetos/

https://douglaserikasal09.wordpress.com/2014/06/08/beneficios-de-la-programacion-orientada-a-
objetos/

https://www.ciberaula.com/cursos/java/ventajas_poo.php

https://sites.google.com/site/efectolinux/diferencias-de-c-y-c

https://openwebinars.net/blog/que-es-c/

https://lenguajesdeprogramacion.net/cpp/

https://sites.google.com/site/lenguajecprogramacion/ventajas-y-desventajas

http://isaepenoinformatica.blogspot.com/2014/05/ventajas-y-desventajas-de-lenguaje-c.html

https://paginas.matem.unam.mx/pderbf/images/mprogintc++.pdf

http://c.conclase.net/curso/?cap=003#003_estructura

https://www.uv.mx/personal/mansuarez/files/2014/02/Tema3_ControlFlujo.pdf

https://fantasyforce.weebly.com/uploads/2/7/4/1/27412235/doc6.pdf

https://virtual.itca.edu.sv/Mediadores/dlp/23_estructuras_secuenciales.html

https://www.studocu.com/es-mx/document/universidad-autonoma-de-baja-
california/programacion/resumenes/estructuras-selectivas-y-repetitivas/2899151/view

https://virtual.itca.edu.sv/Mediadores/dlp/241_estructuras_selectivas_simples.html

https://sites.google.com/site/informaticaieensma/home/estructuras-repetitivas-1
13

http://c.conclase.net/curso/?cap=011

También podría gustarte