SlideShare una empresa de Scribd logo
1 de 23
Taller N°1
Edgar Fernando Chávez
José Alberto Céspedes Mape
José Martin Sánchez Cardoso
Juan Sebastián Botero
Agosto 2017.
Universidad del Tolima
Tecnología en Gestión de Bases de Datos.
Programación Orientada a Objetos
1. Elabore un cuadro comparativo, en el que pueda establecer diferencias y
relaciones entre los niveles de programación.
LENGUAJES DE
BAJO NIVEL
LENGUAJES DE
ALTO NIVEL
LENGUAJES DE
MEDIO NIVEL
DIFERENCIAS  Depende de la
arquitectura del hardware
y al funcionamiento físico
del ordenador.
 Estos lenguajes
como están diseñados a
medida del hardware,
aprovechan al máximo
las características del
mismo.
 Los lenguajes de bajo
nivel más conocido son:
Lenguaje maquina y
Lenguaje Ensamblador.
 El lenguaje maquina
consiste en el conjunto
de instrucciones que un
determinado procesador
es capaz de entender y
ejecutar.
 Cada procesador tiene su
propio lenguaje maquina,
depende a su vez del
modelo.
 El lenguaje ensamblador
usa símbolos
mnemotecnicos y cifras
decimales.
 Estos lenguajes
como están diseñados a
medida del hardware
aprovechan al máximo
las características del
mismo.
 El lenguaje maquina
consiste en el conjunto
de instrucciones que un
determinado procesador
es capaz de entender y
ejecutar.
 Están mas orientados al
problema que tienen
que resolver que a la
maquina.
 Intentan reproducir
modelos de la realidad,
con ciertos grados de
abstracción.
 Un programa escrito en
un lenguaje de alto
nivel, se puedes migrar
de una máquina a otra
sin ningún tipo de
problema.
 Los programas escrito
en este lenguaje se
deben de traducirse al
lenguaje maquina del
ordenador que tiene
que ejecutarlo.
 La traducción se realiza
de dos manera
diferentes, las cuales
son Interpretación y
Compilación.
 Los lenguajes más
usados dentro de esta
categoría son:
FORTRAN, COBOL,
IMS, Pascal, Java, C y
C++.
 La traducción se realiza
de dos maneras
diferentes, las cuales
son Interpretación y la
Compilación.
 Pueden acceder a los
registros del sistema,
trabajar con direcciones
de memoria, y a la vez
realizar operaciones de
alto nivel.
 Dentro de estos
lenguajes podría
situarse C.
Son precisos para
ciertas aplicaciones
como la creación
de sistemas operativos
SEMEJANZAS  Siguen normas determinadas con el objetivo de que el computador entienda las
instrucciones y ejecutarlas.
 Se debe tener un carácter lógico y secuencial para manipular cualquier lenguaje de
programación.
 La capacidad de comunicarse directamente con el procesador de la computadora
en lenguaje ensamblador o incluso en código máquina puede resolver los
problemas que las capas de abstracción de un lenguaje de alto nivel pueden
dificultar.
2. Investigue y elabore un mapa conceptual sobre la evolución de los
lenguajes de programación, de acuerdo a las generaciones de estos y su
importancia.
3. Mediante un cuadro comparativo indique las diferencias y coincidencias
de los lenguajes de programación (Delphi, PLI, RPG, Visual .NET, Modula.),
distintos a los explicados en la unidad de aprendizaje.
Delphi PLI RPG Visual .NET Modula
DIFERENCIAS  Se creó con
el propósito
de agilizar la
creación de
software
basándolo en
una
programación
visual.
 Usado en el
desarrollo de
aplicaciones
visuales y
bases de
datos cliente-
servidor.
 Creado
con el
objetivo de
resolver las
necesidades
aplicaciones
científicas y
comerciales.
 Muchas de
sus
caracteristic
as fueron
usadas por
el lenguaje C
y algunas de
C++.
 Orientado
originalment
e para
generar
informes
comerciales
o de
negocios.
 Emplea
hojas de
codificación
diferentes
para la
descripción
de ficheros,
entrada de
datos, salida
de
resultados,
etc.
 Se puede
considerar
una
evolución
de Visual
Basic.
 Al igual
que con
todos los
lenguajes
de
programaci
ón basados
en .NET,
los
programas
escritos en
VB .NET
requieren
el
Framework
.NET o
Mono para
ejecutarse.
 Introduce el
concepto de
módulo, y de
encapsulación
.
 Incapacidad
de declarar
múltiples
instancias de
los módulos.
 Ausencia de
todo tipo de
herencia.
 Usado para
enseñar
lenguaje
estructurado.
COINCIDENCIA  La mayoría de estos lenguajes son Orientados a Objeto o sentaron las bases
para la posterior realización de este tipo de lenguaje.
 Son lenguajes de alto nivel, ya que no depende del hardware.
 El PLI y el RPG fueron desarrollados por IBM.
 A pesar de ser diferentes, estos lenguajes tienen un area en comun, el
campo comercial y/o de negocios.
4. Por medio de un mapa conceptual explique que es un programa y un
lenguaje de programación.
5. Que diferencias o relaciones puede establecer entre los paradigmas de
programación mencionados en la unidad de aprendizaje Paradigmas de
Programación.
Diferencias
 Paradigma imperativo o por procedimientos: Describe la programación
como una secuencia instrucciones o comandos que cambian el estado de un
programa. El código máquina en general está basado en el paradigma
imperativo.
 Paradigma Funcional: es un paradigma de programación declarativa
basado en la utilización de funciones matemáticas.
 El Paradigma Lógico: trata sobre La programación lógica que consiste en
la aplicación del corpus de conocimiento sobre lógica para el diseño de
lenguajes de programación. En cambio, el Paradigma Orientado a Objetos
habla sobra La Programación Orientada a Objetos; es un paradigma de
programación que usa objetos y sus interacciones para diseñar aplicaciones
y programas de computadora.
Relaciones
En cuanto a su relación se puede encontrar es que todas manejan datos, a pesar
de sus diferentes tipo de estructura. Además se puede encontrar de que todas se
basan en el manejo del mundo de lo abstracto (Software) y no en lo físico
(Hardware). Por último debemos de recordar de que existen lenguajes
multiparadigmas, esto ayuda mucho a suplir necesidades que un paradigma tiene
frente a otro.
6. Investigue y explique la diferencia entre los términos: lenguaje,
compilador, interpretador, programa fuente y programa objeto o ejecutable.
Lenguaje
Según la definición teórica, como lenguaje se entiende a un sistema de
comunicación que posee una determinada estructura, contenido y uso. La
programación es, en el vocabulario propio de la informática, el procedimiento de
escritura del código fuente de un software. De esta manera, puede decirse que la
programación le indica al programa informático qué acción tiene que llevar a cabo
y cuál es el modo de concretarla.
El término programación se define como un conjunto de instrucciones
consecutivas y ordenadas que llevan a ejecutar una tarea específica. Dichas
instrucciones se denominan “código fuente”, el cual es único para cada lenguaje y
está diseñado para cumplir una función o propósito específico. Usan diferentes
normas o bases para controlar el comportamiento de un dispositivo y también
pueden ser usados para crear programas informáticos. En la actualidad, hay más
de cien lenguajes de programación diferentes, estos se clasifican en dos tipos
principales:
Lenguajes de programación de bajo nivel. Son aquellos utilizados para
controlar el hardware (partes tangibles) del aparato y dependen directamente de la
máquina, es decir, que no pueden ser usados en aparatos diferentes para los que
fueron creados. Estos lenguajes son los que ordenan las operaciones esenciales
para el funcionamiento del dispositivo. También es conocido como código
máquina. Su funcionamiento es complejo, por lo que lo utilizan principalmente los
fabricantes de hardware. Con ellos se pueden programar tareas como
reproducción de audio o video, mostrar imágenes, realizar operaciones
matemáticas, movimiento del puntero, asignación, liberación de memoria, entre
otras.
Lenguajes de programación de alto nivel. Estos lenguajes son más parecidos al
humano. No dependen de la máquina y sirven principalmente para crear
programas informáticos que puedan solucionar distintos tipos de necesidades.
Ahora bien, algunos de los lenguajes de programación más utilizados son SQL,
PHP, C y Java.
• SQL: son las siglas de Structured Query Language (Lenguaje Estructurado de
Consulta). Su función principal es actuar sobre una base de datos y extraer su
contenido para almacenar, introducir, actualizar, eliminar y consultar información.
Suele ser usado en la construcción de páginas web y aplicaciones de escritorio.
• PHP: es un acrónimo recursivo que significa PHP Hypertext Pre-processor. Es
utilizado para el desarrollo de sitios online, ya que es posible combinarlo con
HTML. Es un lenguaje de lado del servidor, es decir, que primero se ejecuta en
éste y posteriormente regeresa al navegador del usuario como resultado una
página web.
• C: lenguaje orientado principalmente a los sistemas operativos. Se puede crear
un software para sistemas operativos como Windows o Linux, también es muy
usado en robótica para crear simuladores o para experimentos informáticos,
físicos, matemáticos, etc.
• Java: es uno de los lenguajes favoritos ya que permite construir programas que
gestionan la memoria del dispositivo donde reside la aplicación, como por ejemplo
herramientas, juegos y apps. Es utilizado en dispositivos móviles, aparatos de
televisión y computadores personales. Suele ser asociado a Java Script, que es
otro tipo de lenguaje para crear pequeños programas encargados de realizar
acciones dentro de páginas webs, como por ejemplo crear efectos especiales o
para definir la interactividad con los usuarios.
Compilador
Un compilador es un programa informático, que se encarga de traducir el código
fuente de una aplicación que este en desarrollo, es decir convierte un programa
hecho en lenguaje de programación de alto nivel a un lenguaje de máquina , el
cual es conocido como de bajo nivel, de tal forma que sea más entendible y
mucho más fácil de procesar en el equipo en el que se esta ejecutando.
Los compiladores son programas muy grandes que permiten la comprobación de
errores. Algunos compiladores pueden traducir lenguaje de alto nivel a un lenguaje
ensamblador intermedio, que luego se traduce a código de máquina por un
programa ensamblador. Otros compiladores generan código de máquina
directamente.
Todo lenguaje de alto nivel tiene un compilador incorporado. Básicamente, el
compilador es la parte central de dicho lenguaje, porque define y traduce las
instrucciones recibidas.
Las ventajas del utilizar un compilador son:
 El programa ejecutable no incluye el código fuente, por lo tanto, el código
compilado es más seguro.
 Un programa compilado se ejecutan más rápidamente que un programa que
está siendo interpretado al momento de ejecutarse.
Las desventajas de utilizar un compilador son:
 El código objeto necesita crearse para obtener el archivo ejecutable final, si el
programa es muy largo, el proceso de compilación puede ser muy lento.
El código fuente debe estar libre de errores para que el archivo ejecutable se
genere.
Interprete
Es un programa informático capaz de analizar y ejecutar otros programas, escritos
en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en
que mientras estos traducen un programa desde su descripción en un lenguaje de
programación al código de máquina del sistema, los intérpretes sólo realizan la
traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y
normalmente no guardan el resultado de dicha traducción.
La desventaja principal de los interpretadores es que cuando se interpreta un
programa, típicamente corre más lentamente que si hubiera sido compilado. La
diferencia en velocidades puede ser minúscula o grande; a menudo un orden de
magnitud y a veces más. Generalmente toma más tiempo correr un programa bajo
un interpretador que correr el código compilado, pero puede tomar menos tiempo
para interpretarlo que el tiempo total requerido para compilarlo y ejecutarlo. Esto
es especialmente importante si se está haciendo y probando un código prototipo
cuando un ciclo de editar, interpretar y depurar del interpretador, a menudo puede
ser mucho más corto que el ciclo de editar, compilar, ejecutar y depurar del
compilador.
La interpretación de código es más lenta que la ejecución de código compilado
porque el interpretador debe analizar cada sentencia en el programa cada vez que
es ejecutada y entonces realizar la acción deseada, mientras que el código
compilado solo realiza la acción dentro de un determinado contexto fijo por la
compilación. Este análisis en tiempo de ejecución se conoce como "sobrecarga
interpretativa". En un interpretador, el acceso a las variables es también más lento
porque el mapeo de identificadores hacia las localizaciones de almacenamiento
debe hacerse repetidamente en tiempo de ejecución en vez de en el tiempo de
compilación. Hay varios compromisos entre la velocidad de desarrollo al usar un
interpretador y la velocidad de ejecución al usar un compilador.
Programa Fuente
Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al
lenguaje de la maquina, es decir el programa que no está en código de máquina y
que por lo tanto no puede ser ejecutable.
Es aquel que nos permite escribir un algoritmo mediante un lenguaje formal. Por
eso al código desarrollado al programar se le llama código fuente.
Programa Objeto
Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable
por esta.
Es el resultado de traducir un programa fuente para obtener un lenguaje
comprensible por la máquina.
7. Si tuviera que elaborar un programa para solucionar un problema
especifico, que criterios aplicaría para elegir el lenguaje de programación.
El lenguaje de programación debe tener integridad conceptual, claridad,
simplicidad, unidad, legibilidad, también debe suministrar estructuras de datos,
operaciones, y estructuras de control apropiadas al tipo de problemas al que se
aplicará, así como una sintaxis en la que se puedan expresar de forma natural las
soluciones a tales problemas.
Adicional a esto debe contar con:
 Soporte para la abstracción
 Facilidad para la verificación de programas
 Entorno de programación
 Portabilidad de los programas
 Homogeneidad en el tratamiento externo e interno de los conceptos
 Coste de uso
 Coste de ejecución de programas
 Coste de traducción
 Coste de creación, prueba y uso de programas
 Coste de mantenimiento de programas
 Buena definición
 Sintaxis y semántica sean precisas, in ambiguas, legibles, comprensibles y, a
ser posible, formales
8. Como ingeniero de sistemas debe asumir el reto de programar una
bascula para vehículos de carga. El problema consiste en que al entrar los
vehículos se sitúan sobre la bascula, momento en el que se toma el peso
con la carga. Después de descargar el vehículo, este lo deben ubicar
nuevamente sobre la báscula, para tomar el peso del vehículo sin carga. La
necesidad es que a través de un dispositivo electrónico se registre cada uno
de los pesos y se le envíen a un computador, de forma automática para
posteriormente realizar los cálculos del peso de la carga y liquidación del
valor de esta. Que lenguaje de programación elegiría y porque?
Se elegiría el lenguaje Java, por dos motivos principales:
1. Su conjunto de prestaciones bastante amplio: herencia, tipificación de datos
estricta, modularidad, control de excepciones, polimorfismo, concurrencia, carga
dinámica de librerías, garbagecollection y una amplia colección de librerías
estándar.
2. Con Java, puedo realizar aplicaciones móviles (Android), y trabajar con
servidores en la parte de back-end. De esta forma me será más fácil interactuar
con el usuario a través de cualquier dispositivo móvil.
9. En una empresa que tiene gran afluencia de personal interno (empleados)
y externo (visitantes), se requiere del desarrollo e implementación de un
software que facilite el control de acceso del personal de la empresa y los
ajenos a ella, mediante cámaras y censores biométricos dactilares. En el
caso del personal de la empresa el censor biométrico, registrara los datos de
entrada y salida, fecha y hora, los que son transferidos al programa de
nomina, para la liquidación de la nomina. En el caso del personal ajeno a la
empresa el sistema conservara las fotos, fecha y hora de entrada y salida.
Para el desarrollo de esta aplicación que software elegiría y porque?
El software que se eligiera es Netbeans, mis motivos son:
1. Es un producto libre y gratuito sin restricciones de uso.
2. Permite integrar varios lenguajes de programación en un solo trabajo.
3. Desde el año 2000 es el principal patrocinador de proyectos.
10. Incluya las respuestas a las Actividades de Aprendizaje, que resolvió
para esta sesión.
10.1. Cuál es la diferencia entre compilador e intérprete?
Los compiladores difieren de los intérpretes en varios puntos:
 El compilador traduce todo el programa fuente a código maquina, con el que se
obtiene el programa objeto.
 En el compilador se puede ejecutar tantas veces como sea necesarios sin tener
que traducir cada vez.
 Un intérprete traduce el programa cuando lo lee, convirtiendo el código del
programa directamente en acciones.
 Un archivo compilado es aproximadamente 10 a 20 veces más rapido que un
archivo interpretado.
 El intérprete traduce un programa línea a línea mientras que el compilador
traduce el programa entero y luego lo ejecuta.
10.2. ¿Por qué la capacidad de los computadores influye en la evolución de
los lenguajes de programación?
Porque a que los lenguajes de programación depende mucho del hardware para
su funcionamiento y viceversa, es por eso que al tener unos computadores o
equipos electrónicos más eficientes se podrá realizar tareas que el software
ordena en velocidades más altas. Cabe señalar que el desarrollo de los
computadores a influido mucho en el quehacer diario y gracias a esto han hecho
que muchos lenguajes de programación se evolucionen para que se acomoden a
nuestras necesidades actuales, con esto también ha llevado a inventar lenguajes
de programación más sencillos de entender con el fin de de ser más asequibles
para las personas y así realizar casi cualquier labor de la manera más fácil y
económica posible.
10.3. ¿Un programa escrito en lenguaje de alto nivel se ejecuta más rápido
que un programa escrito en lenguaje de bajo nivel?
Falso, un lenguaje de bajo nivel se ejecuta más rápido considerando que en el
lenguaje de alto nivel se tiene que hacer un proceso para traducirlo a lenguaje
maquina (el cual es un lenguaje de bajo nivel). Por otro lado en el lenguaje de bajo
nivel se trabaja directamente con la maquina, esto lo hace más rápido y preciso a
la hora de ejecutar, pero tiene la desventaja de ser muy poco entendible y
complicado a la hora de utilizarlo.
10.4. ¿En qué consiste la arquitectura de Von Neumann?
El modelo Von Neumann, fue una propuesta realizada por el matemático del
mismo nombre, en ella se define las bases de la computación y de los
ordenadores actuales. Propone que los programas y datos se representen en
código binario, que haya un centro de control que ejecute el programa
secuencialmente o con saltos según indiquen las instrucciones y que acceda y
trabaje con los datos almacenados en dispositivos de memoria.
Diagrama de la arquitectura Von Neumann.
10.5. ¿Qué constituye el entorno de programación?
Un entorno de programación es un programa o conjunto de programas que
engloban todas las tareas necesarias para el desarrollo de un programa o
aplicación. Estas tareas son básicamente las siguientes:
 Edición del programa.
 Compilación y enlazado.
 Ejecución.
 Depuración.
Hay quien además incluye la creación de documentación complementaria que
facilita el mantenimiento del programa dentro de estas funciones.
Este tipo de entornos incorporan numerosas herramientas, utilidades, aplicaciones
ya desarrolladas, ejemplos, tutoriales, etc. Todas ellas encaminadas a facilitar y
mejorar el desarrollo.
Editores
El primer elemento necesario para el desarrollo de un programa es un editor de
texto. Un editor es un programa que nos permite escribir (editar) las instrucciones
del programa y posteriormente guardar el programa en un fichero en un soporte de
almacenamiento. Cualquier editor de texto se puede utilizar para editar programas
con la única precaución de que a la hora de guardar, salvar o almacenar el
programa sólo se almacene el texto sin opciones de formato: negrita, estilos,
itálica, etc.
Lo normal es utilizar un editor especialmente preparado para la programación.
Estos tienen facilidades para la corrección de errores, destacan las palabras del
lenguaje en colores, y en general facilitan la labor del programador.
Procesadores del lenguaje: traductores, compiladores e intérpretes
Una vez editado nuestro programa es necesario que este sea procesado y
transformado en órdenes que puedan ser ejecutadas por el ordenador. Estas
órdenes por tanto deben estar en el único lenguaje que la máquina entiende: el
código máquina. Para ello son necesarios los procesadores de lenguaje cuyo
concepto es muy amplio. Dentro de los procesadores de lenguaje destacan los
traductores, los compiladores y los intérpretes.
Un compilador es un programa cuyo cometido es realizar la conversión de un
programa escrito en un lenguaje de programación a su correspondiente
equivalente en lenguaje máquina. El resultado que devuelve un compilador es un
programa que ya puede ser ejecutado por el ordenador destino sin la necesidad
de que el compilador esté presente. Por ejemplo, el lenguaje Pascal o el lenguaje
C son lenguajes de programación que necesitan ser compilados. Cuando la
conversión se realiza entre el lenguaje ensamblador y el código máquina, el
compilador recibe el nombre específico de Ensamblador .
Un intérprete es un programa que convierte línea por línea el programa escrito en
un lenguaje de programación y que a medida que realiza la conversión ejecuta las
instrucciones . Evidentemente el intérprete no devuelve nada ya que la ejecución
se realiza de forma simultánea. Por este motivo, el intérprete debe estar presente
durante la ejecución. Lenguajes de programación que tradicionalmente son
interpretados son el LISP y el BASIC.
Enlazadores
Por simplificación y para facilitar la comprensión de los conceptos anteriores se ha
señalado que los compiladores y los ensambladores (caso particular de
compilador) generan código máquina que puede ser ejecutado por el ordenador.
Sin embargo esto no es totalmente cierto ya que hay una etapa de enlazado que
debe ser realizada por otro programa denominado enlazador . Lo habitual es que
durante la escritura de un programa sea necesario utilizar otros subprogramas en
forma de bibliotecas de funciones o bien que el propio programa esté formado
realmente por varios programas almacenados en diferentes ficheos. Esta situación
hace que durante la compilación de cada módulo no se conozca con exactitud la
ubicación de las instrucciones del resto de programas o bibliotecas de funciones.
El papel del enlazador es unir en un único fichero ejecutable el resultado de todas
las compilaciones así como las bibliotecas estáticas de funciones. Es frecuente
que el enlazado sea un paso más de la compilación y que se ejecute
inmediatamente tras la compilación de todos los ficheros.
Es habitual denominar a cada uno de los ficheros que participan en el desarrollo
de un programa con nombres genéricos que identifican en qué fase se
encuentran. Por ejemplo, las instrucciones que escribe directamente el
programador y que forman el programa en el lenguaje de programación escogido
como ficheros fuente. El resultado de la compilación de estos programas se
denomina fichero objeto y por el último el resultado del enlazado fichero ejecutable
.Es este último el único que puede entender un ordenador sin la presencia del
compilador. En el caso de los lenguajes interpretados el fichero fuente es
directamente interpretado y ejecutado por el interprete.
Depuradores
Una vez editado y compilado el programa es necesario ejecutarlo, pero es habitual
que durante el desarrollo de una aplicación que generen ficheros ejecutables que
aunque sean correctos desde un punto de vista sintáctico no realicen lo que
realmente se espera de ellos por lo que se consideran que no funcionan
correctamente. Los depuradores son capaces de ejecutar el programa paso a
paso incluyendo además un conjunto de facilidades que permiten observar el valor
de las variables y estructuras de datos permitiendo así una mejor localización de
errores no evidentes.
10.6. ¿En que inciden las características de un buen lenguaje de
programación en el desarrollo de aplicaciones altamente efectivas y
eficientes?
Las características que inciden para que un lenguaje sea eficiente son:
 La compatibilidad con los diferentes sistemas operativos.
 Manejo y velocidad de procesamiento de la información.
 Sencillo, con el fin de una administración y mantenimiento más fácil y entendible
para la persona que quiere manejar el programa.
 Versatilidad con otros lenguajes.
Elementos especiales de un lenguaje, con el fin de resolver un problema
especifico sin tener gastar más tiempo o complicarse.
En conclusión se puede decir que cualquier lenguaje tiene pro y contras, ya que
algunos se enfocan más en ciertas áreas que en otras. Cabe resaltar que el
tiempo de ejecución y los recursos consumidos por un programa dependen más
que todo del algoritmo utilizado y no del lenguajes (Aunque hay lenguajes que
pueden ser más rápido, por su compilador). Por último influye también el
conocimiento del programador que desea realizar el programa, el desarrollo y la
comunidad que cierto lenguaje tiene puesto que la ayuda colectiva da un apoyo
fuerte para que un lenguaje prevalezca sobre otro.
10.7. ¿En cuál paradigma los lenguajes de programación están orientados al
“qué” y no al “cómo”?.
El Paradigma de Programación Lógica, ya que como su nombre lo indica, busca
soluciones basadas en la experiencia y conocimiento del programador, aplicando
inferencia con el fin de obtener soluciones gracias a la combinación de programas
muy aproximados a la realidad. Debido a esto difiere con otros paradigmas de
lenguajes de programación. Además reciben el nombre de lenguajes declarativos,
a causa de trabajar en este significa especificar que hacer y no como hacerlo.
10.8. ¿Por qué es importante la portabilidad de un lenguaje de
programación?
Es importante para que se pueda usar en varios Sistemas Operativos y no
dependa de uno determinado. Por ejemplo Visual Basic solo puede ser ejecutado
en un sistema Windows, mientras que java es muy portables, ya que un programa
java, puede ser ejecutado en cualquier sistema operativo que utilizas, y
dependiendo del manejo, puede ser implementado también como todos
conocemos en los celulares, pero también en electrodomésticos digitales, tales
como lavadoras, secadoras, microondas, etc., ya que este fue el objetivo inicial de
java.
10.9. ¿Evalúe los lenguajes Lisp y Prolog en indique que tipo de aplicaciones
se puede desarrollar con ellos?¿Cual es el más popular?
Lisp
Es un lenguaje de programación aplicativo o funcional, de propósito general, se
basa en la aplicación de funciones a los datos y se apoya en la utilización de
funciones matemáticas para el control de los mismos. El elemento fundamental en
el LISP es la lista, más ampliamente el término. Cada función del Lisp y cada
programa que generemos con él vienen dado en forma de lista.
Fue creado originalmente como una notación matemática práctica para los
programas de computadora, basada en el cálculo lambda de Alonzo Church. Se
convirtió rápidamente en el lenguaje de programación favorito en la investigación
de la inteligencia artificial (AI).
Prolog
Lenguaje de programación diseñado para representar y utilizar el conocimiento
que se tiene sobre un determinado dominio. Los programas en Prolog responden
preguntas sobre el tema del cual tienen conocimiento. Prolog es un lenguaje de
programación especialmente indicado para modelar problemas que impliquen
objetos y las relaciones entre ellos.
Prolog se puede utilizar para resolver, básicamente, cualquier tipo de problema.
Principalmente es útil en la gestión de Juegos, en Inteligencia Artificial y Sistemas
Expertos, como lenguaje especialmente pensado para construir bases de
conocimientos basados en la lógica que forman parte importante de cualquier
agente inteligente, en la construcción de Compiladores e Intérpretes, en el
Reconocimiento del Lenguaje Natural, etc.
En conclusión, Prolog y Lisp son dos de los lenguajes de programación más
populares de AI, tienen varias diferencias. Lisp es un lenguaje funcional, mientras
que Prolog es una programación lógica y lenguajes declarativos. Lisp es muy
flexible debido a su prototipado rápido y características macro, por lo que en
realidad permite ampliar el idioma para adaptarse al problema actual. En las áreas
de AI, gráficos e interfaces de usuario, Lisp se ha utilizado ampliamente debido a
esta capacidad de prototipado rápido. Sin embargo, debido a sus habilidades de
programación lógica incorporadas, Prolog es ideal para problemas de AI con
razonamiento simbólico, bases de datos y aplicaciones de análisis de idiomas. La
elección de uno sobre el otro depende completamente del tipo de problema de la
IA que necesita ser resuelto.
10.10. ¿Qué diferencia puede establecer entre HTML, XML y ASP ?
El XML (eXtensive Markup Language) es un lenguaje que fue concebido para
describir información. Su función principal es ayudarnos a organizar contenidos y
eso hace que los documentos XML sean portables hacia diferentes tipos de
aplicaciones.
El HTML (HyperText Markup Language) por otro lado ha sido concebido para
mostrar información, determinar como actúa y que hace. Su función radica en
ayudarnos a darle formato a los diversos contenidos de una página.
ASP (Active Server Pages) es un lenguajes enfocado a generar documentos en
HTML de manera automatica.
En conclusión, el XML sirve para describir información y el HTML sirve para darle
formato y presentarla a través de un navegador. O sea que el XML no es ni será
nunca un reemplazo del HTML sino un complemento que sirve para manejar la
información separada del formato. Mientras que el ASP se diferencia de los dos ya
que este si es un lenguaje, con el cual se produce paginas HTML que se envían al
cliente.
10.11. ¿Qué relación puede establecer entre los lenguajes ADA, C++, Java?
Elabore un mapa conceptual.
10.12. ¿Entre los lenguajes Smalltalk, Haskell y Pitón que diferencias y
relaciones puede establecer?
SMALLTALK HASKELL PYTHON
DIFERENCIAS lenguaje orientado
a objetos (OOP).
Está compuesto
por una maquina
virtual
Los objetos
Smalltalk
presentan
características
comunes: Tienen
una memoria
propia; Poseen
capacidad para
comunicarse con
otros objetos;
Poseen la
capacidad de
heredar
características de
objetos ancestros;
Tienen capacidad
de procesamiento.
Es un lenguaje
puramente
funcional.
Tiene las
siguientes
funciones:
evaluación
perezosa, tipos
polimórficos
estáticos, tipos
definidos por el
usuario, encaje
por patrones, y
definiciones de
listas.
Se utiliza como
referencia el
entorno de
programación
Hugs y se supone
que el lector tiene
unos mínimos
conocimientos del
modelo de
programación
imperativo o
tradicional.
es un lenguaje de
programación
interpretado y
multiparadigma.
usa tipado
dinámico y conteo
de referencias
para la
administración de
memoria.
Una característica
importante es la
resolución
dinámica de
nombres.
Python permite
dividir el
programa en
módulos
reutilizables
desde otros
programas
Python.
RELACIONES Python al ser multoparadigma tiene muchas funciones que
poseer smalltalk y Haskell.
El smalltalk y Python usa interpretador.
Python al ser tambien un lenguaje orientado a objetos, este
tiene un recolector de basura como Smalltalk.
10.13. ¿ Cual es papel que desempeña la sintaxis en los lenguajes de
programación?
La sintaxis de un lenguaje de programación es la estructura en que se organizan
los distintos elementos sintácticos, como espacios, identificadores, operadores,
etc. Es decir el orden que tienen unos con respecto a otros.
Una sintaxis se evalúa según varios criterios: que sea fácil de leer, de escribir, de
verificar (chequear en busca de errores), fácil de traducir y que carezca de
ambigüedad. Esta última significa que un mismo código puede tener 2 o más
interpretaciones o traducciones posibles, en cuyo caso no se puede decidir que
alternativa elegir.
10.14. De acuerdo a su análisis y a su criterio cual de los paradigmas
presenta las mejores condiciones o es el más apto para desarrollar
aplicaciones de software eficientes y efectivas?
Cada paradigma se aplica mejor en ciertos campos, pero En términos generales,
pienso que POO (Programacion Orientada a Objetos) ya que me parece que la
orientación a objetos es una manera natural de pensar las cosas. Se trata de
pensar en el mundo como una relación entre objetos y creo que el mundo real se
asemeja bastante. Por lo tanto, como consecuencia resulta muchas veces "fácil"
abstraer problemas reales y no se requiere de "programación dura" ni de un
entendimiento extenso de cómo funciona exactamente un computador. Como dije
antes resulta "más natural" este paradigma que otros.
10.15. Analice la solución propuesta al problema del enunciado que está a
continuación, comprendiendo los cinco (5) pasos, que debe utilizar para
solucionar problemas de programación (1 Análisis, 2 Elaboración del
algoritmo, 3 Definición de constantes y variables, 4 Escribir programa en
seudolenguaje, 5 Prueba de escritorio).
Enunciado del problema:
Cortolima para su plan de protección a la fauna silvestre, requiere de un software,
que facilite liquidar el pago en pesos colombianos de recompensas, por
recuperación de especies en cautiverio. La categoría para nivel de extinción es I
inminente, A alto, M moderado, B Bajo. El tipo de fauna 1 Aves, 2 Reptiles, 3
Mamíferos. Para ello define la siguiente tabla, de acuerdo a la cantidad de
ejemplares recuperados por categoría y tipo de especie: Para Categoría I se
incrementa el valor de pago en 4 veces, Categoría
A se incrementa en 3, Categoría B se incrementa en 2. Para Aves hasta 20, 2.5
US$ por cada una; más de 50 pero menos de 200, 3.5 US$ por cada una; de 200
en adelante 4 US$ por cada una; Para Reptiles hasta 200, 3.5 US$ por cada 2;
mas de 200 pero menos de 600, 4.2 US$ por cada 2; de 600 en adelante 6.2 US$
por cada 3. Para Mamíferos hasta 200, 4.2 US$ por cada uno; más de 200 3.2
US$ por cada uno.
Paso 1
Análisis del problema : Escribir un programa para liquidar el pago en pesos Colombianos por recompensas.
Que piden? Valor a pagar por recompensa.
Que me dan? Tipo de fauna, categoría, cantidad de ejemplares.
Como lo hago? Evaluando el tipo de fauna para determinar la tarifa a aplicar por la cantidad de ejemplares.
Luego dependiendo de la categoría se determina el incremento y se calcula el total a pagar por la
recompensa.
Asignación de valores constantes del problema
II= 4 IA = 3 IB = 2
TAV20 = 2.5 TAV50 = 3.5 TAV200 = 4TRP200 = 3.5 TRP600 = 4.2 TRPM600 = 6.2
TMF200 = 4.2 TMFM200 = 3.2
Expresado de otra forma seria:
Primero se determina de acuerdo al tipo de fauna la tarifa a aplicar
Cuando tipo de fauna 1 y cantidad menor o igual a 20 : vpr = ce * TAV20
Cuando tipo de fauna 1 y cantidad entre 50 y 200 : vpr = ce * TAV50
Cuando tipo de fauna 1 y cantidad más de 200 : vpr = ce * TAV200
Cuando tipo de fauna 2 y cantidad menor o igual a 200 : vpr = ce * TRP200
Cuando tipo de fauna 2 y cantidad entre 201 y 600 : vpr = ce * TRP600
Cuando tipo de fauna 2 y cantidad 600 o más : vpr = ce * TRPM600
Cuando tipo de fauna 3 y cantidad menor o igual a 200 : vpr = ce * TMF200
Cuando tipo de fauna 3 y cantidad más de 200 : vpr = ce * TMFM200
Luego se determina el incremento de acuerdo a la categoría
Cuando categoría es I : vpr = vpr * II
Cuando categoría es A : vpr = vpr * IA
Cuando categoría es B : vpr = vpr * IB
De forma parecida puede plantear la solución, analice, recuerde que también pudiera haber planteado
otra solución que no necesariamente sea igual a esta, lo importante es comprobar que si funciona.
Paso 2
Algoritmo RECOMP
Inicio
1 Conocer los datos de entrada
2 Evaluar el tipo de fauna para Calcular el valor a pagar por recompensa.
3. Evaluar la categoría para calcular el valor del incremento para la recompensa.4 Mostrar
valor del peaje a pagar.
Fin_Algoritmo
Paso 3
Definición y declaración de Constantes y variables:
Const:
IA = 3 IB = 2
TAV20 = 2.5 TAV50 = 3.5 TAV200 = 4 TRP200 = 3.5 TRP600 = 4.2 TRPM600 = 6.2
TMF200 = 4.2 TMFM200 = 3.2
Var
Entrada : tf,cat : Cadena
Cant:Entero
Proceso : vpr: Real
Salida : vpr : Real
Paso 4
Programa RECOMP
Const IA = 3 IB = 2
TAV20 = 2.5 TAV50 = 3.5 TAV200 = 4 TRP200 = 3.5 TRP600 = 4.2
TRPM600 = 6.2 TMF200 = 4.2 TMFM200 = 3.2
VAR
Cadena tf, cat
Entero cant
Real vpr
Inicio
vpr=0
Escriba “ Tipo de Fauna [1. Aves, 2. Reptiles, 3. Mamiferos] : “ Lea tf
Escriba “ Categoría nivel de extinsión [I. Inminente, A. Alto, M. Moderado, B. Bajo] : “ Lea cat
Escriba “ Cantidad de la especie : “ Lea cant
Si tf = „1‟ entonces
Si cant < = 20 entonces
vpr = ce * TAV20
sino
Si cant > = 50 y cant < = 200 entonces vpr =ce *
TAV50
sino
Si cant > 200 entonces vpr =
ce * TAV200
Finsi
Finsi
Finsi
Sino
Si tf = „2‟ entonces
Si cant < = 200 entonces vpr
= ce * TRP200
sino
Si cant > 200 y cant < = 600 entonces vpr=ce
* TRP600
sino
vpr = ce * TRPM600
Finsi
Finsi
Sino
Si tf = „3‟ entonces
Si cant < = 200 entonces vpr =
ce * TMF200
sino
vpr = ce * TMFM200
Finsi
Finsi
Finsi
Finsi
//Aquí se evalúa la categoría
Si cat = „I‟ o cat = „i‟ entoces vpr
= vpr * II
sino
Si cat = „A‟ o cat = „a‟ entoces vpr
= vpr * IA
sino
Si cat = „B‟ o cat = „b‟ entoces vpr
= vpr * IB
Finsi
Finsi
Finsi
Escriba „ Recompensa a pagar : „ ,vpr
Fin
Paso 5
Prueba de escritorio
tf cat cant I A B VPR
1 I 20 1 150
3 M 200 1 3360
2 A 10 1 70
11. Escriba un programa en seudolenguaje para el siguiente problema,
aplicando los pasos descritos el documento “Herramientas de
Programación” colocado en Tu Aula “Unidad 1”. La DIAN para el cálculo del
impuesto a pagar por renta determino que la UVT (Unidad de valor tributario)
equivale a $ 31.859. Para calcular las Unidades de Valor tributario del
contribuyente, se debe tomar la renta liquida gravable del declarante y
dividirla en el UVT, el valor resultante o Unidades de Valor Tributario se
deben ubicar en la tabla siguiendo el procedimiento indicado, para
determinar el porcentaje a aplicar y calcular el valor del impuesto a cargo del
contribuyente. La tabla en Unidades de Valor Tributario es así:
De 0 a 1090, 0% o se paga $ 0;
más de 1090 y hasta 1700, renta liquida gravable expresada en UVT menos 1090
por el 19%;
más de 1700 y hasta 4100, renta liquida gravable expresada en UVT menos 1700
por el 28% mas 116 UVT;
más de 4100, renta liquida gravable expresada en UVT menos 4100 por el 33%
mas 788 UVT.
El valor resultante se multiplica por el UVT para indicar el impuesto a cargo
en pesos.
12. Una compañía de seguros requiere de un programa (seudolenguaje) que
le permita establecer la prima anual que deben pagar los clientes de seguros
de vida de acuerdo al rango de edades. Para ello por cada cliente se requiere
la edad y el valor a asegurar. Los porcentajes según la edad son: 2% para
edades entre 5 y 20 años, 3.5% para edades entre 21 y 35 años, 4.8% para
edades entre 36 y 55 años, 6.5% para edades entre 56 o más años. El
programa debe generar una factura indicando el número de identificación,
nombre, edad, valor asegurado y prima anual a pagar.

Más contenido relacionado

La actualidad más candente

Intro ProgramacióN
Intro ProgramacióNIntro ProgramacióN
Intro ProgramacióNAlfonso
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programaciónCati Oliver
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionjuanjokobrax
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionnecrosteel
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónRonay Garcia
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programaciónJSPN
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionfranklin
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de ProgramaciónYessicaNope
 
Introducción a lenguajes de programación
Introducción a lenguajes de programaciónIntroducción a lenguajes de programación
Introducción a lenguajes de programaciónrmirandaibanez
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Vladimir Pomares
 
Jhondiapositiva096
Jhondiapositiva096Jhondiapositiva096
Jhondiapositiva096olguito
 
Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Ernes 28
 
Elementos de la programación a nivel del lenguaje
Elementos de la programación a nivel del lenguajeElementos de la programación a nivel del lenguaje
Elementos de la programación a nivel del lenguajeortgmvico
 
presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTPcesia_97
 
Lenguaje de programacion de alto nivel
Lenguaje de programacion de alto nivelLenguaje de programacion de alto nivel
Lenguaje de programacion de alto nivelelvin1202
 

La actualidad más candente (18)

Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Maryan toledo
Maryan toledoMaryan toledo
Maryan toledo
 
Software pao
Software paoSoftware pao
Software pao
 
Intro ProgramacióN
Intro ProgramacióNIntro ProgramacióN
Intro ProgramacióN
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programación
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
 
Introducción a lenguajes de programación
Introducción a lenguajes de programaciónIntroducción a lenguajes de programación
Introducción a lenguajes de programación
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.
 
Jhondiapositiva096
Jhondiapositiva096Jhondiapositiva096
Jhondiapositiva096
 
Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1
 
Elementos de la programación a nivel del lenguaje
Elementos de la programación a nivel del lenguajeElementos de la programación a nivel del lenguaje
Elementos de la programación a nivel del lenguaje
 
presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTP
 
Lenguaje de programacion de alto nivel
Lenguaje de programacion de alto nivelLenguaje de programacion de alto nivel
Lenguaje de programacion de alto nivel
 

Similar a Taller n°1(1)

Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónKenixGalvezGG
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacionLy Andre
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónKareliaRivas
 
Clasificación y descripción de los programas informáticos
Clasificación y descripción de los programas informáticosClasificación y descripción de los programas informáticos
Clasificación y descripción de los programas informáticosMilagrosJacqueline
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónd3m3nt3
 
Juan peralta programacion lp
Juan peralta programacion lpJuan peralta programacion lp
Juan peralta programacion lph_adrian
 
Juan peralta programacion lp
Juan peralta programacion lpJuan peralta programacion lp
Juan peralta programacion lph_adrian
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonalejandritasalva
 
Programación
ProgramaciónProgramación
Programacióndahir84
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senadejuansi2
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 
Jhinet fernanda
Jhinet fernandaJhinet fernanda
Jhinet fernandaJHINETA
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 

Similar a Taller n°1(1) (20)

Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Clasificación y descripción de los programas informáticos
Clasificación y descripción de los programas informáticosClasificación y descripción de los programas informáticos
Clasificación y descripción de los programas informáticos
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
Software
SoftwareSoftware
Software
 
Juan peralta programacion lp
Juan peralta programacion lpJuan peralta programacion lp
Juan peralta programacion lp
 
Juan peralta programacion lp
Juan peralta programacion lpJuan peralta programacion lp
Juan peralta programacion lp
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
 
Programación
ProgramaciónProgramación
Programación
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Jhinet fernanda
Jhinet fernandaJhinet fernanda
Jhinet fernanda
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Lenguajes basicos para robots
Lenguajes basicos para robotsLenguajes basicos para robots
Lenguajes basicos para robots
 

Más de Jose Sanchez

Sanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdfSanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdfJose Sanchez
 
Database miningguide
Database miningguideDatabase miningguide
Database miningguideJose Sanchez
 
Maquinas de vectores
Maquinas de vectoresMaquinas de vectores
Maquinas de vectoresJose Sanchez
 
Ensayo tutoria 1 sep
Ensayo tutoria 1 sepEnsayo tutoria 1 sep
Ensayo tutoria 1 sepJose Sanchez
 
Algoritmos para aplicar data mining
Algoritmos para aplicar data miningAlgoritmos para aplicar data mining
Algoritmos para aplicar data miningJose Sanchez
 
Segunda condicional
Segunda condicionalSegunda condicional
Segunda condicionalJose Sanchez
 
Aprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primeroAprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primeroJose Sanchez
 
Preguntas generadoras(1)
Preguntas generadoras(1)Preguntas generadoras(1)
Preguntas generadoras(1)Jose Sanchez
 
Actividad de Aprendizaje
Actividad de AprendizajeActividad de Aprendizaje
Actividad de AprendizajeJose Sanchez
 
Herramientas de Programación
Herramientas de ProgramaciónHerramientas de Programación
Herramientas de ProgramaciónJose Sanchez
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosJose Sanchez
 
Paradigmas de Programación
Paradigmas de ProgramaciónParadigmas de Programación
Paradigmas de ProgramaciónJose Sanchez
 
Introducción a los paradigmas de programación
Introducción a los paradigmas de programaciónIntroducción a los paradigmas de programación
Introducción a los paradigmas de programaciónJose Sanchez
 
Personal introduction
Personal introductionPersonal introduction
Personal introductionJose Sanchez
 

Más de Jose Sanchez (20)

Sanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdfSanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdf
 
Database miningguide
Database miningguideDatabase miningguide
Database miningguide
 
Maquinas de vectores
Maquinas de vectoresMaquinas de vectores
Maquinas de vectores
 
Ensayo tutoria 1 sep
Ensayo tutoria 1 sepEnsayo tutoria 1 sep
Ensayo tutoria 1 sep
 
Algoritmos para aplicar data mining
Algoritmos para aplicar data miningAlgoritmos para aplicar data mining
Algoritmos para aplicar data mining
 
Data mining
Data mining Data mining
Data mining
 
Segunda condicional
Segunda condicionalSegunda condicional
Segunda condicional
 
Unit 8
Unit 8Unit 8
Unit 8
 
Aprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primeroAprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primero
 
Preguntas generadoras(1)
Preguntas generadoras(1)Preguntas generadoras(1)
Preguntas generadoras(1)
 
Actividad de Aprendizaje
Actividad de AprendizajeActividad de Aprendizaje
Actividad de Aprendizaje
 
Herramientas de Programación
Herramientas de ProgramaciónHerramientas de Programación
Herramientas de Programación
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
 
Paradigmas de Programación
Paradigmas de ProgramaciónParadigmas de Programación
Paradigmas de Programación
 
Introducción a los paradigmas de programación
Introducción a los paradigmas de programaciónIntroducción a los paradigmas de programación
Introducción a los paradigmas de programación
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
The thirty
The thirtyThe thirty
The thirty
 
Resumen 39 steps
Resumen 39 stepsResumen 39 steps
Resumen 39 steps
 
My daily routine
My daily routineMy daily routine
My daily routine
 
Personal introduction
Personal introductionPersonal introduction
Personal introduction
 

Último

locomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minaslocomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minasMirkaCBauer
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.imejia2411
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellajuancamilo3111391
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptxadso2024sena
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx241532171
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxRodriguezLucero
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx46828205
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 

Último (18)

locomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minaslocomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minas
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ella
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 

Taller n°1(1)

  • 1. Taller N°1 Edgar Fernando Chávez José Alberto Céspedes Mape José Martin Sánchez Cardoso Juan Sebastián Botero Agosto 2017. Universidad del Tolima Tecnología en Gestión de Bases de Datos. Programación Orientada a Objetos
  • 2. 1. Elabore un cuadro comparativo, en el que pueda establecer diferencias y relaciones entre los niveles de programación. LENGUAJES DE BAJO NIVEL LENGUAJES DE ALTO NIVEL LENGUAJES DE MEDIO NIVEL DIFERENCIAS  Depende de la arquitectura del hardware y al funcionamiento físico del ordenador.  Estos lenguajes como están diseñados a medida del hardware, aprovechan al máximo las características del mismo.  Los lenguajes de bajo nivel más conocido son: Lenguaje maquina y Lenguaje Ensamblador.  El lenguaje maquina consiste en el conjunto de instrucciones que un determinado procesador es capaz de entender y ejecutar.  Cada procesador tiene su propio lenguaje maquina, depende a su vez del modelo.  El lenguaje ensamblador usa símbolos mnemotecnicos y cifras decimales.  Estos lenguajes como están diseñados a medida del hardware aprovechan al máximo las características del mismo.  El lenguaje maquina consiste en el conjunto de instrucciones que un determinado procesador es capaz de entender y ejecutar.  Están mas orientados al problema que tienen que resolver que a la maquina.  Intentan reproducir modelos de la realidad, con ciertos grados de abstracción.  Un programa escrito en un lenguaje de alto nivel, se puedes migrar de una máquina a otra sin ningún tipo de problema.  Los programas escrito en este lenguaje se deben de traducirse al lenguaje maquina del ordenador que tiene que ejecutarlo.  La traducción se realiza de dos manera diferentes, las cuales son Interpretación y Compilación.  Los lenguajes más usados dentro de esta categoría son: FORTRAN, COBOL, IMS, Pascal, Java, C y C++.  La traducción se realiza de dos maneras diferentes, las cuales son Interpretación y la Compilación.  Pueden acceder a los registros del sistema, trabajar con direcciones de memoria, y a la vez realizar operaciones de alto nivel.  Dentro de estos lenguajes podría situarse C. Son precisos para ciertas aplicaciones como la creación de sistemas operativos SEMEJANZAS  Siguen normas determinadas con el objetivo de que el computador entienda las instrucciones y ejecutarlas.  Se debe tener un carácter lógico y secuencial para manipular cualquier lenguaje de programación.  La capacidad de comunicarse directamente con el procesador de la computadora en lenguaje ensamblador o incluso en código máquina puede resolver los problemas que las capas de abstracción de un lenguaje de alto nivel pueden dificultar.
  • 3. 2. Investigue y elabore un mapa conceptual sobre la evolución de los lenguajes de programación, de acuerdo a las generaciones de estos y su importancia.
  • 4. 3. Mediante un cuadro comparativo indique las diferencias y coincidencias de los lenguajes de programación (Delphi, PLI, RPG, Visual .NET, Modula.), distintos a los explicados en la unidad de aprendizaje. Delphi PLI RPG Visual .NET Modula DIFERENCIAS  Se creó con el propósito de agilizar la creación de software basándolo en una programación visual.  Usado en el desarrollo de aplicaciones visuales y bases de datos cliente- servidor.  Creado con el objetivo de resolver las necesidades aplicaciones científicas y comerciales.  Muchas de sus caracteristic as fueron usadas por el lenguaje C y algunas de C++.  Orientado originalment e para generar informes comerciales o de negocios.  Emplea hojas de codificación diferentes para la descripción de ficheros, entrada de datos, salida de resultados, etc.  Se puede considerar una evolución de Visual Basic.  Al igual que con todos los lenguajes de programaci ón basados en .NET, los programas escritos en VB .NET requieren el Framework .NET o Mono para ejecutarse.  Introduce el concepto de módulo, y de encapsulación .  Incapacidad de declarar múltiples instancias de los módulos.  Ausencia de todo tipo de herencia.  Usado para enseñar lenguaje estructurado. COINCIDENCIA  La mayoría de estos lenguajes son Orientados a Objeto o sentaron las bases para la posterior realización de este tipo de lenguaje.  Son lenguajes de alto nivel, ya que no depende del hardware.  El PLI y el RPG fueron desarrollados por IBM.  A pesar de ser diferentes, estos lenguajes tienen un area en comun, el campo comercial y/o de negocios.
  • 5. 4. Por medio de un mapa conceptual explique que es un programa y un lenguaje de programación. 5. Que diferencias o relaciones puede establecer entre los paradigmas de programación mencionados en la unidad de aprendizaje Paradigmas de Programación. Diferencias  Paradigma imperativo o por procedimientos: Describe la programación como una secuencia instrucciones o comandos que cambian el estado de un programa. El código máquina en general está basado en el paradigma imperativo.
  • 6.  Paradigma Funcional: es un paradigma de programación declarativa basado en la utilización de funciones matemáticas.  El Paradigma Lógico: trata sobre La programación lógica que consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación. En cambio, el Paradigma Orientado a Objetos habla sobra La Programación Orientada a Objetos; es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Relaciones En cuanto a su relación se puede encontrar es que todas manejan datos, a pesar de sus diferentes tipo de estructura. Además se puede encontrar de que todas se basan en el manejo del mundo de lo abstracto (Software) y no en lo físico (Hardware). Por último debemos de recordar de que existen lenguajes multiparadigmas, esto ayuda mucho a suplir necesidades que un paradigma tiene frente a otro. 6. Investigue y explique la diferencia entre los términos: lenguaje, compilador, interpretador, programa fuente y programa objeto o ejecutable. Lenguaje Según la definición teórica, como lenguaje se entiende a un sistema de comunicación que posee una determinada estructura, contenido y uso. La programación es, en el vocabulario propio de la informática, el procedimiento de escritura del código fuente de un software. De esta manera, puede decirse que la programación le indica al programa informático qué acción tiene que llevar a cabo y cuál es el modo de concretarla. El término programación se define como un conjunto de instrucciones consecutivas y ordenadas que llevan a ejecutar una tarea específica. Dichas instrucciones se denominan “código fuente”, el cual es único para cada lenguaje y está diseñado para cumplir una función o propósito específico. Usan diferentes normas o bases para controlar el comportamiento de un dispositivo y también pueden ser usados para crear programas informáticos. En la actualidad, hay más de cien lenguajes de programación diferentes, estos se clasifican en dos tipos principales: Lenguajes de programación de bajo nivel. Son aquellos utilizados para controlar el hardware (partes tangibles) del aparato y dependen directamente de la máquina, es decir, que no pueden ser usados en aparatos diferentes para los que fueron creados. Estos lenguajes son los que ordenan las operaciones esenciales para el funcionamiento del dispositivo. También es conocido como código
  • 7. máquina. Su funcionamiento es complejo, por lo que lo utilizan principalmente los fabricantes de hardware. Con ellos se pueden programar tareas como reproducción de audio o video, mostrar imágenes, realizar operaciones matemáticas, movimiento del puntero, asignación, liberación de memoria, entre otras. Lenguajes de programación de alto nivel. Estos lenguajes son más parecidos al humano. No dependen de la máquina y sirven principalmente para crear programas informáticos que puedan solucionar distintos tipos de necesidades. Ahora bien, algunos de los lenguajes de programación más utilizados son SQL, PHP, C y Java. • SQL: son las siglas de Structured Query Language (Lenguaje Estructurado de Consulta). Su función principal es actuar sobre una base de datos y extraer su contenido para almacenar, introducir, actualizar, eliminar y consultar información. Suele ser usado en la construcción de páginas web y aplicaciones de escritorio. • PHP: es un acrónimo recursivo que significa PHP Hypertext Pre-processor. Es utilizado para el desarrollo de sitios online, ya que es posible combinarlo con HTML. Es un lenguaje de lado del servidor, es decir, que primero se ejecuta en éste y posteriormente regeresa al navegador del usuario como resultado una página web. • C: lenguaje orientado principalmente a los sistemas operativos. Se puede crear un software para sistemas operativos como Windows o Linux, también es muy usado en robótica para crear simuladores o para experimentos informáticos, físicos, matemáticos, etc. • Java: es uno de los lenguajes favoritos ya que permite construir programas que gestionan la memoria del dispositivo donde reside la aplicación, como por ejemplo herramientas, juegos y apps. Es utilizado en dispositivos móviles, aparatos de televisión y computadores personales. Suele ser asociado a Java Script, que es otro tipo de lenguaje para crear pequeños programas encargados de realizar acciones dentro de páginas webs, como por ejemplo crear efectos especiales o para definir la interactividad con los usuarios. Compilador Un compilador es un programa informático, que se encarga de traducir el código fuente de una aplicación que este en desarrollo, es decir convierte un programa hecho en lenguaje de programación de alto nivel a un lenguaje de máquina , el cual es conocido como de bajo nivel, de tal forma que sea más entendible y mucho más fácil de procesar en el equipo en el que se esta ejecutando.
  • 8. Los compiladores son programas muy grandes que permiten la comprobación de errores. Algunos compiladores pueden traducir lenguaje de alto nivel a un lenguaje ensamblador intermedio, que luego se traduce a código de máquina por un programa ensamblador. Otros compiladores generan código de máquina directamente. Todo lenguaje de alto nivel tiene un compilador incorporado. Básicamente, el compilador es la parte central de dicho lenguaje, porque define y traduce las instrucciones recibidas. Las ventajas del utilizar un compilador son:  El programa ejecutable no incluye el código fuente, por lo tanto, el código compilado es más seguro.  Un programa compilado se ejecutan más rápidamente que un programa que está siendo interpretado al momento de ejecutarse. Las desventajas de utilizar un compilador son:  El código objeto necesita crearse para obtener el archivo ejecutable final, si el programa es muy largo, el proceso de compilación puede ser muy lento. El código fuente debe estar libre de errores para que el archivo ejecutable se genere. Interprete Es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción. La desventaja principal de los interpretadores es que cuando se interpreta un programa, típicamente corre más lentamente que si hubiera sido compilado. La diferencia en velocidades puede ser minúscula o grande; a menudo un orden de magnitud y a veces más. Generalmente toma más tiempo correr un programa bajo un interpretador que correr el código compilado, pero puede tomar menos tiempo para interpretarlo que el tiempo total requerido para compilarlo y ejecutarlo. Esto es especialmente importante si se está haciendo y probando un código prototipo cuando un ciclo de editar, interpretar y depurar del interpretador, a menudo puede ser mucho más corto que el ciclo de editar, compilar, ejecutar y depurar del compilador.
  • 9. La interpretación de código es más lenta que la ejecución de código compilado porque el interpretador debe analizar cada sentencia en el programa cada vez que es ejecutada y entonces realizar la acción deseada, mientras que el código compilado solo realiza la acción dentro de un determinado contexto fijo por la compilación. Este análisis en tiempo de ejecución se conoce como "sobrecarga interpretativa". En un interpretador, el acceso a las variables es también más lento porque el mapeo de identificadores hacia las localizaciones de almacenamiento debe hacerse repetidamente en tiempo de ejecución en vez de en el tiempo de compilación. Hay varios compromisos entre la velocidad de desarrollo al usar un interpretador y la velocidad de ejecución al usar un compilador. Programa Fuente Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al lenguaje de la maquina, es decir el programa que no está en código de máquina y que por lo tanto no puede ser ejecutable. Es aquel que nos permite escribir un algoritmo mediante un lenguaje formal. Por eso al código desarrollado al programar se le llama código fuente. Programa Objeto Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por esta. Es el resultado de traducir un programa fuente para obtener un lenguaje comprensible por la máquina. 7. Si tuviera que elaborar un programa para solucionar un problema especifico, que criterios aplicaría para elegir el lenguaje de programación. El lenguaje de programación debe tener integridad conceptual, claridad, simplicidad, unidad, legibilidad, también debe suministrar estructuras de datos, operaciones, y estructuras de control apropiadas al tipo de problemas al que se aplicará, así como una sintaxis en la que se puedan expresar de forma natural las soluciones a tales problemas. Adicional a esto debe contar con:  Soporte para la abstracción  Facilidad para la verificación de programas  Entorno de programación  Portabilidad de los programas  Homogeneidad en el tratamiento externo e interno de los conceptos  Coste de uso
  • 10.  Coste de ejecución de programas  Coste de traducción  Coste de creación, prueba y uso de programas  Coste de mantenimiento de programas  Buena definición  Sintaxis y semántica sean precisas, in ambiguas, legibles, comprensibles y, a ser posible, formales 8. Como ingeniero de sistemas debe asumir el reto de programar una bascula para vehículos de carga. El problema consiste en que al entrar los vehículos se sitúan sobre la bascula, momento en el que se toma el peso con la carga. Después de descargar el vehículo, este lo deben ubicar nuevamente sobre la báscula, para tomar el peso del vehículo sin carga. La necesidad es que a través de un dispositivo electrónico se registre cada uno de los pesos y se le envíen a un computador, de forma automática para posteriormente realizar los cálculos del peso de la carga y liquidación del valor de esta. Que lenguaje de programación elegiría y porque? Se elegiría el lenguaje Java, por dos motivos principales: 1. Su conjunto de prestaciones bastante amplio: herencia, tipificación de datos estricta, modularidad, control de excepciones, polimorfismo, concurrencia, carga dinámica de librerías, garbagecollection y una amplia colección de librerías estándar. 2. Con Java, puedo realizar aplicaciones móviles (Android), y trabajar con servidores en la parte de back-end. De esta forma me será más fácil interactuar con el usuario a través de cualquier dispositivo móvil. 9. En una empresa que tiene gran afluencia de personal interno (empleados) y externo (visitantes), se requiere del desarrollo e implementación de un software que facilite el control de acceso del personal de la empresa y los ajenos a ella, mediante cámaras y censores biométricos dactilares. En el caso del personal de la empresa el censor biométrico, registrara los datos de entrada y salida, fecha y hora, los que son transferidos al programa de nomina, para la liquidación de la nomina. En el caso del personal ajeno a la empresa el sistema conservara las fotos, fecha y hora de entrada y salida. Para el desarrollo de esta aplicación que software elegiría y porque? El software que se eligiera es Netbeans, mis motivos son: 1. Es un producto libre y gratuito sin restricciones de uso. 2. Permite integrar varios lenguajes de programación en un solo trabajo. 3. Desde el año 2000 es el principal patrocinador de proyectos.
  • 11. 10. Incluya las respuestas a las Actividades de Aprendizaje, que resolvió para esta sesión. 10.1. Cuál es la diferencia entre compilador e intérprete? Los compiladores difieren de los intérpretes en varios puntos:  El compilador traduce todo el programa fuente a código maquina, con el que se obtiene el programa objeto.  En el compilador se puede ejecutar tantas veces como sea necesarios sin tener que traducir cada vez.  Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en acciones.  Un archivo compilado es aproximadamente 10 a 20 veces más rapido que un archivo interpretado.  El intérprete traduce un programa línea a línea mientras que el compilador traduce el programa entero y luego lo ejecuta. 10.2. ¿Por qué la capacidad de los computadores influye en la evolución de los lenguajes de programación? Porque a que los lenguajes de programación depende mucho del hardware para su funcionamiento y viceversa, es por eso que al tener unos computadores o equipos electrónicos más eficientes se podrá realizar tareas que el software ordena en velocidades más altas. Cabe señalar que el desarrollo de los computadores a influido mucho en el quehacer diario y gracias a esto han hecho que muchos lenguajes de programación se evolucionen para que se acomoden a nuestras necesidades actuales, con esto también ha llevado a inventar lenguajes de programación más sencillos de entender con el fin de de ser más asequibles para las personas y así realizar casi cualquier labor de la manera más fácil y económica posible. 10.3. ¿Un programa escrito en lenguaje de alto nivel se ejecuta más rápido que un programa escrito en lenguaje de bajo nivel? Falso, un lenguaje de bajo nivel se ejecuta más rápido considerando que en el lenguaje de alto nivel se tiene que hacer un proceso para traducirlo a lenguaje maquina (el cual es un lenguaje de bajo nivel). Por otro lado en el lenguaje de bajo nivel se trabaja directamente con la maquina, esto lo hace más rápido y preciso a la hora de ejecutar, pero tiene la desventaja de ser muy poco entendible y complicado a la hora de utilizarlo. 10.4. ¿En qué consiste la arquitectura de Von Neumann?
  • 12. El modelo Von Neumann, fue una propuesta realizada por el matemático del mismo nombre, en ella se define las bases de la computación y de los ordenadores actuales. Propone que los programas y datos se representen en código binario, que haya un centro de control que ejecute el programa secuencialmente o con saltos según indiquen las instrucciones y que acceda y trabaje con los datos almacenados en dispositivos de memoria. Diagrama de la arquitectura Von Neumann. 10.5. ¿Qué constituye el entorno de programación? Un entorno de programación es un programa o conjunto de programas que engloban todas las tareas necesarias para el desarrollo de un programa o aplicación. Estas tareas son básicamente las siguientes:  Edición del programa.  Compilación y enlazado.  Ejecución.  Depuración. Hay quien además incluye la creación de documentación complementaria que facilita el mantenimiento del programa dentro de estas funciones.
  • 13. Este tipo de entornos incorporan numerosas herramientas, utilidades, aplicaciones ya desarrolladas, ejemplos, tutoriales, etc. Todas ellas encaminadas a facilitar y mejorar el desarrollo. Editores El primer elemento necesario para el desarrollo de un programa es un editor de texto. Un editor es un programa que nos permite escribir (editar) las instrucciones del programa y posteriormente guardar el programa en un fichero en un soporte de almacenamiento. Cualquier editor de texto se puede utilizar para editar programas con la única precaución de que a la hora de guardar, salvar o almacenar el programa sólo se almacene el texto sin opciones de formato: negrita, estilos, itálica, etc. Lo normal es utilizar un editor especialmente preparado para la programación. Estos tienen facilidades para la corrección de errores, destacan las palabras del lenguaje en colores, y en general facilitan la labor del programador. Procesadores del lenguaje: traductores, compiladores e intérpretes Una vez editado nuestro programa es necesario que este sea procesado y transformado en órdenes que puedan ser ejecutadas por el ordenador. Estas órdenes por tanto deben estar en el único lenguaje que la máquina entiende: el código máquina. Para ello son necesarios los procesadores de lenguaje cuyo concepto es muy amplio. Dentro de los procesadores de lenguaje destacan los traductores, los compiladores y los intérpretes. Un compilador es un programa cuyo cometido es realizar la conversión de un programa escrito en un lenguaje de programación a su correspondiente equivalente en lenguaje máquina. El resultado que devuelve un compilador es un programa que ya puede ser ejecutado por el ordenador destino sin la necesidad de que el compilador esté presente. Por ejemplo, el lenguaje Pascal o el lenguaje C son lenguajes de programación que necesitan ser compilados. Cuando la conversión se realiza entre el lenguaje ensamblador y el código máquina, el compilador recibe el nombre específico de Ensamblador . Un intérprete es un programa que convierte línea por línea el programa escrito en un lenguaje de programación y que a medida que realiza la conversión ejecuta las instrucciones . Evidentemente el intérprete no devuelve nada ya que la ejecución se realiza de forma simultánea. Por este motivo, el intérprete debe estar presente durante la ejecución. Lenguajes de programación que tradicionalmente son interpretados son el LISP y el BASIC.
  • 14. Enlazadores Por simplificación y para facilitar la comprensión de los conceptos anteriores se ha señalado que los compiladores y los ensambladores (caso particular de compilador) generan código máquina que puede ser ejecutado por el ordenador. Sin embargo esto no es totalmente cierto ya que hay una etapa de enlazado que debe ser realizada por otro programa denominado enlazador . Lo habitual es que durante la escritura de un programa sea necesario utilizar otros subprogramas en forma de bibliotecas de funciones o bien que el propio programa esté formado realmente por varios programas almacenados en diferentes ficheos. Esta situación hace que durante la compilación de cada módulo no se conozca con exactitud la ubicación de las instrucciones del resto de programas o bibliotecas de funciones. El papel del enlazador es unir en un único fichero ejecutable el resultado de todas las compilaciones así como las bibliotecas estáticas de funciones. Es frecuente que el enlazado sea un paso más de la compilación y que se ejecute inmediatamente tras la compilación de todos los ficheros. Es habitual denominar a cada uno de los ficheros que participan en el desarrollo de un programa con nombres genéricos que identifican en qué fase se encuentran. Por ejemplo, las instrucciones que escribe directamente el programador y que forman el programa en el lenguaje de programación escogido como ficheros fuente. El resultado de la compilación de estos programas se denomina fichero objeto y por el último el resultado del enlazado fichero ejecutable .Es este último el único que puede entender un ordenador sin la presencia del compilador. En el caso de los lenguajes interpretados el fichero fuente es directamente interpretado y ejecutado por el interprete. Depuradores Una vez editado y compilado el programa es necesario ejecutarlo, pero es habitual que durante el desarrollo de una aplicación que generen ficheros ejecutables que aunque sean correctos desde un punto de vista sintáctico no realicen lo que realmente se espera de ellos por lo que se consideran que no funcionan correctamente. Los depuradores son capaces de ejecutar el programa paso a paso incluyendo además un conjunto de facilidades que permiten observar el valor de las variables y estructuras de datos permitiendo así una mejor localización de errores no evidentes. 10.6. ¿En que inciden las características de un buen lenguaje de programación en el desarrollo de aplicaciones altamente efectivas y eficientes? Las características que inciden para que un lenguaje sea eficiente son:  La compatibilidad con los diferentes sistemas operativos.
  • 15.  Manejo y velocidad de procesamiento de la información.  Sencillo, con el fin de una administración y mantenimiento más fácil y entendible para la persona que quiere manejar el programa.  Versatilidad con otros lenguajes. Elementos especiales de un lenguaje, con el fin de resolver un problema especifico sin tener gastar más tiempo o complicarse. En conclusión se puede decir que cualquier lenguaje tiene pro y contras, ya que algunos se enfocan más en ciertas áreas que en otras. Cabe resaltar que el tiempo de ejecución y los recursos consumidos por un programa dependen más que todo del algoritmo utilizado y no del lenguajes (Aunque hay lenguajes que pueden ser más rápido, por su compilador). Por último influye también el conocimiento del programador que desea realizar el programa, el desarrollo y la comunidad que cierto lenguaje tiene puesto que la ayuda colectiva da un apoyo fuerte para que un lenguaje prevalezca sobre otro. 10.7. ¿En cuál paradigma los lenguajes de programación están orientados al “qué” y no al “cómo”?. El Paradigma de Programación Lógica, ya que como su nombre lo indica, busca soluciones basadas en la experiencia y conocimiento del programador, aplicando inferencia con el fin de obtener soluciones gracias a la combinación de programas muy aproximados a la realidad. Debido a esto difiere con otros paradigmas de lenguajes de programación. Además reciben el nombre de lenguajes declarativos, a causa de trabajar en este significa especificar que hacer y no como hacerlo. 10.8. ¿Por qué es importante la portabilidad de un lenguaje de programación? Es importante para que se pueda usar en varios Sistemas Operativos y no dependa de uno determinado. Por ejemplo Visual Basic solo puede ser ejecutado en un sistema Windows, mientras que java es muy portables, ya que un programa java, puede ser ejecutado en cualquier sistema operativo que utilizas, y dependiendo del manejo, puede ser implementado también como todos conocemos en los celulares, pero también en electrodomésticos digitales, tales como lavadoras, secadoras, microondas, etc., ya que este fue el objetivo inicial de java. 10.9. ¿Evalúe los lenguajes Lisp y Prolog en indique que tipo de aplicaciones se puede desarrollar con ellos?¿Cual es el más popular? Lisp
  • 16. Es un lenguaje de programación aplicativo o funcional, de propósito general, se basa en la aplicación de funciones a los datos y se apoya en la utilización de funciones matemáticas para el control de los mismos. El elemento fundamental en el LISP es la lista, más ampliamente el término. Cada función del Lisp y cada programa que generemos con él vienen dado en forma de lista. Fue creado originalmente como una notación matemática práctica para los programas de computadora, basada en el cálculo lambda de Alonzo Church. Se convirtió rápidamente en el lenguaje de programación favorito en la investigación de la inteligencia artificial (AI). Prolog Lenguaje de programación diseñado para representar y utilizar el conocimiento que se tiene sobre un determinado dominio. Los programas en Prolog responden preguntas sobre el tema del cual tienen conocimiento. Prolog es un lenguaje de programación especialmente indicado para modelar problemas que impliquen objetos y las relaciones entre ellos. Prolog se puede utilizar para resolver, básicamente, cualquier tipo de problema. Principalmente es útil en la gestión de Juegos, en Inteligencia Artificial y Sistemas Expertos, como lenguaje especialmente pensado para construir bases de conocimientos basados en la lógica que forman parte importante de cualquier agente inteligente, en la construcción de Compiladores e Intérpretes, en el Reconocimiento del Lenguaje Natural, etc. En conclusión, Prolog y Lisp son dos de los lenguajes de programación más populares de AI, tienen varias diferencias. Lisp es un lenguaje funcional, mientras que Prolog es una programación lógica y lenguajes declarativos. Lisp es muy flexible debido a su prototipado rápido y características macro, por lo que en realidad permite ampliar el idioma para adaptarse al problema actual. En las áreas de AI, gráficos e interfaces de usuario, Lisp se ha utilizado ampliamente debido a esta capacidad de prototipado rápido. Sin embargo, debido a sus habilidades de programación lógica incorporadas, Prolog es ideal para problemas de AI con razonamiento simbólico, bases de datos y aplicaciones de análisis de idiomas. La elección de uno sobre el otro depende completamente del tipo de problema de la IA que necesita ser resuelto. 10.10. ¿Qué diferencia puede establecer entre HTML, XML y ASP ? El XML (eXtensive Markup Language) es un lenguaje que fue concebido para describir información. Su función principal es ayudarnos a organizar contenidos y eso hace que los documentos XML sean portables hacia diferentes tipos de aplicaciones.
  • 17. El HTML (HyperText Markup Language) por otro lado ha sido concebido para mostrar información, determinar como actúa y que hace. Su función radica en ayudarnos a darle formato a los diversos contenidos de una página. ASP (Active Server Pages) es un lenguajes enfocado a generar documentos en HTML de manera automatica. En conclusión, el XML sirve para describir información y el HTML sirve para darle formato y presentarla a través de un navegador. O sea que el XML no es ni será nunca un reemplazo del HTML sino un complemento que sirve para manejar la información separada del formato. Mientras que el ASP se diferencia de los dos ya que este si es un lenguaje, con el cual se produce paginas HTML que se envían al cliente. 10.11. ¿Qué relación puede establecer entre los lenguajes ADA, C++, Java? Elabore un mapa conceptual.
  • 18. 10.12. ¿Entre los lenguajes Smalltalk, Haskell y Pitón que diferencias y relaciones puede establecer? SMALLTALK HASKELL PYTHON DIFERENCIAS lenguaje orientado a objetos (OOP). Está compuesto por una maquina virtual Los objetos Smalltalk presentan características comunes: Tienen una memoria propia; Poseen capacidad para comunicarse con otros objetos; Poseen la capacidad de heredar características de objetos ancestros; Tienen capacidad de procesamiento. Es un lenguaje puramente funcional. Tiene las siguientes funciones: evaluación perezosa, tipos polimórficos estáticos, tipos definidos por el usuario, encaje por patrones, y definiciones de listas. Se utiliza como referencia el entorno de programación Hugs y se supone que el lector tiene unos mínimos conocimientos del modelo de programación imperativo o tradicional. es un lenguaje de programación interpretado y multiparadigma. usa tipado dinámico y conteo de referencias para la administración de memoria. Una característica importante es la resolución dinámica de nombres. Python permite dividir el programa en módulos reutilizables desde otros programas Python. RELACIONES Python al ser multoparadigma tiene muchas funciones que poseer smalltalk y Haskell. El smalltalk y Python usa interpretador. Python al ser tambien un lenguaje orientado a objetos, este tiene un recolector de basura como Smalltalk. 10.13. ¿ Cual es papel que desempeña la sintaxis en los lenguajes de programación? La sintaxis de un lenguaje de programación es la estructura en que se organizan los distintos elementos sintácticos, como espacios, identificadores, operadores, etc. Es decir el orden que tienen unos con respecto a otros.
  • 19. Una sintaxis se evalúa según varios criterios: que sea fácil de leer, de escribir, de verificar (chequear en busca de errores), fácil de traducir y que carezca de ambigüedad. Esta última significa que un mismo código puede tener 2 o más interpretaciones o traducciones posibles, en cuyo caso no se puede decidir que alternativa elegir. 10.14. De acuerdo a su análisis y a su criterio cual de los paradigmas presenta las mejores condiciones o es el más apto para desarrollar aplicaciones de software eficientes y efectivas? Cada paradigma se aplica mejor en ciertos campos, pero En términos generales, pienso que POO (Programacion Orientada a Objetos) ya que me parece que la orientación a objetos es una manera natural de pensar las cosas. Se trata de pensar en el mundo como una relación entre objetos y creo que el mundo real se asemeja bastante. Por lo tanto, como consecuencia resulta muchas veces "fácil" abstraer problemas reales y no se requiere de "programación dura" ni de un entendimiento extenso de cómo funciona exactamente un computador. Como dije antes resulta "más natural" este paradigma que otros. 10.15. Analice la solución propuesta al problema del enunciado que está a continuación, comprendiendo los cinco (5) pasos, que debe utilizar para solucionar problemas de programación (1 Análisis, 2 Elaboración del algoritmo, 3 Definición de constantes y variables, 4 Escribir programa en seudolenguaje, 5 Prueba de escritorio). Enunciado del problema: Cortolima para su plan de protección a la fauna silvestre, requiere de un software, que facilite liquidar el pago en pesos colombianos de recompensas, por recuperación de especies en cautiverio. La categoría para nivel de extinción es I inminente, A alto, M moderado, B Bajo. El tipo de fauna 1 Aves, 2 Reptiles, 3 Mamíferos. Para ello define la siguiente tabla, de acuerdo a la cantidad de ejemplares recuperados por categoría y tipo de especie: Para Categoría I se incrementa el valor de pago en 4 veces, Categoría A se incrementa en 3, Categoría B se incrementa en 2. Para Aves hasta 20, 2.5 US$ por cada una; más de 50 pero menos de 200, 3.5 US$ por cada una; de 200 en adelante 4 US$ por cada una; Para Reptiles hasta 200, 3.5 US$ por cada 2; mas de 200 pero menos de 600, 4.2 US$ por cada 2; de 600 en adelante 6.2 US$ por cada 3. Para Mamíferos hasta 200, 4.2 US$ por cada uno; más de 200 3.2 US$ por cada uno.
  • 20. Paso 1 Análisis del problema : Escribir un programa para liquidar el pago en pesos Colombianos por recompensas. Que piden? Valor a pagar por recompensa. Que me dan? Tipo de fauna, categoría, cantidad de ejemplares. Como lo hago? Evaluando el tipo de fauna para determinar la tarifa a aplicar por la cantidad de ejemplares. Luego dependiendo de la categoría se determina el incremento y se calcula el total a pagar por la recompensa. Asignación de valores constantes del problema II= 4 IA = 3 IB = 2 TAV20 = 2.5 TAV50 = 3.5 TAV200 = 4TRP200 = 3.5 TRP600 = 4.2 TRPM600 = 6.2 TMF200 = 4.2 TMFM200 = 3.2 Expresado de otra forma seria: Primero se determina de acuerdo al tipo de fauna la tarifa a aplicar Cuando tipo de fauna 1 y cantidad menor o igual a 20 : vpr = ce * TAV20 Cuando tipo de fauna 1 y cantidad entre 50 y 200 : vpr = ce * TAV50 Cuando tipo de fauna 1 y cantidad más de 200 : vpr = ce * TAV200 Cuando tipo de fauna 2 y cantidad menor o igual a 200 : vpr = ce * TRP200 Cuando tipo de fauna 2 y cantidad entre 201 y 600 : vpr = ce * TRP600 Cuando tipo de fauna 2 y cantidad 600 o más : vpr = ce * TRPM600 Cuando tipo de fauna 3 y cantidad menor o igual a 200 : vpr = ce * TMF200 Cuando tipo de fauna 3 y cantidad más de 200 : vpr = ce * TMFM200 Luego se determina el incremento de acuerdo a la categoría Cuando categoría es I : vpr = vpr * II Cuando categoría es A : vpr = vpr * IA Cuando categoría es B : vpr = vpr * IB De forma parecida puede plantear la solución, analice, recuerde que también pudiera haber planteado otra solución que no necesariamente sea igual a esta, lo importante es comprobar que si funciona. Paso 2 Algoritmo RECOMP Inicio 1 Conocer los datos de entrada 2 Evaluar el tipo de fauna para Calcular el valor a pagar por recompensa. 3. Evaluar la categoría para calcular el valor del incremento para la recompensa.4 Mostrar valor del peaje a pagar. Fin_Algoritmo Paso 3 Definición y declaración de Constantes y variables: Const: IA = 3 IB = 2 TAV20 = 2.5 TAV50 = 3.5 TAV200 = 4 TRP200 = 3.5 TRP600 = 4.2 TRPM600 = 6.2 TMF200 = 4.2 TMFM200 = 3.2 Var Entrada : tf,cat : Cadena Cant:Entero Proceso : vpr: Real Salida : vpr : Real Paso 4 Programa RECOMP Const IA = 3 IB = 2 TAV20 = 2.5 TAV50 = 3.5 TAV200 = 4 TRP200 = 3.5 TRP600 = 4.2 TRPM600 = 6.2 TMF200 = 4.2 TMFM200 = 3.2 VAR
  • 21. Cadena tf, cat Entero cant Real vpr Inicio vpr=0 Escriba “ Tipo de Fauna [1. Aves, 2. Reptiles, 3. Mamiferos] : “ Lea tf Escriba “ Categoría nivel de extinsión [I. Inminente, A. Alto, M. Moderado, B. Bajo] : “ Lea cat Escriba “ Cantidad de la especie : “ Lea cant Si tf = „1‟ entonces Si cant < = 20 entonces vpr = ce * TAV20 sino Si cant > = 50 y cant < = 200 entonces vpr =ce * TAV50 sino Si cant > 200 entonces vpr = ce * TAV200 Finsi Finsi Finsi Sino Si tf = „2‟ entonces Si cant < = 200 entonces vpr = ce * TRP200 sino Si cant > 200 y cant < = 600 entonces vpr=ce * TRP600 sino vpr = ce * TRPM600 Finsi Finsi Sino Si tf = „3‟ entonces Si cant < = 200 entonces vpr = ce * TMF200 sino vpr = ce * TMFM200 Finsi Finsi Finsi Finsi //Aquí se evalúa la categoría Si cat = „I‟ o cat = „i‟ entoces vpr = vpr * II sino Si cat = „A‟ o cat = „a‟ entoces vpr = vpr * IA sino Si cat = „B‟ o cat = „b‟ entoces vpr = vpr * IB Finsi Finsi Finsi Escriba „ Recompensa a pagar : „ ,vpr Fin Paso 5 Prueba de escritorio tf cat cant I A B VPR 1 I 20 1 150 3 M 200 1 3360 2 A 10 1 70
  • 22. 11. Escriba un programa en seudolenguaje para el siguiente problema, aplicando los pasos descritos el documento “Herramientas de Programación” colocado en Tu Aula “Unidad 1”. La DIAN para el cálculo del impuesto a pagar por renta determino que la UVT (Unidad de valor tributario) equivale a $ 31.859. Para calcular las Unidades de Valor tributario del contribuyente, se debe tomar la renta liquida gravable del declarante y dividirla en el UVT, el valor resultante o Unidades de Valor Tributario se deben ubicar en la tabla siguiendo el procedimiento indicado, para determinar el porcentaje a aplicar y calcular el valor del impuesto a cargo del contribuyente. La tabla en Unidades de Valor Tributario es así: De 0 a 1090, 0% o se paga $ 0; más de 1090 y hasta 1700, renta liquida gravable expresada en UVT menos 1090 por el 19%; más de 1700 y hasta 4100, renta liquida gravable expresada en UVT menos 1700 por el 28% mas 116 UVT; más de 4100, renta liquida gravable expresada en UVT menos 4100 por el 33% mas 788 UVT. El valor resultante se multiplica por el UVT para indicar el impuesto a cargo en pesos.
  • 23. 12. Una compañía de seguros requiere de un programa (seudolenguaje) que le permita establecer la prima anual que deben pagar los clientes de seguros de vida de acuerdo al rango de edades. Para ello por cada cliente se requiere la edad y el valor a asegurar. Los porcentajes según la edad son: 2% para edades entre 5 y 20 años, 3.5% para edades entre 21 y 35 años, 4.8% para edades entre 36 y 55 años, 6.5% para edades entre 56 o más años. El programa debe generar una factura indicando el número de identificación, nombre, edad, valor asegurado y prima anual a pagar.