El documento presenta una lista de conceptos clave relacionados con lenguajes de programación, incluyendo diferencias entre programación estructurada y orientada a objetos. También incluye un ensayo que contrasta estas dos aproximaciones, señalando que la programación estructurada se enfoca en la organización mientras que la orientada a objetos agrupa conjuntos de variables relacionadas en objetos.
tics en la vida cotidiana prepa en linea modulo 1.pptx
Conceptos programación, lenguajes y POO
1. TALLER NO. 2 CONCEPTUALIZACION LENGUAJES DE PROGRAMACION
DANIEL ESPINOSA GARZON
FICHA: 581708
FECHA: 30 enero de 2014
1. conceptos
*SINERGIA: es el trabajo en conjunto de dos o mas elementos.
http://es.wikipedia.org/wiki/Sinergia
*SISTEMA ABIERTO: son los que presentan intercambios con el sistema, a través
de entradas y salidas.
*SISTEMA CERRADO:Son los que no tienen relación con el ambiente.
http://www.slideshare.net/austinmi/sistemas-abiertos-y-cerrados
*ENTROPIA: proceso mediante el cual un sistema tiende a consumirse,
desorganizarse y morir. Perdida de información del sistema, mayormente en
sistemas cerrados.
*NEGUENTROPIA: necesidad de un sistema de abrirse para recibir energía y así
reestablecer los recursos consumidos en sus procesos.
http://es.scribd.com/doc/31570915/Entropia-y-Neguentropia
*LENGUAJE DE BAJO NIVEL: permiten al programador escribir instrucciones de
un programa usando abreviaturas, llamadas palabras nemotécnicas. Estos
lenguajes sonconocidos como ensambladores.Para que estas instrucciones
puedan ser leídas por la computadora ahí que transformarlas a lenguaje maquina
a través de programas ensambladores.
http://www.carlospes.com/minidiccionario/lenguaje_de_bajo_nivel.php
*LENGUAJE DE MEDIO NIVEL: Minoritariamente en algunos textos se diferencian
algunos lenguajes como de medio nivel, como el lenguaje C, ya que tienen ciertas
características que los acercan a los lenguajes de bajo nivel, como gestión de
punteros de memoria y registros, pero con sintaxis, vocabulario y gramática de alto
nivel.
* LENGUAJE DE ALTO NIVEL:Los lenguajes de programación de alto nivel se
caracterizan por expresar los algoritmos de una manera adecuada a la capacidad
cognitiva humana, en lugar de estar orientados a su ejecución en las máquinas.
2. http://guimi.net/descargas/Monograficos/G-Lenguajes_de_programacion.pdf
*FRAMEWORK O INFRAESTRUCTURA DIGITAL, es una estructura conceptual y
tecnológica de soporte definido, normalmente con artefactos o módulos
de software concretos, que puede servir de base para la organización y desarrollo
de software. Típicamente, puede incluir soporte de programas, bibliotecas, y
un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y
unir los diferentes componentes de un proyecto.
No es más que una base de programación que atiende a sus descendientes.
http://es.wikipedia.org/wiki/Framework
*PROGRAMACION ESTRUCTURADA:La programación estructurada es la técnica
de desarrollo de programas de la forma más clara posible haciendo uso de tres
estructuras de control: la secuencia, la selección y la interacción.
-Composición: La programación estructurada está compuesta
por segmentos de código que pueden incluir desde una instrucción hasta varias
páginas de estas.
-Estructuras de control: Son estructuras que permiten controlar el orden
de ejecución de las instrucciones contenidas dentro de ellas dependiendo de
condiciones previamente establecidas.
Secuencia: Se refiere al orden en la que las instrucciones de un
programa son ejecutadas, tal y como se tienen en el programa.
Selección: Es la posibilidad de elegir entre dos instrucciones, donde la
decisión se toma en base a la evaluación de una expresión a la que
llamamos condición.
Iteración: Es una estructura que se utiliza para repetir alguna instrucción
o grupo de instrucciones siempre que se cumpla una condición.
http://www.mailxmail.com/programacion-estructurada-caracteristicasestructuras-control-segmentacion-identacion_h
* Programación Orientada a Objetos:La programación orientada a objetos es una
forma de programar que trata de encontrar una solución a estos problemas.
Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya
conocidos. Entre ellos destacan los siguientes:
3. Clase
Definiciones de las propiedades y comportamiento de un tipo de objeto
concreto. La instanciación es la lectura de estas definiciones y la creación
de un objeto a partir de ellas.
Herencia
(Por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la
cual la clase D hereda en ella cada uno de los atributos y operaciones de C,
como si esos atributos y operaciones hubiesen sido definidos por la misma
D. Por lo tanto, puede usar los mismos métodos y variables públicas
declaradas en C. Los componentes registrados como "privados" (private)
también se heredan, pero como no pertenecen a la clase, se mantienen
escondidos al programador y sólo pueden ser accedidos a través de otros
métodos públicos. Esto es así para mantener hegemónico el ideal de POO.
Objeto
Instancia de una clase. Entidad provista de un conjunto de propiedades o
atributos (datos) y de comportamiento o funcionalidad (métodos), los
mismos que consecuentemente reaccionan a eventos. Se corresponden
con los objetos reales del mundo que nos rodea, o con objetos internos del
sistema (del programa). Es una instancia a una clase.
Método
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución
se desencadena tras la recepción de un "mensaje". Desde el punto de vista
del comportamiento, es lo que el objeto puede hacer. Un método puede
producir un cambio en las propiedades del objeto, o la generación de un
"evento" con un nuevo mensaje para otro objeto del sistema.
Evento
Es un suceso en el sistema (tal como una interacción del usuario con la
máquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. También se puede
definir como evento la reacción que puede desencadenar un objeto; es
decir, la acción que genera.
Atributos
Características que tiene la clase
Mensaje
Una comunicación dirigida a un objeto, que le ordena que ejecute uno de
sus métodos con ciertos parámetros asociados al evento que lo generó.
4. Propiedad o atributo
Contenedor de un tipo de datos asociados a un objeto (o a una clase de
objetos), que hace los datos visibles desde fuera del objeto y esto se define
como sus características predeterminadas, y cuyo valor puede ser alterado
por la ejecución de algún método.
Estado interno
Es una variable que se declara privada, que puede ser únicamente
accedida y alterada por un método del objeto, y que se utiliza para indicar
distintas situaciones posibles para el objeto (o clase de objetos). No es
visible al programador que maneja una instancia de la clase.
Componentes de un objeto
Atributos, identidad, relaciones y métodos.
Identificación de un objeto
Un objeto se representa por medio de una tabla o entidad que esté
compuesta por sus atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una "variable" no es más que
un contenedor interno del atributo del objeto o de un estado interno, así como la
"función" es un procedimiento interno del método del objeto.
http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
*FUNCION: Una función es un conjunto de líneas de código que realizan una tarea
específica y puede retornar un valor.
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Funciones
* PUNTERO O APUNTADOR: es una variable que da referencia a una región
de memoria; en otras palabras es una variable cuyo valor es una dirección de
memoria.
http://es.wikipedia.org/wiki/Puntero_(inform%C3%A1tica)
*VECTORES:es una zona de almacenamiento continuo, que contiene una serie de
elementos del mismo tipo.
http://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica)
*MATRICES: conjunto de variables (también llamado bloque) del mismo tipo que
el considerado en matemática, y cuyo acceso se realiza por índices o líneas.
http://es.wikipedia.org/wiki/Matriz
5. *CADENA DE CARACTERES: String es una secuencia de caracteres.
Ejemplos de cadenas son:
“Don Quijote de la Mancha”
“Hola Mundo”
“Apolo 13”
http://gpd.sip.ucm.es/yolanda/LP2/Cadenas.pdf
*HERENCIA: es específica de la programación orientada a objetos, donde una
clase nueva se crea a partir de una clase existente. La herencia (a la que
habitualmente se denomina subclases) proviene del hecho de que la subclase (la
nueva clase creada) contiene los atributos y métodos de la clase primaria. La
principal ventaja de la herencia es la capacidad para definir atributos y métodos
nuevos para la subclase, que luego se aplican a los atributos y métodos
heredados.
http://es.kioskea.net/contents/411-poo-herencia
*POLIMORFISMO: proviene del griego y significa que posee varias formas
diferentes. Este es uno de los conceptos esenciales de una programación
orientada a objetos. Así como la herencia está relacionada con las clases y su
jerarquía, el polimorfismo se relaciona con los métodos.
-POLIMORFISMO DE SOBRECARGA: El polimorfismo de sobrecarga
ocurre cuando las funciones del mismo nombre existen, con funcionalidad similar,
en clases que son completamente independientes una de otra (éstas no tienen
que ser clases secundarias de la clase objeto). Por ejemplo, la clase complex, la
clase image y la clase link pueden todas tener la función "display". Esto significa
que no necesitamos preocuparnos sobre el tipo de objeto con el que estamos
trabajando si todo lo que deseamos es verlo en la pantalla.
-POLIMORFISMO PARAMETRICO: El polimorfismo paramétrico es la
capacidad para definir varias funciones utilizando el mismo nombre, pero usando
parámetros diferentes (nombre y/o tipo). El polimorfismo paramétrico selecciona
automáticamente el método correcto a aplicar en función del tipo de datos
pasados en el parámetro.
Por lo tanto, podemos por ejemplo, definir varios métodos homónimos
deaddition() efectuando una suma de valores.
El método intaddition(int,int) devolvería la suma de dos números enteros.
floataddition(float, float) devolvería la suma de dos flotantes.
charaddition(char, char) daría por resultado la suma de dos caracteres definidos
por el autor.
etc.
6. Una signature es el nombre y tipo (estático) que se da a los argumentos de una
función. Por esto, una firma de método determina qué elemento se va a llamar.
-POLIMORFISMO SUBTIPADO: La habilidad para redefinir un método en
clases que se hereda de una clase base se llama especialización. Por lo tanto, se
puede llamar un método de objeto sin tener que conocer su tipo intrínseco: esto
es polimorfismo de subtipado. Permite no tomar en cuenta detalles de las
clases especializadas de una familia de objetos, enmascarándolos con una
interfaz común (siendo esta la clase básica).
http://es.kioskea.net/contents/413-oop-polimorfismo
*PALNTILLA: Las plantillas son el mecanismo de C++ para implantar el
paradigma de la programación genérica. Permiten que una clase o función trabaje
con tipos de datos abstractos, especificándose más adelante cuales son los que
se quieren usar. Por ejemplo, es posible construir un vector genérico que pueda
contener cualquier tipo de estructura de datos. De esta forma se pueden declarar
objetos de la clase de este vector que contengan enteros, flotantes, polígonos,
figuras, fichas de personal, etc.
*La programación genérica es un tipo de programación que está mucho
más centrada en los algoritmos que en los datos. La idea de esta forma de
programar pretende generalizar las funciones utilizadas para que puedan usarse
en más de una ocasión.
http://es.wikipedia.org/wiki/C%2B%2B
*EXCEPCIONES: En el lenguaje humano, una excepción es un elemento
excluyente de una regla, y de forma convencional se ha extendido esta definición.
En el lenguaje máquina, una excepción se trata, de forma general, de algo que no
se espera que ocurra, pero que puede ocurrir, similar al tratamiento de errores,
pero de los errores en tiempo de ejecución.
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Excepciones
*EXPRESIONES BOOLEANAS:Una expresión booleana es una expresión
algebraica que da lugar a uno de dos posibles valores, 1 ("verdadero") o 0
("falso"), conocidos como valores booleanos.
http://www.ehowenespanol.com/expresion-booleana-info_235149/
*TABLAS DE VERDAD: se utilizan en lógica simbólica para establecer la validez
de las proposiciones. La construcción de tablas de verdad simplifica la tarea de
determinar la verdad o falsedad de una proposición.
http://matematicasdiscretasisc.wordpress.com/2011/10/13/tablas-de-verdad-2/
7. P Y Q (P^Q), SOLO PUEDE SER VERDADERA SI AMBAS PREPOSICIONES
SON VERDADERAS.
P
Q
P^Q
V
V
V
V
F
F
F
V
F
F
F
F
8. 2. ENSAYO
Diferencias entre la programación estructurada y la programación orientada
a objetos.
La diferencia entre la programación estructurada y la programación
orientada a objetos es que la primera está enfocada de forma
organizacional es decir que cada elemento o conjunto este bien organizado
permitiendo así su fácil comprensión y maneja una lógica más visible,
mientras que la programación orientada a objetos es más un método para
moldes de datos de un conjunto como por ejemplo
Quieres una agenda tu objeto agruparía
*Nombre
*Dirección
*Edad
Un conjunto de Variables que tienen algo en común. Que Todas Juntas
forman un Objeto Agenda.
La programación orientada a objetos también se le conoce como
programación no estructurada, se dice que antes se manejaba la
programación de esta manera donde las instrucciones se ejecutaban en el
mismo orden en el que eran escritas. Por otro lado la programación
estructurada reutiliza el código permitiendo de este modo hacer menos el
programa, su código es más fácil pero aun así cuesta acostumbrarse a
manejarlo, permitiendo así su facilidad en el manteniendo y actualizaciones
posteriores.
La programación orientada a objetos tiene varia ventajas entre esas su
reusabilidad, su rapidez de desarrollo y mucho más fácil de leer por que se
usan métodos más cercanos a la realidad. Pero hay que tener en cuenta
que sus desventajas también son grandesentre las que más se podrían
destacar la limitación para el programador, porque se limita la ejecución solo
a buscar un modelado más cercano a la realidad dando especificaciones
muy detalladas sobre lo que se quiere lograr, formando de esa manera un
conjunto de datos relacionados.
9. Intenta ajustar el lenguaje al problema. La idea es diseñar formatos de datos
que se correspondan con las características esenciales de un problema.Si
se desea modificar los datos de un objeto, hay que realizarlo mediante la
función miembro del objeto. Ninguna otra función puede acceder a los
datos,es por esta razón que es un limitante para el programador.
Para pensar en objetos hay que imaginarse que es lo se quiere conseguir
es similar como cuando vemos las características de un carro donde no
fijamos en la marca, el color, su velocidad, etc.
Las propiedades o atributos son las características de los objetos.
Cuando definimos una propiedad normalmente especificamos su
nombre y su tipo. Nos podemos hacer a la idea de que las
propiedades son algo así como variables donde almacenamos datos
relacionados con los objetos.La herencia sirve para crear objetos que
incorporen propiedades y métodos de otros objetos. Así podremos
construir unos objetos a partir de otros sin tener que reescribirlo todo.
El polimorfismo sirve para que no tengamos que preocuparnos sobre
lo que estamos trabajando, y abstraernos para definir un código que
sea compatible con objetos de varios tipos.
La programación estructurada propone segregar los procesos en
estructuras lo más simple posibles.La representación grafica de la
programación estructurada se realiza a través de diagramas de flujo, el
cual representa el programa con sus entradas, procesos y salidas.
Entonces decir que un lenguaje de programación orientado a objetos
es más una metodología para desarrollar una idea tomando todas sus
características permitiendo así abarcar sus elementos y generar una
mejor idea de lo que se quiere lograr.
Aunque la programación no estructurada se ve más fácil su
contraparte también ofrece múltiples beneficios como la simplicidad en
los procesos, esto permite que un programa sea más extenso pero de
fácil entendimiento, todo es cuestión de lo que se quiera lograr. El
programador sabrá cual es el mejor modo de programar.
10. 3.Dirferencia entre c, c++ y c#
*C
Se trata de un lenguaje de tipos de datos estáticos, débilmente tipificado, de medio
nivel pero con muchas características de bajo nivel. Dispone de las estructuras
típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del
lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen
ofrecer extensiones al lenguaje que posibilitan mezclar código ensamblador con
código C o acceder directamente a memoria o dispositivos periféricos.
*C++
La intención de su creación fue el extender al exitoso lenguaje de
programación C con mecanismos que permitan la manipulación de objetos. En ese
sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es
un lenguaje híbrido.
*C#
C# (pronunciado si sharp en inglés) es un lenguaje de programación orientado a
objetos desarrollado y estandarizado por Microsoft como parte de su plataforma
.NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e
ISO (ISO/IEC 23270). C# es uno de los lenguajes de programación diseñados
para la infraestructura de lenguaje común.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma
.NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.
http://www.larevistainformatica.com/C1.htm