You are on page 1of 67

1/20/2015

Presentacin de la unidad

Unidad 1. Introduccin a la computadora y al desarrollo de software

Presentacin de la unidad

101001000fb>100100010

Bienvenido(a) al curso de Fundamentos de programacin,


en esta primera unidad estudiaremos qu son las
computadoras y cmo pueden ayudarnos para resolver
problemas.
Lo primero que debes te.
claro es que las computadoras
no poseen inteligencia alguna, ya que por s solas no son
capaces de resolver ningn problema, su importancia est
en la capacidad de datos que pueden almacenar y
manipular; de tal manera que, para lograr nuestro fin resolver problemas mediante la computadora-es necesario
desarrollar programas escritos en un lenguaje de
programacin para que puedan ser ejecutados por una
computadora.

Da clic en la flecha para continuar.

http://aulalres.unadmeidco.11Wa..ao1511p1ugi nfile.phfl'386{mod_scam'contenV1/00_FPR_Presentacion/FPR_U 1_Presenlacion_p1 .hlm

1de3

1/1

Unldld 1. ln1rodued6n a la co1q1utadora y al deNrrollo de .ol'lww'e

Prop6sito de la Wlidad

:: ldantilical's los canceptae bicoa


ralacionadm can la c:amputadara y los languajBB

de programaci6n.
:: Dillil"GIJil's los elementos de una
computadcra qua tntaManan an ta. aacucl6n da
un programa a lrallflB del modeb de von

Neumann.
:: Dlstl191lrs los paradigmas d& programacin
y los lenguale B asociados a 61to6.

:: Reco1111C81s las fases que se slgu&n para


aoluclonar wi problema mediante la
4:0mputadora.

Da elle en I ftachaa paia awnzar o Nllniceder.

111

CU1

zlii; lle&

Unldld 1. ln1rodued6n a la co1q1utadora y al deNrrollo de .ol'lww'e

Colnpetenc:ia 11.,.cca

Describir lc9 elamm1to1 de .. computadora y el


clero de vida del son.wm mediante et anAJlsls de un
pragrama slmple, con el i.i de ldentlftcar los pasos
que se reallzan para consllUlrlo y determinar qu
elementos de la computadora Intervienen en &u
ejecool6n.

Paa cent&... la Lllldad, da elle en la ActMdad pllMa da la litild.

111

1/200015

Actividad previa de la Unidad

Unidad 1. Introduccin a la computadora yal desarrollo de software

Actividad previa de la Unidad


Foro: Fundamentos de Programacin.
Para facilitar el estudio de la asignatura, hemos creado un foro de discusin general, a
travs del cual podrs comentar cualquier asunto relacionado con Fundamentos de
Programacin; la intencin es que entre todos podamos apoyarnos para resolver dudas,
inquietudes, externar comentarios y por qu no, conocer a nuestros compaeros de grupo.
En virtud de lo anterior, realiza lo siguiente:
1. Ingresa al foro de Fundamentos de Programacin, genera una nueva
entrada y en ella escribe una breve presentacin para que podamos conocerte.
Para ello, considera aspectos como:
:: Generales (nombre, edad, estado civil, lugar de procedencia, etc.)
:: Personales (intereses, ocupacin, gustos, aficiones, etc.)
:: Acadmicos (razones para estudiar esta carrera, lo que esperas
de la asignatura, conocimiento previo en los temas de la asignatura)

2. Agrega un comentario a por lo menos una (uno) de tus campaneras (os).

Da clic en la flecha para continuar.

http://aulalres.unadmaidco.n'WeVl0151/plug i nfile.ph~_scarnlcontent/1/01_FPR_ACT_PREV/FPR_U 1_Act_Prev_p1 .htn1

1de2

111

Unldld 1. ln1rodued6n a la co1q1utadora y al deNrrollo de .ol'lww'e

.Actividad previa de la Unidad

Recuerda qll8 en tua petlic"8cianas dentro de at8 y lodoa loa fotos, llliria, bloga y dama
harramlantat dal aue, dabafl dlltgllte a IUs compalleras(oa) da manara 1'81patucta, CGnlal y
en concordancia can lo estallllcldo en cada ocasl6n.

:: Para conocer las nanna& de partlclpacl6n del foro, da elle en el

Icono.

Para lngreaar al m: En la iuta (pmte superior Izquierda del aula) da elle en FlllClamentos.
Se enllatarn laa actMdadea de la unidad, da elle en foro Fundamentos de PR911macl6n.

Al ccncl~rtu plllllclpacl&'l 1111 el lblo, da elle en el Tema 1.1.QJll

W1B ccmp hdnnl?

111

https://www.youtube.com/watch?feature=player_embedded&x-yt-ts=1421782837&v=88xNUNbPmEk&x-yt-cl=84359240

1/200015

1.1. Qu es 1.n1~a7

Unidad l. Introduccin a la computadora y al desarrollo de software

1.1. Qu es una computadora?

Tomando en consideracin la informacin presentada en el video, a continuacin estudiaremos


los siguientes temas que nos ayudarn a comprender mejor qu es y cmo funciona una
computadora:

::El Modelo de Von Neumann


::Los pasos para realizar un programa
::Los principales paradigmas y lenguajes de programacin utilizados
actualmente.

Da clic en las flechas para awnzar o retroceder.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/02_FPR_U1_1_11FPR_U 1_tema_1_1_p2.htn1

2 de 5

111

1.1. Qu es una COIT1JUtadora?

1/20/2015

Unidad l. Introduccin a la computadora y al desarrollo de software

1.1. Qu es una computadora?

Para fines de este curso


entenderemos que una
computadora es una mquina
electrnica 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:
Figura 1.1: CorJ1)utadora

Da clic en las flechas para awnzar o retroceder.

htlp://aulatres.unadi'mico.mo'a"20151/pluginfile.phpl386/mod_scorm'ccnll!nt/1/02_FPR_U1_1_1/FPR_U1_terTe_1_1_p3.hlm1

3 de 5

1/1

1/200015

1.1. Qu es 1.n1~a7

Unidad l. Introduccin a la computadora y al desarrollo de software

1.1. Qu es una computadora?


Lo anterior nos lleva a clasificar los componentes de una computadora en dos clases: hardware y
softMere.

Los recursos de hardware


Son todos aquellos elementos de la
computadora que se pueden palpar, como por
ejemplo: el monitor, el teclado, el disco duro, la
memoria, entre otros.

Los recursos de softMere


Son aquellos elementos intangibles sin los
cuales la computadora no funcionara, esto es,
el soporte lgico: programas y datos, entre los
cuales se encuentran los sistemas operativos,
editores de texto, compiladores, bases de
datos, videojuegos, entre otros.

Organizador gr6fico 1.1: Corrponentes de la corrputadora

Da clic en las flechas para awnzar o retroceder.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scorrnlcontent/1/02_FPR_U1_1_11FPR_U 1_tema_1_1_p4.htn1

4 de 5

111

1/200015

1.1. Qu es 1.n1~a7

Unidad l. Introduccin a la computadora y al desarrollo de software

1.1. Qu es una computadora?

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.

Has concluido este tema, ahora puedes re'Jisar el Tema 1.2. Estructura y funcionamiento de
una computadora.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/02_FPR_U1_1_1/FPR_U 1_tema_1_1_p5.htn1

5 de 5

111

1/200015

1.2. Estrucb.Jra yfuncimmriento de ll1B corrp.rtadora

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.2. Estructura y funcionamiento de una computadora

Te has planteado alguna vez preguntas como estas:

Cmo funciona y se estructura internamente la computadora?,


cmo se obtienen los resultados? y cmo se guardan los programas y
datos en la memoria?

Cuando tenemos un primer acercamiento con equipos de cmputo, a pesar de manejarlos a


diario, estas preguntas no son tan fciles de contestar. Es por eso que en esta seccin
explicaremos y responderemos a estos cuestionamientos mediante el Modelo de Von
Neumann, el cual constituye la base de la arquitectura de las computadoras actuales.

Da clic en el subtema 1.2.1. Modelo de Van Neumann.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/03_FPR_U1_1_21FPR_U 1_tema_1_2_p1 .htm

1de1

111

1/200015

1.2.1. Modelo de Vm Neurrenn

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.2.1. Modelo de Von Neumann

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
corres pendiente.
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 l\4odelo de Van Neumann.

Da clic en la flecha para continuar.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/04_FPR_U1_1_2_11FPR_U 1_1erre_1_2_1_p1 .hlml

1 de4

111

1/20/2015

1.2.1 . Modelo de Von Neumann

Unidad 1. Introduccin a la computadora y al desarrollo de software

1.2. 1. Modelo de Von Neumann

Unidad Central de Procesamiento

Memoria Principal

Dispositivos de entrada y salida

La memoria principal es la parte de la computadora donde se almacenan


los datos y las inslrucciones durante la ejecucin de un programa.
Flsicamenle est compuesta por circuitos integrados. Las computadoras
actuales cuentan con un rea de memoria de slo lectura - a la que se le
conoce como memoria de tipo ROM (Read Only Memory) - y otra en la cual
es posible escribir y leer datos - denominada de tipo RAM (Random Access
Memory), sta tiene el inconveniente de ser voltil pues al apagarse la
computadora los datos almacenados se pierden.
Para resolver este inconveniente, se cuenta con otro tipo de memoria.
denominada memoria secundaria, en ella se puede almacenar una gran
cantidad de informacin permanentemente, mientras el usuario no la borre.
La desventaja de este tipo de dispositivos es que no son tan rpidos como la
memoria RAM. Los discos duros, los discos pticos (CD o DVD), la memoria
flash (USB} y las cintas magnticas. entre otras. son ejemplos de
dispositivos de almacenamiento secundario.

Versin Accesible

Da clic en las flechas para avanzar o retroceder.

http://aulatres.unadmexico.mx/a\Q0151/pluginfile.php/386/mod_scorm'contenV1/04_FPR_U1_1_2_1/FPR_U1_tema_1_2_1_p2.html

2 de 4

1/1

1/200015

1.2.1. Modelo de Vm Neurrenn

Unidad 1. Introduccin a la computadora yal desarrollo del software

Elementos del modelo de Von Neumann


Unidad Central de Procesamiento
La Unidad Central de Procesamiento (CPU, Central Process Unit) controla y coordina la
ejecucin de las instrucciones, para ello utiliza la Unidad Aritmtico-Lgica encargada del
procesamiento de los datos y la Unidad de Control para el procesamiento de las
instrucciones.

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/04_FPR_U1_1_2_1/0A_01_Fichero_021i nicio.hln1

111

1/200015

1.2.1. Modelo de Ven Neumann

Unidad 1. Introduccin a la computadora y al desarrollo del software

Elementos del modelo de Von Neumann


Unidad Central de Procesamiento
Unidad Aritmtico-Lgica (ALU, Arithmetic Logic Unit), realiza todas las operaciones
aritmticas (suma y resta) y lgicas (operaciones del lgebra de Boole). Adems de los circuitos
que le permiten realizar dichas operaciones, la ALU incluye un elemento auxiliar donde se
almacenan temporalmente los datos que manipula, conocido como Acumulador o Registro
Temporal (TR, Temporal Register).

Anterior

Siguiente

http:l/aulatres.unadmaiGco.rrW'a.()151/plug i nfile.ptp'386/rrod_scam'contentf1/04_FPR_U1_1_2_1/0A_01_Fichero_02/pag i na1.hlm

1/1

1/200015

1.2.1. Modelo de Ven Neumann

Unidad 1. Introduccin a la computadora yal desarrollo del software

Elementos del modelo de Von Neumann


Unidad Central de Procesamiento

Unidad de Control (CU, Control Unit), se encarga de leer las instrucciones almacenadas en
memoria, decodificarlas y despus enviar las seales a los componentes que estn involucrados
en su ejecucin, para lo cual tiene dos elementos auxiliares el Contador del Programa (PC,
Program Counter) y el Registro de Instruccin (IR, lnstruction Register). En el IR se guarda
temporalmente la instruccin que debe ser ejecutada, mientras que en el PC se almacena la
direccin de memoria que contiene la siguiente instruccin que se ejecutar.

Anterior

Siguiente

htlp://aulatres.unadmaiGco.rrW'a.()151/plug i nfile.ptp'386/rrod_scarnlcontent/1/04_FPR_U1_1_2_1/0A_01_Fichero_02/pag i na2.hlm

1/1

1/200015

1.2.1. Modelo de Vm Neurrenn

Unidad 1. Introduccin a la computadora yal desarrollo del software

Elementos del modelo de Von Neumann


Memoria Principal
La memoria principal es la parte de la computadora donde se almacenan los datos y las
instrucciones durante la ejecucin de un programa. Fsicamente est compuesta por circuitos
integrados. Las computadoras actuales cuentan con un rea de memoria de slo lectura - a
la que se le conoce como memoria de tipo ROM (Read On/y Memory) -y atraen la cual es
posible escribir y leer datos - denominada de tipo RAM (Random Access Memory). sta
tiene el inconveniente de ser voltil pues al apagarse la computadora los datos almacenados
se pierden.

Para resolver este inconveniente, se cuenta con otro tipo de memoria, denominada memoria
secundaria, en ella se puede almacenar una gran cantidad de informacin
permanentemente, mientras el usuario no la borre. La desventaja de este tipo de dispositivos
es que no son tan rpidos como la memoria RAM. Los discos duros, los discos pticos (CD o
DVD), la memoria flash (USB) y las cintas magnticas, entre otras, son ejemplos de
dispositivos de almacenamiento secundario.

Anterior

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/04_FPR_U1_1_2_1/0A_01_Fichero_02/pag i na3.hlm

111

1/200015

1.2.1. Modelo de Vm Neurrenn

Unidad 1. Introduccin a la computadora yal desarrollo del software

Elementos del modelo de Von Neumann


Dispositivos de entrada y salida
Los dispositivos de entrada y salida (lnput/Output) son responsables de la comunicacin
con el usuario del sistema. Los dispositivos de entrada permiten introducir en la
computadora datos e instrucciones, mismas que son transformadas en sef\ales binarias de
naturaleza elctrica para almacenarlas en la memoria. Por otro lado, los dispositivos de
salida permiten enviar los resultados a los usuarios de las computadoras, transformando las
seales elctricas binarias en informacin que stos puedan comprender. El teclado est
considerado como el dispositivo de entrada estndar pero existen otros del mismo tipo, por
ejemplo: el ratn, el escner, la lectora ptica, el micrfono o la tabla digital. A su vez, el
monitor es el dispositivo de salida estndar; otros ejemplos de dispositivos de salida son:
impresora, bocinas, plotter, etc.

Anterior
Versin Original

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/04_FPR_U1_1_2_1/0A_01_Fichero_02/pag i na4.hlm

111

1/200015

1.2.1. Modelo de Vm Neurrenn

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.2.1. Modelo de Von Neumann

Es asr que todas las unidades de la computadora se comunican a travs del sistema de buses
que son cables mediante los cuales se envan setiales y dependiendo de la informacin que
transmiten se clasifican en:
:: El bus de direcciones transmite la direccin de memoria de la que se quiere leer
o en la que se quiere escribir.
:: El bus de control selecciona la operacin a realizar en una celda de memoria
(lectura o escritura).
:: El bus de datos transmite el contenido desde o hacia una celda de memoria
seleccionada en el bus de direcciones segn la operacin elegida en el bus de
control sea lectura o escritura.

Da clic en las flechas para awnzar o retroceder.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/04_FPR_U1_1_2_11FPR_U 1_1erre_1_2_1_p3.hlml

3 de4

111

1/200015

1.2.1. Modelo de Vm Neurrenn

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.2.1. Modelo de Von Neumann

Ahora ya sabemos cmo est estructurada internamente la computadora, qu elementos la


integran y cul es la funcin de cada uno de ellos; el siguiente paso es descubrir cmo
colaboran para llevar a cabo la ejecucin de un programa, enseguida lo explicamos:
Los datos de entrada que requiere un programa se introducen a la computadora, a travs de
los dispositivos de entrada; posteriormente se almacenan en la memoria RAM, para que la
CPU pueda procesarlos, conforme a las instrucciones del programa, hasta obtener el
resultado deseado, mismo que enva al usuario por medio de los dispositivos de salida.
Todas estas acciones son coordinadas por la unidad de control que enva las seriales y
datos a cada uno de los dispositivos de la computadora involucrados en la ejecucin de las
instrucciones del programa a travs del sistema de buses. En la siguiente seccin se
describe con mayor detalle este proceso.

Da clic en el subtema 1.2.2. Ejecucin de programas en la computadora.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/04_FPR_U1_1_2_11FPR_U 1_1erre_1_2_1_p4.hlml

4 de4

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.2.2. Ejecucin de programas en la computadora

Para entender mejor lo que sucede en el interior de la CPU al ejecutar cualquier programa, a
continuacin se describen de manera general los pasos que se realizan una vez que el
programa y los datos fueron almacenados en la memoria principal:

Da clic en la flecha para continuar.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_21FPR_U 1_1erre_1_2_2_p1 .hlml

1 de4

111

1uq

rt*9pqrmm., .. wa '

Unldld 1. ln1rodued6n a la co1q1utadora y al deNrrollo de .ol'lww'e

1.2.2. Fjectici6n de progranu en la~


La unidad de control consulta en la memoria la instruccin indicada en el
contador del programa y la almacena en el registro de instrucciones,
actualizando el contador delprograma con la direccin de memoria de la
si uiente instruccin.
La unidad de control se encarga de decodificar la instruccin almacenad~
detectando qu dispositivos estn implicados en su ejecicin, estos pueden
ser: la ALU, cundo se tiene que hacer una operacin; los dispositivos de
entrada y/o salida, cuando se tiene que enviar o recibir un dato; o la memoria,
si se quiere guardar o consultar un dato; posteriormente envia las seales
de control a los mismos indicndoles la accin y si es el caso, los datos y/o
la direccin de memoria correspondiente.
___;
Cuando los dispositivos realicen su tarea enviarn una seal a la unidad
de control, para que sta repita el mismo procedimiento con la siguiente
instruccin, as se repite el proceso hasta ejecutar todo el programa.

Da elle en I ftachaa paia awnzar o Nllniceder.

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.2.2. Ejecucin de programas en la computadora

Al perodo en el que se ejecuta una instruccin se le conoce como ciclo de instruccin o


ciclo fetch.
Con el fin de ilustrar este procedimiento, analizaremos la ejecucin del siguiente
programa escrito en un lenguaje de programacin ficticio.

Da clic en las flechas para awnzar o retroceder.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_21FPR_U 1_1erre_1_2_2_p3.hlml

3 de4

111

1.2.2. Ejecucin de programas en la c~adora

1/20/2015

Unidad 1. Introduccin a la computadora y al desarrollo de software

1.2.2. Ejecucin de programas en la computadora

Ejemplo 1.1: El sig.uiente conjunto


de
instrucciones
sirve
para
calcular el rea de un rectngulo.
Imprimir " Ingresa la base:"
Leer b
Imprimir " Ingresa la altura:"
Leer h
area 4:- bh
Imprimir rea

Antes de definir paso a paso la ejecucin de este


programa, describiremos la funcin de cada una
de las instrucciones que lo integran.
Descripcin

Instrucciones
lmprtnlr
<Date

Leer <X>

Imprime en el dispositivo de salida


estndar los <Datos:> indicados en la
Instruccin, que pueden ser un mensaje
de 1exto o el valor de una vaable.
Lee por medio del teclado un dato, lo
alma~na en la variable <X> indicado y
lo almacena en la memOfia RAM.
La ne-cha representa una asignacin, esta

<X> - <Dato> accin actualiza la d ireccin de memoria


asignada a <X> con el valor <Dato>.

. . . Vers in Acces ible

Da clic en el subtema 1.2.3. Almacenamiento de programas y datos.

http://aulatres.unadmexico.mx/a\Q0151/pluginfile.php/386/mod_scorm'contenV1/05_FPR_U1_1_2_2/FPR_U1_tema_1_2_2_p4.html

4 de 4

1/1

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1.lntroduccon a la computadora y al desarrollo de 1software

Programa 1: Calcula el rea de un rectngulo

Ejemplo 1.1: El siguiente conjunto de instrucciones sirve para calcular el rea de un rectngulo.
Imprimir "Ingresa la base:"
Leer b
Imprimir "Ingresa la altura:"
Leer h
area- b*h
Imprimir rea

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_2IOA_02_Fichero_041i nicio.hln1

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1.lntroduccon a la computadora y al desarrollo de 1software

Programa 1: Calcula el rea de un rectngulo


Antes de definir paso a paso la ejecucin de este programa, describiremos la funcin de cada una
de las instrucciones que lo integran.
Instruccin

Descripcin

Imprime en el dispositivo de salida estndar los <Datos>


Imprimir <Dato> ndicados en la instruccin, que pueden ser un mensaje de texto
o el valor de una variable.

Leer <X>

<X> -

<Dato>

_ee por medio del teclado un dato, lo almacena en la variable


l<X> indicado y lo almacena en la memoria RAM .
....a flecha representa una asignacin, esta accin actualiza la
~ireccin de memoria asignada a <X> con el valor <Dato>.

Anterior

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_2IOA_02_Fichero_04/pag i na1 .hlm

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1.lntroduccon a la computadora y al desarrollo de 1 software

Programa 1: Calcula el rea de un rectngulo

Cabe setialar que en los lenguajes de programacin, las direcciones de memoria se


representan por medio de variables, para hacerlos ms legibles. De tal manera que
<X> representa una variable y <Dato> puede ser un mensaje o cualquier valor.
Ahora sr. de acuerdo con la informacin anterior, describamos paso a paso las
acciones que realiza la unidad de control junto con las otras unidades de la
computadora involucradas en la ejecucin de cada una de las instrucciones del
programa.

Anterior

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_2IOA_02_Fichero_04/pag i na2.hlm

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1.lntroduccon a la computadora y al desarrollo de 1software

Programa 1: Calcula el rea de un rectngulo

Imprimir "Ingresa la base:"


La unidad de control enva seales al monitor para que imprima el mensaje "Ingresa
base:".

Anterior

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_2IOA_02_Fichero_04/pag i na3.hlm

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1.lntroduccon a la computadora y al desarrollo de 1software

Programa 1: Calcula el rea de un rectngulo

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.

Anterior

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_2IOA_02_Fichero_04/pag i na4.hlm

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1.lntroduccon a la computadora y al desarrollo de 1software

Programa 1: Calcula el rea de un rectngulo

Imprimir "Ingresa la altura:"


La unidad de control, nuevamente, enva una seiial al monitor para que
imprima el mensaje "Ingresa altura:".

Anterior

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_2IOA_02_Fichero_04/pag i na5.hlm

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1.lntroduccon a la computadora y al desarrollo de 1 software

Programa 1: Calcula el rea de un rectngulo

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.

Anterior

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_2IOA_02_Fichero_04/pag i na6.hlm

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1.lntroduccon a la computadora y al desarrollo de 1 software

Programa 1: Calcula el rea de un rectngulo

area +- b*h

La unidad de controlenva la seiial indicada a la ALU para que realice la


multiplicacin posteriormente enva la seiial a la memoria junto con el
resultado de la multiplicacin, para que se almacene en el espacio de
memoria a.

Anterior

Siguiente

http://aulatres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/05_FPR_U1_1_2_2IOA_02_Fichero_04/pag i na7.hlm

111

1/200015

1.2.2. Ejecuci'I de programas en la corrp.rtadaa

Unidad 1.lntroduccion a la computadora y al desarrollo del software

Programa 1: Calcula el rea de un rectngulo

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.

Anterior

Versin Original

http://aulatres.unadmaidco.nW'aVl0151/plug infile.ptp'386/rrod_scarnlcontent/1/05_FPR_U1_1_2_2/0A_02_Fichero_04/pag ina8.hlm

1/1

1/200015

1.2.3. Almacenarriento de prog rarres y datos

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.2.3. Almacenamiento de programas y datos

La computadora slo entiende sef\ales binarias: ceros y unos, encendido y apagado; ya


que todos los dispositivos que la integran trabajan con dos nicos estados: "hay corriente
elctrica" y "no hay corriente elctrica", respectivamente. Por tal motivo, los datos y
programas almacenados en la memoria estn codificados como cadenas de 1 's y O's
para que la unidad de control pueda interpretarlos. A esta codificacin se le llama
lenguaje de mquina.
Es importante mencionar que la memoria est dividida en varias celdas, en cada una de
las cuales se pueden almacenar nicamente O's 1's, a estos valores se les denomina
valores binarios o BIT's (Blnary digiT).
Las celdas se agrupan para formar registros (tambin llamados palabras), a cada uno le
corresponde una direccin de memoria, as cuando se desea escribir o leer de la
memoria un dato o una instruccin se debe especificar la direccin donde se encuentra.

Da clic en la flecha para continuar

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/06_FPR_U1_1_2_3/FPR_U 1_1erre_1_2_3_p1 .hlml

1de3

111

1/200015

1.2.3. Almacenarriento de prog rarres y datos

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.2.3. Almacenamiento de programas y datos

Como podrs imaginar, para un ser humano resultara sumamente complicado escribir los
programas en lenguaje de mquina, es por eso que los programas se escriben en lenguajes
de programacin entendibles para los seres humanos y despus se traducen mediante un
software especial-que puede ser un compilador o un traductor- a cadenas de os y 1 s. De
tal manera que a cada instruccin le corresponde un cdigo binario especfico y para cada
dato tambin existe una codificacin nica.
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:

0100 1000

0110 1111

0110 1100

A
0110 0000

El nmero 80 se puede representar como "0101 0000" y la instruccin "MOV R2, R7" se
codifica de la siguiente manera "0010 0000 1000 0100."
Si quieres conocer ms sobre el sistema binario, consulta la seccin Material de apoyo.

Da clic en las flechas para awnzar o retroceder.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/06_FPR_U1_1_2_3/FPR_U 1_1erre_1_2_3_p2.hlml

2 de 3

111

t.2,J.Jil

d..........!f'. . .

Unidad 1. ln1r0duad61'1 a la ~utlidora 'JI dewrolo de aol'twar&

1.2.3 .Miwwwwc 1tudeproa1W1

yclatoe

Conforme fuervn ewluclonando lu


eomputad- ae ll'Mnlaron dMl!w maneru
de rwenl8r IB lnformllel6n en e6dlgo bln""HGy en dlii cm.ten eoclfieaeionM est6ndar Plll1I
1m mbalm yia. rn ....., .i 9m1 que pm11 m
in&tlu::cianea; sin embalgcl, para nLilllibm
objllti- a.iicilllllll tllnet cllnl que cualquilt
dato o halluccl6n pllJde 1111' l'llpn6flldo

meclantlll cadenas de 0'1y11.

Por otra lado, escribir pragnnaa lenguaje binario 111 aumamlllllll compkedn 11*8 bl &el'flll
hum._, por ID que en las .Wmas d6cadu aa IW'I de&anollldo dlwlraoa 11f11911188 dll
p1ugramacl6n que son mas cercanos al lenguaje nalllral (humano), dll lo8 a ' hablanlmos
en la a~antll seccl6n

......--..........-

=,.. w::ob::t11m_FPR_Ut_1_2_PR_Ut_~_1_2_S.,Jl\HPPI

.......
..-i5'1...,rlle.fl 1

'111

1/200015

1.3. Lerguajes de Programacin

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.3. Lenguajes de Programacin

Los lenguajes de programacin sirven para escribir programas de computadora orientados a


resolver algn problema o necesidad. Cada lenguaje de programacin se define a partir de
un conjunto de smbolos bsicos llamado alfabeto, un conjunto de reglas, llamado sintaxis,
que define la forma de manipularlos o combinarlos para representar instrucciones y las
reglas que especifican los efectos de dichas instrucciones cuando son ejecutadas por la
computadora, conocidas como semntica. De esta manera tenemos que:

Lenguaje de programacin

= alfabeto + sintaxis + semntica

Da clic en la flecha para continuar.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/07_FPR_U1_1_3/FPR_U 1_tema_1_3_p1 .htm

1de2

111

1.3. ~ uaes de Prog raracin

1/2f.V2015

Unidad 1. Introduccin a la computadora yal desarrollo de software

1.3. Lenguajes de Programacin

Por otro lado, dependiendo de su legibilidad


para el ser humano, los lenguajes de
programacin se clasifican en lenguajes de
bajo nivel y lenguajes de alto nivel. Los
primeros se caracterizan porque sus
instrucciones se parecen ms a las acciones
elementales que ejecuta una computadora,
como son: sumar, restar, guardar en memoria,
etc. En cambio, las instrucciones de los
lenguajes de alto nivel son ms parecidas a un
lenguaje humano, por lo regular ingls. Por otro
lado, 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 ms fciles de entender
para las personas.

Da clic en el subtema 1.3.1. E\Olucin de los lenguajes de programacin.

i-.tp://aulalre8.lnlltneoltco.rnd811a>151/plug lnftle.:llp/386.m:ld_sccrm'corlalt/1/07_FPR_U1_1_3.IFPR_U1_1arm_1_3_p2.htm1

2de2

1/1

1.3.1. Ewlucin de los lquajao de programacin

1/2f.V2015

Unidad 1.lntroduccin a la coq>utadora y al desarrollo de software

1.3.1. Evolucin de los lenguajes de prograrmcin

Con las primeras computadoras surgi el primer


lenguaje de programacin que -como es de
imaginarse- fue el lenguaje de mquina, el cual es

considerado el lenguaje de primera generacin. Las


instrucciones en lenguaje de mquina dependan de las
caracterfsticas flsicas de cada equipo, por lo que dada
la dificultad de desarrollar programas en unos y ceros,
los investigadores de la poca desarrollaron el lenguaje
ensamblador, cuyo conjunto de instrucciones consta de
palabras nemotcnicas que corresponden a las
operaciones bsicas que una computadora puede
ejecutar.

Da clic en la flecha para continuar.

i-.tp://aulalre8.lnlltneoltco.rnd811a>151/plug lnftle.:llp/386.m:ld_sccrm'corlent/1/08_FPR_U1_1_3_1/FPR_U 1_f81ra_1_3_1_p1 .1*111

1 de6

1/1

1/200015

1.3.1. E\Oluci'I de los lenguajes de programacin

Unidad 1.lntroduccin a la computadora y al desarrollo de software

1.3.1. Evolucin de los lenguajes de programacin

Para ilustrar esto revisemos la siguiente instruccin:

*-

Mueve el contenido del registro 8 al contenido del registro 10.


En lenguaje de mquina esta instruccin se podra
representar como:

0010 0000 1000 0100


Lo cual es ilegible para el ser humano, en cambio en lenguaje
ensamblador esta instruccin se puede
representar de la siguiente forma:

MOVR8, R10

Aunque sigue estando en clave, es ms amigable que las cadenas de ceros

y unos.

Da clic en las flechas para awnzar o retroceder.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnfcontent/1/08_FPR_U1_1_3_11FPR_U 1_1erre_1_3_1_p2.hlml

2 de 6

111

1/200015

1.3.1. E\Oluci'I de los lenguajes de programacin

Unidad 1.lntroduccin a la computadora y al desarrollo de software

1.3.1. Evolucin de los lenguajes de programacin

Para traducir de lenguaje ensamblador a lenguaje de mquina, se desarrollaron


programas llamados ensambladores (en ingls, assemblers). Este lenguaje fue
considerado de segunda generacin. Posteriormente, en la dcada de los 50's
aparecieron los primeros lenguajes de alto nivel, cuyas instrucciones son ms parecidas
al idioma ingls, y por lo tanto, ms fcil de utilizar para los programadores, adems de
que son independientes de la arquitectura de las computadoras. Algunos ejemplos son:
FORTRAN y COBOL (que son los primeros lenguajes que aparecieron y en sus inicios
se utilizaron para aplicaciones cientfficas), C, Pascal, Ada, Lisp y Prolog (utilizados
principalmente en inteligencia artificial), Java, C++, C#, entre otros.

Da clic en las flechas para awnzar o retroceder.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnfcontent/1/08_FPR_U1_1_3_11FPR_U 1_1erre_1_3_1_p3.hlml

3 de 6

111

1/2f.V2015

1.3.1. Ewlucin de los lquajao de programacin

Unidad 1.lntroduccin a la coq>utadora y al desarrollo de software

1.3.1. Evolucin de los lenguajes de prograrmcin

Al igual que el lenguaje

ensamblador, los programas


escritos en un lenguaje de alto
nivel deben ser codificados a

lenguaje de mquina, asr que


junto con ellos se desarrollaron
programas traductores, que de
acuerdo con la forma en que
trabajan se dMden en dos
tipos: compiladores e
intrpretes.

Da clic en las flechas para ayanzar o retroceder.

i-.tp://aulalre8.lnlltneoltco.rnd811a>151/pluglnftle.:llp/386.m:ld_sccrm'corlent/1/08_FPR_U1_1_3_1/FPR_U1_f81ra_1_3_1_p4.l'*'ll

4de6

1/1

1/200015

1.3.1. E\Oluci'I de los lenguajes de programacin

Unidad 1.lntroduccin a la computadora y al desarrollo de software

1.3.1. Evolucin de los lenguajes de programacin

:: Los compiladores traducen todo el programa escrito en un lenguaje de alto


nivel, llamado programa o cdigo fuente, generando un nuevo programa objeto
que est escrito en lenguaje de mquina y a partir de ste se genera un
programa ejecutable, el cual puede ejecutarse cada vez que se desee sin tener
que compilar el programa fuente de nueva cuenta. Adems, como parte del
proceso de traduccin, el compilador detecta los errores que hay en el cdigo
fuente, informndole al programador para que los corrija, pues un programa slo
se compila si no tiene errores.
::En cambio, un intrprete revisa una a una cada lnea de cdigo, la analiza y
enseguida la ejecuta, sin revisar todo el cdigo y sin generar un programa
objeto, as que cada vez que se quiere ejecutar el programa se vuelve a traducir
el programa fuente lnea por lnea.

Da clic en las flechas para awnzar o retroceder.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnfcontent/1/08_FPR_U1_1_3_11FPR_U 1_1erre_1_3_1_p5.hlml

5 de 6

111

1/200015

1.3.1. E\Oluci'I de los lenguajes de programacin

Unidad 1.lntroduccin a la computadora y al desarrollo de software

1.3.1. Evolucin de los lenguajes de programacin

De acuerdo con 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 se refiere, un programa se ejecuta ms rpido si se usa un compilador en vez de
un intrprete, adems cuando el programa ya ha sido compilado puede ejecutarse
nuevamente sin tener que compilarse de nuevo, mientras que si se usa intrprete, debe
ser traducido cada vez que se quiera ejecutar.
Conforme han ido evolucionando las computadoras tambin lo han hecho las estrategias
para solucionar problemas, generando nuevos programas con diferentes filosofas,
llamadas paradigmas de programacin, de esto hablaremos a continuacin.

Da clic en el subtema 1.3.2. Paradigmas de los lenguajes de programacin.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnfcontent/1/08_FPR_U1_1_3_11FPR_U 1_1erre_1_3_1_p6.hlml

6 de 6

111

1.1.~LmWIJ

J ' a?

-->
Unldld L lnlrodued6n a la co"-'utadora y al derrollo de .ol'tww'e

1.3.2 ,__.., r a de los lenguajes de programacl6n

lkl P8f8digma d programlCi6n rap1'911Gnta un enfcqua pawtirdal' o flasolt para disellar solucionea. Loa
paradigmas dltlaran unos da abos, en loa conceptcs y la fama da allelraar
IDs elamantos Involucrados en un problema, ar como en los pasos ~Integran su solucl6n
dlll prollllllna. en airas palabras, el ~mputD.
Psa conocer 10& dls11nto6 paradigmas que hay, descarga y lee el documento
Ptwdlgmaa de loa tenguejes dt> piogiamac1611:

Da ele en el Icono para deecargar el documentD.

Has ccnc1ii11o asta lllma, ahora pnedee llM8ar el Tema 1.4. Clclo de llda del aal\Mn.

,...,

111

Fundamentos de Programacin
Unidad 1. Introduccin a la computadora y al desarrollo de software
1.3.2 Paradigmas de los Lenguajes de Programacin

Paradigmas de los Lenguajes de Programacin


Un lenguaje de programacin siempre sigue un paradigma de programacin, aunque tambin podemos encontrar
lenguajes con la influencia de dos paradigmas, tal es el caso del lenguaje C++, que surgi bajo el paradigma
procedimental y se transform al paradigma orientado a objetos, de tal manera que puede soportar ambos
paradigmas.
Los paradigmas ms importantes son:
Paradigma imperativo o procedural. Es el mtodo de programacin tradicional, donde los programas

describen la forma de solucionar un problema a partir de una lista de instrucciones que se ejecuta de forma
secuencial, a menos que se trate de estructuras de control condicionales o repetitivas, o bien, saltos de secuencia
representados por la instruccin GOTO1. La programacin imperativa se define a partir del cambio de estado de
las variables que se produce por la ejecucin de las instrucciones, por ejemplo, el programa 1.1, que calcula el
rea de un rectngulo, es un ejemplo de un programa imperativo, ya que describe paso a paso como solucionar
el problema y el resultado corresponde al estado final de la variable area. Sin embargo, el lenguaje en el que est
escrito no corresponde a ningn lenguaje de programacin real, pero el lenguaje de mquina es un ejemplo de
este paradigma. Otros lenguajes imperativos son: Fortran, Cobol, Pascal, Basic, Ada y C.
Paradigma declarativo. En contraste con el paradigma imperativo, el objetivo de este paradigma no

es describir como solucionar un problema, sino describir un problema mediante predicados lgicos o funciones
matemticas. Dentro de este paradigma se encuentran los lenguajes de programacin funcionales y los lenguajes
de programacin lgicos. Los primeros representan el problema utilizando funciones matemticas, por ejemplo,
un programa que calcule el rea de un rectngulo utilizando un lenguaje funcional se vera as:

De tal manera que para calcular el rea de un rectngulo de base igual a 5 unidades y altura igual a 10 unidades,
se ejecuta la funcin con los parmetro 5,10, es decir, areaRectngulo(5,10), la cual devuelve como resultado 50.
Los lenguajes de programacin ms representativos del paradigma funcional son: Lisp, ML y Haskell.
En el caso de los lenguajes lgicos la solucin se representa a travs de un conjunto de reglas, por ejemplo:

De esto hablaremos en unidades posteriores.

Educacin Superior Abierta y a Distancia Ciencias Exactas y Tecnologa

Fundamentos de Programacin
Unidad 1. Introduccin a la computadora y al desarrollo de software
1.3.2 Paradigmas de los Lenguajes de Programacin

Esta regla dice que el valor de la variable area corresponde al rea del rectngulo con base b y altura h slo si area
es el resultado de multiplicar b por h. Estamos suponiendo que se ha definido el predicado multiplicacin(a, b, c).
En este caso para calcular el resultado se utiliza el principio de razonamiento lgico para responder a las preguntas
planteadas, por ejemplo si se desea calcular el rea del mismo rectngulo, la pregunta sera la siguiente:

Y despus de que se realicen los clculos (en este caso llamadas inferencias) el resultado que arrojara sera:

El lenguaje ms representativo del paradigma lgico es Prolog.


Paradigma orientado a objetos. En este caso la solucin de un problema se plantea en trminos de

objetos y relaciones entre ellos. Est basado en varias tcnicas, incluyendo herencia, polimorfismo, modularidad y
encapsulamiento. En este caso se definen clases que son las plantillas para crear objetos, por ejemplo, si se quiere
un programa orientado a objetos que calcule el rea de un rectngulo, se debe definir una clase rectngulo que
contenga un mtodo encargado de calcular el rea. El lenguaje Java y C#, que actualmente son los ms utilizados,
son ejemplos de este paradigma.

Educacin Superior Abierta y a Distancia Ciencias Exactas y Tecnologa

1A Ciclo de \4da del software

1~15

Unidad 1.

Introduccin a la computadora y al desarrollo de software

1.4 Ciclo de vida del software

Independientemente del paradigma que se siga y del lenguaje que se utilice para programar,
existe un conjunto de fases que deben seguirse para realizar un programa de computadora, al
cual se le conoce como ciclo de vida del software, avanza a la siguiente pantalla para conocer
ms al respecto.

Da clic en la flecha para continuar.

http://aulalres.unadmaidco.n'WaVl0151/plug i nfile.ph~_scarnlcontent/1/10_FPR_U1_1_4/FPR_U 1_tema_1_4_p1 .htm

1de2

111

1/20/2015

1.4 Ciclo de vida del software

Unidad 1.

Introduccin a la computadora y al desarrollo de software

1.4 Ciclo de vida del software

Oisoo del
algoritmo
Planteamiento
del problema '

Implementacin o
codificacin
Ciclo de vida del software

Mantenimiento
Documentacin de
programa

Pruebas y
validaci n

.... Versin Accesible

Da clic en la Acti\uau de autoevaluacin para continuar.

http:/1207.249.20.123/a\f.20151/plug infile.php/386/rrod_scormicontent/1 /1O_FPR_U1_1_4/FPR_U1_tema_1_4_p2.html

2 de 2

1/1

1/200015

1A Ciclo de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo de 1 software

Ciclo de vida del software


Las fases que componen el ciclo de vida de software son:

Planteamiento del problema


Anlisis del problema
Diseo del algoritmo
Implementacin o codificacin
Pruebas y validacin
Documentacin del programa
Mantenimiento

A continuacin se describe cada una de ellas:

Siguiente
Versin Original

htlp://207.249.20.123/8\620151/plug infile.php(J86(mod_scam'content/1/10_FPR_U1_1_410A_03_Fichero_02/inicio.htm

111

1/200015

1A Ciclo de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo de 1software

Ciclo de vida del software

Planteamiento del problema


Es la primera fase del ciclo, consiste nicamente en elegir el problema que se quiere resolver para poder
comenzar su anlisis.

Anlisis del problema


En esta fase se determina qu hace el programa? Por lo cual debe definirse de manera clara y concisa
el problema en cuestin, se debe establecer el mbito del problema, las caractersticas, limitaciones y
modelos de lo que se desea resolver. Este paso debe conducir a una especificacin completa del
problema en donde se describa cules son los datos requeridos para resolverlo (datos de entrada) y cul
es el resultado deseado (salida).

Anterior

Siguiente

htlp://207.249.20.123/8\620151/plug infile.php(J86(mod_scam'content/1/10_FPR_U1_1_410A_03_Fichero_02/pagina1 .hln1

111

1/200015

1A Cido de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo del software

Ciclo de vida del software

Cul es la salida
deseada?
Qu mtodo(s) se
pueden utilizar para llegar
a la solucin?
Qu datos de entrada se
requieren?

El anlisis de
nuestro
ejemplo es muy
simple y se
resume en la
Qu datos o informacin
siguiente tabla: adicional es necesaria
para solucionar el
problema?
Existe algn problema o
condiciones que deban
cumplirse?
Anterior

El rea de un cuadrado, la cual identificaremos


como
El rea de un rectngulo se puede calcular con la
siguiente frmula:
rea = Base x altura
Por el planteamiento del problema y dado el
mtodo anterior, los nicos datos que se requieren
son: la medida de la base que se representa por b
v la medida de la altura indicada oor h
En este caso no se requiere ms informacin.

Las nicas restricciones son que las medidas de


la base y altura sean mayores a cero.
Siguiente

htlp://207.249.20.123/8\620151/plug infile.phpl'386(mod_scam'content/1/10_FPR_U1_1_4/0A_03_Fichero_02/pagina2.hln1

1/1

1/200015

1A Ciclo de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo de 1 software

Ciclo de vida del software

Diseo de la solucin
Es en esta fase donde 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 unidad 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.

Anterior

Siguiente

htlp://207.249.20.123/8\620151/plug infile.php(J86(mod_scam'content/1/10_FPR_U1_1_410A_03_Fichero_02/pagina3.hln1

111

1/200015

1A Cido de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo del software

Ciclo de vida del software

Algoritmo que calcula el rea


de un rectngulo

Obtener la medida de la base (b) y la altura (h)


Calcular: rea= b * h
Imprimir el resultado (rea)
El programa 1.1 es otra forma de representar la solucin de
este problema, se conoce como pseudocdigo.

Anterior

Siguiente

http://207.249.20.123/ll620151/plug infile.phpl'386(mod_scam'content/1/10_FPR_U1_1_4/0A_03_Fichero_02/pagina4.hln1

1/1

1/200015

1A Ciclo de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo de 1 software

Ciclo de vida del software

Implementacin (codificacin)
El algoritmo no puede ser ejecutado por una computadora por ello debe traducirse a un lenguaje de
programacin (como por ejemplo C) 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.

Anterior

Siguiente

htlp://207.249.20.123/8\620151/plug infile.php(J86(mod_scam'content/1/10_FPR_U1_1_410A_03_Fichero_02/pagina5.hln1

111

1/200015

1A Cido de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo del software

Ciclo de vida del software

#include<stdio.h>
#include<stdlib.h>
main()

{
int b,h, area;
printf("lngresa la base y altura:");
scanf("%d %d", &b,&h);
area = b * h;
printf("Area = %d", area);

Anterior

Siguiente

http://207.249.20.123/ll620151/plug infile.phpl'386(mod_scam'content/1/10_FPR_U1_1_4/0A_03_Fichero_02/pagina6.hln1

1/1

1/200015

1A Ciclo de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo de 1 software

Ciclo de vida del software

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. En este curso utilizaremos las pruebas de escritorio, las cuales
se explicarn en la unidad 2.
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. En la siguiente figura
se ilustra la ejecucin del programa:

Anterior

Siguiente

htlp://207.249.20.123/8\620151/plug infile.php(J86(mod_scam'content/1/10_FPR_U1_1_410A_03_Fichero_02/pagina7.hln1

111

1ACldDdl1ltladll-

Unldld 1.lnlroducdon a la coiq1utadora y al deNrrollo del .ol'lww'e

Ciclo de vida del sol'lware

C:\ Users\Lilian\ Documents\ Respaldo2oct\lP\!P92\lP101\pru ...

@]

lngl'esa la base y altu1a:2 3


6

~rea =

111

o
1

t>

Siguiente

111

1/200015

1A Ciclo de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo de 1 software

Ciclo de vida del software

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.

Anterior

Siguiente

htlp://207.249.20.123/8\620151/plug infile.php(J86(mod_scam'content/1/10_FPR_U1_1_410A_03_Fichero_02/pagina9.hln1

111

1/200015

1A Ciclo de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo de 1 software

Ciclo de vida 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.

Anterior

Siguiente

htlp://207.249.20.123/8\620151/plug infile.php(J86(mod_scam'content/1/10_FPR_U1_1_410A_03_Fichero_02/pagina1 O.htm

111

1/200015

1A Cido de \4da del software

Unidad 1.lntroduccon a la computadora y al desarrollo del software

Ciclo de vida del software

#include<stdio. h>
#include<stdlib.h>
main()

{
int b,h, area, perimetro;
printf("lngresa la base y altura:n);
scanf("o/od o/od", &b,&h);
perimetro 2*b + 2*h;
area = b * h;
printf("Perimetro = o/od", perimetro);
printf("Area = o/od", area);

}
En el programa se resaltan las instrucciones que se aadieron
al programa para calcular el permetro.
Anterior
Versin Original

http://207.249.20.123/ll620151/plug infile.phpl386(mod_scam'content/1/10_FPR_U1_1_4/0A_03_Fichero_02/pagina11.htrn

1/1

1/200015

AutOEMlluacin

Unidad 1. Introduccin a la computadora yal desarrollo de software

Actividad Integradora

Ha llegado el momento de verificar qu tanto has aprendido con esta unidad.


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!

Da clic en la flecha para continuar.

htlp://207.249.20.123/8\620151/plug infile.php/386(mod_scam'content/1/11_FPR_U1_Actlnt/FPR_U 1_AUTOEV_p1 .htm

1de3

111

1/20/2015

Autoevaluacin

Unidad 1. Introduccin a la computadora y al desarrollo de software

Actividad Integradora

- -

El Modelo de Van Neumann propone


que los programas y los datos sean
almacenados en la CPU de la
computadora para que puedan ser
procesados.

\ l
Verdadero

Falso

..

'( '
'

Versin Accesible

Da clic en las flechas para avanzar o retrocede1.

http:/1207.249.20.123/a\f.20151/plug infile.phpl386/rrod_scorm/content/1/11_FPR_U1_ActlnUFPR_U 1_AUTOEV_p2.html

2 de 3

1/1

1/200015

AutOEMlluacin

Unidad 1. Introduccin a la computadora yal desarrollo de software

Actividad Integradora

Cmo te fue? Pudiste vencer a la ignorancia? Recuerda que es muy importante que las
bases del curso las tengas muy bien asimiladas y comprendidas, pues ests comenzando
tu camino en el mundo de la programacin y si tus bases no son slidas diffcilmente podrs
seguir con los temas y asignaturas posteriores.
Si derrotaste con facilidad a la ignorancia, felicidades!, parece que has comprendido bien lo
esencial de la unidad; si por el contrario, fuiste derrotada(o), no te desanimes, mejor vuelve a
repasar los contenidos en los que te viste ms dbil y recuerda que cuentas con el apoyo de
tu facilitador(a) para explicarte ms a fondo los temas que se te puedan dificultar.

Da clic en la Autoewluacin de la Unidad 1 para continuar.

htlp://207.249.20.123/8\620151/plug infile.php/386(mod_scam'content/1/11_FPR_U1_Actlnt/FPR_U 1_AUTOEV_p3.htm

3 de 3

111

AutOEMlluacin

1/200015

Unidad 1. Introduccin a la computadora yal desarrollo de software

Autoevaluacin de la Unidad 1

Para finalizar las actividades de la Unidad 1, realiza el cuestionario de autoevaluacin que


hemos preparado para ti, como complemento de la actividad que acabas de realizar.
Ingresa al Cuestionario y contesta las preguntas que se te presentan. Para ingresar, en la
ruta (parte superior izquierda del aula) da clic en Fundamentos. Se enlistarn las actividades
de la unidad, da clic en la Autoevaluacin de la Unidad 1.
Al terminar el Cuestionario de Autoevaluacin es importante hacer tu Autorreflexin. Para
ello, Ingresa al foro de Preguntas de Autorreflexin y a partir de las preguntas presentadas
por tu Facilitador(a), realiza tu ejercicio y sbelo en la seccin Autorreflexiones.

Da clic en Cierre de la unidad.

htlp://207.249.20.123/8\620151/plug infile.php/386(mod_scam'content/1/12_FPR_U1_AUTOEVAIFPR_U 1_AUTOEVA_p1 .htm

1de1

111

1/200015

Cierre de la unidad

Unidad 1. Introduccin a la computadora yal desarrollo de software

Cierre de la unidad

Aqu concluimos la primera unidad de nuestro curso en la que, de manera general, podemos decir que
aprendimos las partes que integran una computadora y la manera en que cada una de ellas interacta
para obtener como resultado la interaccin con el usuario.
Tambin aprendimos que existen varias formas de comunicamos o hacemos entender por estas
mquinas a travs de lo que denominamos Lenguajes de programacin y que existen varios
paradigmas que determinan las caractersticas de esos lenguajes.
Por ltimo, conocimos las fases que se siguen cuando se realiza un programa de computadora,
independientemente del lenguaje que se utilice.
Si todo esto que acabamos de decir te parece ya familiar, es decir, si sabes a que nos estamos
refiriendo al mencionar lo anterior, entonces ya ests lista(o) para continuar con la unidad dos.
Adelante!

Da clic en Fuentes de consulta.

htlp://207.249.20.123/8\620151/plug infile.php/386(mod_scam'content/1/13_FPR_U1_CIERRE/FPR_U 1_CIERRE1 .hln1

1de1

111

AutOEMlluacin

1/200015

Unidad 1. Introduccin a la computadora yal desarrollo de software

Fuentes de consulta

:: Guerrero, F. (s.f.). mailxmail.com. Recuperado el 15 de agosto de 2010, de


http://www.mailxmail.com/curso-introduccion-lenguaje-c
:: Jayanes, L., & Zohanero, l. (2005). Programacin en C. Metodologa,
algoritmos y estructuras de datos. Espaa: rvt Graw Hill.
:: Reyes, A, & Cruz, D. (2009). Notas de clase: Introduccin a la programacin.
fv1xico, D.F.: UACM.
:: Viso, E., & Pelaez, C. (2007). Introduccin a las ciencias de la computacin con Java. fv1xico, D.F.:
La prensas de ciencias, Facultad de Ciencias, UNAM.

Ahora re\Asa la Unidad 2. Diseo de algoritmos.

http://207.249.20.123/8\620151/pluginfile.php/386(mod_scam'content/1/14_FPR_U1_FC/FPR_U1_FC1.htn1

1de1

111