programacion

16
SEMANA 1 PROGRAMACIÓN ALGORÍTMICA

description

programacion

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