Vous êtes sur la page 1sur 22

Programacin

Unidad I y II

Licenciada en Informtica Ingrid Gra

Ciclo Bsico de Ingenieria 1

Programacin

Unidad I y II

UNIDAD I.COMPONENTES DEL COMPUTADOR DEFINICIN DEL COMPUTADOR El mundo de la alta tecnologa nunca hubiera existido de no ser por el desarrollo del ordenador o computadora. Toda la sociedad utiliza estas mquinas, en distintos tipos y tamaos, para el almacenamiento y manipulacin de datos. Los equipos informticos han abierto una nueva era en la fabricacin gracias a las tcnicas de automatizacin, y han permitido mejorar los sistemas modernos de comunicacin. Son herramientas esenciales prcticamente en todos los campos de investigacin y en tecnologa aplicada. La computadora u ordenador es un dispositivo electrnico capaz de recibir un conjunto de instrucciones y ejecutarlas realizando clculos sobre los datos numricos, o bien compilando y correlacionando otros tipos de informacin. Los datos generalmente se introducen por medio de algn dispositivo de entrada, como un teclado. La informacin generalmente se enva a un dispositivo de salida, como una pantalla, una impresora o un archivo en disco. La entrada y la salida de la computadora pueden provenir de y dirigirse a muchos tipos de dispositivos distintos. El ordenador se puede ver como un sistema:

Historia del Computador, Generaciones La aparicin de la Informtica se ha debido a la gran demanda de informacin que tenemos a nuestra disposicin y a la dificultad para manejarla personalmente. Un ordenador es una mquina capaz de manipular datos y proporcionar resultados, siguiendo una serie de instrucciones. Debido a los rpidos avances en el mundo de la electrnica, sobre todo a partir de 1946, los ordenadores se clasifican por generaciones. Cada una de estas generaciones se caracteriza por los componentes que forman parte de un ordenador. 1 Generacin Abarca desde 1946 hasta 1957 y se caracteriza porque todos los ordenadores que pertenecen a ella estaban construidos por medio de vlvulas electrnicas y tubos de vaco. Estos ordenadores eran de gran tamao, muy pesados, consuman mucha energa y se averiaban con bastante frecuencia. Los datos les eran proporcionados por medio de fichas o cintas perforadas y se dedicaban, fundamentalmente, al clculo
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 2

Programacin

Unidad I y II cientfico. El lenguaje que se utilizaba para comunicarse con este tipo de ordenadores era lenguaje mquina. El ordenador ms conocido fue el ENIAC. 2 Generacin Pertenecen a esta los ordenadores desarrollados desde 1958 a 1964.En estos ordenadores los circuitos estaban hechos de transistores y la memoria de ncleos de ferrita. Este hecho hizo que los ordenadores fueran mucho ms pequeos que los construidos hasta ese momento, tuvieran menos consumo y fueran capaces de ejecutar alrededor de 10 millones de operaciones por minuto. Los datos para estos ordenadores eran suministrados por medio de cintas magnticas y se utilizaba lenguajes simblicos, tipo FORTRAN y COBOL. Comienzan a utilizarse para tareas administrativas y admiten algo de trabajo en cadena. El primer ordenador de esta generacin fue el TRADIC de los Laboratorios Bell. 3 Generacin Se incluyen aqu los ordenadores que aparecieron entre 1965 y 1971.Estos contienen circuitos integrados o chips y dieron lugar a la microelectrnica, es decir, el desarrollo de componentes electrnicos de tamao microscpico. Con esa nueva tecnologa, la velocidad de los ordenadores lleg a ser de alrededor de 100 millones de operaciones por segundo, y se consigui un menor tamao en los mismos. Los avances de esta tercera generacin dan paso al multiproceso, es decir a la capacidad de realizar varios procesos a la vez; y a los lenguajes de programacin. 4 Generacin Va desde 1972 a 1981 y se caracteriza por la aparicin de los circuitos integrados a gran escala, es decir, ms evolucionados. Los nuevos ordenadores ya no slo son utilizados en las grandes empresas, sino que se utilizan de forma personal. Son ms pequeos, ms baratos e incorporan la posibilidad de utilizar diferentes programas para diferentes aplicaciones. 5 Generacin Se incluyen en ste todos los ordenadores desarrollados a partir de 1981.Estos ordenadores siguen utilizando circuitos integrados, pero son de una gran velocidad. Es en esta generacin en la que han aparecido los ordenadores personales. En esta generacin de ordenadores ha dado comienzo el desarrollo de la inteligencia artificial, es decir, las investigaciones con el fin de disear ordenadores que sean capaces de desarrollar determinadas funciones del cerebro humano. Estructura funcional de un ordenador Un esquema clsico de un ordenador sencillo es el siguiente:

Licenciada en Informtica Ingrid Gra

Ciclo Bsico de Ingenieria 3

Programacin

Unidad I y II

El ordenador se compone de las siguientes unidades funcionales: Unidad de Entrada: Es el dispositivo por donde se introducen en el ordenador los datos e instrucciones. En estas unidades se transforma la informacin de entrada en seales binarias de naturaleza elctrica. Una misma computadora puede tener varias unidades de entrada. Son unidades de entrada: el teclado, el ratn, un digitalizador, una lectora de tarjetas de crdito, entre otros. Unidad de Salida: Es un dispositivo por donde se obtienen los resultados de los programas ejecutados en el ordenador. Suelen transformar las seales elctricas binarias en caracteres visualizados o escritos. Son unidades de salida: un monitor, una impresora, un plotter o trazador grfico, entre otros. Memoria: Es la unidad donde se almacenan los datos e instrucciones. Existen dos tipos, diferenciados bsicamente por su velocidad: Existen diversas variantes de este esquema. Una computadora moderna puede tener cientos de unidades de entrada y salida. Por ejemplo los cajeros de tarjetas de crdito son unidades de Entrada y Salida del ordenador de una entidad bancaria. La conexin de estas unidades suele hacerse directamente con cable, pero tambin puede hacerse a travs de lnea telefnica o de un enlace de radio. Se denominan perifricos al conjunto de unidades de entrada y salida y memorias masivas de un ordenador. Al resto de componentes de un ordenador se llama computadora central.
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 4

Programacin

Unidad I y II Hardware Se refiere al soporte fsico del ordenador. Es la mquina en s: el conjunto de cables, circuitos, dispositivos y otros elementos que forman el ordenador. Unidad Central de Procesos (CPU) Memoria Central o principal Dispositivos de Almacenamiento Secundario (Memoria Auxiliuar) Dispositivos de Entrada/Salida Unidad Central de Procesos (CPU) La unidad de procesamiento central o CPU es el conjunto de la unidad de control y la unidad aritmtica lgica. Unidad aritmtica Lgica (ALU): Contiene los circuitos que realizan las operaciones de tipo aritmtico (sumas, restas,...) y de tipo lgico (comparar dos nmeros, operaciones Booleanas,...). La unidad de control contiene un reloj o generador de pulsos, que sincroniza todas las operaciones elementales del ordenador. El perodo de esta seal se llama tiempo de ciclo, suele darse en Mega-Hercios (Mhz, millones de ciclos por segundo), y es uno de los parmetros que determina la potencia del ordenador. Unidad de Control (UC): Controla el funcionamiento de las otras unidades. Recibe de la memoria las instrucciones del programa y genera las seales de control para que el resto de las unidades lleven a cabo estas instrucciones. Memoria Central o Principal Memoria principal: tambin llamada central o interna. Es la memoria ms veloz y ms cara, y est ligada directamente a las unidades ms rpidas de la computadora (U.C. y A.L.U.) Para que un programa puede ejecutarse debe estar cargado en esta memoria. En los ordenadores actuales est formada por circuitos integrados. La memoria principal est dividida en posiciones (o palabras de memoria). Cada posicin se identifica por una direccin y para leer o escribir una posicin es necesario indicar esta direccin. Podemos clasificar la memoria principal como: Memoria ROM (Read Only Memory): Es una memoria cuyo contenido slo se puede leer (no se puede modificar). El contenido de esta memoria permanece al desconectar el ordenador. Memoria RAM (Random Access Memory): Es una memoria cuyo contenido se puede leer y escribir. Su contenido es voltil (se pierde al desconectar el ordenador). Memoria masiva: tambin llamada auxiliar, secundaria o externa. Es ms lenta, pero tiene mayor capacidad y es ms barata. Su contenido no es voltil (permanece aunque se desconecte el ordenador, hasta que expresamente se quiera borrar). En los ordenadores actuales aparece en forma de discos y cintas magnticas.
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 5

Programacin

Unidad I y II Dispositivos de Almacenamiento Secundario (Memoria Auxiliuar) Disco Duro Este esta compuestos por varios platos, es decir, varios discos de material magntico montados sobre un eje central sobre el que se mueven. Para leer y escribir datos en estos platos se usan las cabezas de lectura / escritura que mediante un proceso electromagntico codifican / decodifican la informacin que han de leer o escribir. La cabeza de lectura / escritura en un disco duro est muy cerca de la superficie, de forma que casi da vuelta sobre ella, sobre el colchn de aire formado por su propio movimiento. Debido a esto, estn cerrados hermticamente, porque cualquier partcula de polvo puede daarlos. Este dividen en unos crculos concntricos cilndricos (coincidentes con las pistas de los disquetes), que empiezan en la parte exterior del disco (primer cilindro) y terminan en la parte interior (ultimo). Asimismo, estos cilindros se dividen en sectores, cuyo numero esta determinado por el tipo de disco y su formato, siendo todos ellos de un tamao fijo en cualquier disco. Cilindros como sectores se identifican con una serie de nmeros que se les asigna, empezando por el 1, pues el numero 0 de cada cilindro se reservan para propsitos de identificacin mas que para almacenamientos de datos. Estos escritos / ledos en el disco deben ajustarse al tamao fijado del almacenamiento de los sectores. Habitualmente, los sistemas de discos duros contienen mas de una unidad en su interior, por lo que el numero de caras puede ser mas de dos. Estas se identifican con un numero, siendo el 0 para la primera. En general su organizacin es igual a los disquetes. La capacidad del disco resulta de multiplicar el numero de caras por el de pistas por cara y por el de sectores por pista, al total por el numero de bytes por sector. Disquetes Son disco de almacenamiento de alta densidad de 1,44 MB, este presenta dos agujeros en la parte inferior del mismo, uno para proteger al disco contra escritura y el otro solo para diferenciarlo del disco de doble densidad. Discos pticos En los discos pticos hay menos peligro de que la informacin se deteriore, ya que un haz de lser lee y escribe a distancia no existiendo un cabezal que toque la superficie del disco, como ocurre en los dispositivos magnticos. Los discos pticos poseen una capacidad de almacenamiento muy superior a la de soportes magnticos, (600 MB a 20 Gb). Entre estos se encuentran:

CD-ROM:(Compact Disk Read Only) CD-RW o Worm.(Write Once Read Many).Grabable una vez quiera. DVD-ROM (Digital Versatile Disc ROM): Velocidad de transferencia base:1.38 MB/s.

Se diferencia del CD-ROM por su mayor capacidad, que se consigue de la siguiente forma:
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 6

Programacin

Unidad I y II

Aumentando la densidad de grabacin. Aumentar el nmero de superficies, pasando de 1 hasta 4. Incrementando de la capacidad por software mediante compresin de loas datos.

Discos Flash Son unos dispositivos de estado slido, es decir, compuestos por transistores, que permiten almacenar datos permanentemente, sin que se pierda al apagar el ordenador. Son casi tan rpidas como la RAM, aunque tienen mucha menos capacidad que un disco duro (suelen tener alrededor de 1-8 MB, pero resultan excesivamente caros). Consumen mucha menos energa que un disco duro, lo cual viene muy bien para porttiles. Cintas magnticas Las cintas magnticas son un soporte de informacin barato y de gran capacidad, pero son muy lentas (acceso secuencial). Dispositivos de Entrada/Salida Dispositivos de Entrada En esta se encuentran: Teclado Mouse o Ratn Escner o digitalizador de imgenes El Teclado Es un dispositivo perifrico de entrada, que convierte la accin mecnica de pulsar una serie de pulsos elctricos codificados que permiten identificarla. Las teclas que lo constituyen sirven para entrar caracteres alfanumricos y comandos a una computadora. En un teclado se puede distinguir a cuatro subconjuntos de teclas: Teclado alfanumrico: con las teclas dispuestas como en una maquina de escribir. Teclado numrico: (ubicado a la derecha del anterior) con teclas dispuestas como en una calculadora. Teclado de funciones: (desde F1 hasta F12) son teclas cuya funcin depende del programa en ejecucin. Teclado de cursor: para ir con el cursor de un lugar a otro en un texto. El cursor se mueve segn el sentido de las flechas de las teclas, ir al comienzo de un prrafo (" HOME "), avanzar / retroceder una pagina ("PAGE UP/PAGE DOWN "), eliminar caracteres ("delete"), etc. El Mouse o Ratn El ratn o Mouse informtico es un dispositivo sealador o de entrada, recibe esta denominacin por su apariencia.
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 7

Programacin

Unidad I y II Existen dos tecnologas principales en fabricacin de ratones: Ratones mecnicos y Ratones pticos. Ratones mecnicos: Estos constan de una bola situada en su parte inferior. La bola, al moverse el ratn, roza unos contactos en forma de rueda que indican el movimiento del cursor en la pantalla del sistema informtico. Ratones pticos: Estos tienen un pequeo haz de luz lser en lugar de la bola rodante de los mecnicos. Un censor ptico situado dentro del cuerpo del ratn detecta el movimiento del reflejo al mover el ratn sobre el espejo e indica la posicin del cursor en la pantalla de la computadora. Escner o Digitalizador de Imgenes Son perifricos diseados para registrar caracteres escritos, o grficos en forma de fotografas o dibujos, impresos en una hoja de papel facilitando su introduccin la computadora convirtindolos en informacin binaria comprensible para sta. El funcionamiento de un escner es similar al de una fotocopiadora. Se coloca una hoja de papel que contiene una imagen sobre una superficie de cristal transparente, bajo el cristal existe una lente especial que realiza un barrido de la imagen existente en el papel; al realizar el barrido, la informacin existente en la hoja de papel es convertida en una sucesin de informacin en forma de unos y ceros que se introducen en la computadora. Los escneres captaban las imgenes nicamente en blanco y negro o, como mucho, con un nmero muy limitado de matices de gris, entre 16 y 256. Posteriormente aparecieron escner que podan captar color, aunque el proceso requera tres pasadas por encima de la imagen, una para cada color primario (rojo, azul y verde). Hoy en da la prctica totalidad de los escner captan hasta 16,7 millones de colores distintos en una nica pasada, e incluso algunos llegan hasta los 68.719 millones de colores. Dispositivos de Salida En esta se encuentran: Impresoras Monitor Las impresoras Esta es la que permite obtener en un soporte de papel una hardcopy: copia visualizable, perdurable y transportable de la informacin procesada por un computador. Las primeras impresoras nacieron muchos aos antes que el PC e incluso antes que los monitores, siendo durante aos el mtodo ms usual para presentar los resultados de los clculos en aquellos primitivos ordenadores, todo un avance respecto a las tarjetas y cintas perforadas que se usaban hasta entonces. La velocidad de una impresora se suele medir con dos parmetros: Ppm : pginas por minuto que es capaz de imprimir; Cps: caracteres (letras) por segundo que es capaz de imprimir Ppp: puntos por pulgada (cuadrada) que imprime una impresora
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 8

Programacin

Unidad I y II

Tipo de Impresoras Impacto por matriz de aguja o punto Inyeccin de tinta Lser Monitor Es la pantalla en la que se ve la informacin suministrada por el ordenador. En el caso ms habitual se trata de un aparato basado en un tubo de rayos catdicos (CRT) como el de los televisores, mientras que en los porttiles es una pantalla plana de cristal lquido (LCD). La resolucin se define como el nmero de puntos que puede representar el monitor por pantalla, en horizontal x vertical. As, un monitor cuya resolucin mxima sea de 1024x768 puntos puede representar hasta 768 lneas horizontales de 1024 puntos cada una, probablemente adems de otras resoluciones inferiores, como 640x480 u 800x600. Cuan mayor sea la resolucin de un monitor, mejor ser la calidad de la imagen en pantalla, y mayor ser la calidad (y por consiguiente el precio) del monitor. Software Es el conjunto de programas (Sistema Operativo, Compiladores, programas de usuario,...) ejecutables por el ordenador. Software de Sistema Software de Programacin Software de Aplicacin Software de Sistema El software de sistemas est formado por los programas que se encargan de controlar, coordinar y gestionar todo el hardware del ordenador. Estos programas reciben el nombre de sistemas operativos y actan como intermediarios entre los componentes fsicos del ordenador y el usuario. Los sistemas operativos se clasifican segn el tipo de comportamiento que proporcionan al ordenador, por ejemplo, segn el nmero de programas que el ordenador puede ejecutar a la vez. Si el ordenador solo puede trabajar con un programa cada vez, se llama monotarea; por el contrario si permite que ejecute muchos programas a la vez se llama multitarea. Adems, los sistemas operativos tambin se clasifican segn el nmero de usuarios que pueden trabajar con el ordenador a la vez. As se denominan monousuarios o multiusuario. Entre los principales sistemas operativos se pueden destacar: MS-DOS: Con este sistema de Microsoft apareci el primer PC de IBM en 1981.Es monotarea y monousuario. OS/2: Creado por IBM en el ao 1987.Es multitarea y monousuario. Trabaja con una interfaz grfica que facilita su utilizacin.
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 9

Programacin

Unidad I y II Windows: Es de la empresa Microsoft. El sistema permite trabajar en modo multitarea y monousuario. Dispone de una interfaz grfica mediante ventanas que facilita al usuario la utilizacin del ordenador. Este sistema tambin es compatible con MS-DOS. Unix: Tiene numerosos nombres segn la empresa que lo comercializa (Linux, Unix,Sco...).Este sistema es multitareas y multiusuario y puede ser ejecutado en un ordenador personal o en un gran ordenador central con numerosas pantallas. Suele usarse en las grandes empresas. Software de Programacin El software de programacin rene los programas que utilizan programadores para crear nuevos programas. Los programas se crean utilizando un lenguaje de programacin. Un lenguaje de programacin es un conjunto de palabras, claves o instrucciones y unas reglas sintcticas que indican cmo hacer los programas. Los lenguajes de programacin se clasifican como sigue: Lenguaje mquina Lenguajes de bajo nivel Lenguajes de alto nivel. Software de Aplicacin El software de aplicacin es el conjunto de programas que utilizan los usuarios para trabajar con el ordenador. Estos programas estn creados con lenguajes de programacin y se ejecutan sobre un determinado sistema operativo. Se clasifica en programas verticales y programas horizontales o de propsito general: Programas verticales: Son aquellos que resuelven problemas concretos y han sido diseados para cumplir una misin especfica. Cuando estos programas son encargados por los clientes a la empresa productora de software, entonces se dice que se ha creado un programa ha medida, es decir, para cubrir las necesidades especficas de un cliente. Por ejemplo, la gestin de una contabilidad, un diagnstico mdico, el control de un robot. Programas horizontales o de propsito general: son aquellos que sirven para realizar tareas de carcter amplio y general y que pueden ser utilizados por la mayora de los usuarios de un ordenador personal. Estos programas, tambin llamados estndar, pueden ser clasificados segn su funcin en procesadores de texto, hojas de clculo, bases de datos, paquetes integrados y autoedicin. DEFINICIN DE LENGUAJE DE PROGRAMACIN Lenguaje Es el medio de comunicacin entre los seres humanos a travs de signos orales y escritos que poseen un significado. Tambin podra decirse que es cualquier procedimiento que sirve para comunicarse, representado mediante smbolos y caracteres especficos.

Licenciada en Informtica Ingrid Gra

Ciclo Bsico de Ingenieria 10

Programacin

Unidad I y II Desde el punto de vista informtico el lenguaje es la representacin por medio de signos, smbolos y caracteres que existe entre la comunicacin de la PC. Lenguajes De Programacin Son los lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas. Los lenguajes de programacin se clasifican en tres grandes categoras: - Mquina - Bajo nivel (ensamblador) y - Alto nivel Lenguaje Mquina Es el lenguaje propio de la computadora, basado en la lgica binaria, de ceros y unos (00010111). Este lenguaje resulta difcil de utilizar para las personas; ya que el programador debe introducir todos y cada uno de los comandos y datos en forma binaria, y una operacin sencilla como comparar el contenido de un registro con los datos situados en una ubicacin del chip de memoria puede tener el siguiente formato: 11001010 00010111 11110101 00101011. La programacin en lenguaje mquina es una tarea tan tediosa y consume tanto tiempo que muy raras veces lo que se ahorra en la ejecucin del programa justifica los das o semanas que se han necesitado para escribir el mismo. Lenguaje De Bajo Nivel La programacin en lenguaje mquina es difcil por ello se necesitan lenguajes que faciliten este proceso. Por este motivo han sido diseados los lenguajes de bajo nivel. Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son a menudo difciles de aprender. Esta abstraccin da como resultado un lenguaje de muy bajo nivel que es especfico de cada microprocesador: Al asignar un cdigo mnemotcnico (por lo general de tres letras) a cada comando en lenguaje mquina, es posible escribir y depurar o eliminar los errores lgicos y de datos en los programas escritos en lenguaje ensamblador, empleando para ello slo una fraccin del tiempo necesario para programar en lenguaje mquina. En el lenguaje ensamblador, cada comando mnemotcnico y sus operadores simblicos equivalen a una instruccin de mquina. Un programa ensamblador traduce el cdigo fuente, (una lista de cdigos de operacin mnemotcnicos y de operadores simblicos), a cdigo objeto (es decir, a lenguaje mquina) y, a continuacin ejecuta el programa, todo esto gracias a un intrprete o a un compilador, los cules veremos ms adelante Lenguaje De Alto Nivel Los lenguajes de alto nivel son los que se emplean con mayor frecuencia como lenguajes de programacin, porque permiten expresar los algoritmos de una manera y con un estilo fcilmente reconocible por parte de diversos programadores y usuarios; debido a que estn formados por elementos de lenguajes naturales, como el ingls.
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 11

Programacin

Unidad I y II En Basic, el lenguaje de alto nivel ms conocido, los comandos se introducen desde el teclado, desde un programa residente en la memoria o desde un dispositivo de almacenamiento, y son interceptados por un programa que los traduce a instrucciones en lenguaje mquina. Asimismo, presentan una ventaja fundamental: la facilidad de poder ser transportados de una mquina a otra sin necesidad de realizar grandes cambios en ellos, por lo que se dice que son independientes de la mquina empleada. A este grupo pertenecen los lenguajes ms conocidos, tales como el APL, FORTRAN, PASCAL, COBOL, LISP, PROLOG, C, ADA, PL/I. Sin embargo, tanto los lenguajes de alto nivel como los de bajo nivel, no son entendibles directamente por la mquina, sino que necesitan ser traducidos a instrucciones en lenguaje mquina que entiendan las computadoras por lo que es necesario disponer de una interfase con el lenguaje mquina para que el programa sea ejecutable. Al respecto existen dos tipos fundamentales de interfase, que son: a) Compiladores b) Intrpretes Compilador Es un traductor que facilita la comunicacin entre el programador y la mquina, por medio de un proceso de transformacin llamado compilacin. De esta manera traduce un programa ntegro a lenguaje mquina antes de su ejecucin, por lo cual se ejecutan con tanta rapidez como si hubiesen sido escritos directamente en lenguaje mquina. El compilador es el ms eficaz para la mayor parte de las mquinas, puesto que presenta la ventaja de de que cada una de las sentencias del programa es interpretada y traducida al lenguaje mquina solo una vez. Un compilador crea una lista de instrucciones de cdigo mquina, el cdigo objeto, basndose en un cdigo fuente. El cdigo objeto resultante es un programa rpido y listo para funcionar, pero que puede hacer que falle el ordenador si no est bien diseado. Intrprete Es un programa que se traduce lnea por lnea bajo la misma plataforma. Es un traductor pero ms lento que los compiladores ya que no producen un cdigo objeto, sino que recorren el cdigo fuente una lnea cada vez. Cada lnea se traduce a cdigo mquina y se ejecuta. Cuando la lnea se lee por segunda vez, como en el caso de los programas en que se reutilizan partes del cdigo, debe compilarse de nuevo. Aunque este proceso es ms lento, es menos susceptible de provocar fallos en la computadora Definicin de algoritmos Un algoritmo es una serie de pasos lgicos para realizar una accin, programa o tarea ya que es el primer paso para realizar un programa. Los algoritmos son independientes tanto del lenguaje de programacin en que se expresan como del ordenador que los ejecuta. El lenguaje de programacin es tan slo
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 12

Programacin

Unidad I y II un medio para comunicarle al ordenador la secuencia de acciones a realizar y el ordenador slo acta como mecanismo para obtener la solucin. En este sentido, podemos comparar la situacin anterior con el hecho de explicar una receta a un cocinero en distintos idiomas. Mientras ste entienda el idioma, es indiferente el idioma elegido ya que el resultado final ser siempre el mismo. Todo algoritmo ha de cumplir necesariamente, las siguientes caractersticas: Preciso: el algoritmo debe indicar el orden de realizacin de cada accin, de forma clara y sin ambigedades. Adems, el algoritmo debe ser concreto en el sentido de contener slo el nmero de pasos precisos para llegar a la solucin (no deben darse pasos de ms). Definido: el algoritmo debe poder repetirse tantas veces como se quiera, alcanzndose siempre los mismos resultados para una misma entrada, independientemente del momento de ejecucin. Finito: el algoritmo debe terminar en algn momento. Los algoritmos tambien presentan otras caracteristicas como son: Validez. El algoritmo construido hace exactamente lo que se pretende hacer. Eficiencia. El algoritmo debe dar una solucin en un tiempo razonable. Por ejemplo, para sumar 20 a un nmero dado podemos dar un algoritmo que sume uno veinte veces, pero esto no es muy eficiente. Sera mejor dar un algoritmo que lo haga de un modo ms directo. Optimizacin. Se trata de dar respuesta a la cuestin de si el algoritmo diseado para resolver el problema es el mejor. En este sentido y como norma general, ser conveniente tener en cuenta que suele ser mejor un algoritmo sencillo que no uno complejo, siempre que el primero no sea extremadamente ineficiente. En el algoritmo se plasman las tres partes fundamentales de una solucin informtica: Entrada, informacin dada al algoritmo. Proceso, clculos necesarios para encontrar la solucin del problema. Salida, resultados finales de los clculos. El algoritmo describe una transformacin de los datos de entrada para obtener los datos de salida a travs de un procesamiento de la informacin.

Licenciada en Informtica Ingrid Gra

Ciclo Bsico de Ingenieria 13

Programacin

Unidad I y II Ejemplos de algoritmos son: Instrucciones para montar una bicicleta Hacer una receta de cocina Obtener el mximo comn divisor de dos nmeros, etc. Algoritmo cotidiano Es una serie de pasos que realizamos en nuestra vida diaria para realizar las diferentes tareas y actividades comunes, desde los pasos al levantarnos, as como ir de compras, entre otros. Lenguaje Algortmico Es aquel por medio del cual se realiza un anlisis previo del problema a resolver y encontrar un mtodo que permita resolverlo. Para resolver un problema utilizando un sistema de cmputo, debe seguirse una serie de pasos que permiten avanzar por etapas bien definidas hacia la solucin y ejecucin de la misma Esta serie de fases o pasos deben seguirlas todos los programadores, estas etapas son las siguientes: Definicin del problema La primera fase en la resolucin de un problema por computadora es la definicin o anlisis del problema. En donde lo ms importante es que conozcamos exactamente lo que debe hacer el programa y "que se desea obtener al final del proceso Para poder definir con precisin el problema se requiere que las especificaciones de entrada y salida sean descritas con detalle ya que esto es un requisito para lograr una solucin eficaz; por lo que es conveniente hacerse las siguientes preguntas: 1.- Qu entradas se requieren? (Tipo Y Cantidad) 2.- Cul es la salida deseada? (Tipo Y Cantidad) 3.- Qu mtodo produce la salida deseada? Anlisis de los Datos Una vez que el problema ha sido definido y comprendido, deben analizarse los siguientes aspectos: 1.- Los resultados esperados. 2.- Los datos disponibles. 3.- Herramientas a nuestro alcance para manipular los datos y alcanzar un resultado. Esta sera un diagrama de la resolucin de un problema en su ms mnima expresin. Mientras esto no se comprenda no puede pasarse a la siguiente etapa. Diseo de la Solucin Como sabemos, una computadora no tiene capacidad para solucionar problemas ms que cuando se le proporcionan los sucesivos pasos a realizar, esto se refiere a la obtencin de un algoritmo que resuelva adecuadamente el problema.
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 14

Programacin

Unidad I y II En caso de que obtengamos varios algoritmos, seleccionaremos uno de ellos utilizando criterios ya conocidos. Esta etapa incluye: La descripcin del algoritmo resultante en un lenguaje natural, en un diagrama de flujo o natural de programacin. Establece la metodologa para alcanzar la solucin en forma conceptual, es decir; sin alcanzar la implementacin en el sistema de cmputo. La informacin proporcionada constituye su entrada y la informacin producida por el algoritmo constituye su salida. Los problemas complejos se pueden resolver ms eficazmente por la computadora cuando se dividen en subproblemas que sean ms fciles de solucionar. Codificacin Es la escritura en un lenguaje de programacin de la representacin del algoritmo desarrollada en etapas precedentes. Esto se refiere a la obtencin de un programa definitivo que pueda ser comprensible para la mquina. Cabe destacar que si la codificacin original se realiz en papel, previo a la compilacin deber existir un paso conocido como trascripcin. Luego, que el algoritmo se ha convertido en un programa fuente. Este programa fuente debe ser traducido a lenguaje mquina, este proceso se realiza con el compilador, y se obtiene el programa objeto, (siempre y cuando el programa fuente sea correcto) que posteriormente se vuelve un programa ejecutable. Prueba y Depuracin Prueba Esta se realiza durante la compilacin, si se presentan errores (errores de compilacin) en el programa fuente, es preciso volver a editar el programa, corregir los errores y compilar de nuevo, este proceso se repite hasta que no se producen errores. De esta manera se obtiene el programa objeto, que todava no es ejecutable directamente, pero si no contiene errores se debe instruir al sistema para que realice la fase de montaje o enlace del programa objeto con las libreras del programa del compilador; este proceso de montaje produce un programa ejecutable. Depuracin Es el proceso de encontrar los errores del programa y corregir o eliminar dichos errores. Cuando se ejecuta un programa, se pueden producir tres tipos de errores: 1.- Errores de compilacin. Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programacin y suelen ser errores de sintaxis, por lo tanto la computadora no puede comprender la instruccin, y obviamente no se obtendr el programa objeto, y el compilador imprimir una lista de todos los errores encontrados durante la compilacin.
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 15

Programacin

Unidad I y II 2.- Errores de ejecucin. Estos errores se producen por instrucciones que las computadoras pueden comprender, pero no ejecutar. Ejemplos de stos son: una divisin por cero, y races cuadradas de nmeros negativos; por lo que en este caso se detiene la ejecucin del programa y se imprime un mensaje de error. 3.- Errores lgicos. Se producen en la lgica del programa y la fuente del error suele ser el diseo del algoritmo. Estos errores son los ms difciles de detectar, ya que el programa puede funcionar y no producir errores de compilacin ni ejecucin, y solo puede detectarse cuando se advierte un error por la obtencin de resultados incorrectos. En este caso se debe volver a la fase del diseo del algoritmo, modificarlo, cambiar el programa fuente, compilar y ejecutar una vez ms. Documentacin Consta de las descripciones de los pasos a dar en el proceso de resolucin de un problema. La importancia de la documentacin es por su decisiva influencia en el producto final. Programas pobremente documentados son difciles de leer, ms difciles de depurar y casi imposibles de mantener y modificar. Por ello la importancia de la documentacin, sin la documentacin es imposible corregir errores futuros o bien cambiar el programa Mantenimiento Se define como la modificacin del programa por medio de actualizaciones, que mejoran al programa, corrigiendo errores o bien actualizndolos para un mejor funcionamiento. Por ello la documentacin es sin duda muy importante para poder llevar a cabo el mantenimiento. Ejemplos de Algoritmos 1.- Algoritmo que calcula la suma de dos nmeros Inicio Variable entera a,b Escribir "Indique el primer sumando" Leer a Escribir "Indique el segundo sumando" Leer b C =a+b Escribir "El resultado es: ";c Fin
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 16

Programacin

Unidad I y II 2.- Algoritmo para preparar un t Inicio Tomar la tetera Llenarla de agua Encender el fuego Poner la tetera en el fuego Esperar a que hierva el agua Tomar la bolsa de t Introducirla en la tetera Esperar a que est hecho el t Echar el t en la taza Fin Los algoritmos se pueden expresar por frmulas, diagramas de flujo, y pseudocdigos. sta ltima representacin es la ms utilizada en lenguajes estructurados como Turbo Pascal. Diagramas de flujo Son una herramienta grfica para descripcin de algoritmos. Un diagrama de flujo consta de una serie de smbolos estndar, que representan las distintas acciones del algoritmo, conectados mediante lneas que indican el orden en el cual deben realizarse las operaciones. Un diagrama de flujo muestra la lgica del algoritmo, acentuando los pasos individuales y sus interconexiones. Un diagrama de flujo debe reflejar: El comienzo del programa Las operaciones que el programa realiza El orden en que se realizan El final del programa Caractersticas: Representacin grfica de la secuencia de pasos a realizar. Las operaciones se escriben en smbolos normalizados. Las lneas de flujo indican el orden de ejecucin. Los smbolos utilizados han sido normalizados por las organizaciones ANSI (American Nacional Standard Institute) y por ISO (International Standard Organization) y son los siguientes:
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 17

Programacin

Unidad I y II SIMBOLO DESCRIPCIN

Indican el inicio y el fin del algoritmo. Del primero slo puede salir una lnea y al segundo slo puede llegar una lnea.

Indica una accin a realizar. Tiene una nica lnea de entrada y otra de salida. Indica una accin de entrada (lectura de datos desde el teclado) o salida (escritura de un dato por pantalla). Tiene una nica lnea de entrada y otra de salida. Se usan para tomar una decisin, dependiendo de cierta condicin. Tiene una lnea de entrada y dos de salidas (una por la cual salir, si la condicin es cierta, y otra, si es falsa). Se usan para conectar los smbolos anteriores y especifican el flujo del algoritmo. Se usan para conectar distintos puntos de los diagramas de flujo, evitando cruces de flechas. En la representacin es conveniente seguir las siguientes reglas: El comienzo del programa figurar en la parte superior del diagrama. Los smbolos de comienzo y fin debern aparecer una nica vez. El flujo de las operaciones ser de arriba a abajo y de izquierda a derecha. Se debe guardar cierta simetra en la representacin de bifurcaciones y bucles. Se evitarn los cruces de lneas de flujo, utilizando conectores.

Ejemplos de diagramas de flujos 1.- Dibujar un diagrama de flujo para el problema de calcular el precio y la cantidad a devolver por la compra de un producto.
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 18

Programacin

Unidad I y II

2.- Dibujar un diagrama de flujo para el problema de calcular el valor absoluto de un nmero.

3.- Dibujar un diagrama de flujo para calcular la siguiente suma: 2 + 4 + 6 + ... 998 + 1000
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 19

Programacin

Unidad I y II

Pseudocdigo Es un lenguaje algortmico que permite representar las construcciones bsicas de los lenguajes de programacin, pero a su vez, mantenindose prximo al lenguaje natural. A pesar de su flexibilidad el pseudocdigo tiene que atenerse a una serie de normas para que los algoritmos construido resulten legibles, claros y fcilmente codificables, con este fin se le imponen algunas restricciones tales como: Los identificadores usados han de tener un significado de acuerdo a su contenido. El conjunto de sentencias debe ser completo, en el sentido de permitir especificar cualquier tarea a realizar con suficiente detalle. Contener un conjunto de palabras reservadas. Las principales ventajas del pseudocdigo son: 1) Podemos centrarnos sobre la lgica del problema olvidndonos de la sintaxis de un lenguaje concreto. 2) Es fcil modificar el algoritmo descrito. 3) Es fcil traducir directamente a cualquier lenguaje de programacin el algoritmo obtenido. Caractersticas: Lenguaje de especificacin de algoritmos. Utiliza palabras reservadas. Exige una correcta indentacin. Se implementa con facilidad. Estructura de un algoritmo en pseudocdigo: Cabecera: contiene el nombre del algoritmo. Cuerpo del algoritmo:
Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 20

Programacin

Unidad I y II

Bloque de declaraciones: se declaran las constantes simblicas y se definen las variables. Bloque de instrucciones: contiene las acciones a ejecutar.

El principal inconveniente que presenta el uso del pseudocdigo como lenguaje de descripcin de algoritmos es la imprecisin. El pseudocdigo que nosotros utilizaremos consta exactamente de las siguientes construcciones: INICIO: Indica el comienzo del algoritmo FIN: Indica la finalizacin del algoritmo. LEER: Se usa para leer un dato del teclado. ESCRIBIR: Se usa para escribir un dato por pantalla. SI <c> ENTONES <aS> EN OTRO CASO <aNo> FINSI: donde <c> es una condiccin que puede ser cierta o falsa y <aS> y <aNo> son dos acciones. Indica realizar la accin <aS> si la condicin <c> es cierta o realizar la condicin <aNo> si sta es falsa. MIENTRAS <c> HACER <a> FINMIENTRAS: donde <c> es una condicin que puede ser cierta o falsa y <a> es una accin. Indica repetir la accin <a> mientras la condicin <c> sea cierta. Se deja de repetir en el momento en que <c> se hace falsa. Las comprobaciones de la condicin se hacen justo antes de realizar la accin. REPETIR <a> HASTA QUE <c>: donde <c> es una condicin que puede ser cierta o falsa y <a> es una accin. Indica repetir la accin <a> hasta que la condicin sea cierta. Se deja de repetir en el momento en que <c> se hace cierta. Las comprobaciones de la condicin se hacen justo despus de realizar la accin. Ejemplos de Pseudocdigo 1.- Veamos como se expresa en pseudocdigo la solucin al problema del peso: INICIO LEER precioKg LEER peso LEER entragada precio peso x precioKg devuelta entregada precio ESCRIBIR precio ESCRIBIR devuelta FIN

2.- Clculo del valor absoluto de un nmero: INICIO


Licenciada en Informtica Ingrid Gra Ciclo Bsico de Ingenieria 21

Programacin

Unidad I y II LEER nmero SI nmero < 0 ENTONCES absoluto - nmero EN OTRO CASO absoluto nmero FINSI ESCRIBIR absoluto FIN 3.- calculo de la suma 2 + 4 + 6 + ... 998 + 1000: INICIO suma 0 ndice 2 MIENTRAS indice <= 1000 HACER suma suma + i ndice ndice + 2 FINMIENTRAS ESCRIBIR suma FIN tambin puede ser expresado del siguiente modo: INICIO suma 0 ndice 2 REPETIR suma suma + ndice ndice ndice + 2 HASTA QUE i > 1000 ESCRIBIR suma FIN

Licenciada en Informtica Ingrid Gra

Ciclo Bsico de Ingenieria 22

Vous aimerez peut-être aussi