CAPACITACION EN TECNOLOGIAS DE LA
INFORMACION
LENGUAJE DE
PROGRAMACIÓN
Guía de Aprendizaje
Módulo II
Submódulo
LENGUAJE DE PROGRAMACIÓN
M.I.A ARACELI BERISTAIN GARCIA
1. Fundamentos de Programación
El Software es el soporte lógico e inmaterial que permite que la computadora pueda
desempeñar tareas inteligentes, dirigiendo a los componentes físicos o hardware con
instrucciones y datos a través de diferentes tipos de programas.
Tipos de Software y su clasificación
Problema: Es una situación en donde los elementos que se tienen requieren de un plan de
acción para su posible solución. Esta fase está dada por el enunciado del problema, el cual
requiere una definición clara y precisa. Es importante que se conozca lo que se desea que
realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar
con la siguiente etapa.
Para ello es necesario llevar a cabo un método de solución, teniendo en cuenta los siguientes
pasos:
• Identificación del problema
• Identificación de posibles soluciones
• Diseño del método de resolución
• Ejecución del método.
Identificación del problema
Un problema siempre surge en una situación más o menos compleja. Esto provoca que
muchas veces no se aprecie el verdadero problema. Para identificar un problema es necesario
encontrar dentro de la situación todos los elementos importantes: aquellos que están presentes
(lo que tenemos) y aquellos que están ausentes (lo que deseamos).
Encontrar posibles soluciones.
M.I.A ARACELI BERISTAIN GARCIA
La solución a un problema es la acción que permite eliminar la diferencia entre lo que
tenemos y lo que queremos. Para un mismo problema se pueden tener varias soluciones, y la
elección de la mejor dependerá de las circunstancias específicas.
En el siguiente ejemplo de la gotera mostramos cuatro posibilidades de solución.
• Esperar con resignación a que acabe la lluvia (mientras se moja el piso).
• Colocar un paraguas en el techo.
• Reparar el techo.
• Colocar una cubeta bajo la gotera.
Cualquiera de estas soluciones es posible llevarla a la práctica; sin embargo, resulta casi
obvio que las dos primeras son risibles: la resignación provocará que se dañen el piso y los
muebles, y colocar un paraguas “le da vuelta” al problema. La tercera solución es la mejor,
pero considerando que está lloviendo, la solución inmediata es colocar la cubeta (y cuando
no llueva reparar el techo). En algunos otros casos las soluciones propuestas son poco
factibles, otras fantásticas y algunas otras falsas, pues no resuelven el problema sino lo evitan
o crean otro.
Metodología para la solución de problemas con una computadora
Se entiende por metodología el conjunto de reglas y pasos estrictos que se siguen para
desarrollar una aplicación informática completa. Hay diversas metodologías, algunas incluso
registradas (hay que pagar por utilizarlas). Independientemente de la metodología utilizada
suele haber una serie de pasos comunes a todas ellas.
Solución del Problema
Análisis del
Documentación
problema
de solución
Compilación y
Diseño del
Algoritmo
Depuración
Verificación
Codificación
Ejecución
1. Análisis del Problema
La primera etapa de la metodología para resolver un problema mediante una computadora es
el análisis. Esta etapa se basa en recolectar y analizar información que permita identificar tres
componentes básicos: los datos de entrada, los de salida deseables y un proceso que permita
obtener dichos datos de salida como le vemos en la siguiente figura que muestra los
componentes de la etapa de análisis de un problema:
PROCESO Datos de Salida
Datos de Entrada
M.I.A ARACELI BERISTAIN GARCIA
• Los Datos de Entrada: son los datos que se ingresarán de alguna forma o mediante
algún método en el programa.
• Los Datos de Salida: son aquellos que resultan de aplicar el algoritmo y constituyen
el objetivo de todo proceso. Estos pueden no ser datos propiamente dichos, sino el
resultado de aplicar un proceso específico a los datos de entrada.
Los programas de la computadora tienen como finalidad resolver problemas y el primer paso
consiste en comprender el problema. Una forma de lograr esto se basa en formular claramente
el problema, especificar los resultados que se desean obtener, identificar la información
disponible (datos), determinar las restricciones y definir los procesos necesarios para
convertir los datos disponibles (materia prima) en la información requerida (resultados).
Comprender el problema.
1. Leer el problema varias veces
2. ¿Qué datos me dan en el enunciado del
problema?
3. ¿Cuál es la pregunta del problema?
4. ¿Qué debo lograr?
5. ¿El problema tiene alguna incógnita que
debo encontrar?
6. ¿Qué procesos o cálculos necesito para
encontrar la incógnita?
7. ¿Tengo toda la información organizada?
8. ¿Tengo los datos agrupados en categorías?
9. ¿Ya elaboré una figura o diagrama que
represente la solución?
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
• Los datos de entrada.
• Cuál es la información que se desea producir (salida)
• Los métodos y fórmulas que se necesitan para procesar los datos.
• Una recomendación muy práctica es el que nos pongamos en el lugar de la
computadora y examinemos que es lo que necesitamos, que nos ordenen y en que
secuencia para producir los resultados esperados.
Diseño del método de resolución
El método de resolución es una estrategia que sirve para alcanzar la solución de un problema.
Dicha estrategia consta de un conjunto de transformaciones que convierten los elementos
disponibles en los objetos deseados.
2. Diseño del Algoritmo
Un algoritmo es una serie de pasos ordenados lógicamente para permitir resolver un
problema; es decir un algoritmo es un método para resolver un problema mediante una serie
M.I.A ARACELI BERISTAIN GARCIA
de pasos precisos, definidos y finitos, como por ejemplo manejar una bicicleta, una receta de
cocina, etc.
Tipos de Algoritmos
• Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
• Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir
los
pasos del proceso.
Características de los algoritmos
Todos los algoritmos deben poseer las siguientes características:
• Finito: El algoritmo debe alcanzar la solución correcta en un límite de tiempo, es decir
tiene fin; un número determinado de pasos.
• Preciso: Las instrucciones de un algoritmo deben ser claras, precisas y no prestarse a
interpretaciones e indicar el orden de realización en cada paso.
• Entradas y salidas claramente definidas: Las entradas se transforman para obtener las
salidas, por ello un algoritmo debe mostrar con claridad cuáles serán los resultados
(salidas) y cuales los datos iniciales (entradas o parámetros).
• Efectivo: Los pasos de un algoritmo deben conducir a la solución del problema
original.
• Generalidad: Debe servir para varios problemas similares.
Un algoritmo debe producir un resultado en un tiempo finito. Los métodos que utilizan
algoritmos se denominan métodos algorítmicos, en oposición a los métodos que implican
algún juicio o interpretación que se denominan métodos heurísticos. Los métodos
algorítmicos se pueden implementar en computadoras; sin embargo, los procesos heurísticos
no han sido convertidos fácilmente en las computadoras. Los algoritmos se pueden expresar
por Fórmulas, Diagramas de Flujo y Pseudocódigos.
Elementos que conforman un algoritmo
• Entrada: Los datos iniciales que posee el algoritmo antes de ejecutarse.
• Proceso: Acciones que lleva a cabo el algoritmo.
• Salida: Datos que obtiene finalmente el algoritmo
Fases en la creación de algoritmos
Hay tres fases en la elaboración de un algoritmo:
1. Análisis: En esta se determina cuál es exactamente el problema por resolver. Qué
datos forman la entrada del algoritmo y cuáles deberán obtenerse como salida.
2. Diseño: Elaboración del algoritmo.
3. Prueba: Comprobación del resultado. Se observa si el algoritmo obtiene la salida
esperada para todas las entradas.
M.I.A ARACELI BERISTAIN GARCIA
Diseño de un algoritmo.
El diseñar un algoritmo es preparar una estrategia para solucionar un problema. Sin embargo,
antes de intentar el diseño de un algoritmo se debe tener completamente entendido el
problema y comprendida la solución que se desea alcanzar.
Para construir un algoritmo, es necesario pensar que
pasos son necesarios para alcanzar la solución, partiendo
exclusivamente de los elementos disponibles. Las dos
partes que debemos contemplar para la solución de un
problema es lo siguiente:
El análisis de la situación donde se cuestionan dos
elementos:
1. La identificación del problema
2. La solución del mismo
El diseño de una estrategia para obtener la solución:
1. Las consideraciones iniciales
2. El diseño del algoritmo.
Pero veamos unos ejemplos de la vida real.
Ejemplo 1: Algoritmo para preparar una limonada.
INICIO
Llenar una jarra con un litro de agua
Agregar el jugo de tres limones
Agregar cuatro cucharadas de azúcar
Remover el agua hasta disolver completamente el azúcar
FIN
Ejemplo 2: Algoritmo para preparar un huevo frito.
INICIO
Encender la estufa
Colocar el sartén en la estufa
Dejar calentar un poco el sartén
Verter un poco de aceite en el sartén
Dejar calentar un momento el aceite
Verter el huevo en el aceite
Dejar freír durante 2 minutos
Servir el huevo en un plato
Poner sal al gusto al huevo
FIN
M.I.A ARACELI BERISTAIN GARCIA
Nota:
Busca el archivo EJERCICIOS 1-5 y realiza los ejercicios del 1- 5, imprímelos,
resuélvelos en tu libreta y envíamelos en fotografía al correo.
aberistain.02612@[Link]
Resuelve el CUESTIONARIO 1 Cuando lo hayas resuelto imprímelo y envíalo
con tus datos al correo. aberistain.02612@[Link]
3. Codificación
La codificación es la operación de escribir la solución del problema (de acuerdo con la lógica
del diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas en un código
reconocible por la computadora, a la serie de instrucciones detalladas se le conoce como
código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel. Por
lo tanto, la Codificación es la escritura en un lenguaje de programación con la representación
del algoritmo desarrollado en las etapas precedentes.
4. Verificación
Es el proceso de ejecución del programa con una amplia variedad de datos de entrada,
llamados Datos de Test o Prueba, que determinarán si el programa tiene errores conocidos
como Bugs. Para realizar la verificación se debe desarrollar una amplia gama de datos de
Test:
Valores normales de entrada, Valores extremos de entrada que comprueben los límites del
programa y Valores de entrada que comprueben aspectos especiales del programa.
5. Prueba y Depuración
Se trata de testear la aplicación para verificar que su funcionamiento es el correcto. Para ello
se comprueban todas las entradas posibles, comprobando que las salidas son las
correspondientes.
La depuración es el proceso de encontrar los errores del programa y corregir o eliminar dichos
errores. Cuando se ejecuta un programa, se pueden producir tres tipos de errores, que son:
• Errores de Compilación: Se producen por un uso incorrecto de las reglas de lenguaje
de programación y suelen ser errores de sintaxis.
• Errores de Ejecución: se producen por instrucciones que la computadora puede
comprender, pero no puede ejecutar.
• Errores Lógicos: Se producen en la lógica del programa y la fuente de error suele ser
el diseño del algoritmo.
M.I.A ARACELI BERISTAIN GARCIA
6. Documentación
La Documentación es la guía o comunicación escrita en sus variadas formas, ya sea en
enunciados, procedimientos, dibujos o diagramas. A menudo un programa escrito por una
persona es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar
un programa o para facilitar futuras modificaciones (mantenimiento). La Documentación de
un problema consta en las descripciones de los pasos a dar en el proceso de resolución de un
problema. La importancia de la documentación debe ser destacada por su decisiva influencia
en el producto final.
La documentación se divide en tres partes:
A. Documentación Interna: Son los comentarios o mensajes que se añaden al código
fuente para hacer más claro el entendimiento de un proceso.
B. Documentación Externa: Se define en un documento escrito con los siguientes
puntos:
• Descripción del Problema
• Nombre del Autor
• Algoritmo (diagrama de flujo o pseudocódigo)
• Diccionario de Datos
• Código Fuente (programa)
• Pseudocódigos
C. Manual del Usuario: Describe paso a paso la manera cómo funciona el programa,
con el fin de que el usuario obtenga el resultado deseado.
7. Mantenimiento
Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer
algún cambio, ajuste o complementación al programa para que siga trabajando de manera
correcta. Para poder realizar este trabajo se requiere que el programa esté correctamente
documentado y actualizar la documentación cuando éste haya sido cambiado.
Diagramas de Flujo
Es el esquema más viejo de la informática. Se trata de una notación que pretende facilitar la
escritura o la comprensión de algoritmos. Gracias a ella se esquematiza el flujo del algoritmo.
Los Diagramas de Flujo son una técnica para representar algoritmos por medio de gráficos.
Reglas básicas para elaborar Diagramas de Flujo:
• Poner un encabezado que incluya un título que identifique la función del algoritmo;
el nombre del autor; y la fecha de elaboración.
• Sólo se pueden utilizar los símbolos anteriores.
• Los diagramas se deben dibujar de arriba hacia abajo y de izquierda a derecha.
• La ejecución del programa siempre empieza en la parte superior del diagrama.
• Los símbolos de “Inicio” y “Final” deben aparecer solo una vez.
M.I.A ARACELI BERISTAIN GARCIA
• La dirección del flujo se debe representar por medio de flechas (líneas de flujo).
• Todas las líneas de flujo deben llegar a un símbolo o a otra línea.
• Una línea de flujo recta nunca debe cruzar a otra. Cuando dos líneas de flujo se crucen,
una de ellas debe incluir una línea arqueada en el sitio donde cruza a la otra.
• Las bifurcaciones y ciclos se deben dibujar procurando una cierta simetría.
• Cada rombo de decisión debe tener al menos dos líneas de salida (una para SI y otra
para NO).
• Las acciones y decisiones se deben describir utilizando el menor número de palabras
posible; sin que resulten confusas.
• Todo el Diagrama debe ser claro, ordenado y fácil de recorrer.
Los siguientes son los principales símbolos para elaborar Diagramas de Flujo:
SIMBOLO DEFINICION SIMBOLO DEFINICION
Inicio/Final Decisión
Se utiliza para indicar el inicio Indica la comparación de dos datos y
y el final de un diagrama; del dependiendo del resultado lógico
Inicio sólo puede salir una (falso o verdadero) se toma la decisión
línea de flujo y al Final sólo de seguir un camino del diagrama u
debe llegar una línea. otro.
Entrada General Iteración (repetición)
Entrada/Salida de datos en Indica que un bloque o grupo de
General (en esta guía, solo la bloques deben ejecutarse varias veces
usaremos para la Entrada).
Entrada por teclado Salida Impresa
Bloque de entrada de datos Indica la presentación de uno o varios
por teclado. Indica que el resultados en forma
computador debe esperar a impresa.
que el usuario tecleé un dato
que se guardará en una
variable o constante.
Llamada a subrutina Salida en Pantalla
Indica la llamada a una Bloque de presentación de mensajes o
subrutina o proceso resultados en pantalla.
predeterminado.
Acción/Proceso General Conector
Indica una acción que debe Indica el enlace de dos partes de un
realizar el computador diagrama dentro de la misma
(cambios de valores de página.
variables, asignaciones,
operaciones aritméticas, etc).
Flujo Conector
Indica el seguimiento lógico Indica el enlace de dos partes de un
del diagrama. También indica diagrama en páginas diferentes
el sentido de ejecución de las
operaciones
M.I.A ARACELI BERISTAIN GARCIA
Almacenamiento de Disco magnético
acceso directo El símbolo más reconocible para
Es una manera elegante de una ubicación para un
decir unidad de disco duro almacenamiento de datos, esa
forma de diagrama de flujo
representa una base de dato
Cinta magnética Retraso
Representa cualquier tipo Representa un periodo de espera
de cinta magnética que se que es parte de un proceso. Hay un
utilice en el procedimiento. atraso de las formas comunes de
mapeo de procesos.
Los datos almacenados Combinación (Almacenamiento
Utilizado para cualquier Representa un archivo común y
etapa del proceso que corriente de oficina.
almacena los datos
Extracto (medición) Ordenar
Aparece cuando un Indica la clasificación de datos,
proceso se divide en un información, materiales en un
camino paralelo. También orden predefinido
indica una frecuencia de
medición, con M dentro
del símbolo. Proceso de
asignación: indica que el
almacenamiento de
productos terminados
Resumen y la salida (Y) Cotejar
Es la lógica de conexiones La forma de DF intercalar indica
se muestra cuando una fase del proceso que requiere
convergen varias ramas en la organización de los datos,
un solo proceso. El información con materiales de
símbolo de combinación es acuerdo con un formato estándar o
para este uso, sin embargo, el arreglo.
es más relevante en el
procesamiento de datos en
DF en vez de los DF de
proceso
O Preparación
La muestra o símbolo Cualquier paso del proceso es una
lógico, cuando un proceso preparación caudal, como una
se aparta- por lo general puesta a punto de la operación.
más de dos ramas. Cuando
se utiliza este símbolo es
importante etiquetar las
líneas de flujo saliente para
indicar los criterios a
seguir en cada rama
Cinta perforada Proceso Alternativo
Representa cualquier tipo Se utiliza cuando el paso de flujo
de cinta perforada que se del proceso es una alternativa a la
utilice en el procedimiento. etapa del proceso normal. Son
generalmente discontinuas.
Desventajas de los Diagramas de Flujo
• Cuando el algoritmo se complica, el diagrama de flujo se convierte en inteligible.
M.I.A ARACELI BERISTAIN GARCIA
• Los diagramas de flujo no facilitan el aprendizaje de la programación estructurada.
Nota:
Busca el archivo EJERCICIOS 6-10 y realiza los ejercicios del 6- 10,
imprímelos, resuélvelos en tu libreta y envíamelos en fotografía al correo
aberistain.02612@[Link] así mismo envíame los archivos en
DFD con su nombre respectivo
Resuelve el CUESTIONARIO 2 Cuando lo hayas resuelto imprímelo y
envíalo con tus datos al correo. aberistain.02612@[Link]
Uso Básico de un Lenguaje de Programación
Breve Historia de los lenguajes de programación
La historia de los lenguajes de programación comienza según la mayoría de los autores
cuando Charles Babbage inventó su computadora en el año 1822. El necesitó un lenguaje
para poder comunicarse con esta máquina. Estos primeros lenguajes estaban muy unidos a la
computadora y fueron creados para cada una de ellas. Este lenguaje era muy rudimentario y
consistía en la programación de los diferentes cambios de engranajes que ejecutaban los
cálculos.
Mas adelante, en el año 1942 se construyó la ENIAC, computadora que se programaba ya
con interruptores y era preciso reescribir el sistema entero para cada nuevo programa. Era un
lenguaje muy tedioso.
A continuación, la Historia de los lenguajes de programación nos lleva a Von Neumann, que
en el año 1945 desarrolló una nueva técnica que establecía que las instrucciones complejas
se deben utilizar para controlar el hardware simple, permitiendo que se pudiese reprogramar
más rápidamente (la técnica del compartir-programa).
La historia de los lenguajes de programación da un gran paso en el año 1957, cuando aparece
el primero de los lenguajes más importantes, el FORTRAN (del inglés Formula Translation).
Este fue el primero de los lenguajes de programación de alto nivel. En el año 1958 se creó el
lenguaje de programación LISP o proceso de lista que fue diseñado para la investigación de
la inteligencia artificial.
Otro lenguaje de programación
importante fue el PASCAL, que
apareció en el año 1968. Este
lenguaje de programación se usó
como uno de los mejores lenguajes
para enseñar programación a los
alumnos.
M.I.A ARACELI BERISTAIN GARCIA
El lenguaje de programación C fue otro de los más importantes a lo largo de la historia de
los leguajes de programación. Fue creado en 1972 por Dennis Ritchie para desarrollar los
sistemas operativos Linux. Posteriormente se han desarrollado otros lenguajes, entre los más
importantes tenemos: C++, Java, BASIC, Visual Basic, Cobol, SQL, C#, Smalltalk, etc.
Aquí se muestra un cuadro en donde aparece la evolución de los lenguajes de programación
conforme al año en que aparecieron.
M.I.A ARACELI BERISTAIN GARCIA
¿Qué es un Lenguaje de Programación?
Primero que nada, hay que conocer el concepto de Lenguaje.
Lenguaje: Es una serie de símbolos que sirven para transmitir uno o más mensajes (ideas)
entre dos entidades diferentes. A la transmisión de mensajes se le conoce comúnmente
como comunicación.
Los lenguajes de programación son un conjunto de reglas, herramientas y
condiciones que nos permiten crear programas o aplicaciones dentro de una
computadora. Estos programas son los que nos permitirán ordenar distintas
Lenguaje de acciones a la computadora en un “idioma” comprensible para la misma.
Programación Como su nombre lo indica, un lenguaje tiene su parte sintáctica y su parte
semántica. Es decir, todo lenguaje de programación tiene sus reglas acerca
de cómo se deben escribir las sentencias y de qué forma. Los lenguajes de
programación se dividen en tres grandes grupos: Los Lenguajes de Máquina,
Los de Bajo Nivel y Los de Alto Nivel. Los lenguajes de programación
tienen un conjunto de instrucciones que nos permiten realizar operaciones
de entrada/salida, calculo, manipulación de textos, lógica/comparación y
almacenamiento/recuperación.
Tipos de Lenguaje Existen los siguientes Tipos de Programación:
Los lenguajes de máquina son los que entiende una computadora sin la
necesidad de realizar ninguna conversión. Escribirlos resulta
extremadamente difícil para un programador convencional. Hoy en día,
nadie programa en este lenguaje, pero como es necesario para que la
Lenguaje
computadora entienda lo que tiene que hacer, existen programas que se
de Máquina
encargan de transformar el código comprensible, por un programador en
código comprensible por una computadora. Las instrucciones en este tipo de
lenguaje se forman en la unidad de memoria más pequeña que existe Para
facilitar la tarea del programador, se han diseñado otros tipos de lenguajes,
que son más comprensibles que el de máquina. Estos son el de bajo nivel y
el de alto nivel
Los lenguajes de bajo nivel, también llamados ensambladores, son aquellos
cuyas sentencias están formadas por códigos nemotécnicos es decir
Lenguaje de
abreviaturas de palabras inglesas; son lenguajes que, por más complejos que
Bajo Nivel
sean, resultan mucho más comprensibles que los lenguajes de máquina. Por
ejemplo: inicio: mov cx, 25. Una vez escrito el programa en este lenguaje,
se necesita otro programa llamado lenguaje ensamblador, para que traduzca
las sentencias en instrucciones compatibles por la máquina.
M.I.A ARACELI BERISTAIN GARCIA
Los lenguajes de alto nivel son aquellos que poseen sentencias formadas por
Lenguaje de palabras similares a las de los lenguajes humanos. Por lo tanto, resulta mucho
Alto Nivel más sencillo escribir un programa en un lenguaje de alto nivel, para luego
traducirlo en código comprensible para una computadora. Algunos ejemplos
de este tipo de lenguajes son: Pascal, dephi, Cobol, Foxpro, JAVA, y la
mayoría de los lenguajes visuales, como Visual Basic, Visual Foxpro, etc.
Es otra forma de diagramar algoritmos. Específica las acciones que debe
ejecutar un programa. La forma de hacerlo es mediante un lenguaje muy
sencillo y similar al nuestro. La idea es ir escribiendo con palabras sencillas,
las acciones que debe seguir el programa para alcanzar los objetivos. Éste se
puede hacer antes o después del Diagrama de flujo. Este Pseudocódigo se
emplea dentro de la programación estructurada. Éste se puede definir como
un lenguaje de especificaciones de algoritmos.
Pseudocódigo Ventajas de utilizar un pseudocódigo en un Diagrama de Flujo:
• Ocupa menos espacio en una hoja de papel
• Permite representar en forma fácil operaciones repetitivas complejas
• Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje
de programación.
• Si se siguen las reglas se puede observar claramente los niveles que tiene
cada operación
Intérpretes
A la hora de convertir un programa en código máquina, se pueden utilizar dos tipos de
software: intérpretes y compiladores.
Un intérprete es un traductor que toma un programa fuente, lo traduce y a continuación lo
ejecuta. Es decir, convierte cada línea a código máquina y se ejecuta ese código máquina
antes de convertir la siguiente línea. De esa forma si las dos primeras líneas son correctas y
la tercera tiene un fallo de sintaxis, veríamos el resultado de las dos primeras líneas y al llegar
a la tercera se nos notificaría el fallo y
finalizaría la ejecución.
El intérprete hace una simulación de
modo que parece que la máquina
entiende directamente las
instrucciones del lenguaje,
pareciendo que ejecuta cada
instrucción (como si fuese código
máquina directo).
M.I.A ARACELI BERISTAIN GARCIA
El BASIC era un lenguaje interpretado, se traducía línea a línea. Hoy en día la mayoría de
los lenguajes integrados en páginas web son interpretados, la razón es que como la descarga
de Internet es lenta, es mejor que las instrucciones se vayan traduciendo según van llegando
en lugar de cargar todas en el ordenador. Por eso, lenguajes como JavaScript (o incluso, Java)
son interpretados.
Proceso
Un programa que se convierte a código máquina mediante un intérprete sigue estos pasos:
1. Lee la primera instrucción
2. Comprueba si es correcta
3. Convierte esa instrucción al código máquina equivalente
4. Lee la siguiente instrucción
5. Vuelve al paso 2 hasta terminar con todas las instrucciones
Ventajas
✓ Se tarda menos en crear el primer código máquina. El programa se ejecuta antes.
✓ No hace falta cargar todas las líneas para empezar a ver resultados (lo que hace que
sea una técnica idónea para programas que se cargan desde Internet)
Desventajas
✓ El código máquina producido es peor ya que no se optimiza al valorar una sola línea
cada vez. El código optimizado permite estudiar varias líneas a la vez para producir
el mejor código máquina posible, por ello no es posible mediante el uso de intérpretes.
✓ Todos los errores son errores en tiempo de ejecución, no se pueden detectar antes de
lanzar el programa. Esto hace que la depuración de los errores sea más compleja.
✓ El código máquina resultante gasta más espacio.
✓ Hay errores difícilmente detectables, ya que para que los errores se produzcan, las
líneas de errores hay que ejecutarlas. Si la línea es condicional hasta que no probemos
todas las posibilidades del programa, no sabremos todos los errores de sintaxis
cometidos.
Compiladores
Se trata de software que traduce las
instrucciones de un lenguaje de
programación de alto nivel a código
máquina. La diferencia con los
intérpretes reside en que se analizan
todas las líneas antes de empezar la
traducción.
Durante muchos años, los lenguajes
potentes han sido compilados. El uso masivo de Internet ha propiciado que esta técnica a
veces no sea adecuada y haya lenguajes modernos interpretados o semi-interpretados, mitad
se compila hacia un código intermedio y luego se interpreta línea a línea (esta técnica la
siguen Java y los lenguajes de la plataforma .NET de Microsoft).
M.I.A ARACELI BERISTAIN GARCIA
Ventajas
✓ Se detectan errores antes de ejecutar el programa (errores de compilación)
✓ El código máquina generado es más rápido (ya que se optimiza)
✓ Es más fácil hacer procesos de depuración de código
Desventajas
✓ El proceso de compilación del código es lento.
✓ No es útil para ejecutar programas desde Internet ya que hay que descargar todo el
programa antes de traducirle, lo que ralentiza mucho su uso.
Tipos de Programación
La programación consiste en pasar algoritmos a algún lenguaje de ordenador a fin de que
pueda ser entendido por el ordenador. La programación se puede realizar empleando diversas
técnicas o métodos.
Existen diferentes tipos de programación que depende de lo que se va a programar y las
necesidades del usuario. Para ello tenemos los siguientes tipos:
M.I.A ARACELI BERISTAIN GARCIA
Se llama así a la programación que se realizaba en los inicios
de la informática. En este estilo de programación, predomina
Programación el instinto del programador por encima del uso de cualquier
Desordenada método lo que provoca que la corrección y entendimiento de
este tipo de programas sea casi ininteligible.
Ejemplo: Programación con un listado en Basic clásico:
El código anterior crea un pequeño juego que permite intentar adivinar un número del 1 al
100.
Es la técnica de desarrollo de programas de la forma más clara
posible haciendo uso de tres estructuras de control:
• La secuencia (instrucciones que se generan
secuencialmente.
• La selección - Alternativas (Sentencias IF).
Programación • La interacción o repetición (Bucles condicionales).
Estructurada
Estas estructuras pueden combinarse para crear programas que
manejen cualquier necesidad de procesamiento de datos.
Pueden ser leídos secuencialmente, desde el inicio hasta el
final, sin perder la continuidad.
El listado siguiente está escrito en un lenguaje estructurado que sería un listado en Pascal:
La ventaja de esta programación es
más legible (aunque en este caso el
código es casi más sencillo en su
versión desordenada).
Todo programador debería escribir
código de forma estructurada.
M.I.A ARACELI BERISTAIN GARCIA
Se basa en la creación de programas a partir de un conjunto
Estructura de Control
de sentencias escritas de forma secuencial y cuya ejecución
Secuencial
sigue dicha secuencia. Por ejemplo: Basic, Assembler,
Fortram y cobol.
Es la posibilidad de elegir entre dos instrucciones, donde la
decisión se toma en base a la evaluación de una expresión a
la que llamamos condición.
Estructura de Control La imagen indica que, si se cumple la condición 1, se avanza
de Selección al punto 2 y se llega al punto 4, en caso de no cumplirse la
condición 1 entonces se avanza al punto 3 y así se llega al
punto 4.
Es una estructura que se utiliza para repetir alguna instrucción
o grupo de instrucciones siempre que se cumpla una
condición.
Estructura de Control
de Repetición o de
Iteración
M.I.A ARACELI BERISTAIN GARCIA
Consiste en dividir un programa en módulos o subprogramas con el fin
de hacerlo más legible y manejable. Se presenta históricamente como
una evolución de la programación estructurada para solucionar
problemas de programación más grandes y complejos de lo que ésta
puede resolver.
Al aplicar la programación modular, un problema complejo debe ser
dividido en varios subproblemas más simples, y estos a su vez en otros
subproblemas más simples. Esto debe hacerse hasta obtener
Programación subproblemas lo suficientemente simples como para poder ser resueltos
Modular fácilmente con algún lenguaje de programación. Ésta técnica se llama
refinamiento sucesivo, divide y vencerás o análisis descendente (Top-
Down).
Un “módulo” es cada una de las partes de un programa que resuelve uno
de los subproblemas en que se divide el problema complejo original.
Cada uno de estos módulos tiene una tarea bien definida.
En la práctica se los suele tomar como sinónimos de procedimientos y
funciones.
Es una forma de programar, donde lo más importante es definir un
conjunto de hechos que se conocen con anterioridad, y un conjunto
Programación
de reglas que nos definen las distintas relaciones que existen entre
Lógica
los componentes del programa. Estos hechos y reglas conforman lo
que se llama la base del conocimiento. Por ejemplo: Prolog, C. Este
tipo de programación hace uso de algoritmos recursivos.
M.I.A ARACELI BERISTAIN GARCIA
Es una forma de estructurar un programa sobre la base de objetos. Cada
componente en este tipo de programa es concebido como un objeto que
tiene propiedades y métodos. Este tipo depende exclusivamente de una
interacción de los objetos que lo componen. Por ejemplo: JAVA, C++,
Delphi, Samlltalk, de [Link] tenemos Visual Basic. Net, C# y
[Link].
Programación Es la más novedosa, se basa en intentar que el código de los programas
Orientada se parezca lo más posible a la forma de pensar de las personas. Las
a Objetos aplicaciones se representan en esta programación como una serie de
(POO) objetos independientes que se comunican entre sí. Cada objeto posee
datos y métodos propios, por lo que los programadores se concentran en
programar independientemente cada objeto y luego generar el código
que inicia la comunicación entre ellos.
Es la programación que ha revolucionado, las técnicas últimas de
programación, ya que han tenido un importante éxito gracias a la
facilidad que poseen de encontrar fallos, de reutilizar el código y de
documentar fácilmente el código.
Ejemplo: (Código Java)
M.I.A ARACELI BERISTAIN GARCIA
Resuelve el CUESTIONARIO 3 Cuando lo hayas resuelto imprímelo y envíalo
con tus datos al correo. aberistain.02612@[Link]
M.I.A ARACELI BERISTAIN GARCIA