RETO MES DE ABRIL .............................docx
Taller Conceptualizacion
1. TALLER # 2 – Conceptualización Lenguajes de Programación
Aprendiz: Andrés David Daza
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION
Ficha - 600182
Instructor: Iván Daniel Vela M.
1. consulta y definición los siguientes conceptos:
1
Sinergia: significa cooperación, es la integración de partes o sistemas que conforman
un objeto, para así lograr uno o varios objetivos conformados por cada una de las
partes.
2
Sistema Abierto: interactúa con su medio por lo cual permite recibir diferentes
recursos por como información y otro de la misma, e intercambiarla y utilizarla para si
mimo y de los demás.
3
Sistema Cerrado: es te sistema es lo contrario a un sistema abierto, o sea que no
permite cambios del mismo sistema no recibe recursos externos y no interactúa con
otros agentes externos en su medio, las ecuaciones de evolución temporal solo de
pende de variables y factores contenidas en la el sistema, opera con muy poca materia
y energía con el medio ambiente y por lo general es utilizado para sistemas
estructurados.
4
Entropía: es la conclusión que tiene todo sistema con el tiempo a deteriorarse
(estropear) La falta de ingreso de información, deserción del mismo, falta de recursos,
desorden etc.
Neguentropia: es la forma natural para que un lenguaje se modifique su estructura ya
sea apoyándose y adaptándose a subsistemas de otros sistemas para así evitar y
compensar su entropía.
Lenguaje de Bajo Nivel: es como tal el lenguaje que de la maquina, más exactamente
el leguaje binario el cual ejerce control directo sobre le maquina.
Lenguaje de Medio: Este lenguaje se encuentra ubicado entre lenguaje de alto y el bajo
nivel, este contiene similares características de los otros d lenguajes.
Lenguaje de Alto Nivel5: es te tipo de lenguaje se expresa con algoritmos de un forma
adecuada a la capacidad cognitiva humana.
1
http://definicion.de/sinergia/
http://es.wikipedia.org/wiki/Sistema_abierto
http://es.wikipedia.org/wiki/Portabilidad
3
http://www.virtual.unal.edu.co/cursos/economicas/2006086/lecturas/tema_2/organizacion_decisione
s/sistema_abierto.html
http://www.slideshare.net/raulortega3958/sistemas-cerrados-y-abiertos
http://es.wikipedia.org/wiki/Sistema_cerrado
4
http://es.wikipedia.org/wiki/Entrop%C3%ADa_(informaci%C3%B3n)
http://www.wordreference.com/definicion/entrop%C3%ADa
http://es.wikipedia.org/wiki/Entrop%C3%ADa
5
http://es.wikipedia.org/wiki/Lenguaje_de_alto_nivel-https://www.google.com.co/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&ved=0CEUQFjAG&url=http
2
2. Framework6: (Marco de trabajo) es un esquema para el desarrollo y la implementación
de una aplicación separa en la aplicación la gestión de datos las operaciones, definir
nombres de ficheros, su estructura, convecciones de programación etc. Sirve para
enfrentar y resolver problemas de índole similar.
Programación Estructurada7: es una técnica estructurada, que permite mejorar la
claridad, calidad y tiempo de desarrollo de un programa , utilizado las estructuras de
control secuencial, la selección y la iteración.
Programación Orientada a Objetos8: se usa el los objetos en sus interfaces para sus
iteraciones para diseñar aplicaciones y programas de computadora, en si es una forma
especial para programar, más cercana a como expresaríamos las cosas en la vida real
que otros tipos de programación.
Concepto de Función9: es un grupo de instrucciones con un objetivo en particular y
que se ejecuta al ser llamadas desde otra función y procedimiento, puede llamarse
múltiples veces o llamarse a si misma.
Puntero o apuntador10: es una variable que da referencia a una región de la memoria
, cuyo valor es una dirección memoria.
Vectores11: es una zona de almacenamiento continuo que contiene una serie de
elementos del mismo tipo, los elementos de la matriz, cada uno de los valores
contenidos tiene una posición asociada que se usara para accederlos.
Matrices12: conjunto de variables del mismo tipo que el considerado en matemática y
cuyo acceso se realiza por índices o líneas.
Cadenas de Caracteres13: en programación, palabra o ristra de caracteres o frase, es
una secuencia ordenada de longitud arbitraria de elementos que pertenecen a un cierto
lenguaje o alfabeto, análogas a una formula o a una oración.
%3A%2F%2Fwww.carlospes.com%2Fminidiccionario%2Flenguaje_de_alto_nivel.php&ei=prTyUtCFG8blk
Afj9oCABA&usg=AFQjCNH2z6jgiTz1O039cj38MQ-8GAajWw&bvm=bv.60799247,d.eW0&cad=rja
6
http://jordisan.net/blog/2006/que-es-un-framework/
http://es.wikipedia.org/wiki/Framework
7
http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_terminados/PolilibroFC/Unidad_III/Unid
ad%20III_8.htm
http://www.mailxmail.com/programacion-estructurada-caracteristicas-estructuras-controlsegmentacion-identacion_h
http://es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada
8
http://www.desarrolloweb.com/articulos/499.php
http://algonzalezpoo.wordpress.com/que-es-poo/
http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objeto
9
http://es.wikipedia.org/wiki/Funci%C3%B3n_matem%C3%A1tica
http://recursostic.educacion.es/secundaria/edad/4esomatematicasB/funciones1/quincena8_contenido
s_1a.htm
http://recursostic.educacion.es/descartes/web/materiales_didacticos/funciones_estudio_golbal_eda05
/concepto_funcion.htm
10
http://es.wikipedia.org/wiki/Puntero_(inform%C3%A1tica)
11
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Vectores
http://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica)
12
http://es.wikipedia.org/wiki/Matriz- http://msdn.microsoft.com/es-es/library/9b9dty7d.aspx
13
http://es.wikipedia.org/wiki/Cadena_de_caractereshttp://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Cadenas_de_caracteres
3. Definición de Herencia14: es un mecanismo muy utilizado en el desarrollo de software,
atreves de ella los diseñadores pueden crear nuevas clases partiendo de una clase o
de una jerarquía de clases ya existente evitando con ello el rediseño.
Definición de Polimorfismo15: es la propiedad por la que es posible enviar mensajes
sintácticamente iguales a objetos de tipos distintos.
Plantillas16: las plantillas también denominadas tipos parame trizados, son un
mecanismo de c++ que permite que un tipo pueda ser utilizado como parámetro en
la definición de una clase de función.
Excepciones17: en términos de lenguaje de programación, es la indicación de un
problema que ocurre durante la ejecución de un programa, pero la palabra en si significa
que este problema ocurre con poca frecuencia.
Que son expresiones booleanas18: se usan para determinar si un conjunto de una o
más condiciones es verdadero o falso, y el resultado de su evaluación es un valor de
verdad.
Consular que son las tablas de verdad, hacerla y explicarla
Tabla de la verdad.
19
En una tabla de la verdad se introducen los valores verdad de una proposición
compuesta, para cada combinación de valores de verdad que se pueda asignar a sus
componentes.
El valor verdadero se expresa como V o como 1 falso como F o como 0.
Definiciones en el cálculo lógico: Para establecer un Sistema formal se establecen las
definiciones de los operadores. Las definiciones se harán en función del fin que se
pretenda al construir el sistema que haga posible la formalización de argumentos:
Como razonamientos deductivos lógico-lingüísticos
Como construcción de un sistema matemático puro
Como una aplicación lógica en un Circuito de conmutación.
Para componer una tabla de verdad, pondremos la N variable en una línea horizontal,
debajo de estas variables desarrollamos las distintas combinaciones que se pueden
14
http://es.wikipedia.org/wiki/Herencia_(inform%C3%A1tica)
http://es.wikipedia.org/wiki/Polimorfismo_(inform%C3%A1tica)
http://cursos.aiu.edu/Lenguajes%20de%20Programacion%20Orientados%20a%20Objetos/PDF/Tema%2
04b.pdf
16
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Plantillas
http://www.zator.com/Cpp/E4_12.htm
17
http://es.wikipedia.org/wiki/Manejo_de_excepciones
http://www.fdi.ucm.es/profesor/gmendez/docs/prog0607/Tema5-Excepciones.pdf
http://msdn.microsoft.com/es-es/library/ms173160.aspx
18
http://www.cindoc.csic.es/isis/04-2-3.htm
http://huitoto.udea.edu.co/SistemasDiscretos/contenido/e_booleanas.html
http://www.ehowenespanol.com/expresion-booleana-info_235149/
15
19
http://es.wikipedia.org/wiki/Tabla_de_verdad
http://www.youtube.com/watch?v=9eOA7bKjkOI
4. formar con V y F, dando lugar a la distintas Nc, número de combinaciones. Normalmente
solo se representa la función para la que se confecciona la tabla de verdad, y en todo
caso funciones parciales que ayuden en su cálculo, en la figura, se pueden ver todas
las combinaciones posibles Cp, que pueden darse para el numero de variables dado.
Se utilizan 8 signos para relacionar las preposiciones:
Están también los de variable, a, b c que pueden ser verdaderas o falsas.
Los signos de negación se indican así:
Los símbolos de conjunciones indican así:
Los símbolos de disyunción se representan asi:
Implicación o condicional:
Equivalencia doble implicación o condicional:
5. A
V
V
F
F
B
V
F
V
F
1
V
V
V
V
2
V
V
V
F
3
V
V
F
V
4
V
V
F
F
5
V
F
V
V
6
V
F
V
F
7
V
F
F
V
8
V
F
F
F
9
F
V
V
V
10
F
V
V
F
11
F
V
F
V
12
F
V
F
F
13
F
F
V
V
14
F
F
V
F
15
F
F
F
V
16
F
F
F
F
De este modo una preposición puede tener 16 combinaciones posibles para cada proposición.
1. Según los temas consultados y el glosario aprendido durante el inicio del tema
de algoritmos y fundamentos de programación, realizar un ensayo comparativo
sobre las diferencias entre la programación estructurada y la programación
orientada a objetos. (El ensayo no debe ser mayor de tres paginas ni menos de
2)
Ensayo
El hombre siempre a querido ser poderoso; es la naturaleza del hombre. y siempre supo
que el conocimiento es un ingrediente primordial para tener poder. Esta es la premisa
que ha guiado al hombre desde tiempos remotos a hacer todo por obtener y almacenar
información del mundo que lo rodea.
Los pueblos primitivos acostumbraban a contar las cosas como personas, ovejas,
armas, bienes, etc. haciendo marcas en una piedra o utilizando palitos como
representación numérica. esto daba información de la cantidad de pertenencias que
poseían.
Las complicaciones no se hicieron esperar, muchas veces era necesario medir dos
cantidades, así que cada quien traía sus palitos y el que tuviera mayor cantidad de
palitos era el que tenia mayor cantidad de bienes.
6. Desde ese momento surgió la necesidad de crear símbolos asociados a cantidades.
este tipo de símbolos debería tener un orden. así, si se quería contar una cantidad de
objetos, el primer objeto se asignaba el primer símbolo y el segundo objeto el segundo
símbolo, y así sucesivamente. el símbolo utilizado para designar el ultimo objeto era el
símbolo que representaba la magnitud de la cantidad.
De esta forma surgió la noción del numero, ahora en lugar de comprar cada uno de los
palitos, con solo comprar los símbolos de los últimos objetos designados, esto era
suficiente para saber quien tenia mas bienes y objetos.
Pero a medida que iban creciendo las magnitudes al hombre se le complicaba el proceso
de conteo. EL hombre se dio cuenta de que su capacidad mental para realizar cálculos
es limitada y pues esto lo conllevo a crear una gran cantidad de herramientas para
realizar cálculos de cierta complejidad.
El ejemplo mas claro sobre el interés que tenia el hombre por conocer el mundo que lo
rodeaba y hasta cierto punto su comportamiento, puede encontrarse en las llamadas
piedras de STONEHENGE, esta piedra era como una especie de observatorio.
luego surgieron mas aparatos automáticos para ayudar a la necesidad de realizar
cálculos aritméticos, como el ábaco considerado como una de las primeras herramientas
mecánicas para la realización de cálculos aritméticos. luego llego la maquina pascal que
realizaba sumas y restas.
Así des pues de esta surgió la maquina de Hollerith que procesaba información del
censo de los estados unidos, la cual funcionaba con tarjetas perforadas, como una base
de datos, así formaría su compañía denominada IBM(INTERNATIONAL BUSINESS
MACHINES CORPORATION). luego se construyo el MARK, ENIVAC, UNIVAC, ETC.
Hasta la computadoras que conocemos hoy en día.
7. Resulta que para controlar este tipo de computadoras y maquinas, necesitamos un
programa que al indicarle unas instrucciones las almacena y da paso aúna serie de
proceso que involucra procesos del programa al cual se le llama programación y el grupo
encargado de dar el soporte lógico al sistema computacional o maquina es muy bien
llamado software, ya que es un conjunto de programas que trabajan en sinergia para
solucionar un problema o crear programas que exhiban un comportamiento deseado.
en un principio la computadora solo interpretaba el lenguaje especifico y de bajo nivel
conocido como código de maquina que consiste en cadenas de números 1 y 0 (sistema
binario) para facilitar la programación se remplaza la secuencia de unos y ceros por
letras de allí aparece el lenguaje de alto nivel también llamado lenguaje ensamblador.
como todo en la vida la programación también tiene reglas y un conjunto mas o menos
reducido de ordenes, expresiones, instrucciones y comandos que tienden a asemejarse
a una lengua natural acotada. Un programa esta formado por un algoritmo y la estructura
de datos como lo son programación estructurada y programación orientada a objetos.
La programación estructurada: es esta diseñada para mejorar la calidad Y el tiempo en
que tarda en desarrollarse un programa de la computadora utilizando únicamente
subrutinas t las tres estructuras SECUENCIAL, SELECTIVA, REPETITIVA.
la programación Orientada a objetos se usa los objetos en sus interfaces para sus
iteraciones para diseñar aplicaciones y programas de computadora, en si es una forma
especial para programar, más cercana a como expresaríamos las cosas en la vida real
que otros tipos de programación.
finalmente podemos concluir que el hombre siempre ideara y empleara nuevas forma
de superarse diariamente, ideando increíbles inventos como los ya mencionados
anterior mente. Empleando diferentes sistemas bien sean de información y
implementación a la programación, trabajando en sinergia con otros tipos de sistemas,
elementos externos o internos que nos rodean, bien sean que elijamos un sistema
abierto o cerrado. Para lograr desarrollar nuestro programa y cumplir con la expectativas
del cliente y alcanzar lo objetivos adecuada mente.
8. Hay que estructurar nuestro programa para que así este bien desarrollado tenga orden
claridad y tardemos menos tiempo en desarrollarlo, entender de forma clara como
funciona nuestro programa, elegimos programación estructurada. Para lograr un gran
presentación hay que mejorara las interfaces para sus iteraciones para si expresarnos
mas con la vida real y lograr esa interacción entre el usuario y la maquina se escoge la
estructura orientada a objetos.
para finalizar hay que tener encuentra que estos tipos de sistemas también podemos
implementarlo a a nuestra vida y otros tipos de trabajo para lograr una mayor eficacia y
productividad tanto en nuestra vida personal como laboral.
Consultar y explicar las diferencias entre los siguientes lenguajes de programación: C,
C++ y C#.
Lenguaje C20
Fue creado en 1972 por DENNIS M.RITCHIE en los laboratorios BELL basado en
BCLP (Lenguaje de Programación Básico Combinado). Orientado a la implementación
de sistemas operativos, es reconocido por la eficiencia en el código que produce y es
lenguaje de programación mas popular para crear software de sistemas y aplicaciones.
Es un lenguaje de tipos de datos estáticos, de medio nivel, dispone de estructuras del
lenguaje de alto nivel y dispone de contracciones que permite un control a muy bajo
nivel, posibilita mesclar código en ensamblador con código C o acceder directamente a
memoria, dispositivos y periféricos.
La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989.
El lenguaje que define este estándar fue conocido vulgarmente como ANSI C.
Posteriormente, en 1990, fue ratificado como estándar ISO. La adopción de este
estándar es muy amplia por lo que, si los programas creados lo siguen, el código es
portátil entre plataformas y arquitecturas.
Una de las características es escribir rápidamente nuevos compiladores para nuevas
plataformas, mantiene lo que realmente hace el programa bajo el control directo del
programador, y permite implementar la solución más natural para cada plataforma. sólo
la programación cuidadosa en lenguaje ensamblador produce un código más rápido,
pues da control total sobre la máquina, aunque los avances en los compiladores de C y
la complejidad creciente de los microprocesadores modernos han reducido
gradualmente esta diferencia.
Características
20
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. Uno de los
más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas
licencias de ruptura).
http://informatica.uv.es/estguia/ATD/apuntes/laboratorio/Lenguaje-C.pdf
http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)
http://www.monografias.com/trabajos4/lenguajec/lenguajec.shtml
9.
Usa un lenguaje de pre 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.
Por defecto, el paso de parámetros a una función se realiza por valor. El paso por
referencia se consigue pasando explícitamente a las funciones las direcciones de
memoria de dichos parámetros.
Tipos de datos agregados (struct) que permiten que datos relacionados (como un
empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen
como un todo (en una única variable "empleado").
Lenguaje C++21
Este lenguaje de programación empezó a desarrollarse en 1980. Su autor fue B:
Stroustrup, al comienzo era una extensión del lenguaje C que fue denominada C WITH
CLASSES. Este nuevo lenguaje comenzó a ser utilizado fuera de la ATT en 1983. El
nombre C++ es también del mismo año hace referencia al carácter del operador
incrementando de C (++), ante la gran difusión y éxito que iba obteniendo en el mundo
de lo programadores, el ATT comenzó a estandarizarlo internamente en 1987. En 1989
se formo un comité. ANSI (seguido algún tiempo después por un comité ISO) para
estandarizarlo a nivel americano e internacional.
Este lenguaje ha influido en algunos puntos muy importantes del ANSI C, como por
ejemplo en la forma de declarar las funciones, en los punteros a void, etc. En efecto,
aunque el C++ es posterior al C, sus primeras versiones son anteriores al ANDSI C, y
algunas de las mejoras de este fueron tomadas del C++.
Características
21
Tiene un conjunto completo de instrucciones de control.
Permite la agrupación de instrucciones.
Incluye el concepto de puntero (variable que contiene la dirección de otra
variable).
Los argumentos de las funciones se transfieren por su valor.
E/S no forma parte del lenguaje, sino que se proporciona a través de una
biblioteca de funciones.
Permite la separación de un programa en módulos que admiten compilación
independiente.
Tamaño pequeño -Uso extensivo de llamadas a funciones-Comandos breves
(poco tecleo).
Lenguaje estructurado.- Programación de bajo nivel (nivel bit)
Implementación de apuntadores - uso extensivo de apuntadores para la
memoria, arreglos, estructuras y funciones.
El uso de constructores de alto nivel.-El poder manejar actividades de bajonivel. -El generar programas eficientes.
La posibilidad de poder ser compilado en una variedad de computadoras, con
pocos cambios (portabilidad).
Un punto en contra es que tiene una detección pobre de errores, lo cual en
ocasiones es problemático para los principiantes
http://dis.um.es/~bmoros/privado/bibliografia/LibroCsharp.pdf
http://es.wikipedia.org/wiki/C%2B%2B#Diferencias_de_tipos_respecto_a_C
10. Lenguaje C #22
C Sharp (pronunciado si sharp en inglés) lenguaje de programación orientados a
objetos y estandarizado por Microsoft como parte de su plataforma .NET, que fue
aprobado como un estándar, es uno de los lenguajes de programación diseñados para
la infraestructura de lenguaje común.
Su sintaxis deriva del lenguaje C y C++ y utiliza el modelo de la plataforma .NET, similar
a la de java, aunque inscluye mejoras derivadas de otros lenguajes.
Aunque forma parte de la plataforma .NET, ésta es una API, mientras que C# es un
lenguaje de programación independiente diseñado para generar programas sobre dicha
plataforma. Ya existe un
compilador implementado que provee el
marco Mono - DotGNU, el cual genera programas para distintas plataformas
como Windows, Unix, Android, iOS, Windows Phone, Mac OS y GNU/Linux.
Características
Una de sus características es que es un lenguaje de programación simple pero
eficaz
Diseñado para escribir aplicaciones empresariales.
Es una evolución de los lenguajes c Y C++. Utiliza muchas de las características
de C++ en las áreas de instrucciones, expresiones y operadores.
presenta considerables mejoras e innovaciones en áreas como seguridad de
tipos, control de versiones, eventos y recolección de elementos no utilizados
(liberación de memoria).
proporciona acceso a los tipos de API más comunes: .NET Framework, COM,
Automatización y estilo C. Asimismo, admite el modo unsafe, en el que se
pueden utilizar punteros para manipular memoria que no se encuentra bajo el
control del recolector de elementos no utilizados.
Diferencia entre los lenguajes C / C++ / C#
22
Las diferencias mas relevantes de estos tres lenguajes son
El lenguaje C es un lenguaje estructurado que no brinda apoyo a la programación
orientada a (oop), mientras que C++, combina la programación estructurada con
la (oop) siendo hibrido, el lenguaje C# esta orientado a objetos puro.
El lenguaje C y C++ son lenguajes cuyos programas cuando se compilan, se
transforman a lenguaje de maquina, mientras que C# se corresponde a u
lenguaje intermedio, denominado MSIL, que luego so compila a código de
maquina con un compilador JUST UN TIME, en le tiempo de ejecución.
El lenguaje C Y C++ permite al programador administrar la memoria, corre bajo
la responsabilidad del mismo la asignación y liberación de memoria, en C#
ocurre todo lo contrario, la plataforma .NET administra la liberación de memoria
mediante un recolector de basura.
El lenguaje C y C++ generan código objeto con compatibilidad baja con respecto
a bibliotecas echas en otros lenguajes, mientras que el lenguaje C# se compila
con compatibilidad con programas escritos en cualquier lenguaje de la
plataforma .NET
http://es.wikipedia.org/wiki/C_Sharp
http://dis.um.es/~bmoros/privado/bibliografia/LibroCsharp.pdf
11.
En cuanto a rapidez el mas eficaz es el lenguaje C#, ya que las personas se ven
liberadas de administrar le devolución de memoria, realizada por el recolector de
basura.
En la calidad la menor taza de errores de programación esta en el lenguaje C#,
debido también al trabajo realizado por el recolector de basura, que remplaza al
programador en la tarea de administrar la memoria.
En mayor potencia es el lenguaje C++, ya que da riendas sueltas a los
programadores a rediseñar los diseños mas sofisticados y a administrar la
memoria a su conciencia.
El lenguaje C# servirá para la confección de programas altamente complejos,
con alta productividad e integración a la tecnología .NET, es te es el mas
importante de los lenguajes de la plataforma .NET.
La evidencia a entregar será un documento en Word con las consultas realizadas y el
ensayo propuesto, recuerde enviar su trabajo con la sintaxis para nombre anunciada por
el instructor (Nombre Aprendiz – Ficha – Nombre Trabajo) tanto en el asunto del
mensaje electrónico como en el nombre del archivo. El uso de esta sintaxis refleja
comprensión de las instrucciones y será
calificable.