Beruflich Dokumente
Kultur Dokumente
Primer Semestre
Programa de la asignatura:
Fundamentos de programación
Unidad 1.
Preparando el camino hacia la programación
Índice
Unidad 1. Preparando el camino hacia la programación .................................................. 3
Presentación de la unidad .................................................................................................... 3
Competencia específica ........................................................................................................ 4
1.1. Introducción a la programación...................................................................................... 4
1.1.1. Ejecución de programas en la computadora .............................................................. 8
1.1.2. Lenguaje de programación..........................................................................................12
1.1.3. Paradigmas de programación .....................................................................................17
1. 2. Metodología de la programación .................................................................................18
1.2.1. Fases de la metodología de programación ...............................................................18
Cierre de la unidad ................................................................................................................30
Fuentes de consulta..............................................................................................................30
Unidad 1. Preparando el camino hacia la programación
Presentación de la unidad
Propósitos
Competencia específica
Para fines de este curso entenderemos que una computadora es una máquina
electrónica que recibe datos de entrada y los procesa de acuerdo al conjunto
de instrucciones, llamado programa, para obtener nuevos datos que son el
resultado del proceso, tal como se ilustra en la siguiente figura:
Según Joyanes y Zohanero (2005), al ejecutar cualquier programa una vez que
el programa y los datos fueron almacenados en la memoria principal, se realiza
el siguiente proceso en el interior de la CPU:
1. La Unidad de Control consulta en la memoria la instrucción indicada en el
contador del programa y la almacena en el registro de instrucciones,
actualizando el contador del programa con la dirección de memoria de la
siguiente instrucción.
2. Una vez almacenada la instrucción en el registro del programa, la unidad
de control la decodifica, detectando los dispositivos implicados en su
ejecución.
3. Una vez detectados los dispositivos, la misma Unidad de Control, les envía
las señales de control, indicándoles la acción a realizar y, si es el caso, los datos
y/o la dirección de memoria correspondiente.
Unidad 1. Preparando el camino hacia la programación
4. Cuando cada dispositivo concluye con las acciones designadas, envía una
señal a la unidad de control, para que ésta continúe con el mismo
procedimiento para la siguiente instrucción, así hasta ejecutar todo el
programa.
Instrucción Descripción
Imprimir
Imprime en el dispositivo de salida estándar el
<Dato>
<Dato> indicado en la instrucción, que puede ser un
mensaje de texto o el valor de una variable.
Lee por medio del teclado un dato, lo almacena en la
Leer <X> variable <X> indicado y lo almacena en la memoria
RAM.
La flecha representa una asignación, esta acción
<X> <Dato> actualiza la dirección de memoria asignada a <X>
con el valor <Dato>.
Lista de instrucciones en lenguaje de programación
ó á
Los programas escritos en bajo nivel describen a detalle lo que sucede a nivel
de hardware, mientras que los programas escritos en un lenguaje de alto nivel
lo ocultan, teniendo como ventaja que son más fáciles de entender para las
personas.
Unidad 1. Preparando el camino hacia la programación
Estructura de un lenguaje
Como en muchos otros lenguajes, una función es un código de programación
que tiene una tarea específica y forma parte del programa original. Es una
secuencia de instrucciones precisas, para realizar una tarea en específico.
Una función devuelve un único valor, el valor que devuelve puede ser de
cualquier tipo de datos reconocido. El nombre de una función comienza con
una letra o un subrayado (_) y puede contener las letras y subrayados que se
desee.
Tipos de datos
Los tipos de datos que suelen utilizarse en la mayoría de los lenguajes de
programación son:
· Cadena (texto).
· Entero (número entero).
· Decimal (número con punto decimal).
1
Unidad 1. Preparando el camino hacia la programación
ellos se desarrollaron programas traductores, que de acuerdo con la forma en
que trabajan se dividen en dos tipos: compiladores e intérpretes.
Por lo anterior, los compiladores requieren una fase extra antes de poder
generar un programa ejecutable, y aunque esto pareciera menos eficiente en
cuanto a tiempo, los programas creados con compiladores se ejecutan mucho
más rápido que el mismo programa ejecutado con un intérprete.
Adicionalmente, cuando un programa ya ha sido compilado puede ejecutarse
nuevamente sin tener que compilarse, mientras que los programas que son
interpretados, se deben volver a traducir cada vez que se ejecutan.
Para revisar una explicación más detallada sobre los lenguajes de bajo nivel,
revisa el documento U1. Lenguajes de bajo nivel en la sección Material de
apoyo.
Unidad 1. Preparando el camino hacia la programación
Conforme han ido evolucionando las computadoras también lo han hecho las
estrategias para solucionar problemas, generando nuevos programas con
diferentes filosofías, llamadas paradigmas de programación.
1. 2. Metodología de la programación
En programación, se entiende
usadas para abordar un problema y transformarlo en un programa codificado
que tendrá una estructura o arquitectura acorde con un paradigma de
programación (Martínez y Martín, 2003, p.46).
Ejemplo de pseudocódigo
Para los casos de problemas muy generales, existen métodos conocidos que
solo se adaptan a un problema en particular, el método es por lo general un
algoritmo o una técnica de programación.
Símbolo Descripción
Terminal. Representa el inicio y el final de un
algoritmo.
Implementación (codificación)
El algoritmo no puede ser ejecutado por una computadora, por ello debe
traducirse a un lenguaje de programación (como por ejemplo el lenguaje C)
para obtener un programa fuente que se traduzca a lenguaje de máquina que
pueda ser ejecutado por la computadora.
Validación y pruebas
Esta fase se lleva a cabo una vez que se ha codificado el algoritmo previamente
diseñado con el fin de verificar que su ejecución sea correcta. Existen diferentes
formas de probar que la solución es correcta, algunas de ellas son formales y
otras informales: las primeras se utilizan para garantizar que el programa o
algoritmo siempre calcule el resultado deseado para cualquier conjunto de
datos de entrada; en cambio, en las segundas sólo se prueba que funciona
correctamente para algunos datos de entrada, tratando de encontrar posibles
errores, en este caso no se puede garantizar que el programa o algoritmo
calcule la salida correcta para cualquier conjunto de datos. En cualquiera de
los dos casos, si se encuentra alguna falla se debe corregir y volver a realizar
pruebas.
Dado que el problema que estamos analizando como ejemplo es muy sencillo,
si se ejecuta manualmente el programa o algoritmo relacionado para un caso
específico de rectángulo se observará que el resultado es correcto. En la
siguiente figura se ilustra la ejecución del programa:
Unidad 1. Preparando el camino hacia la programación
Documentación
Cualquier proyecto de software por la complejidad que tiene requiere que
tanto las ideas principales como el desarrollo de principio a fin sea
documentado con el fin de que se pueda entender la lógica del programa y de
ser necesario se pueda modificar o darle mantenimiento posteriormente, sin
tantas complicaciones. Es común que si se desea modificar un programa y no
se tiene información acerca de cómo fue construido originalmente, sea más
fácil volverlo a hacer desde el principio que intentar entender la lógica aplicada
en un inicio. Uno de los mejores ejemplos de la importancia de la
documentación es el software libre, en el cual colaboran diversos
desarrolladores para su elaboración, teniendo el código fuente disponible para
modificarlo a su conveniencia. Estos desarrolladores se encuentran en
diferentes puntos geográficos del globo terráqueo e incluso varios hablan
diferentes idiomas, así es que la documentación les permite entender lo que
está haciendo cada uno y bajo qué método está trabajando.
Al concluir esta primera unidad se abordó de manera general, las partes que
integran una computadora y la manera en que cada una de ellas interactúa
para obtener el resultado esperado por el usuario. Así mismo, se expusieron las
diversas formas de comunicación con las máquinas a través de lo que se
denominan lenguajes de programación y cómo los distintos paradigmas que
existen permiten aplicar las opciones que resulten más favorecedoras para la
resolución de los problemas que se nos planteen, distinguiendo los elementos
de un programa y desarrollo del mismo mediante la programación.
Fuentes de consulta