texto basico septiembre 2011 fp

Upload: yessenia-gusqui

Post on 17-Oct-2015

79 views

Category:

Documents


0 download

TRANSCRIPT

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:1

    QU ES UN COMPUTADOR DEFINICIN 1: En informtica la ciencia del tratamiento automtico de la informacin, se llama COMPUTADOR, un aparato electromecnico o sistema que es capaz de recibir y almacenar informacin, ordenarla y hacer con ella operaciones lgicas y matemticas a muy alta velocidad. Utiliza las operaciones matemticas bsicas (suma, resta, multiplicacin, divisin). Est compuesto por una unidad central CPU, un teclado un monitor o pantalla.

    DEFINICIN 2: La computadora es una mquina diseada para facilitar el trabajo y la vida de las personas. Con ella realizamos clculos y diseos, escribimos textos, guardamos informacin, enviamos y recibimos mensajes, accedemos a cursos de nuestro inters, navegamos en el Internet, entre otras cosas.

    COMIENZOS DEL COMPUTADOR

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:2

    Su inicio pudo ser el baco (Chinos) aprox. 5,000 aos La mquina de clculo de Blaise Pascal (1642) sumaba y restaba (Origin

    las cajas registradoras) pascalina La MAQUINA DE NUMEROS IMPRESOS Jhon Nappier La mquina perforadora de Charles Babbage 1822 La tabuladora de Hermann Hollerith 1860 1929 La MARK I 1944 respaldado por IBM El ENIAC 1946 con tubos al vaco UNIVAC El IBM 650 1959 1965 alcanz el dominio industrial El APPLE 2 1957 1977 El computador actual en sus diferentes modelos, marcas, procesadores,

    velocidades y aplicaciones avanzadas, como: INTEL (Celeron, Pentium 3, Pentium 4, Xen, Itaniun2) AMD (ATHLON, DURON)

    EVOLUCIN HISTORICA DE LOS COMPUTADORES La siguiente tabla presenta la clasificacin por generaciones de computadores ms ampliamente aceptada. En ella se destacan los principales avances tecnolgicos y arquitectnicos que tienen lugar en cada una de las generaciones.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:3

    ALGUNAS DE LAS IMGENES MS RELEVANTES DE LOS AVANCES EN LA EVOLUCIN DEL COMPUTADOR

    Mquina de Pascal

    Charles Babbage y su mquina diferencial

    Imagen de la Mark I basada en las ideas de Babbage

    EDVAC

    UNIVAC II

    IBM 7030

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:4

    El primer microprocesador, el 4004 de Intel

    El Apple II

    EN RESUMEN Qu es una computadora? Es una herramienta al servicio del hombre Es una mquina que procesa datos y nos sirve de informacin Es una de los componentes de informtica FUNCIONES BSICAS Es el procesamiento de informacin, almacenar informacin, arrojar resultados. NOTA: Para que un computador pueda trabajar debemos tener instalado el SISTEMA OPERATIVO en el disco duro. El sistema operativo es el primer programa que se carga en el computador al arrancarlo. Y se encarga de regular su funcionamiento.

    Los objetivos del sistema operativo son: facilitar a los programas del usuario el acceso a los distintos recursos o dispositivos que se puedan producir.

    El sistema operativo permite establecer comunicacin entre el usuario y la

    mquina (computador) a travs de una lnea de rdenes o comandos que debe interpretar el computador para generar una respuesta.

    Los ms conocidos actualmente son: todas las versiones de Windows.

    Estos sistemas operativos son en ambiente grfico o de interfaz grfica, y

    adems son diseados por la empresa Microsoft.

    Existen otros sistemas operativos como linux, xenix, unx etc.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:5

    MARCAS vs CLONES Marcas

    Si hablamos de marcas debemos hablar de tecnologa cerrada. Se pueden actualizar algunas partes, alta confiabilidad, ms seguros, altos costos y un buen soporte tcnico.

    Ejemplo: Mac Apple, Compaq, IBM, Acer, NCR, Dell, Gateway, Texas Instruments, SONY, Toshiba, Samsung, HP

    Clones Si nos referimos a los clones; podemos decir que es una tecnologa muy

    parecida, menos integrada, ms baratos, tecnologa abierta menos confiables, ms opciones para poder actualizar casi todas las partes del computador.

    Usan muchas partes de marcas, INTEL, AMD, Seagate, Quantum etc.

    PARTES INTERNAS QUE CONSTITUYEN LA ARQUITECTURA DE UN MICROCOMPUTADOR

    1. Main Board ( TARJETA PRINCIPAL ) AT, ATX 2. Procesador ( MICROPROCESADOR, CPU ) 3. Memoria PRINCIPAL 4. RAM (SIPP, SIMM 30 y 72 pin DIMM 168 pin, RIMM,DDR) 5. CACHE ( SRAM ) 6. ROM 7. Disco Duro (IDE, SCSI, USB) 8. La unidad de CD ROM \ CD-ROM WRITER (IDE, SCSI, USB) 9. El DVD (DISCO DE VIDEO DIGITAL) 10.Fuente (Alimentacin de Voltaje) AT, ATX 11.Unidad de Backup ( SCSI ) 12.Puertos seriales (COM1) Mouse serial, (COM2) o Modem externo 13.Puertos paralelos (LPT1, LPT2) Para impresora 14.Puertos IDE (Conectores) 15.Puertos USB (Conectores) 16.Conectores DIN (CLON) Teclado 17.Conectores MINIDIN (PS/2) Para teclado y ratn 18.Ranuras (Bus) VESA, ISA, PCI, AGP 19.Socket, Slots 20.Tarjeta de vdeo (ISA, PCI, AGP 21.Tarjeta de sonido (ISA, PCI) 22.Tarjeta de red (ISA, PCI) 23.Tarjeta de mdem (ISA, PCI)

    HARDWARE Y SOFTWARE Como punto de partida en el reconocimiento de los componentes de un computador debe entender la diferencia entre hardware y software:

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:6

    a.- Hardware: este trmino ascielo a la siguiente idea: son todas aquellas piezas fsicas que componen un computador. En el exterior estn la pantalla, el teclado, el mouse o ratn, la impresora, el escner, o cualquier otro dispositivo fsico. En el interior est el disco duro, la C.P.U., la disquetera, los procesadores y diversas tarjetas de funcin. Con estos dispositivos puede controlar el envo y salida de informacin. Por ejemplo, usted manda informacin al computador con el slo hecho de apretar el teclado. En el caso de la salida de informacin, esto se hace, por ejemplo, a travs de la impresora. b.- Software: este trmino ascielo a la siguiente idea: es el conjunto de rdenes electrnicas que hacen funcionar un computador y, por lo tanto, no poseen una estructura fsica que se pueda ver y tocar. En otras palabras, el software son los programas que se ejecutan o instalan dentro del computador. Un ejemplo de esto es el sistema operativo y los programas diseados para funciones especficas como por ejemplo los procesadores de texto, planillas de clculos, bases de datos y presentaciones. Ahora bien, el hardware, por s slo, es un montn de piezas intiles pues no pueden funcionar independientemente sin que exista una plataforma de rdenes que les diga que hacer. El software, por s slo, es un conjunto de rdenes que tampoco pueden funcionar sin una plataforma fsica que los sostenga. En otras palabras, ambos conceptos van de la mano. Sobre el hardware se instalar el software, el cual controlar al primero, y ste a su vez, permite que las rdenes del segundo tengan sentido en la realidad.

    Imagine lo siguiente: el hardware son las neuronas y el software es el pensamiento producido por ellas. Es imposible concebir el concepto de "pensamiento" en forma separada. El mismo criterio debe aplicar cuando imagine un computador, con la sola excepcin, que este ltimo es un aparato limitado y que no posee la capacidad de pensar por s mismo.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:7

    Esta interaccin se puede ver reflejada en el siguiente caso. Usted da una orden al computador para que imprima una pgina. Esta orden la ejecuta con el teclado o bien usando el mouse (hardware); estos dispositivos trabajan sobre los programas (software) que sern los encargados de reconocer y enviar la orden a la impresora (hardware), mediante la cual se imprimir la informacin (software) que ve en pantalla. As funciona un computador. No existe nada de "magia" en su funcionamiento. Recuerde: un computador es un aparato electrnico (hardware) que necesita un sistema de rdenes (software) para funcionar. Y en ltima instancia, ambos conceptos los maneja un usuario, es decir, usted. Dependiendo de la necesidad del usuario, tenemos los siguientes programas:

    COMPONENTES Un computador funciona y est estructurado por los siguientes componentes:

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:8

    Dispositivos de entrada: son todas aquellas piezas del hardware que al ser utilizadas cumplen la funcin de ingresar datos al computador. Ejemplo: teclado, mouse, escner, micrfono, palancas de juegos y cmaras. Unidad central: es el hardware donde estn almacenadas las piezas fundamentales de un PC. Dentro de la unidad central est el microprocesador o Unidad Central de Procesamiento o C.P.U., cuya principal tarea es manipular la informacin al interior del PC y para lo cual utiliza la Unidad de Control, encargada de enviar y dirigir el flujo de informacin a las distintas unidades del computador. Dispositivos de salida: son todas aquellas piezas del hardware que cumplen la funcin de desplegar la informacin almacenada en el equipo. Ejemplo: pantalla, impresora, y parlantes. Unidad de almacenamiento: son todas aquellas piezas del hardware que se ocupan para guardar los datos de un computador. Estas unidades se clasifican en Principal, que corresponde a los discos duros, y Secundarias que corresponden a los disquetes, CD-Roms, Discos Zip, y otras formas de almacenamiento externos. De acuerdo a las funciones que cada hardware cumple como unidad anexa al computador, stos pueden clasificarse en componentes primarios y componentes secundarios o perifricos. Componentes primarios Los componentes primarios de un computador son aquellas partes del hardware sin las cuales el PC no opera correctamente. stas son: Unidad central o torre Pantalla o monitor

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:9

    Teclado Componentes secundarios Los componentes secundarios de un computador son aquellas partes del hardware de las cuales el PC puede prescindir. En otras palabras, la falta de una de stas no altera el funcionamiento de un computador, por lo tanto su uso es opcional. A los componentes secundarios se les denomina perifricos y pueden clasificarse en dos tipos: perifricos de entrada y perifricos de salida.

    Perifricos de entrada: son aquellas partes del computador que al ser utilizadas envan informacin al equipo, donde es almacenada o procesada. Dentro de esta categora estn los siguientes componentes: mouse, escner, micrfono, palancas de juegos y cmaras.

    Perifricos de salida: son aquellas partes del computador que al ser utilizadas extraen la informacin desde el interior del equipo hacia el usuario. Dentro de esta categora estn los siguientes componentes: impresora, y parlantes.

    Una categora especial son aquellos perifricos que cumplen ambas funciones, es decir son unidades de entrada y salida de informacin. Dentro de este rango estn las unidades grabadoras de CD y unidades Zip. UNIDAD CENTRAL Y C.P.U. La Unidad Central es la parte ms importante del computador. En otras palabras es la unidad fsica donde se procesa toda la informacin y a la cual van conectados el resto de las partes fsicas del PC, las cuales funcionan a travs de los programas que el equipo tiene instalados. En este caso, el "rgano" esencial de la Unidad Central es el procesador o C.P.U (Central Processing Unit). Esta unidad es la que determina las caractersticas de cada computador. Un procesador es un chip que se encarga de manejar los datos del PC y transferirlos a las unidades correspondientes.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:10

    DISCO DURO El disco duro forma parte de la unidad central y es el dispositivo de almacenamiento principal de un computador. Esta unidad est compuesta, en su parte interna, por uno o ms platillos rgidos los cuales giran sobre un eje. Cada platillo, recubierto con una capa de xido de hierro, est almacenado en el interior de una cmara sellada que los protege. Su gran capacidad les permite guardar una gran cantidad de informacin en su superficie, la cual proviene de los softwares instalados en el PC o bien de los propios archivos generados por los usuarios. Esta capacidad de guardar informacin lgica se estructura como archivos, los cuales a su vez estn contenidos en carpetas o directorios, o bien en subcarpetas o subdirectorios.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:11

    Al igual que los computadores, los discos duros han ido progresando. Estas mejoras estn relacionadas directamente con la capacidad de stos para guardar archivos. En otras palabras, da a da aparecen discos duros con mayor capacidad para guardar informacin.

    Estructura lgica La estructura lgica bsica de un disco duro est formada por archivos, directorios y subdirectorios. Archivo es un conjunto de datos creados por un usuario o bien un conjunto de instrucciones de un software determinado. Directorio es una herramienta lgica que permite la organizacin de un disco duro. Usualmente un directorio est compuesto por distintos tipos de archivos. A su vez, dentro de un directorio pueden existir otros directorios que, por su ubicacin dentro de la estructura de un disco duro, reciben el nombre de subdirectorios. Todos los datos que se organizan dentro de un disco duro, tienen una ruta (path) o va de acceso la cual permite al sistema operativo diferenciarlos y organizarlos. Una ruta, en trminos lgicos es lo siguiente: C:\Mis documentos\algn subdirectorio\algn archivo La ruta o path indicada dice lo siguiente: en el "Disco Duro", dentro del directorio "Mis Documentos", dentro del subdirectorio "algn subdirectorio" (este nombre puede variar), existe el archivo "algn archivo". Un computador puede organizar la informacin que usted genera. Sin embargo, el orden y jerarqua de los datos debe correr por su cuenta.

    Recuerde: el PC es una herramienta que usted maneja. Por tal motivo, y llegada la hora de empezar a crear sus archivos dentro de un computador, es necesario que usted determine cules sern los directorios y subdirectorios principales a partir de los cuales crear una estructura lgica en el Disco Duro.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:12

    Cada vez que guarde algn archivo en el PC debe saber el lugar donde lo almacen, pues de lo contrario perder tiempo tratando de buscar dicho dato en la superficie de la unidad C.

    1. Botn de encendido/apagado del computador: desde este botn se prende el computador cuando se va a trabajar en el. Igualmente, una vez finalizada la jornada, se pueden apagar. Estando el computador apagado, al oprimir este botn, se da arranque al sistema, y estando prendido, si se oprime una vez, se da inicio a la secuencia de apagado, y si se deja oprimido durante 10 segundos, se apaga inmediatamente el computador.

    2. Puertos USB: hoy en da la mayora de dispositivos que se conectan a un computador tienen este tipo de conexin, por lo que los computadores modernos traen ms de 8 puertos de este tipo, estando ubicados por lo general 4 en el frente del equipo y 4 en la parte trasera.

    3. Unidad de lectura de tarjetas: permite conectar directamente al computador las tarjetas de memoria que se usan en la actualidad para almacenar informacin en cmaras digitales, telfonos celulares, y otros dispositivos.

    4. Unidad de CD/DVD: esta unidad se utiliza para leer los discos compactos de cualquiera de los dos formatos. Adicionalmente, permite grabar estos discos con datos, msica o video.

    5. Entrada de energa del computador: en este enchufe se conecta el cable de alimentacin de energa al equipo. Esta conexin est a su vez ligada internamente a un dispositivo llamado Fuente de Poder, que se

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:13

    encarga de distribuir la energa para cada uno de los dispositivos del computador.

    6. Ventilador: como su nombre lo indica, se encarga de refrigerar internamente el computador, pues el calor es el principal enemigo de los circuitos elctricos.

    7. Entradas PS2: se utilizan para conectar al equipo el mouse y el teclado 8. Puertos seriales: se utilizan para conectar al computador monitores,

    impresoras, y dispositivos en general que utilicen esta conexin. 9. Entradas y salidas de audio: en estas conexiones se debe conectar los

    parlantes y micrfonos del computador. Cada uno est identificado por un color tanto en el computador, cmo en el dispositivo que vayamos a conectar.

    10.Pantalla o monitor: es el principal medio del computador para transmitirnos los datos que procesa. Existen 2 tecnologas que han evolucionado a lo largo de los aos, estando una de ellas en sus ltimos das; CRT y LCD, siendo la primera la ms obsoleta. Actualmente los monitores se fabrican con pantallas LCD, que ocupan poqusimo espacio y tienen una calidad de imagen y color muy similar a los antiguos monitores.

    11.Motherboard: la tarjeta madre, como se llamara en espaol, es el alma de un computador, por lo cual no est visible para el usuario final. Es en esta tarjeta donde se conectan el procesador, disco duro, memoria RAM, tarjetas de video, sonido y en general cualquier elemento que conforma el computador. Todos los puertos a los que conectamos teclado, mouse, USB, monitor, impresoras y dems, llegan directamente a la motherboard, desde donde se procesa la informacin que transmiten o reciben.

    12.Mouse: as cmo el monitor es el canal de comunicacin de computador a la persona, el mouse lo es a la inversa. Es la herramienta por medio de la cual se transmiten la mayora de los comandos a un computador. Est compuesto por 2 botones y una rueda llamada clickwheel o scroll por medio de la cual manejamos la mayora de funciones en el computador.

    13.Teclado: junto al mouse, es indispensable para manejar y ejecutar comandos en un computador. Es el instrumento para ingresar texto, desplazarnos por los documentos y realizar un sinfn de funciones. Normalmente estn divididos en 3 secciones principales: teclado alfabtico, que contiene las letras, teclas shift, control, enter y otras, teclado numrico, que contiene nmeros y signos de multiplicacin, y teclado de comandos, compuesto por las teclas F, que sirven para activar funciones especiales o acortar el ingreso de rdenes a un programa.

    14.Parlantes: en los computadores modernos, es indispensable este elemento, pues adems de sus funciones tradicionales, los computadores se han convertido en el equipo de sonido de los hogares. Es por esto que los parlantes de hoy en da van ms all de los bsicos de hace 5 aos, y ofrecen buena calidad de sonido a precios muy accequibles.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:14

    Virus Virus (informtica), programa de ordenador que se reproduce a s mismo e interfiere con el hardware de una computadora o con su sistema operativo (el software bsico que controla la computadora). Los virus estn diseados para reproducirse y evitar su deteccin. Como cualquier otro programa informtico, un virus debe ser ejecutado para que funcione: es decir, el ordenador debe cargar el virus desde la memoria del ordenador y seguir sus instrucciones. Estas instrucciones se conocen como carga activa del virus. La carga activa puede trastornar o modificar archivos de datos, presentar un determinado mensaje o provocar fallos en el sistema operativo. Existen otros programas informticos nocivos similares a los virus, pero que no cumplen ambos requisitos de reproducirse y eludir su deteccin. Estos programas se dividen en tres categoras: caballos de Troya, bombas lgicas y gusanos. Un caballo de Troya aparenta ser algo interesante e inocuo, por ejemplo un juego, pero cuando se ejecuta puede tener efectos dainos. Una bomba lgica libera su carga activa cuando se cumple una condicin determinada, como cuando se alcanza una fecha u hora determinada o cuando se teclea una combinacin de letras. Un gusano se limita a reproducirse, pero puede ocupar memoria de la computadora y hacer que sus procesos vayan ms lentos. Cmo se producen las infecciones? Los virus informticos se difunden cuando las instrucciones o cdigo ejecutable que hacen funcionar los programas pasan de un ordenador a otro. Una vez que un virus est activado, puede reproducirse copindose en discos flexibles, en el disco duro, en programas informticos legtimos o a travs de redes informticas. Estas infecciones son mucho ms frecuentes en los PC que en sistemas profesionales de grandes computadoras, porque los programas de los PC se intercambian fundamentalmente a travs de discos flexibles o de redes informticas no reguladas. Los virus funcionan, se reproducen y liberan sus cargas activas slo cuando se ejecutan. Por eso, si un ordenador est simplemente conectado a una red informtica infectada o se limita a cargar un programa infectado, no se infectar necesariamente. Normalmente, un usuario no ejecuta conscientemente un cdigo informtico potencialmente nocivo; sin embargo, los virus engaan frecuentemente al sistema operativo de la computadora o al usuario informtico para que ejecute el programa viral. Algunos virus tienen la capacidad de adherirse a programas legtimos. Esta adhesin puede producirse cuando se crea, abre o modifica el programa legtimo. Cuando se ejecuta dicho programa, ocurre lo mismo con el virus. Los virus tambin pueden residir en las partes del disco duro o flexible que cargan y

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:15

    ejecutan el sistema operativo cuando se arranca el ordenador, por lo que dichos virus se ejecutan automticamente. En las redes informticas, algunos virus se ocultan en el software que permite al usuario conectarse al sistema. Cmo Evitarlos? Los usuarios pueden prepararse frente a una infeccin viral creando regularmente copias de seguridad del software original legtimo y de los ficheros de datos, para poder recuperar el sistema informtico en caso necesario. Puede copiarse en un disco flexible el software del sistema operativo y proteger el disco contra escritura, para que ningn virus pueda sobre escribir el disco. Las infecciones vrales se pueden prevenir obteniendo los programas de fuentes legtimas, empleando una computadora en cuarentena para probar los nuevos programas y protegiendo contra escritura los discos flexibles siempre que sea posible.

    Deteccin de virus Para detectar la presencia de un virus se pueden emplear varios tipos de programas antivricos. Los programas de rastreo pueden reconocer las caractersticas del cdigo informtico de un virus y buscar estas caractersticas en los ficheros del ordenador. Como los nuevos virus tienen que ser analizados cuando aparecen, los programas de rastreo deben ser actualizados peridicamente para resultar eficaces. Algunos programas de rastreo buscan caractersticas habituales de los programas vrales; suelen ser menos fiables. Los nicos programas que detectan todos los virus son los de comprobacin de suma, que emplean clculos matemticos para comparar el estado de los programas ejecutables antes y despus de ejecutarse. Si la suma de comprobacin no cambia, el sistema no est infectado. Los programas de comprobacin de suma, sin embargo, slo pueden detectar una infeccin despus de que se produzca. Los programas de vigilancia detectan actividades potencialmente nocivas, como la sobre escritura de ficheros informticos o el formateo del disco duro de la computadora. Los programas caparazones de integridad establecen capas por las que debe pasar cualquier orden de ejecucin de un programa. Dentro del caparazn de integridad se efecta automticamente una comprobacin de suma, y si se detectan programas infectados no se permite que se ejecuten. Estrategias Virales Los autores de un virus cuentan con varias estrategias para escapar de los programas antivirus y propagar sus creaciones con ms eficacia. Los llamados virus polimrficos efectan variaciones en las copias de s mismos para evitar su deteccin por los programas de rastreo. Los virus sigilosos se ocultan del sistema operativo cuando ste comprueba el lugar en que reside el virus, simulando los resultados que proporcionara un sistema no infectado. Los virus llamados infectores rpidos no slo infectan los programas que se ejecutan sino tambin los que simplemente se abren. Esto hace que la ejecucin de programas de

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:16

    rastreo antivrico en un ordenador infectado por este tipo de virus pueda llevar a la infeccin de todos los programas del ordenador. Los virus llamados infectores lentos infectan los archivos slo cuando se modifican, por lo que los programas de comprobacin de suma interpretan que el cambio de suma es legtimo. Los llamados infectores escasos slo infectan en algunas ocasiones: por ejemplo, pueden infectar un programa de cada 10 que se ejecutan. Esta estrategia hace ms difcil detectar el virus. SISTEMA BINARIO Para almacenar informacin, un computador transforma las rdenes dadas por usted en una cifra de dos dgitos. Decir esto puede parecer extrao sobre todo si considera que las personas usan para contar una base de 10 o mejor conocida como sistema decimal, el cual est compuesto por 1, 2, 3, 4, 5, 6, 7, 8, 9 y 0. Ms an, Cuando usted necesita representar una cifra mayor que 9, como por ejemplo el 10, combina el 1 y el 0. Para el caso del computador, ste reduce los datos a dos dgitos, el 1 y el 0. Esta forma de procesamiento se denomina Sistema Binario. Para entender este concepto, digamos que el PC reduce e interpreta los datos tal como si fueran interruptores de electricidad, es decir encendido o apagado. El encendido corresponde al dgito 1 y el apagado es el 0. Los nmeros 1 y 0, en lenguaje informtico se denominan bit, palabra que es una contraccin del trmino en ingls binary digit. A modo de referencia, un bit es la unidad de datos ms pequea que existe. Para procesar y transmitir una orden, un computador necesita un grupo de bits, en cuyo interior est procesado el mandato como un lenguaje en base dos, es decir, la tarea solicitada est transformada en ceros (0) y unos (1). Ahora bien, la siguiente unidad de medida es el byte, el cual est formado por un total de 8 bits. El byte es la unidad de medida ms importante dentro del sistema de un computador, pues la informacin que almacena su cdigo permite representar los caracteres del teclado, donde se debe incluir el uso de maysculas y minsculas, signos de puntuacin, nmeros, etc. Luego de revisar el concepto bsico de las unidades de medida, las siguientes unidades son mucho ms fciles de entender. Se trata de kilobyte (Kb), megabyte (Mb), gigabyte (Gb) y terabyte (Tb). UNIDAD EQUIVALENCIA Kilobyte (Kb) 1.024 Bytes Megabyte (Mb) 1.024 Kb Gigabyte (Gb) 1.024 Mb Terabyte (Tb) 1.024 Gb

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:17

    Kilobyte (Kb): esta unidad de medida asciela con el tamao de

    documentos o archivos generados por usted. Puede ocurrir que algunos archivos lleguen a ser medidos en Megabyte, (por ejemplo una base de datos), sin embargo esta posibilidad es poco frecuente. Segn su tamao, los kilobyte pueden ser guardados en disquetes, Discos Duros, CD-Rom y unidades ZIP.

    Megabyte (Mb): esta unidad de medida asciela con el tamao de archivos que puede contener un programa o software, o alguna base de datos. Las unidades que pueden contener un megabyte son los disquetes, Discos Duros, CD-Rom y unidades ZIP.

    Gigabyte (Gb): esta unidad de medida es una de las ms grandes. Asciela a la cantidad de informacin que puede ser almacenada dentro un Disco Duro de ltima generacin.

    Terabyte (Tb): esta unidad de medida es la ms grande que se conoce hasta la fecha.

    ALGORITMOS INTRODUCCIN A menudo nos hacemos la pregunta del por qu los programadores escriben un programa. Esto es para resolver un problema por lo que el propsito de nuestro estudio ser el ensear y aprender un mtodo de solucin de problemas con programas de computadora mediante el uso de algoritmos y diagramas que faciliten la programacin estructurada. DISEO DE UN PROGRAMA

    Los pasos que se siguen generalmente a la hora de desarrollar un programa son los siguientes: Anlisis de requerimientos: Se define el problema a resolver y todos los

    objetivos que se pretenden, pero sin indicar la forma en la que se resuelve.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:18

    Especificacin: Se determina la forma en la que se resolver el problema, pero sin entrar an en su implementacin informtica. Se determina asimismo la interfaz con el usuario.

    Diseo del programa: Se divide el problema en mdulos, se especifica lo que hace cada mdulo, as como las interfaces de cada uno de ellos.

    Diseo detallado de los mdulos: Para cada mdulo se disean detalladamente las estructuras de datos y los algoritmos a emplear, normalmente descritos mediante pseudocdigo.

    Codificacin: Se escribe el programa en el lenguaje de programacin elegido.

    Pruebas de mdulos: Se prueban los mdulos del programa aisladamente y se corrigen los fallos hasta conseguir un funcionamiento correcto.

    Integracin y Prueba de sistema: Se unen todos los mdulos, y se prueba el funcionamiento del programa completo.

    Distribucin del esfuerzo de la actividad software (sin tener en cuenta el mantenimiento): Anlisis y Diseo : 38% Codificacin : 20% Test e integracin: 42%.

    VENTAJAS DE LA PROGRAMACIN ESTRUCTURADA Con la programacin estructurada, elaborar programas de computador sigue siendo una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas:

    1. Los programas son ms fciles de entender. Un programa estructurado puede ser ledo en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lgica, lo cual es tpico de otros estilos de programacin. La estructura del programa es ms clara puesto que las instrucciones estn ms ligadas o relacionadas entre s, por lo que es ms fcil comprender lo que hace cada funcin

    2. Reduccin del esfuerzo en las pruebas. El programa se puede tener listo para produccin normal en un tiempo menor del tradicional; por otro lado, el seguimiento de las fallas o depuracin (debugging) se facilita debido a la lgica ms visible, de tal forma que los errores se pueden detectar y corregir ms fcilmente

    3. Reduccin de los costos de mantenimiento 4. Programas ms sencillos y ms rpidos 5. Aumento en la productividad del programador 6. Se facilita la utilizacin de las otras tcnicas para el mejoramiento de la

    productividad en programacin 7. Los programas quedan mejor documentados internamente

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:19

    CONCEPTO DE ALGORITMO El concepto de algoritmo forma parte esencial de los fundamentos de la

    computacin Conjunto de operaciones que se utiliza para resolver un problema

    especfico El algoritmo se puede llevar a cabo con ordenadores una vez convertido

    en un programa de ordenador En trminos generales puede definirse un algoritmo como el mtodo para

    resolver un determinado problema. El ejecutor de las instrucciones que realiza la tarea correspondiente se llama procesador. Existen algoritmos que describen toda clase de procesos, por ejemplo: las recetas de cocina, las partituras musicales, etc. Un procesador realiza un proceso siguiendo o ejecutando el algoritmo correspondiente

    Un algoritmo debe estar expresado de tal forma que el procesador lo

    entienda para poder ejecutarlo. Se dice que el procesador es capaz de interpretar el algoritmo, si el procesador puede realizar lo siguiente:

    1. Entender lo que significa cada paso 2. Llevar a cabo la sentencia correspondiente

    Esto significa que para que un algoritmo pueda ser correctamente ejecutado, cada uno de sus pasos debe estar expresado de tal forma que el procesador sea capaz de entenderlos y ejecutarlos adecuadamente

    Se definir un algoritmo como un conjunto finito de instrucciones que especifican la secuencia ordenada de operaciones a realizar para resolver un problema. En base a lo anterior, si el procesador del algoritmo es una computadora, el algoritmo debe estar expresado en forma de un programa, el cual se escribe en un lenguaje de programacin. A la actividad de expresar un algoritmo en un lenguaje de programacin determinado se le denomina programar

    Un algoritmo es una secuencia finita de instrucciones, cada una de ellas

    con un claro significado, que puede ser realizada con un esfuerzo finito y en un tiempo finito

    Un algoritmo es una secuencia finita de instrucciones, cada una de ellas

    con un claro significado, que puede ser realizada con un esfuerzo y un tiempo finitos. Por ejemplo, una asignacin como x= y+z es una instruccin con estas caractersticas

    DESCRIPCIN DE ALGORITMOS Un algoritmo se puede especificar mediante la utilizacin de un lenguaje de programacin. Sin embargo, generalmente se suelen utilizar tcnicas de

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:20

    descripcin de algoritmos ms o menos independientes del lenguaje de programacin.

    Qu es un algoritmo? Frmula para resolver un problema Consta de una serie de pasos Se aplica de forma mecnica Se aplica en un tiempo finito

    Uso de la computadora en la resolucin de problemas En general, se escriben algoritmos para resolver problemas que no son tan fciles de resolver a primera vista, y de los que necesitamos especificar el conjunto de acciones que se llevarn a cabo para su resolucin. Adems, como lo que interesa es resolver problemas utilizando la computadora, los algoritmos tendrn como finalidad ser traducidos en programas, por lo que es conveniente mencionar el proceso general de resolucin de problemas, desde que se dispone de un algoritmo, hasta que la computadora lo ejecuta. Proceso general de resolucin de problemas con la computadora

    CONDICIONES CON LAS QUE DEBE DE CUMPLIR UN ALGORITMO 1. Finitud Un algoritmo tiene que acabar siempre tras un nmero finito de

    pasos. (un procedimiento que tiene todas las caractersticas de un algoritmo salvo que posiblemente falla en su finitud, se conoce como mtodo de clculo)

    2. Definibilidad Cada paso de un algoritmo debe definirse de modo preciso; las acciones a realizar han de estar especificadas para cada caso rigurosamente y sin ambigedad.

    3. Conjunto de entradas

    Debe existir un conjunto especificado de objetos, cada uno de los cuales constituye los datos iniciales de un caso particular del problema que resuelve el algoritmo. A este conjunto se le denomina conjunto de entradas del algoritmo

    4. Conjunto de salidas

    Debe existir un nmero especificado de objetos, cada uno de los cuales constituye la salida o respuesta que debe obtener el algoritmo para los diferentes casos particulares del problema. A

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:21

    FASE DE RESOLUCIN E IMPLEMENTACIN

    Caractersticas de los algoritmos Las caractersticas que debe cumplir un algoritmo son:

    Un algoritmo debe ser Preciso e indicar el orden de realizacin de cada paso.

    Un algoritmo debe ser Finito, es decir, si se sigue el algoritmo se debe terminar el algn momento

    Un algoritmo debe ser Definido, es decir, si se sigue un algoritmo dos veces, se debe obtener el mismo resultado.

    Estructura de un algoritmo Aunque no existe una nica forma de representar un algoritmo, la estructura general de un algoritmo debera ser como la mostrada a continuacin:

    este conjunto se le denomina conjunto de salidas del algoritmo. Para cada entrada del algoritmo, debe existir una salida asociada que constituye la solucin al problema particular determinado por dicha entrada

    5. Efectividad Un algoritmo debe ser efectivo. Esto significa que todas las operaciones a realizar por el algoritmo deben ser lo bastante bsicas para poder ser efectuadas de modo exacto, y en un lapso de tiempo finito por el procesador que ejecute el algoritmo

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:22

    Algoritmo Inicio

    Sentencia 1 Sentencia 2 . . . Sentencia n

    Fin Ejemplo de definicin del problema Dados dos nmeros enteros positivos m y n, encontrar su mximo comn divisor (MCD), es decir, el mayor entero positivo que divide a la vez a m y a n. Lo bsico es resolver la pregunta Qu vamos hacer? y Cmo lo vamos hacer? y para resolverlas es indispensable identificar: Entrada: Dos nmeros enteros positivos: m y n. Salida: Un nmero que representa el MCD (Mximo Comn Divisor) de m y n. Proceso: La solucin est basada en el residuo de la divisin de los operandos m y n. Si el residuo es 0 entonces hemos terminado, si no, habr que hacer intercambio de valores y continuar con el proceso. El ejemplo anterior ilustra el proceso de resolucin que se debera seguir para resolver un problema, ya que partiendo de este anlisis inicial, la idea ser entonces ir particularizando cada parte en un refinamiento progresivo, hasta llegar a un algoritmo ms refinado y funcional. Pruebas de algoritmos Una vez que se ha generado un algoritmo que parece correcto, una de las partes ms importantes dentro de su diseo es la referente a las pruebas. La parte de la validacin de los datos de entrada al algoritmo es tambin un aspecto importante, aunque normalmente lo que se hace, es construir un algoritmo aparte que se encargue de validar que los datos de entrada sean los correctos, pero ese aspecto no es lo que se quiere comentar en esta seccin. Una vez que se tiene una solucin algortmica de un problema, no se debera suponer o creer que funcionar bien siempre. En el diseo del algoritmo se deben considerar al menos algunos casos de prueba. Es habitual que el domino de trabajo de un algoritmo sea un conjunto de elementos y entonces sera bueno saber por ejemplo Cmo se comporta el algoritmo en los lmites del conjunto? Dado un mismo dato de entrada obtengo siempre la salida esperada? entre otras preguntas. La fase de prueba de los algoritmos es una parte fundamental dentro del diseo del mismo, y se recomienda ampliamente adoptarlo como prctica habitual, ya que es una importante tcnica de programacin.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:23

    A este nivel, es suficiente saber que es conveniente realizar algunas pruebas sobre los algoritmo desarrollados. Terminologa

    Nivel descripcional.- Grado de detalle (mientras ms bajo, ms detallado es).

    Secuencia.- Orden de las instrucciones en un algoritmo. Bifurcacin.- Tipo de instruccin como pregunta y cuya respuesta lleva a

    efectuar una operacin. Iteracin.- Paso a la ejecucin de una instruccin (ciclo, bucle, loop,

    lazo). Variable.- Elemento de almacenamiento de los datos que se van a utilizar

    en el desarrollo del algoritmo. El contenido puede variar durante el proceso.

    Asignacin.- Conferir el valor a cierta variable "=". Programacin estructurada.- Tcnicas que permiten desarrollar

    programas que sean fciles de depurar y poner a punto, legibles. etc. IDENTIFICADORES Los identificadores son nombres creados para designar constantes, variables, tipos, funciones, etc., que forman parte de un programa. Un identificador consta de uno o ms caracteres (letras, dgitos y caracteres de subrayado); el primero debe ser una letra. El nmero de caracteres no debe superar una longitud mxima dependiendo del lenguaje de programacin que se utilice. En algunos de los lenguajes se diferencia entre maysculas y minsculas mientras que en otros no. Por ejemplo: A equivale a a en Pascal; pero en C equivalen A y a. Ejemplo: Algoritmo Nombre_del_del_algoritmo.

    Inicio Fin_algoritmo.

    DIAGRAMA DE SINTAXIS DE UN IDENTIFICADOR VALIDO

    LetraIdentificador

    Letra

    Dgito

    Subrayado

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:24

    VARIABLES Una variable es el elemento de almacenamiento de los datos que se van a utilizar en el desarrollo del algoritmo. Estos resultados se corresponden con los datos iniciales como los resultados de operaciones efectuadas durante la ejecucin de un algoritmo. Las variables representan un lugar de almacenamiento, cuyo contenido podr variar durante el proceso y finalmente se obtendrn los resultados con los datos contenidos en las variables. Las caractersticas de una variable son: o Nombre: Para referenciar los datos almacenados en una variable se debe

    antes asignar un nombre a esta. Para mayor claridad el nombre debe coincidir con la informacin almacenada en esta. El nombre empieza con una letra, no tiene espacios en blanco y no contiene caracteres especiales, slo se utiliza el carcter de separacin (_).

    o Contenido: Es el valor del dato almacenado en ella, al contenido se accede por medio del nombre de la variable. La informacin almacenada en una variable puede ser de tres tipos: Carcter: Nombres, direcciones o caractersticas y smbolos

    alfanumricos Tipo numrico: Utilizada para calcular resultados Informacin de tipo lgico para el control de procesos

    Durante la elaboracin de un algoritmo la misma variable debe almacenar datos de un solo tipo.

    o Ubicacin: Est dada por el nombre de la variable, en el computador el

    contenido de una variable ocupa un lugar en la memoria RAM. Para accesar a este contenido se utiliza el nombre de la variable.

    ASIGNACIN DE DATOS Asignaciones Una variable puede tomar valores de dos formas:

    Por operacin de asignacin: a= b+1 Por lectura: Leer (a)

    Est operacin de asignacin es de carcter destructiva porque el valor anterior de la asignacin se pierde y es reemplazado por el nuevo valor. La variable puede aparecer a ambos lados de una operacin de asignacin y es la forma como se trabaja con los contadores y acumuladores. Contadores Son variables cuyo objetivo es ir contando cuntas veces se ha realizado un proceso, se las utiliza como elemento ordenador que da como resultado el nmero de veces que se ha realizado una accin. Es una variable entera. Ejemplo:

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:25

    Contador = Contador +1; Acumuladores Tambin son variables las cuales tienen como objeto sumarizar un conjunto de valores en una variable. Son fundamentales en problemas que requieren totalizar un dato para obtener un resultado. Ejemplo: Suma= Suma+2; Total= salario + beneficios_de_ley; EJEMPLO DE MODELO DE SOLUCION Construir un modelo de solucin que resuelva el problema de calcular el rea de un tringulo con la frmula rea igual a base por altura sobre dos.

    Variable(s) Entrada Proceso u operacin Variable(s) salida

    BASE ALTURA

    AREA = BASE * ALTURA 2

    AREA

    Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecucin de un programa. Existen ciertas reglas en cuanto a variables: Claras y con referencia directa al problema No espacios en blanco, ni smbolos extraos en ellas Se pueden usar abreviaturas, pero solo de carcter general No deben ser palabras reservadas del lenguaje Ejemplos de buenas variables: Nombre, Edad, SdoDiario, IngMensual, Permetro, Calif1, etc. OPERADORES ARITMETICOS Un operador es un smbolo especial que indica al compilador que debe efectuar una operacin matemtica o lgica. Se reconoce los siguientes operadores aritmticos:

    Operador Operacin

    + Suma

    - Resta

    * Multiplicacin

    / Divisin

    Div Divisin entera

    Mod Modulo o residuo

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:26

    OPERADORES LGICOS Los resultados se ven en la tabla: Variables lgicas Cond1 OR

    Cond2 Cond1 AND Cond2

    NOT (Cond2) Cond1 Cond2

    Falso Falso Falso Falso Verdadero Falso Verdadero Verdadero Falso Falso Verdadero Falso Verdadero Falso Verdadero Verdadero Verdadero Verdadero Verdadero Falso OPERADORES RELACIONALES Se utilizan siempre en operaciones de comparacin, su resultado siempre es un valor lgico (Verdadero o Falso), requiere de dos operados y pueden trabajar cualquier tipo de dato. Los operadores relacinales que reconocen en muchos lenguajes como: Ejemplo: 5>10 Falso -15.3'M' Falso EXPRESIONES Pueden estar compuestas por una variable (numrica o de caracter), constantes, una cadena de caracteres encerrada entre comillas dobles ("cadena") o una expresin matemtica. JERARQUIA DE OPERACIONES El problema de no tomar en cuenta la jerarqua de los operadores al plantear y resolver una operacin casi siempre conduce a resultados muchas veces equivocados como estos: Ejemplos: 2+ 3* 4 = 20(incorrecto)

    Operador Significado

    = Igual que

    > Mayor que

    < Menor que

    >= Mayor o igual que

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:27

    Variable = 14 (correcto) Si calif1=60 y calif2=80 y si entonces en programa se usa Promedio = calif1 + calif2/2 Dara como resultado promedio = 100 Recordar siempre, que antes de plantear una frmula en un programa se deber evaluar contra el siguiente: Orden de operaciones:

    1. Parntesis 2. Potencias y races 3. Multiplicaciones y divisiones 4. Sumas y restas 5. Dos o ms de la misma jerarqua u orden, entonces resolver de

    izquierda a derecha Nota: Si se quiere alterar el orden normal de operaciones, entonces usar parntesis.

    Ejemplos de algoritmos:

    1. Algoritmo para lavar la ropa blanca

    2. Algoritmo para decidir si coger el paraguas

    3. Algoritmo para clasificar libros

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:28

    ESTRUCTURA GENERAL DE UN PROGRAMA

    Un programa se especifica por: Entradas Proceso Salida

    RESUMEN

    Los procesos se definen por algoritmos Algoritmos: Conjunto de instrucciones Tipos de instrucciones:

    o Asignacin: x = 2 o Lectura y escritura: leer(a), escribir(b)

    Elementos de un lenguaje

    Palabras reservadas: si entonces, Algoritmo finalgoritmo, mientras Identificadores Caracteres especiales: =, ;, { Constantes Variables Expresiones: a = b * 5 c

    Datos y tipos de datos

    Datos simples y estructurados Tipos de datos:

    o Numricos o Lgicos o Carcter

    Datos numricos: Enteros: -10, 6, 291

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:29

    Reales: 1.5, -0.63, 54.4E-10 Datos lgicos:

    Booleano Verdadero / Falso

    Datos de tipo carcter

    Carcter: a, z, A, Z, 0, 9,+,-,* Cadena: Ejemplo de cadena.

    Constantes y variables

    Constantes: valores que no cambian Numricas: 1.234, -10, 8 Carcter: B, , 4 Cadena: Mesa Lgicas: verdadero(true), falso(false)

    Variable: datos cuyo valor puede cambiar Posee un nombre y un tipo Enteras, reales, carcter, lgicas, cadenas Ejemplos: A124, k, Nombre

    Expresiones: Combinaciones de constantes, variables, operaciones, funciones y parntesis Tipos de expresiones:

    Aritmticas: +, -, *, /, div, mod, ^ (4 + A) * 7 / B

    Lgicas: no, y, o, =, , =, no (A > B) o (B 10)

    Funciones: raz_cuadrada, cos, sen Expresiones

    Entrada y salida de informacin

    Dispositivos de entrada: teclado, disco Operacin de entrada

    Leer ( lista variables) Ejemplos

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:30

    Leer (a, b, c) {Lectura de teclado} Dispositivos de salida: pantalla, impresora, disco Operacin de salida

    Escribir (lista variables)

    Ejemplos Escribir (a, b, c) {Mostrar por pantalla} PROGRAMACIN ESTRUCTURADA Introduccin. Teorema de la programacin estructurada El principio fundamental de la programacin estructurada es que en todo momento el programador pueda mantener el programa dentro de la cabeza. Esto se consigue con: a) Un diseo descendente del programa, b) Unas estructuras de control limitadas y c) Un mbito limitado de las estructuras de datos del programa Entre sus ventajas est el que: hace ms fcil la escritura y verificacin de programas. Se adapta perfectamente al diseo descendente. Para realizar un programa estructurado existen tres tipos bsicos de estructuras de control: 1. Secuencial: Ejecuta una sentencia detrs de otra 2. Condicional: Se evala una expresin y, dependiendo del resultado, se decide

    la siguiente sentencia a ejecutar 3. Iterativa: Repetimos un bloque de sentencias hasta que sea verdadera una

    determinada condicin

    INSTRUCCIN DE DECISIN La gran mayora de problemas de la vida real tiene una serie de condiciones que determinan cul es la solucin requerida. Esta solucin est condicionada a

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:31

    diferentes posibilidades dependiendo de una u otra particularidad. Para poder resolver estos problemas los algoritmos ofrecen las siguientes instrucciones. SI (CONDICIN) ENTONCES Instrucciones1 SI NO Instrucciones2 La condicin es una comparacin de dos expresiones que siempre arroja un resultado, verdadero o falso. Si el resultado de la condicin es verdadera se ejecutan las Instrucciones1, y si es falsa se ejecutan las Instrucciones2. EJEMPLOS DE ALGORITMOS Ejemplo: Hacer un algoritmo para una mquina controladora de personal empresarial, donde la mquina permita conocer tanto la hora de salida y llegada de almorzar, como la hora en que finaliza la jornada de cada uno de los empleados de dicha empresa. Algoritmo controlador 1. Inicio 2. Escribir(Ingrese la hora de entrada) 3. Leer(HE) 4. SA = he+4 5. LLA = SA+1 6. HS = LLA +4 7. Escribir(Hora de salir a almorzar, SA) 8. Escribir(Hora de entrada de almorzar, LLA) 9. Escribir(Hora de salida, HS) 10.Fin Ejemplo: En el caso del primer ejemplo se informa que existen dos tipos de empleados, los obreros y los ejecutivos, cuyas caractersticas son que los primeros trabajan 8 horas en dos turnos de 4 con 1 hora de almuerzo y los ejecutivos 10 horas en dos turnos, tambin con una hora de almuerzo. Algoritmo controlador 1. Inicio 2. Escribir(Ingrese la hora de entrada) 3. Leer(HE) 4. Escribir (Escoja el tipo de empleado OBRERO o EJECUTIVO) 5. Leer(TE) 6. SI (TE = "OBRERO"?) ENTONCES

    6.1 SA = HE + 4 6.2 LLA = SA+1 6.3 HS = LLA + 4

    SI NO 6.4 SA = HE + 5 6.5 LLA = SA+1 6.6 HS = LLA + 5

    FIN_SIN

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:32

    7. Escribir(El empleado del Tipo, TE) 8. Escribir(Hora de salir a almorzar, SA) 9. Escribir(Hora de entrada de almorzar, LLA) 10.Escribir(Hora de salida, HS) 11.Fin. Ejemplo: S lleg entre las 8 y las 8:15 trabaja 8 horas y tiene dos de almuerzo, si lleg despus de las 8:15 debe trabajar 9 horas y solo una de almuerzo. Si lleg antes de las 8 se le define llegada a las 8. Algoritmo controlador 1. Inicio 2. Escribir(Ingrese la hora de entrada) 3. Leer(HE) 4. SI (HE >= 8 ) AND (HE

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:33

    Ejemplo: Variacin del ejemplo anterior sin la condicin de "Escaleno" Algoritmo tipo_tringulo. 1. Inicio 2. Escribir(Ingrese los lados del tringulo) 3. Leer(L1) 4. Leer(L2) 5. Leer(L3) 6. SI (L1 = L2) AND (L2 = L3)? ENTONCES

    6.1 Escribir(Equiltero) SI NO

    6.2 SI (L1=L2)OR(L2=L3)OR(L1=L3)? ENTONCES 6.2.1 Escribir (Issceles) SI NO 6.2.2 Escribir (Escaleno) FIN_SIN FIN_SIN 7. Fin

    Ejemplo: Sumar 3 veces dos nmeros Algoritmo_sumar 1. Inicio 2. Escribir (Ingrese 2 nmeros) 3. Leer(S1, S2) 4. Total =0 5. Total = S1+S2 6. Total= Total+S1+S2 7 Total= Total+S1+S2 8. Escribir(El total es = , Total) 9. Fin. Deber:

    1. Realizar un algoritmo que lea dos nmero y realice el clculo de suma, resta multiplicacin y divisin entre dichos nmeros

    2. Disear un algoritmo que permita obtener el promedio de 4 notas 3. Disear un algoritmo que permita determinar si un ao es bisiesto. Un

    ao es bisiesto si es mltiplo de 4. Los aos mltiplos de 100 no son bisiestos salvo si ellos son tambin mltiplos de 400 (Ejemplo: 2000 es bisiesto, 1800 no lo es)

    4. Disear un algoritmo que permita ingresar una letra y decir si es o no una vocal

    5. Disear un algoritmo que permita encontrar el mayor de 3 nmeros 6. Disear un algoritmo que permita encontrar el mayor, menor y el nmero

    intermedio entre 3 nmeros considere tambin los casos en los que exista ms de un nmero igual

    7. Disear un algoritmo en el que dada la siguiente ecuacin:

    02 =++ CBXAX Encontrar:

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:34

    AACBBXX

    24

    ,

    2

    21=

    Considere los casos:

    Si el discriminante es mayor a 0 la respuesta ser dos nmeros reales distintos

    Si el discriminante es igual a 0 la respuesta ser dos nmeros reales iguales

    Si el discriminante es menor a 0 la respuesta ser dos nmeros imaginarios

    ESTRUCTURAS DE REPETICIN O BUCLES O CICLOS DEFINICIN Un bucle no es ms que una serie de instrucciones que se repiten. Podemos tener 3 tipos de bucles segn lo que nos interese comprobar. Tenemos un bucle que se repite mientras se cumple una condicin determinada, otro que se realiza hasta que se cumple la condicin que marcamos y un tercero para cuantas veces ya definidas hay que repetir.

    RESUMEN: ESTRUCTURAS DE REPETICIN:

    Mientras- hacer Repetir- hasta Desde/Para (for)

    A la hora de utilizar un bucle, sea del tipo que sea, debemos ir con cuidado y pensar cuando debe acabar ya que si no tuviramos en cuenta esto podramos entrar en un bucle sin fin, o sea que iramos repitiendo las mismas lneas teniendo que abortar la aplicacin, para poderla finalizar. Por esto es de suma importancia que pensemos, antes de hacer nada, en qu momento, como, donde y porque debe acabar el bucle. ESTRUCTURA MIENTRAS-HACER En nuestro curso esta estructura bsica de un bucle Mientras se representar de la siguiente manera:

    Mientras (Condicin) Hacer Instruccin 1 Instruccin 2

    Fin_Mientras Explicaremos lnea a lnea este bucle:

    Primera lnea: En esta lnea pondremos la que se debe dar para que se ejecute el bucle. En el momento que la condicin sea Falsa se terminar el bucle y se continuar con las siguientes instrucciones.

    Segunda lnea: Lnea o lneas donde pondremos las instrucciones a efectuar en caso de que la condicin sea VERDADERA.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:35

    Tercera lnea: Fin del bucle Mientras. De aqu se pasa a la primera lnea del bucle para volver a mirar la condicin. Ejemplo: Escriba un algoritmo que permita calcular el rea de N tringulos: Algoritmo_area_tringulo 1. Inicio 2. Escribir(Ingrese el nmero de tringulos a realizar el clculo) 3. Leer (N) 4. I = 1 5. Mientras (I 0) AND( N int(N))? ENTONCES 4.1 I=1 4.2 Total =0 4.3 Mientras I

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:36

    Deber 1. Escriba el algoritmo que permita obtener los n primeros nmeros impares y su

    suma 2. Algoritmo de la multiplicacin 3. Algoritmo de la multiplicacin por sumas sucesivas 4. Algoritmo que permita imprimir el nombre de 2 personas 5. Algoritmo que permita imprimir el nombre de N personas 6. Algoritmo para calcular Y como una funcin de X de acuerdo a la expresin Y=

    1.5x+2.5x2-9.8x3 para cada paso imprimir X y Y para valores entre 1 y 9.9 con un incremento de 0.1. ESTRUCTURA REPETIR HASTA Esta es otra estructura de bucle pero tiene un pequeo matiz que la hace diferente a la ya estudiada anteriormente. Tanto una como la otra se utilizan, pero cada una de ellas va bien para segn qu caso ya que ese matiz pueden hacer su uso muy diferente.

    Repetir Instruccin 1 Instruccin 2

    HASTA (condicin)

    Observe que esta estructura primero ejecutara las instrucciones y despus mirara si se cumple o no la condicin, con lo que tenemos que tener mucho cuidado ya que las instrucciones como mnimo se ejecutarn una vez (las veces restantes ya dependern de la condicin). La condicin se evala despus de realizar las instrucciones y no antes como pasaba en el caso del Mientras. Ejemplo: Escriba un algoritmo que permita calcular el rea de N tringulos: Algoritmo area_tringulo 1. Inicio 2. Escribir(Ingrese el nmero de tringulos a realizar el clculo) 3. Leer (N) 4. I = 1 5. REPETIR

    5.1 Escribir(Ingrese la base y la altura de tringulo: ,I) 5.2 Leer(base, altura) 5.3 Area = (base * altura)/2 5.4 Escribir(El rea del tringulo: ,I, es: , Area) 5.5 I = I+1

    5.6 HASTA (I > N) 6. Fin

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:37

    Deber: 1. Disear un algoritmo que permita encontrar la sumatoria de los n primeros

    nmeros primos 2. Disear un algoritmo que permita encontrar la sumatoria de los n primeros

    nmeros perfectos. Un nmero es perfecto cuando es igual a la suma de todos los nmeros para los cuales es divisible excepto el mismo nmero. (6 = 1+2+3)

    3. Disear un algoritmo que permita realizar la operacin de multiplicacin de dos nmeros utilizando sumas sucesivas

    4. Disear un algoritmo que permita realizar la operacin de potenciacin utilizando sumas sucesivas

    5. Disear un algoritmo que permita encontrar el factorial de un nmero

    ESTRUCTURA DESDE / PARA(FOR) Son el nmero total de veces que se desea ejecutar las acciones del bucle (nmero de interacciones fijo), este ejecuta las acciones del cuerpo o del bucle un nmero especfico de veces y de modo automtico controla el nmero de interacciones o pasos a travs del cuerpo del bucle. La estructura For posee las siguientes partes:

    For variable de control, valor inicial, valor final, incremento/decremento Instruccin 1 Instruccin 2

    Fin_For

    El funcionamiento del for: El for es una estructura muy parecida a un mientras hacer con la diferencia de

    que no requiere incrementar o decrementar el contador obligatoriamente como una ms de las instrucciones del bucle ya que se realiza automticamente.

    En el caso de que se conozca con anticipacin el nmero de veces a repetir un bucle, se podr utilizar el for.

    Entre las reglas bsicas de su funcionamiento hay que tener en cuenta que el for requiere de una variable de control que actuar como un contador, su primera interaccin se realiza cuando la variable de control toma el valor inicial, y la ltima interaccin del bucle es cuando la variable de control toma el valor final. Adems en cada interaccin la variable de control se decrementa o incrementa de acuerdo al valor sealado en la declaracin.

    Tanto la variable de control, como el valor inicial y el valor final deben ser del mismo tipo y el for solo admite trabajar con valores ordinales tales como enteros o caracter, los nmeros reales no son ordinales.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:38

    Ejemplo: Sumar los 100 primero nmeros enteros Algoritmo Sumar 1. Inicio 2. Total =0 3. For I,1,100, +1

    3.1 Total = Total +I 3.2 Fin_FOR

    4. Escribir(El total es ,Total) 5. Fin. Ejemplo: Sumar todos los nmeros mltiplos de 3 que existen en el rango del 1 al 50 Algoritmo Sumar_rango 1. Inicio 2. Total =0 3. For I,1,50, +1

    3.1 SI I mod 3 = 0? ENTONCES 3.1.1 Total = Total +I

    Fin si 3.2 Fin_FOR

    4. Escribir(El total es ,Total) 5. Fin. Ejemplo: Sumar todos los nmeros mltiplos de 3 que existen en el rango del 50 al 1 Algoritmo Sumar_multiplos 1. Inicio 2. Total =0 3. For I,50,1, -1

    3.1 SI I mod 3 = 0? ENTONCES 3.1.1 Total = Total +I

    Fin si 3.2 Fin de FOR

    4. Escribir(El total es ,Total) 5. Fin. Deber 1. Construir un algoritmo que despliegue los nmeros del 20 al 30 2. Desplegar los enteros entre 30 y 50 acompaados de su potencia cuadrada y

    raz cbica respectiva 3. Desplegar una tabla de multiplicar que el usuario indique

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:39

    DIAGRAMAS DE FLUJO TCNICAS PARA LA FORMULACIN DE ALGORITMOS Las dos herramientas utilizadas comnmente para disear algoritmos son:

    Diagrama de Flujo Pseuducodigo

    DEFINICIN DE DIAGRAMAS DE FLUJO Los diagramas de flujo (Flujogramas u ordinogramas) son grficos que permiten

    la representacin simblica de la lgica de un algoritmo. Con ello se consigue ordenar un problema en una sucesin de pasos de manera clara y concisa. Las operaciones a ejecutarse se representan mediante figuras. Para establecer el orden de ejecucin de las instrucciones utilizamos DIRECCIONES DE FLUJO, es decir conectamos las figuras mediante lneas que sirven para indicar la secuencia de ejecucin de las instrucciones

    Es un grfico que muestra el orden en el que se van ejecutando las diferentes instrucciones

    El diagrama de flujo es un grfico en el que se representa el orden en el que se van ejecutando las diferentes instrucciones que forman el algoritmo

    Herramienta que constituye el fundamento de programacin convencional siendo muy til en los programas de pequeo y mediana complejidad

    Un diagrama de flujo es un tipo de notacin grfica algortmica Un diagrama de flujo es una herramienta grfica de descripcin de algoritmos

    que se caracteriza por utilizar un conjunto de smbolos grficos y expresar de forma clara los flujos de control o el orden lgico en el que se realizan las acciones de un algoritmo.

    ALGORITMO DIAGRAMA DE FLUJO Algoritmo multiplicar_may_0

    1. Inicio 2. Escribir(Ingrese dos

    nmeros) 3. Leer(a,b) 4. Si( a< 0)entonces

    4.1 Escribir (Error) Si No 4.2 c= a*b 4.3 Escribir(c) Fin_si

    5. Fin

    Inicio

    Escribir(Ingrese dos nmero)

    Leer(a,b)

    (a < 0)

    Escribir(Error) c= a*b

    Escribir(c)

    fin

    V F

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:40

    SIMBOLOGA BSICA Aunque existe en la literatura una amplia variedad de representaciones para los smbolos utilizados en los diagramas de flujo, en este texto se adoptaran los mismos que se presentan en la ilustracin:

    Esta representacin grfica se da cuando varios smbolos (que indican diferentes procesos en la computadora), se relacionan entre s mediante lneas que indican el orden en que se deben ejecutar los procesos. Los smbolos utilizados han sido normalizados por el instituto norteamericano de normalizacin (ANSI).

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:41

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:42

    RECOMENDACIONES PARA EL DISEO DE DIAGRAMAS DE FLUJO Se deben de usar solamente lneas de flujo horizontales y/o verticales Se debe evitar el cruce de lneas utilizando los conectores No deben quedar lneas de flujo sin conectar Se deben usar conectores solo cuando sea necesario Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo

    y de izquierda a derecha Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando

    el uso de muchas palabras

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:43

    Estructura secuencial La ilustracin muestra el diagrama de flujo que representa a la estructura de control secuencial.

    Ejemplo: Calculo de la suma y producto de dos nmeros. Hallar su algoritmo:

    ALGORITMO DIAGRAMA DE FLUJO Algoritmo suma_mult

    1. Incio 2. Leer(a,b) 3. S= a+b 4. P=a*b 5. Escribir (S, P) 6. fin

    Inicio

    Escribir(Ingrese dos nmero)

    Leer(a,b)

    s= a+b

    Escribir(s,P)

    fin

    P= a*b

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:44

    Estructuras de seleccin La ilustracin muestra los diagramas de flujo de las estructuras de seleccin.

    Puede observarse en la figura anterior que en la estructura de seleccin simple se evala la condicin, y si sta es verdadera, se ejecuta un determinado grupo de sentencias; en caso contrario, las sentencias son ignoradas. En la estructura de seleccin doble, cuando la condicin es verdadera, se ejecutar un determinado grupo de sentencias, y si es falsa se procesar otro grupo diferente de sentencias. Por ltimo, en la estructura de seleccin mltiple se ejecutarn unas sentencias u otras segn sea el valor que se obtenga al evaluar una expresin representada por el indicador. Se considera que dicho resultado ha de ser de tipo ordinal.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:45

    CONDICIONES SIMPLES En general todas las condiciones simples se forman con; variables, operadores relacinales, y constantes. sexo = m sueldo > 300,000 Una condicin simple se define como el conjunto de variables y/o constantes unidas por los llamados operadores relacinales. Los operadores relacinales que reconocen en muchos lenguajes como:

    Operador Significado

    = Igual que

    > Mayor que

    < Menor que

    >= Mayor o igual que

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:46

    CONDICIONES COMPUESTAS En muchas ocasiones es necesario presentar ms de una condicin para su evaluacin al computador. Por ejemplo que el computador muestre la boleta de un alumno, si este estudia la carrera de medicina y su promedio de calificaciones es mayor de 70. Una condicin compuesta se define como dos o ms condiciones simples unidas por los llamados operadores lgicos. Los operadores lgicos que se reconocen son: Para que el computador evale como CIERTA una condicin compuesta que contiene el operador lgico "and", las dos condiciones simples deben ser ciertas. Para que el computador evale como CIERTA una condicin compuesta que contiene el operador lgico "or", basta con que una de las condiciones simples sea cierta. Alternativa doble:

    OPERADOR SIGNIFICADO AND "Y" LOGICO OR "O" LOGICO

    NOT "NO" NEGACION

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:47

    Diagramas de flujo

    Inicio

    Escribir(Ingrese dos nmero)

    Leer(a,b)

    (a < 0)

    Escribir(Error) c= a*b

    Escribir(c)

    fin

    V F

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:48

    Alternativa mltiple: Tambin existen ocasiones o programas donde se exige evaluar muchas condiciones a la vez, en estos casos, o se usan una condicin compuesta muy grande o se debe intentar convertir el problema a uno que se pueda resolver usando la instruccin de seleccin mltiple o case o switch. La instruccin de decisin mltiple, se busca el valor contenido en una variable contra una lista de constantes ordinales, cuando el computador encuentra el valor de igualdad entre variable y constante, entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un valor por defecto, aunque este ltimo es opcional.

    Pseudocdigo:

    La expresin ya no es lgica, sino de tipo ordinal. Una forma de implementar esta estructura es mediante sentencias si entonces anidadas.

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:49

    Conviene tener presente que esta estructura puede contener tambin una seccin opcional o parte si- no Reglas:

    1. La expresin se evala y se compara con las constantes; las constantes son listas de uno o ms posibles valores de que en algunos casos pueden ir separados por comas. Ejecutadas la(s) , el control se pasa a la primera instruccin a continuacin del case

    2. La clusula si-no es opcional 3. Si el valor de no est comprendido en ninguna lista de

    constantes y no existe la clusula si-no, no sucede nada y sigue el flujo del programa; si existe la clusula si-no se ejecutan la(s) a continuacin de la clusula si-no

    4. El selector debe ser un tipo ordinal (entero, caracter, booleano). Los nmeros reales no pueden ser utilizados ya que no son ordinales

    5. Todas las constantes del case deben ser nicas y de un tipo ordinal compatible con el tipo del selector

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:50

    Deber: 1. Disear un diagrama de flujo que permita ingresar 3 notas valoradas cada una

    de ellas sobre una nota de 20 puntos. Obtener su promedio e imprimir uno de los siguientes mensajes: 20-19 Sobresaliente 18-16 Muy buena 15-13 Buena 12-10 Regular 09-0 Insuficiente

    2. Disear un diagrama de flujo que permita ingresar un caracter e imprimir un mensaje que diga si es vocal, consonante, cifra o carcter especial

    3. Disear un diagrama de flujo que permita ingresar un nmero que se encuentre entre 1 y 31 y decir si es un nmero primo o no primo

    4. Disear un diagrama de flujo que permita simular el trabajo de una calculadora en la que se sume, reste, multiplique y divida siempre con un nmero fijo cualesquiera

    5. Disear un diagrama de flujo que permita calcular las funciones trigonomtricas Estructuras de repeticin A continuacin se muestran las estructuras de repeticin bsicas.

    Estructuras de repeticin en diagrama de flujo a) mientras hacer (while) y b) repetir hasta (do-while). REGLAS DE FUNCIONAMIENTO DEL MENTRAS - HACER

    1. Permite repetir un bloque de sentencias cero o ms veces dependiendo del valor que se evala para una expresin booleana

    2. Primero se evala la condicin; si la expresin booleana es verdadera se ejecuta el cuerpo del bucle y se vuelve a evaluar la condicin

    Diagrama de flujo del algoritmo de Euclides para encontrar el mximo comn divisor La solucin al problema est determinada por el algoritmo de Euclides.

    Verdadera Falso

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:51

    CARACTERSTICAS DEL BUCLE REPETIR HASTA Se ejecutan siempre una vez, por lo menos, y la terminacin del bucle se produce cuando el valor de la expresin lgica o condicin de salida es verdadera. Se ejecuta hasta que la expresin es verdadera, es decir, se ejecuta mientras la expresin sea falsa.

    SENTENCIA FOR Repite la ejecucin de una o varias sentencias un nmero fijo de veces. Previamente establecido. Necesita una variable de control del bucle que es necesariamente de tipo ordinal, ya que el bucle se ejecuta mientras la variable de control toma una serie consecutiva de valores de tipo ordinal, comprendidos entre dos valores extremos (inferior y superior).

    REGLAS DE FUNCIONAMIENTO DEL REPETIR HASTA 1. La condicin se evala al final del bucle, despus de ejecutarse todas las

    sentencias 2. Si la condicin es falsa, se vuelve a repetir el bucle y se ejecutan todas

    sus instrucciones 3. Si la condicin es verdadera, se sale del bucle y se ejecuta la siguiente

    instruccin despus de la estructura

    FOR VC, VI,VF,INC

    INSTRUCCIONES

    vc

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:52

    Ejemplo: Ingresar N notas y obtener su promedio 1. Inicio 2. Escribir(Ingrese el nmero de notas:) 3. Leer(N) 4. Suma = 0 5. For i , 1, N,+1

    5.1 Escribir(Ingrese la nota: , i) 5.2 Leer (Nota) 5.3 Suma = Suma + Nota 5.4 Fin del For

    6. Promedio = Suma/N 7. Escribir(La respuesta es = , Promedio) 8. Fin

    Caractersticas del bucle FOR: Aunque a primera vista pueda resultar ms atractivo FOR, en algunos lenguajes de programacin existen limitaciones en su aplicacin ya que en el bucle FOR siempre se incrementa o decrementa (de uno en uno) los valores de la variable de control de bucle y no de dos en dos o de tres en tres, como en otros lenguajes.

    INICIO

    FIN

    ESCRIBIR (INGRESE EL NMERO DE NOTAS)

    LEER(N)

    SUMA =0

    FOR I, 1, N, +1

    ESCRIBIR(INGRESE LA NOTA: , I)

    LEER (NOTA)

    SUMA =SUMA + NOTA

    i

    PROMEDIO = SUMA/N

    ESCRIBIR(LA RESPUESTA ES = , PROMEDIO)

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:53

    El nmero de iteraciones de un bucle FOR siempre es fijo y se conoce de antemano: Valor final - Valor inicial +1. CUNDO UTILIZAR MIENTRAS HACER/REPETIR HASTA/FOR?

    Utilizar la sentencia o estructura FOR cuando se conozca el nmero de iteraciones, y siempre que la variable de control de bucle sea de tipo ordinal

    Utilizar la estructura REPETIR HASTA cuando el bucle se realice por lo menos una vez

    En todos los dems casos utilizar la sentencia MIENTRAS HACER. Bucles anidados Los bucles, al igual que las sentencias condicionales, tambin se pueden anidar. Esto es especialmente til para el manejo de matrices, como veremos en los temas posteriores Deber: 1. Disear un diagrama de flujo que permita generar la sumatoria de la serie:

    .......

    )!3()!2()!1(+ aaa aaa

    2. Disear un diagrama de flujo que permita generar la sumatoria de la serie:

    ......

    76

    56

    54

    34

    322 ++++

    3. Disear un diagrama de flujo que permita generar las tablas de multiplicacin 4. Imprimir todos los caracteres en minsculas que existen entre un intervalo de

    maysculas ejemplo: A b c d e f g H APLICACIN PRCTICA

    Uso del MIENTRAS HACER/ REPETIR HASTA / For Ejemplo:

    Disear un diagrama de flujo que permita calcular cuntas palabras existen en una frase

    Probar si una palabra ingresada por el usuario es o no palndromo. Una palabra es palndromo cuando se lee igual de derecha a izquierda que de izquierda a derecha ejemplo Ana, Radar, Oso

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:54

    Ejemplo: Disear un diagrama de flujo para cambiar a maysculas todas las letras de una frase

    INICIO

    Escribir(ingrese la frase)

    Leer(cad)

    concatenar(cad, )

    n= longitud(cad)

    For i,o,(n-1),+1

    Cad[i]= mayuscula(cad[i])

    i

    Escribir(cad)

    FIN

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:55

    Ejemplo: Disear un diagrama de flujo para contar las palabras en una frase

    INICIO

    Escribir(ingrese la frase)

    Leer(cad)

    concatenar(cad, )

    n= longitud(cad)

    For i,o,(n-1),+1

    Cont=cont+1

    Escribir(cont,palabras)

    FIN

    cont= 0

    cad[i]= V F

    i

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:56

    Deber: 1. Disear un diagrama de flujo que permita calcular cuntas vocales existen en

    una frase 2. Contar la incidencia de las letras en una palabra. Es decir cuntas veces se

    repiten 3. En una frase contar palabras de longitud par y las de longitud impar que

    existan en ella 4. Reemplazar las palabras de longitud par en una frase por asteriscos 5. Visualizar las palabras de longitud impar en una frase al revs DIAGRAMAS DE CAJA

    Estos diagramas son tambin llamados diagramas de tcnicas horizontales, ya que se los realizan en rengln seguido y no necesitan flechas.

    Tambin conocidos como diagramas Nassi-Sheneiderman o Chapin, corresponden a uno de los tipos de diagramacin estructurada. Las acciones se escriben en rectngulos o cajas sucesivas. Se pueden escribir diferentes acciones en una caja. La simbologa utilizada es como vemos en las siguientes figuras:

    ESTRUCTURA SECUENCIAL Estas estructuras vienen dadas a regln seguido y el diagrama de caja de esta estructura es la siguiente: Ejemplo:

    INICIO

    INSTRUCCIN

    INSTRUCCION

    INSTRUCCION

    FIN

    Utilizando diagramas de caja realizar la siguiente operacin: A= B+C

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:57

    INICIO

    LEER(B,C) A= B+C

    ESCRIBIR(A) FIN

    ESTRUCTURA DE BIFURCACIN SIMPLE En estas estructuras si la condicin se cumple se ejecutar los procesos por la parte SI, caso contrario se realizarn los procesos por la parte NO. Una instruccin condicional es aquella que nos permite "preguntar" sobre el entorno que nos rodea, pudiendo as actuar segn la respuesta obtenida. Estas respuestas siempre sern Verdadero o Falso, pudiendo as tomar, en un principio, dos caminos diferentes.

    Pseudocodigo Si < Condicin> entonces

    < accin s11 > < accin s 12 >

    Fin _ si

    Alternativa doble (si-entonces-si_no ) Evala la condicin y determina si es verdadera o falsa para ejecutar las acciones correspondientes. Acciones:

    Si la condicin es verdadera entonces se ejecuta la accin SI (o acciones caso de ser SI una accin compuesta y constar de varias acciones).

    Si la condicin es falsa, entonces se pasar a la accin sino (else o falsa). Pseudocodigo Si < Condicin> entonces

    < Accin SI > Si_no

    < Accin S2 > Fin _ si

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:58

    Ejemplo: Dados tres nmeros imprimir o escribir cul es el mayor Alternativa mltiple (segn _sea, caso de / case) Es aquella que evala una expresin que podr tomar N valores distintos (1, 2, 3, 4,n) segn que elija uno de estos valores en la condicin, se realizar una de las n acciones, o lo que es igual, el flujo del algoritmo seguir un determinado camino entre los n posibles.

    INICIO

    ESCRIBIR(INGRESE TRES VALORES)

    LEER(A,B,C)

    Verdadero A > B Falso

    Verdadero A>C Falso

    Verdadero B>C Falso

    Escribir(A es mayor)

    Escribir(C es mayor)

    Escribir(B es mayor)

    Escribir(C es mayor)

    FIN

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:59

    Diagrama de Flujo

    Ejemplo: Disear un diagrama de caja para identificar si un carcter ingresado por el usuario es o no una vocal.

    INICIO

    ESCRIBIR(Ingresar un carcter)

    LEER(op)

    op=mayscula(op)

    CASO op DE

    VALOR A: Cad=Es una A

    VALOR E: Cad=Es una E

    VALOR I: Cad=Es una I

    VALOR O: Cad=Es una O

    VALOR U: Cad=Es una U

    POR DEFECTO: Cad=no es vocal

    FIN CASE

    Escribir(cad)

    FIN

    CASO (EXPRESIN) DE VALOR 1:

    VALOR N:

    POR DEFECTO:

    FIN CASE

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:60

    Estructura repetitiva Son aquellas en las que especialmente se disea para todas aquellas aplicaciones en las cuales una operacin o conjunto de ellas deben repetirse muchas veces. Bucles /lazos: Son estructuras que repiten una secuencia de instrucciones un nmero determinado de veces. Interaccin: Es el hecho de repetir la ejecucin de una secuencia de acciones; en otras palabras el algoritmo repite muchas veces las acciones. Al utilizar un bucle para sumar una lista de nmeros, se necesita saber cuntos nmeros se han de sumar, para poder detenerlo en el momento preciso; las dos principales preguntas a realizarse en el diseo de un bucle son: Qu contiene el bucle? y Cuntas veces se debe repetir? Casos generales de estructuras repetitivas 1. La condicin de salida del bucle se realiza al principio del bucle (estructura

    mientras) 2. La condicin de salida se origina al final del bucle; el bucle se verifica hasta que

    se verifique una cierta condicin 3. La condicin de salida se realiza con un contador que cuente el numero d

    interacciones. ( i es un contador que cuenta desde el valor inicial (vi.) hasta el valor final (vf) con los incrementos que se consideran.)

    Estructura mientras - hacer (while). Es aquella en que el cuerpo del bucle se repite mientras se cumple una determinada condicin. Cuando se ejecuta la accin mientras, la primera cosa que sucede es que se evala la condicin (una expresin booleana), si se evala falsa ninguna accin se tomara; si la expresin booleana es verdadera, entonces se ejecuta el cuerpo del bucle, despus del cual se evala de nuevo la expresin booleana. Esta expresin booleana se repite una y otra vez mientras la expresin booleana (condicin) sea verdadera.

    Expresin de un bucle cero veces En una estructura mientras la primera cosa que sucede es la evaluacin de la expresin booleana; si es falsa en este punto entonces el cuerpo del bucle nunca se

    Mientras (condicin) hacer

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:61

    ejecuta. Puede parecer intil ejecutar el cuerpo del bucle cero veces, ya que no tendr efecto en ningn valor o salida. Sin embargo no es una accin deseada. Bucles infinitos En algunos bucles no existen fin y otros no encuentran el fin por error en su diseo, el bucle corre siempre; en otras ocasiones el bucle no se termina nunca porque nunca se cumple la condicin. Regla prctica Las pruebas o tesis en las expresiones booleanas es conveniente que sean mayor o menor que en lugar de pruebas de igualdad o desigualdad. En el caso de la codificacin en un lenguaje de programacin, esta regla debe seguirse rgidamente el caso de comparacin de nmeros reales. Ejemplo: Disee un diagrama de caja que permita generar los 5 primeros nmeros pares utilizando la estructura Mientras-Hacer

    Ejemplo: Disee un diagrama de caja que permita generar los N primeros nmeros pares utilizando la estructura Mientras-Hacer.

    INICIO

    NUM = 0

    I =1

    Mientras (I < = 5) hacer

    NUM = NUM + 2

    ESCRIBIR( NUM )

    I = I+1

    FIN

    INICIO

    ESCRIBIR(Ingrese el valor de N)

    LEER(N)

    NUM = 0

    I =1

    Mientras (I < = N) hacer

    NUM = NUM + 2

    ESCRIBIR( NUM )

    I = I+1

    FIN

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:62

    Estructura repetir (repeat). Si el valor de la expresin booleana es inicialmente falso, el cuerpo del bucle no se ejecutara, por ello se necesitan de otros tipos de estructuras dicha estructura se ejecuta hasta que cumpla una condicin determinada que se comprueba hasta el final del bucle. DIFERENCIAS ENTRE LAS ESTRUCTURAS MIENTRAS Y REPETIR

    La estructura mientras termina cuando la condicin es falsa, mientras que repetir termina cuando la condicin es verdadera

    En la estructura repetir el cuerpo del bucle se ejecuta siempre al menos una sola vez; por el contrario mientras es ms general y permite la posibilidad de que el bucle pueda no ser ejecutado. Para usar la estructura repetir debe estar seguro de que el cuerpo del bucle se repetir al menos una sola vez

    Ejemplo: Disee un diagrama de caja que permita generar los 5 primeros nmeros pares utilizando la estructura Repetir - Hasta.

    REPETIR

    HASTA (CONDICIN)

    INICIO NUM = 0

    I = 1 REPETIR NUM = NUM +2

    ESCRIBIR (NUM) I = I +1

    HASTA ( I > 5)

    FIN

    Sentencia(s

    Condicin Verdadero

    Falso

  • FUNDAMENTOS DE PROGRAMACIN

    Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:63

    Ejemplo: Disee un diagrama de caja que permita generar los N primeros nmeros pares utilizando la estructura Repetir - Hasta Estructura desde/para (for) Son el nmero total de veces que se desea ejecutar las acciones del bucle (nmero de interacciones fijo), este ejecuta las acciones del cuerpo o del bucle un nmero especifico de veces y de modo automtico controla el nmero de interacciones o pasos a travs del cuerpo del bucle.

    La estructura de repeticin FOR, se caracteriza por utilizar: 1. Definir una variable que actuar como contador 2. Establ