programacion
-
Upload
espinozcristian -
Category
Documents
-
view
13 -
download
1
description
Transcript of programacion
-
SEMANA 1
PROGRAMACIN ALGORTMICA
-
Lea esto primero. UNIACC, semana 1
El computador, sus componentes y el desarrollo de algoritmos
Introduccin Hoy en da, es casi impensable creer que no se cuente con un dispositivo
electrnico, capaz de realizar tareas que facilitan los procesos que gestionan las
personas. En virtud de las comunicaciones instantneas del mundo de hoy, las
cuales exigen adquirir nuevas tecnologas, cada vez ms sofisticadas y
necesarias para el cumplimiento a cabalidad de los objetivos organizacionales o
personales, y dado lo vertiginoso del tiempo que se vive en la actualidad, se
define un computador entonces, como una mquina creada con la intencionalidad
de agilizar las labores que las personas deben desarrollar, en donde los tiempos
de respuestas deben ser ptimos y reducidos. Su evolucin ha marcado grandes
cambios en la realidad de las empresas principalmente, pero sin duda, ha llegado
tambin a los hogares, convirtindose en una herramienta de trabajo fundamental
de los quehaceres de las personas.
Cabe preguntarse entonces, cmo es que se cuenta con tan espectaculares
dispositivos al alcance de la mano y que sean capaces de hacer estas tareas que
facilitan las actividades? , o bien, hace unos pocos aos, quin podra pensar
que existiran celulares de capacidades tan vanguardistas o que se estara
conectados con la investigacin fuera de las fronteras terrestres ?.
Las respuestas pueden ser diversas y muy cercanas de acuerdo a la mirada de
quienes las estn definiendo. No obstante, el foco de este material de estudio se
encuentra en la creacin de mquinas electromecnicas llamadas computadores,
que se conforman de dos componentes: el software y el hardware y que en conjunto le dan vida a la creacin de diversas aplicaciones de acuerdo a las
instrucciones, previamente programadas, y entregadas por los usuarios, a estos
equipos computacionales.
1
-
Lea esto primero. UNIACC, semana 1
El computador entonces viene a cumplir de manera ms rpida, las mltiples
labores que cualquier persona debiera desarrollar, siguiendo una secuencia de
instrucciones para alcanzar el resultado propuesto.
El computador y sus componentes
El podero de un computador se ve fortalecido entonces por la existencia de sus
dos componentes: software y hardware. A continuacin, se dividir a los equipos
computacionales de acuerdo a estos componentes y el conjunto de partes que lo
integran, segn la funcin que realizan.
Se entiende por software, el conjunto de aplicaciones diseadas para que los computadores (Pcs., notebook, tabletas, celulares, armadores de autos, robots,
etc.), sean capaces de responder a las necesidades de las personas respecto de
accesos, consultas, ejecucin, investigacin, comunicacin, comparacin,
ordenamientos, etc. Destacan los sistemas operativos, lenguajes de informtica,
juegos, msica, video, internet, entre otros. (Joyanes, 2010)
Contrario a las aplicaciones, encontramos al hardware, que ser definido como el conjunto de componentes visibles, tangibles o fsicos de un computador, entre
ellos, el monitor, cables de conexin, teclado, tarjetas, chips, tornillos, conectores,
entre otros. (Joyanes, 2010)
Estructura del computador
La estructura del computador se observa en la figura 1, que divide los
componentes de la mquina de la forma siguiente:
2
-
Lea esto primero. UNIACC, semana 1
Figura 1. Partes del Computador.(Matatan,2008)
La arquitectura de un computador personal y la forma en que opera es, a travs de
una unidad de entrada, recibir datos; procesarlos para luego, convertirlos en
informacin y sacarlos hacia un dispositivo de salida o almacenamiento.
a) Unidad Central de Procesos (UCP)
Es la parte donde ocurren los procesamientos de los datos que ingresan para
convertirlos en informacin. Esta unidad est fsicamente construida por un circuito
integrado conocido como microprocesador, y cuyas capacidades se reflejan en las
marcas, modelos y que van de la mano de otros componentes como son: la
memoria y el disco duro, que harn, en conjunto, la definicin como un equipo de
grandes o bajas capacidades
La UCP se divide en dos unidades: (Matatan, 2008)
Unidad Aritmtico Lgica (UAL).- Es la unidad del computador donde ocurren los procesos aritmtico-lgicos y de comparacin de datos.
Unidad de Control (UC).- Se le denomina tambin la parte inteligente del microprocesador, la cual se encarga de distribuir cada uno de los procesos al rea
3
-
Lea esto primero. UNIACC, semana 1
correspondiente para su transformacin (Matatan, 2007). Para ello, usa buses que son hilos distribuidos de viaje electrnico y que se dividen en tres tipos con sus
respectivas funciones. Existen tres tipos de buses, (todo-programacion, 2005)
Bus de datos: encargado de llevar los datos desde la unidad de donde se ingresan consultas, teclado por ejemplo, hasta la unidad donde sern
procesados stos.
Bus de direcciones: Se encarga de sealar el camino o ruta para que los datos viajen por estos hilos conductores hasta su destino
Bus de Control: Se preocupa de coordinar que los datos sean llevados, efectivamente, a travs del bus de direcciones al destino que los procesar
y los convertir en informacin.
Figura 1.2. La UCP y los buses (todo-programacin,2005)
b) Dispositivos de entrada (DE)
Los dispositivos de entrada, son aquellos se encargan de enviar datos a la
UCP, para que sta los procese, luego, se limitan a emitir datos. Algunos de los
dispositivos de entrada ms conocidos son el teclado, el manejador de discos
magnticos, la reproductora de cinta magntica, el mouse, el digitalizador
(scanner), el lector ptico de cdigo de barras y el lpiz ptico entre otros
(Matatan, 2007). Algunos ejemplos visuales se muestran en la figura 2.
4
-
Lea esto primero. UNIACC, semana 1
Figura 2. Dispositivos de Entrada, (Matatan 2008)
Teclado
El teclado de un computador (figura 3), es el dispositivo de entrada ms usado. De
acuerdo a la marca y el modelo se presentan algunas variaciones. El teclado de
un PC, de acuerdo a las funciones de las diversas teclas se divide para su estudio
en cuatro partes, que son: teclado de funciones, teclado alfanumrico, teclado de
edicin y teclado numrico (Matatan, 2008), como lo muestra la figura siguiente:
Figura 3. Teclado del Computador y sus Teclas, (Matatan, 2008)
5
-
Lea esto primero. UNIACC, semana 1
Teclado alfanumrico, Son todos los caracteres letras, dgitos y smbolos especiales como gato(#), punto y coma(;) , los parntesis, etc. que
contabilizan alrededor de 57 teclas y ocupan la parte central del teclado. Se
distinguen dos tipos de teclas: las de escritura y las de comando.
Las teclas de escritura, son las propias de la mquina de escribir: 28 letras, 10 nmeros, signos de puntuacin, signos de acentuacin,
interrogantes, entre otras. Todas estas teclas suelen ser blancas (Matatan,
2008).
Las correspondientes a los nmeros y a los signos tienen dos funciones y en algunos casos incluso pueden tener tres. Sirven para escribir smbolos
(letras, nmeros y signos) y en algunos casos la combinacin con el
programa, pulsando stas y una tecla de comando se activan funciones
especiales.
Aquellas que tienen dos funciones, teclas dobles, presionando la tecla, se dibuja el smbolo que hay escrito debajo; el de encima, se activa pulsando
en conjunto con la tecla de maysculas (Shift).
Para aquellas teclas que tienen 3 smbolos o tercera funcin, ste es posible de dibujar al presionar ALT GR y la tecla que lo contiene.
c) Dispositivos de salida (DS)
Los dispositivos de salida son aquellos que reciben informacin del computador.
Entre los dispositivos de salida ms conocidos estn: el monitor, las impresoras y
sus diversos tipos lser, matriz de punto, etc; el delineador para planos (plotter), la
grabadora de cinta magntica o de discos magnticos, tal como se muestran
ejemplos en la figura 4.
6
-
Lea esto primero. UNIACC, semana 1
Figura 4. Dispositivos de Salida (Matatan, 2008)
d) Memorias
Son los dispositivos en donde se aloja informacin. En las memorias se
deposita y queda disponible gran cantidad de informacin, instrucciones que
han de ser ejecutadas por los diferentes sistemas del computador (Matatan,
2007). Las memorias son las siguientes:
Memoria RAM (Random Acces Memory): Es la memoria donde trabaja el usuario, en ella se ejecutan todos las aplicaciones desde el sistema
operativo, que responder a las exigencias del usuario, como las
aplicaciones donde ste trabaje: juegos, plataformas de lenguajes,
desarrollos de stas para su posterior grabacin y ejecucin, documentos,
etc. Es de acceso Random (al azar) y voltil, es decir, frente a un corte de
luz o interrupcin funcional del equipo, la informacin se pierde.
Una variedad de la RAM, es la memoria NVRAM, que no es voltil ya que
posee una batera que permite la mantencin de los datos
Memoria SAM (Serial Access Memory): Memoria para trabajar procesos de lectura o escritura de documentos, en forma de serie o de uno en uno.
Por tal motivo, el orden de almacenamiento y salida de la informacin debe
ser el mismo.
7
-
Lea esto primero. UNIACC, semana 1
Memoria ROM (Read Only Memory): Es la incluida en el equipo por parte del fabricante. Se graban en ella, los programas que hacen trabajar al
computador. Es slo de lectura. Son variedades de ROM, las PROM,
EPROM y EEPROM.
o Memoria PROM (Programmable Read Only Memory): Se programa una sola vez en su circuito integrado y al aceptar la
informacin se cierra. Es slo de lectura entonces.
o Memoria EPROM (Eraser Programmable Read Only Memory): Su funcionamiento es similar al de la PROM, slo que se reprograma
mediante rayos ultravioletas.
o Memoria EEPROM (Eraser Electrical Programmable Read Only Memory): A travs de alteraciones electrnicas, se reprograma como una PROM.
Memorias auxiliares (secundarias): Son las que mantienen la informacin, contrario a lo que realiza la memoria RAM. Resultan tiles para
los procesamientos intermedios y prestan gran apoyo para realizar clculos
especficos. Algunos ejemplos de estos dispositivos son: cintas, discos
duros, cassettes, cintas magnticas en cartuchos o discos flexibles,
pendrives, entre otras.(figura 5)
Figura 5. Medios de almacenamiento (Matatan , 2008)
8
-
Lea esto primero. UNIACC, semana 1
El Sistema Operativo y sus Drivers Tal como se describi anteriormente, todo proceso que se realiza en el
computador es, sin duda, una aplicacin. Estas deben ser desarrolladas con algn
software especializado, utilizando sentencias, rdenes o comandos previamente
programados. Sin embargo, para que el computador comience a trabajar es
necesario haberlo acondicionado con software base y de especializacin, segn
las necesidades del usuario del equipo y en concordancia con la gestin que
requiera realizar.
El Sistema Operativo, constituye el conjunto de instrucciones bsicas, que permiten que el usuario entregue rdenes y sean entendidas y llevadas a cabo por
el computador. La evolucin de los sistemas operativos es una pugna constante
entre las empresas desarrolladoras como Microsoft, Linux, Apple, entre otras.
Al encender el computador, se inicia una verificacin de componentes hardware
conectados elementales para el funcionamiento bsico el equipo. Esta tarea es
desempeada por parte del Sistema Bsico de Entrada y Salida conocido como
BIOS, a lo cual le sigue la ejecucin del conjunto de instrucciones del Sistema
Operativo y que permitir establecer si se estar o no en condiciones de comenzar
a operar con el computador.
Finalizado el proceso, entonces nos encontramos en condiciones de comenzar a
operar en el computador con la aplicacin que deseamos. En lo que se refiere a
nuestra asignatura, nos preocuparemos de aprender a construir aplicaciones
basadas en la construccin de software para la empresa en donde cada una de
estas rdenes, deben ser estudiadas y aplicadas en conformidad a la evolucin
que vayamos ejercitando y aplicando.
Por otra parte, los Drivers, son pequeas rutinas que se integran al sistema operativo, con el objetivo de lograr el correcto funcionamiento de cada parte del
hardware del computador. En general, los sistemas operativos se disearon de
forma transversal y compatible a diversos equipos, con distintas configuraciones y
9
-
Lea esto primero. UNIACC, semana 1
variado hardware, lo que significa que no cubren todas las necesidades de
software que un equipo requiere para un usuario especfico.
Lo anterior determina que los usuarios deban configurar sus equipos, con la
instalacin de estos pequeos programas, para obtener el mejor resultado de su
dispositivo, basado en las especificaciones del fabricante del sistema operativo.
El Pseudocdigo y los Algoritmos en un computador
Habiendo ya conocido a rasgos generales, los que son computadores y sus
componentes que permitirn que programemos rutinas en ellos, nos
concentraremos en conocer estudiar las formas bajo las cuales es posible
construir listas de instrucciones tan claras y precisas que las pueda seguir un
computador.
Para lograr este objetivo, esta semana se presentarn algunos de los principales
conceptos asociados a la programacin de computadores, y se estudiarn los
elementos fundamentales para el proceso.
Algoritmos:
A la secuencia de instrucciones u rdenes, que poseen un orden lgico y cuyo
propsito es la obtencin de objetivos facilitadores de tareas, se le reconoce con
el nombre de algoritmo y se desarrollan en alguna de las aplicaciones conocidas como software. No obstante, existe una metodologa generalizada para desarrollar estos algoritmos conocidos como Pseudolenguaje.
Pseudocdigo o Pseudolenguaje:
Definiremos al Pseudolenguaje como la secuencia de rdenes, en espaol, que
permitirn emular las instrucciones que se utilizan en los sistemas informticos
10
-
Lea esto primero. UNIACC, semana 1
construidos en los diferentes lenguajes computacionales y que cumplen una
funcin especfica en ellos.
El Pseudolenguaje, se aplica en una estructura algortmica, con un formato establecido y constituyen este conjunto de pasos (instrucciones) lgicos,
secuenciales, que permiten dar solucin a un problema de ndole comercial,
matemtico o del quehacer diario. Estas instrucciones se llaman
pseudosentencias. Por tal motivo, los algoritmos se pueden clasificar en 3 grupos: (figura 6).
algoritmos
Figura N 6. Tipos de Algoritmos
(Figura diseada para este curso)
Cotidianos: entregan la lgica de cmo llevar a cabo una actividad del quehacer diario: llamar por telfono, hacer una paila de huevo, desplazarse
al lugar de trabajo, cambiar el repuesto del neumtico, etc.
Ejemplo: Levantarse por la maana:
1 Apagar despertador
2 Destapar la cama y estirarse
3 Dejarse caer de la cama (levantarse)
4 Ir a encender el calefont
5 Abrir la llave de la ducha
6 Tantear la temperatura del agua
cotidianos aritmticos
comerciales
11
-
Lea esto primero. UNIACC, semana 1
7 Sacarse la ropa de dormir y meterse a la ducha
8 Baarse
9 Cerrar la llave
10 Secarse e ir a vestirse
Observacin: consideremos que algunas cosas pueden tener un orden inverso, anterior o posterior al entregado, incluso incluirse en un mismo
punto, otros pasos que son realizados, pero depender de la lgica y
destreza con que se lleve a cabo el proceso.
Aritmticos: se orientan por la rama de clculos matemticos bsicos, estadsticos, financieros entre otros. Veremos en detalle, muchos posibles
de implementar en el computador una vez que se conozcan las
pseudosentencias para trabajar en ello. Ejemplos de ellos son: inters de
un crdito, promedio de notas, comisiones, entre otros
Comerciales: son los que se gestionan en las empresas como control de stock, ventas, remuneraciones, inscripciones en centros de estudios, pero
que en la actualidad se manejan con bases de datos desde donde obtienen y alojan datos para ejecutar sus procesos.
Etapas de creacin de un programa
Para el desarrollo de estos dos ltimos tipos de algoritmos, que van en
funcionamiento digitalizado, es necesario que conozcamos cmo se lleva a cabo
el proceso de implementacin de stos y que nos percataremos que llevados a
lenguajes de informtica y construyendo software o programas, ocurre la misma
secuencia.
Todo programa pasa por tres etapas que son: digitacin, compilacin y ejecucin. Cada una de ellas y en ese orden, conforman la creacin de algoritmos correctamente diseados.
12
-
Lea esto primero. UNIACC, semana 1
Digitalizacin: es el primer paso y corresponde a la codificacin, es decir a digitar, en algn editor o ambiente de desarrollo de un lenguaje especfico,
cada una de las instrucciones. Posteriormente, debe ser grabado como
archivo.
Compilacin: proceso asociado a la bsqueda de errores de digitacin y lgica aplicada. Consiste en una labor que desarrolla el computador,
revisando cada sentencia en el programa incluida y llevndola a cdigo que
la mquina entiende.
o Existen dos formas de operar, aunque en la actualidad impera el procesamiento interpretativo, es decir, se dispone de una aplicacin
del lenguaje en uso, que revisa si las sentencias son correctas, lnea
a lnea y verticalmente hacia abajo; mientras no sea corregida
aquella que presente error, no seguir con la traduccin al lenguaje
de mquina, que es finalmente el que la mquina ejecutar. A estos
lenguajes se les llama intrpretes.
o Anteriormente, existan lenguajes compiladores, los cuales entregaban un listado de los errores de todo el programa, pero ya en
desuso debido a que se han creado plataformas en donde este
proceso de digitalizacin-compilacin-ejecucin, se llevan a cabo
dentro del mismo ambiente de desarrollo de la aplicacin, lo cual
resulta menos engorroso.
Ejecucin: bsicamente es ver el resultado de las instrucciones incluidas en el programa, al momento de digitarlo. Aclararemos que un programa sin
errores slo es posible que pase a esta etapa; no obstante, no significa que
lgicamente sea correcto, slo ejecutar sin importar si realiza lo que
debiera o no.
Por ahora, le recomendamos desarrollar lgicas algortmicas cotidianas, pues le
ayudarn a resolver secuencias que, paulatinamente ir mejorando. He aqu
algunos ejemplos en los que puede pensar:
13
-
Lea esto primero. UNIACC, semana 1
1. Cambiar un neumtico
2. Hacer una llamada telefnica desde un telfono pblico
3. Hacer una paila de huevos
4. Caminar cuadras hasta encontrar el lugar de destino
14
-
Lea esto primero. UNIACC, semana 1
Referencias bibliogrficas
JOYANES Aguilar, Luis. Fundamentos generales de la programacin. Parte I Herramientas de Programacin, 3ra. Edicin pp. 21-107 Mxico, Mc Graw Hill, 2010
Matatan (2007). Partes de la Computadora, Extrado el 12 de Marzo de 2014 desde la World Wide Web http://matatan.blogdiario.com/
La unidad Central de Proceso y el Procesador, 2005. Extrado el 12 de Marzo de 2014 desde la World Wide Web
http://www.todo-programacion.com.ar/archives/2005/04/la_unidad_centr.html
15