Beruflich Dokumente
Kultur Dokumente
Competencia especfica
Describir los elementos de la computadora y el ciclo de vida del software mediante el
anlisis de un programa simple, con el fin de identificar los pasos que se realizan para
construirlo y determinar qu elementos de la computadora intervienen en su
ejecucin.
Como puedes darte cuenta, ambos elementos son necesarios para que una
computadora funcione, ya que si los aislamos no pueden funcionar; por ejemplo, si
tuviramos una computadora con todos los componentes de hardware ms
avanzados que existen (procesador, tarjeta madre, monitor, teclado, etc.), pero sin
Sistema Operativo instalado, de poco servira pues al prenderla, nicamente veramos
una pantalla negra y, por consiguiente, no podramos interactuar con ella. Para
comprender mejor lo que acabamos de decir, avanza al siguiente tema en el que
conocers la forma en que se estructura y funciona una computadora.
El Modelo de Von Neumann propone que tanto el programa como los datos sean
almacenados en la memoria, de esta forma la computadora no tiene que reconstruirse,
pues para programarla nicamente debe introducirse el programa por el dispositivo
indicado y posteriormente alimentarla con los datos de entrada para que calcule la
salida correspondiente.
Los elementos que componen esta arquitectura son: la unidad central de
procesamiento integrada por la unidad aritmtica-lgica y la unidad de control,
la memoria y los dispositivos de entrada/salida. A continuacin se describe
brevemente la funcin de cada uno de los elementos que integran el Modelo de Von
Neumann.
Instruccin
Descripcin
Imprime en el dispositivo de salida estndar los <Datos>
Imprimir <Dato> indicados en la instruccin, que pueden 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 asignacin, esta accin actualiza la
<X> <Dato>
direccin de memoria asignada a <X> con el valor <Dato>.
La unidad de control enva seales al monitor para que imprima el mensaje Ingresa
base:.
II.
Leer b
La unidad de control coordina las acciones necesarias para que, por medio del
teclado, el usuario introduzca un nmero y lo almacene en la memoria
principal,en el espacio correspondiente a la variable b.
III.
Leer h
La unidad de control coordina las acciones necesarias para que el usuario
introduzca un nmero, por medio del teclado, y lo almacene en el espacio de
memoria correspondiente a la variable h.
V.
area b*h
La unidad de control enva la seal indicada a la ALU para que realice la
multiplicacin posteriormente enva la seal a la memoria junto con el
resultado de la multiplicacin, para que se almacene en el espacio de
memoria correspondiente a area.
VI.
Imprimir rea
La unidad de control trae de la memoria el dato almacenado en el espacio
asignado a la variable area y coordina las acciones para que
el monitor imprima este valor.
Por ejemplo, la palabra Hola se representa como 0100 1000 0110 1111 0110 1100
0110 0000, ya que a cada letra le corresponde una codificacin:
Diseo de la solucin
Es en esta fase se define cmo el programa resuelve el problema? Para ello, se
describe paso a paso la solucin del mismo, lo cual se conoce
como algoritmo. Cuando el problema es grande se recomienda dividirlo en
subproblemas ms pequeos y resolver por separado cada uno de ellos. A esta
metodologa se le conoce como diseo descendente (top-down) o modular. Existen
diferentes formas de representar un algoritmo algunas formales, como una frmula
matemtica, o informales, como es el caso del lenguaje natural.
En la siguiente tema posterior estudiaremos a mayor profundidad los algoritmos y su
representacin, pero para seguir con el desarrollo de nuestro programa ejemplo,
plantearemos la solucin como una secuencia de pasos en espaol.
Algoritmo que calcula el rea de un rectngulo
Implementacin (codificacin)
El algoritmo no puede ser ejecutado por una computadora por ello debe traducirse a
un lenguaje de programacin (como por ejemplo C# que es el lenguaje de alto nivel
que ocuparemos para nuestros laboratorios) para obtener un programa fuente que se
traduzca a lenguaje de mquina para que sea ejecutado por la computadora.
En el siguiente cuadro se muestra la codificacin en lenguaje C# del algoritmo, por
ahora no es necesario que lo comprendas puesto que esto lo podrs hacer conforme
vayas aprendiendo a programar, por lo pronto solamente se muestra con fines
ilustrativos.
Validacin y pruebas
Esta fase debe hacerse una vez que se ha diseado el algoritmo y despus de que se
codifica, sirve para verificar que son correctos. Existen diferentes formas de probar
que la solucin es correcta, algunas de ellas formales y otras informales: las primera
se utilizan para garantizar que el programa o algoritmo siempre calcula el resultado
deseado para cualquier conjunto de datos de entrada; en cambio, en las segundas
slo se prueba que funciona correctamente para algunos datos de entrada, tratando
de encontrar posibles errores, en este caso no se puede garantizar 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.
El ejemplo es muy sencillo y si ejecutamos manualmente el programa o algoritmo
mostrado en la fase anterior, con un caso especfico de rectngulo veremos que
ambos son correctos.
Documentacin
Cualquier proyecto de software por la complejidad que tiene requiere tanto las ideas
principales como el desarrollo de principio a fin sea documentado, con el fin de que
cualquiera puedan entender la lgica del programa y de ser necesario pueda
modificarlos sin tantas complicaciones. Es comn que si se desea modificar un
programa y no se tiene informacin acerca de cmo fue construido sea ms fcil
volverlo a hacer que intentar entenderlo. Uno de los mejores ejemplos de la
importancia de la documentacin es el software libre, en el cual colaboran diversos
desarrolladores para su elaboracin, los cuales se encuentran en diferentes puntos
geogrficos de globo terrqueo, as que la forma de entender que est haciendo cada
uno y bajo que mtodo es la documentacin. Adems de que se debe tomar en
cuenta que se llama software libre porque est disponible el cdigo fuente para que
cualquier persona pueda modificarlo a su conveniencia.
Como parte de la documentacin tambin deben incluirse manuales de usuario y las
normas de mantenimiento para que se haga un buen uso del software.
Mantenimiento
Esta fase tiene sentido una vez que fue terminada una primera versin del programa y
ya est siendo utilizado. Ya que en sta se actualiza y modifica para corregir errores
no detectados o para cambiar y/o agregar una nueva funcin. Por ejemplo, se puede
extender el programa 1.1, que calcula el rea de un rectngulo para que tambin
calcule su permetro.
El siguiente conjunto de instrucciones calcula el rea y permetro de un rectngulo.
Actividad Integradora
Ha llegado el momento de verificar qu tanto has aprendido con este tema.
Realiza la siguiente actividad, la cual tiene una doble finalidad: la primera, que
reconozcas qu tanto has aprendido para que por ti mismo valores si la manera en
que te has conducido hasta ahora por la asignatura ha sido o no la correcta; y la
segunda, que te diviertas ganndole a la ignorancia, porque no todo deben ser letras y
nmeros, lleg la hora de jugar!
Autoevaluacin
Contesta si es cierto o falso y menciona por qu.
1. Los datos que requiere un programa para realizar un clculo deben estar en la
memoria, de lo contrario no pueden ser procesados.
2. El sistema operativo, los compiladores y los editores de texto son ejemplos de
software.
3. El teclado, el mouse y el scanner son ejemplos de dispositivos de salida.
4. Para ejecutar la siguiente instruccin X = 2 * Y
Principalmente intervienen la unidad de control, la ALU y la memoria.
5. Los datos y los programas se almacenan en la memoria ROM.
6. Los datos almacenados en memoria estn representados como cadenas de unos y
ceros.
7. La computadora puede ejecutar directamente los programas escritos en lenguajes
de alto nivel, como C, Java o PHP.
8. La diferencia entre un compilador y un intrprete es que: el primero traduce y
ejecuta una a una las instrucciones del programa fuente, en cambio un intrprete
traduce todo el programa fuente a lenguaje de mquina generando un programa
objeto que despus se convierte en un programa ejecutable.
Muy bien! No olvides consultar cualquier duda que te surja
Cuestionario
Pregunta 1
La diferencia entre un intrprete y un compilador es:
Pregunta 2
Las etapas del ciclo de vida de software son: I. Codificacin; II. Pruebas y
validacin; III. Anlisis del problema; IV. Diseo de la solucin; V.
Mantenimiento. El orden en que se realizan es:
a. III, V, II, I, IV
b. III, I, IV, II, V
c. III, II, I, IV, V
d. III, IV, I, II, V
Pregunta 3
Son ejemplos de dispositivos de salida
a. Bocinas e impresora
b. Escaner y Bocinas
c. Impresora y memoria flash (tambin llamada usb)
d. Monitor y teclado
Pregunta 4
Es un ejemplo de una instruccin en lenguaje ensamblador.
a. printf("hola mundo");
b. MOV R2, R7
c. Leer x
d. 0010 0000 1000 0100
Pregunta 5
De acuerdo con el modelo de Von Neumann, los datos de un programa se
almacenan en:
a. La memoria ROM
b. En la memoria secundaria
c. En el disco duro
d. En la memoria RAM
Fuentes de consulta
Joyanes, L., & Zohanero, I. (2005). Programacin en C. Metodologa,
algoritmos y estructuras de datos. Espaa: Mc Graw Hill.
AUTORREFLEXIONES
Estas son las preguntas de la Autorreflexin del tema 1:
1.
2.
3.
4.