You are on page 1of 45

FACULTAD DE INGENIERA ESCUELA DE INGENIERA DE SISTEMAS CURSO: ALGORITMOS

SESION 01
EL COMPUTADOR CONCEPTOS GENERALES, TIPO DE DATOS, VARIABLES CONSTANTES, IDENTIFICADORES, EXPRESIONES Y OPERADORES ARITMTICOS Y LGICOS

Ing. Juan Francisco Pacheco Torres

2009-I

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

I.

EL COMPUTADOR 1.1. DEFINICIN Una computadora (tambin llamada ordenador o computador) es un sistema digital con tecnologa microelectrnica, capaz de recibir y procesar datos a partir de un grupo de instrucciones denominadas programas, y finalmente transferir la informacin procesada o guardarla en algn tipo de dispositivo o unidad de almacenamiento. La caracterstica principal que la distingue de otros dispositivos similares, como una calculadora no programable, es que puede realizar tareas muy diversas cargando distintos programas en la memoria para que el procesador los ejecute. 1.2. TIPOS A. SUPERCOMPUTADORAS Una supercomputadora es el tipo de computadora ms potente y ms rpida que existe en un momento dado. Estas mquinas estn diseadas para procesar enormes cantidades de informacin en poco tiempo y son dedicadas a una tarea especfica. As mismo son las ms caras, sus precios alcanzan los 30 MILLONES de dlares y ms; y cuentan con un control de temperatura especial, esto para disipar el calor que algunos componentes alcanzan a tener. Ejemplos de tareas a las que son expuestas las supercomputadoras son los siguientes: - Bsqueda y estudio de la energa y armas nucleares. - Bsqueda de yacimientos petrolferos con grandes bases de datos ssmicos. - El estudio y prediccin de tornados. - El estudio y prediccin del clima de cualquier parte del mundo. - La elaboracin de maquetas y proyectos de la creacin de aviones, simuladores de vuelo. Debido a su precio, son muy pocas las supercomputadoras que se construyen en un ao. B. MACROCOMPUTADORAS O MAINFRAMES Las macrocomputadoras son tambin conocidas como Mainframes. Los mainframes son grandes, rpidos y caros sistemas que son capaces de controlar cientos de usuarios simultneamente, as como cientos de dispositivos de entrada y salida. Los mainframes tienen un costo que va desde 350,000 dlares hasta varios millones de dlares. De alguna forma los mainframes son ms

Ing. Juan Francisco Pacheco Torres

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

poderosos que las supercomputadoras porque soportan ms programas simultneamente. PERO las supercomputadoras pueden ejecutar un slo programa ms rpido que un mainframe. En el pasado, los Mainframes ocupaban cuartos completos o hasta pisos enteros de algn edificio, hoy en da, un Mainframe es parecido a una hilera de archiveros en algn cuarto con piso falso, esto para ocultar los cientos de cables de los perifricos, y su temperatura tiene que estar controlada. C. MINICOMPUTADORAS En 1960 surgi la minicomputadora, una versin ms pequea de la Macrocomputadora. Al ser orientada a tareas especficas, no necesitaba de todos los perifricos que necesita un Mainframe, y esto ayudo a reducir el precio y costos de mantenimiento. Las minicomputadoras, en tamao y poder de procesamiento, se encuentran entre los mainframes y las estaciones de trabajo. En general, una minicomputadora, es un sistema multiproceso (varios procesos en paralelo) capaz de soportar de 10 hasta 200 usuarios simultneamente. Actualmente se usan para almacenar grandes bases de datos, automatizacin industrial y aplicaciones multiusuario. D. MICROCOMPUTADORAS O PCS Las microcomputadoras o Computadoras Personales (PCs) tuvieron su origen con la creacin de los microprocesadores. Un microprocesador es "una computadora en un chip", o sea un circuito integrado independiente. Las PCs son computadoras para uso personal y relativamente son baratas y actualmente se encuentran en las oficinas, escuelas y hogares. El trmino PC se deriva de que para el ao de 1981, IBM, sac a la venta su modelo "IBM PC", la cual se convirti en un tipo de computadora ideal para uso "personal", de ah que el trmino "PC" se estandariz y los clones que sacaron posteriormente otras empresas fueron llamados "PC y compatibles", usando procesadores del mismo tipo que las IBM, pero a un costo menor y pudiendo ejecutar el mismo tipo de programas. Existen otros tipos de microcomputadoras, como la Macintosh, que no son compatibles con la IBM, pero que en muchos de los casos se les llaman tambin "PCs", por ser de uso personal.

En la actualidad existen variados tipos en el diseo de PCs:

Ing. Juan Francisco Pacheco Torres

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Computadoras personales, con el gabinete tipo minitorre, separado del monitor. Computadoras personales porttiles "Laptop" o "Notebook". Computadoras personales ms comunes, con el gabinete horizontal, separado del monitor. Computadoras personales que estn en una sola unidad compacta el monitor y el CPU. Las computadoras "laptops" son aquellas computadoras que estn diseadas para poder ser transportadas de un lugar a otro. Se alimentan por medio de bateras recargables, pesan entre 2 y 5 kilos y la mayora trae integrado una pantalla de LCD (Liquid Crys tal Display). Estaciones de trabajo o Workstations. Las estaciones de trabajo se encuentran entre las minicomputadoras y las macrocomputadoras (por el procesamiento). Las estaciones de trabajo son un tipo de computadoras que se utilizan para aplicaciones que requieran de poder de procesamiento moderado y relativamente capacidades de grficos de alta calidad. Son usadas para: Aplicaciones de ingeniera, CAD (Diseo asistido por computadora), CAM (manufactura asistida por computadora), Publicidad, Creacin de Software.

1.3. GENERACIN A. PRIMERA GENERACIN (1951 - 1958) En esta generacin haba un gran desconocimiento de las capacidades de las computadoras, puesto que se realiz un estudio en esta poca que determin que con veinte computadoras se saturara el mercado de los Estados Unidos en el campo de procesamiento de datos. Esta generacin abarco la dcada de los cincuenta. Y se conoce como la primera generacin. Estas mquinas tenan las siguientes caractersticas: - Usaban tubos al vaco para procesar informacin. - Usaban tarjetas perforadas para entrar los datos y los programas. - Usaban cilindros magnticos para almacenar informacin e instrucciones internas. - Eran sumamente grandes, utilizaban gran cantidad de electricidad, generaban gran cantidad de calor y eran sumamente lentas. - Se comenz a utilizar el sistema binario para representar los datos. En esta generacin las mquinas son grandes y costosas (de un costo aproximado de 10,000 dlares). La computadora ms exitosa de la primera generacin fue la IBM 650, de la cual se produjeron varios cientos. Esta computadora que usaba un esquema de memoria secundaria llamado tambor magntico, que es el antecesor de los discos actuales.

Ing. Juan Francisco Pacheco Torres

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

B. SEGUNDA GENERACIN (1959 - 1964) En esta generacin las computadoras se reducen de tamao y son de menor costo. Aparecen muchas compaas y las computadoras eran bastante avanzadas para su poca como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester. Algunas computadoras se programaban con cintas perforadas y otras por medio de cableado en un tablero. Caractersticas de esta generacin: - Usaban transistores para procesar informacin. - Los transistores eran ms rpidos, pequeos y ms confiables que los tubos al vaco. - 200 transistores podan acomodarse en la misma cantidad de espacio que un tubo al vaco. - Usaban pequeos anillos magnticos para almacenar informacin e instrucciones; cantidad de calor y eran sumamente lentas. - Se mejoraron los programas de computadoras que fueron desarrollados durante la primera generacin. - Se desarrollaron nuevos lenguajes de programacin como COBOL y FORTRAN, los cuales eran comercialmente accesibles. - Se usaban en aplicaciones de sistemas de reservaciones de lneas areas, control del trfico areo y simulaciones de propsito general. - La marina de los Estados Unidos desarrolla el primer simulador de vuelo, "Whirlwind I". - Surgieron las minicomputadoras y los terminales a distancia. - Se comenz a disminuir el tamao de las computadoras. C. TERCERA GENERACIN (1964 - 1971) La tercera generacin de computadoras emergi con el desarrollo de circuitos integrados (pastillas de silicio) en las que se colocan miles de componentes electrnicos en una integracin en miniatura. Las computadoras nuevamente se hicieron ms pequeas, ms rpidas, desprendan menos calor y eran energticamente ms eficientes. El ordenador IBM-360 domin las ventas de la tercera generacin de ordenadores desde su presentacin en 1965. El PDP-8 de la Digital Equipment Corporation fue el primer miniordenador. Caractersticas de est generacin: - Se desarrollaron circuitos integrados para procesar informacin. - Se desarrollaron los "chips" para almacenar y procesar la informacin. Un "chip" es una pieza de silicio que contiene los componentes electrnicos en miniatura llamados semiconductores. - Los circuitos integrados recuerdan los datos, ya que almacenan la informacin como cargas elctricas. - Surge la multiprogramacin.

Ing. Juan Francisco Pacheco Torres

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Las computadoras pueden llevar a cabo ambas tareas de procesamiento o anlisis matemticos. Emerge la industria del "software". Se desarrollan las minicomputadoras IBM 360 y DEC PDP-1. Otra vez las computadoras se tornan ms pequeas, ms ligeras y ms eficientes. Consuman menos electricidad, por lo tanto, generaban menos calor.

D. CUARTA GENERACIN (1971 - 1988) Aparecen los microprocesadores que es un gran adelanto de la microelectrnica, son circuitos integrados de alta densidad y con una velocidad impresionante. Las microcomputadoras con base en estos circuitos son extremadamente pequeas y baratas, por lo que su uso se extiende al mercado industrial. Aqu nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la sociedad en general sobre la llamada "revolucin informtica". Caractersticas de est generacin: - Se desarroll el microprocesador. - Se colocan ms circuitos dentro de un "chip". - "LSI - Large Scale Integration circuit". - "VLSI - Very Large Scale Integration circuit". - Cada "chip" puede hacer diferentes tareas. - Un "chip" sencillo actualmente contiene la unidad de control y la unidad de aritmtica/lgica. El tercer componente, la memoria primaria, es operado por otros "chips". - Se reemplaza la memoria de anillos magnticos por la memoria de "chips" de silicio. - Se desarrollan las microcomputadoras, o sea, computadoras personales o PC. - Se desarrollan las supercomputadoras. E. QUINTA GENERACIN (1983 A LA FECHA) En vista de la acelerada marcha de la microelectrnica, la sociedad industrial se ha dado a la tarea de poner tambin a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras. Surge la competencia internacional por el dominio del mercado de la computacin, en la que se perfilan dos lderes que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora en un lenguaje ms cotidiano y no a travs de cdigos o lenguajes de control especializados. Japn lanz en 1983 el llamado "programa de la quinta generacin de computadoras", con los objetivos explcitos de producir mquinas con innovaciones reales en los criterios mencionados. Y en los Estados

Ing. Juan Francisco Pacheco Torres

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Unidos ya est en actividad un programa en desarrollo que persigue objetivos semejantes, que pueden resumirse de la siguiente manera: - Se desarrollan las microcomputadoras, o sea, computadoras personales o PC. - Se desarrollan las supercomputadoras. 1.4. COMPONENTES DEL COMPUTADOR:

Grfico 01

Grfico 02

Grfico 03

Ing. Juan Francisco Pacheco Torres

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

A. HARDWARE a) UNIDAD DE ENTRADA DE DATOS Las unidades de entrada toman datos del exterior o aceptan informacin que introduce el usuario (por teclado, o incluso desde otra mquina o modem). Segn qu datos pueden ocurrir dos cosas: - Que sean almacenados en memoria para una posterior consulta o tratamiento o - Que pasen a la unidad de control para ser procesadas inmediatamente. Aqu hay que considerar que lo que para el computador es secuencial al humano le puede parecer simultneo, debido a la velocidad del primero. Entre este tipo de dispositivos tenemos: - TECLADO: Dispositivo que permite introducir informacin a la computadora mediante la pulsacin de teclas. MOUSE: Dispositivo que permite ingresar rdenes a la computadora por medio de la sealizacin, estas rdenes se ejecutan haciendo clic al botn del Mouse. SCANNER: Dispositivo para capturar imgenes mediante rastreo. Es muy utilizado en diseos grficos. LECTORES DE CDIGO DE BARRA: Dispositivo con mecanismo de funcionamiento similar al Scanner, pero el tipo de informacin que analizan es de contraste (solo blanco y negro) utilizado para identificacin de tems, comnmente inventarios. MULTIMEDIA: como dispositivos contiene: micrfono, cmara digital, etc. de entrada

WEBCAM: Es una cmara de pequeas dimensiones. Slo es la cmara, no tiene LCD. Tiene que estar conectada al PC para poder funcionar, y esta transmite las imgenes al ordenador. Su uso es generalmente para videoconferencias por internet, pero mediante el software adecuado, se pueden grabar videos como una cmara normal y tomar fotos estticas.

Ing. Juan Francisco Pacheco Torres

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

b) UNIDAD DE MEMORIA En estas unidades sern donde se almacenan tanto los datos con los programas (todo en cdigo binario). Se pueden distinguir (fsicamente) dos tipos de dispositivos de memoria: MEMORIA PRIMARIA: Constituida por componentes microelectrnicos, es la unidad de memoria de acceso ms rpida de un computador. Para que un computador funcione, todos los datos y programas necesarios deben estar almacenados ('cargados') en la Memoria Principal. Por otro lado, es la memoria de ms alto costo, por lo que es limitada en tamao. Existen dos tipos de memoria principal: RAM y ROM Almacenamiento primario: o RAM: (Random Access Memory o Memoria de Acceso Aleatorio): En esta memoria son almacenados los datos que estn siendo ejecutados por el CPU, y el acceso es realizado directamente en cualquier lugar de la memoria. En esta memoria se almacenan los procesos que estn siendo ejecutados, acaban de ser ejecutados o sern ejecutados. Es de carcter temporal y vital para el sistema de la computadora, entre cuyas caractersticas estn ser de lectura y escritura, pudindose acceder a la informacin aqu almacenada, con el objeto de modificarla. Se le considera reutilizable. Es voltil, reteniendo la informacin basndose en energa elctrica. Al apagarse el computador, todo lo contenido se pierde.

o ROM: (Read Only Memory o Memoria de Slo Lectura): Es grabada por el fabricante de hardware, y no puede ser modificada. Esta memoria es de una velocidad superior a la RAM. En esta memoria se almacenan los valores correspondientes a las rutinas de inicio del sistema de computacin y a su configuracin. Es creada en el momento de la fabricacin del equipo y se almacena en chips que permiten que este tipo de memoria sea permanente, ya que lo que permanece en la ROM no se pierde aunque el computador se apague. Su funcin principal es guardar informacin inicial que el computador necesita para colocarse en marcha una vez que se enciende. Solo sirve para leer. Se puede leer la informacin desde esta memoria y no recibir informacin.

Ing. Juan Francisco Pacheco Torres

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

o CACH: Son memorias auxiliares de alta velocidad, donde se almacenan los datos e instrucciones mayormente utilizados por el CPU. Se usan con la finalidad de reducir el tiempo de acceso global, y su operacin dentro del proceso de acceso de datos es el siguiente: cuando el CPU requiere datos o instrucciones para su operacin, lo busca primero en la memoria cach, de no encontrarlo all, accesa la memoria RAM, y si no estn disponibles en RAM, deben ser trados de algn dispositivo de almacenamiento secundario a la memoria principal.

MEMORIA SECUNDARIA: Tambin llamadas de almacenamiento masivo o permanente, formadas por componentes magnticos. es una memoria de acceso mucho ms lento que la Memoria Principal, es de costo inferior y el almacenamiento de informacin es permanente e ilimitado. Existe una variedad de dispositivos que cumplen la funcin de Memoria Secundaria. Los ms importantes son: Disquetes y Discos Duros. Tambin existen los discos pticos y los Compac Disc. En este ltimo tiempo ha aparecido el DVD, de quien se dice vendr a reemplazar al CD. Almacenamiento secundario: o Disco rgido o Disco Duro: El disco duro es el sistema (o dispositivo) de almacenamiento masivo de datos ms difundido. Los primeros computadores no incorporaban estos discos, porque manejaban un volumen de datos pequeos, y les bastaba utilizar los disquetes de pocos KB. Este se encuentra en el interior del gabinete y consta, generalmente, de varios discos metlicos que giran a alta velocidad, cuya superficie e magnetizable a la cual se acede para leer o escribir de ambos lados, con cabezas magnticas que se posan sobre los discos. El disco duro tiene una gran capacidad de almacenamiento que vara a medida que pasa el

Ing. Juan Francisco Pacheco Torres

10

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

tiempo, en la actualidad existen de 80, 250, 500 GB (Gigabytes), etc. o Disket: Es un disco flexible de plstico recubierto por una superficie magntica, que se introduce en las disqueteras que son los dispositivos que leen y graban datos. Almacenan 1.44 megabytes. o Zip: Es un disco reutilizable parecido al Disket pero de mayor tamao. Almacenan entre 100 y 750 Megabytes.

o CD: Llamado disco compacto, segn su tipo se puede leer o escribir, lo cual se hace por medio de un rayo de luz que impacta sobre l. Su capacidad es de 720 Megabytes. Disco ptico circular para el almacenamiento de informacin de forma binaria. Generalmente de 12 cm. de dimetro y que pesa unos pocos gramos. La informacin se almacena de forma digital, o sea, unos y ceros. La informacin en un CD es leda por una lser desde una lectora de CDs, al usar luz, no hay contacto fsico con la superficie, por lo tanto, no hay deterioro de los datos. Hay tres tipos: El CD-RW Es el CD regrabable. El CD-ROM Solo se puede leer EL CD-R Se puede grabar un solo vez o DVD: Digital Video Disk. Nuevo estndar en dispositivos de almacenamiento masivo con formato de CD pero que llega a 17 GB de capacidad. Digital Versatil Disc (o Digital Video Disc), sistema basado en CD con capacidad para almacenar sonido y video. o Memorias USB: Las Memorias USB son dispositivos de almacenamiento digital que permiten transportar gran cantidad de informacin en el bolsillo. Las Memorias USB han venido a ser el sustituto natural del disquette ya que son soportes de reducido tamao y que permiten

Ing. Juan Francisco Pacheco Torres

11

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

intercambiar informacin entre diferentes ordenadores con suma facilidad. La Memoria USB tiene una capacidad de entre los 128 Mb y los 4 Gb y permiten ser personalizadas mediante serigrafa, o tampografa en el caso de superficies curvas o mediante grabacin por lser. La velocidad de lectura o transmisin de datos depende del chip y actualmente existen 2 velocidades, la 1.1 y la 2.0. Diferencias entre discos rgidos y flexibles La gran diferencia entre estas unidades es que en el caso del disco el medio magntico es fijo, mientras que en los disquetes y el Zip son removibles. Un medio removible nos permite llevar informacin de una PC a otra, mientras que un medio de almacenamiento fijo es interno y propio de la PC. Esta propiedad de removibles hace de los disquetes y Zips medios sumamente seguros para guardar informacin importante. No hay ningn modo en que se pueda alterar o destruir la informacin del Disquetes que est debidamente guardado. Aunque lo que grabamos en el disco es tambin permanente, por el hecho de no ser esta una unidad removible, la informacin est expuesta a determinados riesgos. REPRESENTACIN BINARIA La unidad mnima de representacin que acepta el computador es la BINARIA, bit de 0 1, esto significa que un carcter (a,b,c,d,..., 1,2,3,... +,-,*,...) est compuesto de 8 bit, por ejemplo, la letra "a" est representada por 00110110 0 0 bit: 0 1 Byte: 8 bit 1 1 0 1 1 0

1024 Byte --------- 1 Kilobyte: 1024 Kbyte --------- 1 Megabyte: 1024 Mbytes --------- 1GByte: 1024 GBytes --------- 1TerraByte:

c) UNIDAD CENTRAL DE PROCESOS DE DATOS Es el cerebro del computador. Se encarga de controlar el flujo de la informacin entre todos los componentes y de procesar las instrucciones de los distintos programas en uso, en un determinado momento.

Ing. Juan Francisco Pacheco Torres

12

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

UNIDAD ARITMTICA LGICA: Realiza las operaciones aritmticas como adicin, sustraccin, divisin, multiplicacin y las lgicas como mayor que, menor que, mayor o igual, menor o igual. UNIDAD DE CONTROL: Coordina las acciones que se llevan a cabo en la CPU, como decodificar e interpretar informacin desde un componente a otro, entre otras tareas.

Es importante sealar que el CPU es un micro chip, que controla los recursos de la computadora, es l quien le da la velocidad a la computadora, en la actualidad se encuentran en el mercado procesadores como: - Pentium D 955 Extreme Edition de 3.6 Ghz Bus 1066 Mhz - Intel Core Duo de 2.50 Ghz Bus Frontal de 667 Mhz - Intel Core 2 Duos de 3.00 Ghz Bus 1333 Mhz Mientras mayor sea el nmero en Ghz, mayor ser la velocidad de procesamiento de la computadora.

Procesador d) UNIDAD DE SALIDA Estos dispositivos son los encargados de transferir datos o informacin al exterior. Tal informacin se puede grabar en un medio magntico, transmitida a otros computadores, mostrarse en pantalla o plasmarse en papel. Entre este tipo de dispositivos tenemos: IMPRESORAS: Dispositivo que sirve para captar la informacin que le enva la CPU y imprimirla en papel, plstico, etc. Hay varios tipos: Matricial, Inyeccin de Tinta, Lser, Trmicas. MONITORES: Es un perifrico de salida y en su superficie luminiscente es en la que se reproducen las imgenes. El monitor es el que mantiene informado al usuario de lo

Ing. Juan Francisco Pacheco Torres

13

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

que est haciendo el computador en cada momento. Las caractersticas de un monitor dependen de la calidad de la imagen y esta del nmero de pxeles que dispone y del nmero de colores que pueda mostrar. Un monitor VGA muestra apenas 16 colores y una resolucin de 640 x 480 (baja resolucin). Un monitor SVGA llega hasta 16 millones de colores con resolucin de 1280 x 1024 (altsima resolucin). ALTAVOCES: Dispositivos por los cuales se emiten sonidos procedentes de la tarjeta de sonido. Actualmente existen bastantes ejemplares que cubren la oferta ms comn que existe en el mercado. Se trata de modelos que van desde lo ms sencillo (una pareja de altavoces estreo), hasta el ms complicado sistema de Dolby Digital, con nada menos que seis altavoces, pasando por productos intermedios de 4 o 5 altavoces. Sin duda alguna, se nota perfectamente el esfuerzo que todos los fabricantes han realizado para ponerse al da en esta tecnologa, ya que en poco tiempo han incorporado a su tecnologa desarrollos basados en Dolby Surround o Dolby Digital. PLOTTER: Es una unidad de salida de informacin que permite obtener documentos en forma de dibujo. Existen plotters para diferentes tamaos mximos de hojas (A0, A1, A2, A3 y A4); para diferentes calidades de hojas de salida (bond, calco, acetato); para distintos espesores de lnea de dibujo (diferentes espesores de rapidgrafos), y para distintos colores de dibujo (distintos colores de tinta en los rapidgrafos).

DATA SHOW O CAONES: Es una unidad de salida de informacin. Es bsicamente una pantalla plana de cristal lquido, transparente e independiente. Acoplado a un retroproyector permite la proyeccin amplificada de la informacin existente en la pantalla del operador. Existe una variante tecnolgica del data show, conocida como el can de proyeccin, que puede ser catalogada como un sistema independiente de

Ing. Juan Francisco Pacheco Torres

14

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

proyeccin mediante lentes, muy similar a un proyector de video. Los modelos ms recientes de caones utilizan LCDs. Cabe mencionar que hay componentes adicionales de una computadora que se encuentran dentro de la torre cajn como son: TARJETA MADRE: En ella se insertan otra serie de tarjetas que dan funcionamiento al computador. Tambin se coloca en ella el CPU y la memoria, y por medio de la controladora se hace interface con los dispositivos de almacenamiento. La Tarjeta Madre puede ser un Pentium IV, Pentium D, etc.

Ing. Juan Francisco Pacheco Torres

15

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

TARJETA DE SONIDO: Es la que permite hacer la interface de sonido en una computadora.

TARJETA DE VDEO: Es la que hace la interface de vdeo, permitiendo as que visualicemos la informacin por el monitor.

TARJETA FAX/MDEM: Es la que permite enviar y recibir faxes y conectarnos con otras computadoras va mdem, por medio de sta

Ing. Juan Francisco Pacheco Torres

16

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

se hace la conexin a Internet y ella acta como interface entre la computadora y la lnea telefnica.

TARJETA DE RED: Tambin conocida como NIC (Network Interface Card), es el elemento que conectamos al PC para proporcionar el soporte de red. Suele venir en formato ISA o PCI; para el Ethernet estndar resulta ms que suficiente el ancho de banda de ISA, pero para Fast Ethernet merece la pena utilizar PCI.

FUENTE DE PODER: Es la que le suministra corriente a la computadora.

Partes Principales de una Computadora

Ing. Juan Francisco Pacheco Torres

17

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

B. SOFTWARE a) QU ES EL SOFTWARE? DEFINICIN Y CONCEPTO DEL SOFTWARE El software es un conjunto de programas elaborados por el hombre, que controlan la actuacin del computador, haciendo que ste siga en sus acciones una serie de esquemas lgicos predeterminados. El software es el nexo de unin entre el hardware y el hombre. El computador, por s solo, no puede comunicarse con el hombre y viceversa, ya que lo separa la barrer del lenguaje. El software trata de acortar esa barrera, estableciendo procedimientos de comunicacin entre el hombre y la mquina; es decir, el software obra como un intermediario entre el hardware y el hombre. Tal y como he definido el software, ste es un conjunto de programas. La pregunta ahora es: qu es un programa? Un programa es una secuencia de instrucciones que pueden ser interpretadas por un computador, obteniendo como fruto de esa interpretacin un determinado resultado que ha sido predeterminadamente establecido por el ser humano. Los programas estn divididos en rutinas. Una rutina es un subconjunto del conjunto de instrucciones que conforman el programa. Cada una de las rutinas de un programa realiza una determinada funcin dentro del mismo. Funciones del software: - Administrar los recursos de cmputo - Proporcionar las herramientas para optimizar estos recursos. - Actuar como intermediario entre el usuario y la informacin almacenada b) GENERACIN DEL SOFTWARE DURANTE LOS PRIMEROS AOS DE LA ERA DE LA COMPUTADORA, el software se contemplaba como un aadido. La programacin de computadoras era un "arte de andar por casa" para el que existan pocos mtodos sistemticos. El desarrollo del software se realizaba virtualmente sin ninguna planificacin, hasta que los planes comenzaron a descalabrarse y los costes a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a menudo salan con xito. El software se diseaba a medida para cada aplicacin y tena una distribucin relativamente pequea. La mayora del software se desarrollaba y era utilizado por la misma persona u organizacin. La misma persona lo escriba, lo ejecutaba y, si fallaba, lo depuraba. Debido a este entorno personalizado del software, el diseo era un proceso implcito, realizado en la mente de alguien y, la documentacin normalmente no exista.

Ing. Juan Francisco Pacheco Torres

18

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

LA SEGUNDA ERA EN LA EVOLUCIN DE LOS SISTEMAS: de computadora se extienden desde la mitad de la dcada de los sesenta hasta finales de los setenta. La multiprogramacin y los sistemas multiusuario introdujeron nuevos conceptos de interaccin hombre - mquina. Las tcnicas interactivas abrieron un nuevo mundo de aplicaciones y nuevos niveles de sofisticacin del hardware y del software. Los sistemas de tiempo real podan recoger, analizar y transformar datos de mltiples fuentes, controlando as los procesos y produciendo salidas en milisegundos en lugar de minutos. Los avances en los dispositivos de almacenamiento en lnea condujeron a la primera generacin de sistemas de gestin de bases de datos. La segunda era se caracterizo tambin por el establecimiento del software como producto y la llegada de las "casas del software". Los patronos de la industria, del gobierno y de la universidad se aprestaban a "desarrollar el mejor paquete de software" y ganar as mucho dinero. Conforme creca el nmero de sistemas informticos, comenzaron a extenderse las bibliotecas de software de computadora. Las casas desarrollaban proyectos en los que se producan programas de decenas de miles de sentencia fuente. Todos esos programas, todas esas sentencias fuente tenan que ser corregidos cuando se detectaban fallos, modificados cuando cambiaban los requisitos de los usuarios o adaptados a nuevos dispositivos hardware que se hubieran adquirido. Estas actividades se llamaron colectivamente mantenimiento del software.

LA TERCERA ERA EN LA EVOLUCIN DE LOS SISTEMAS: de computadora comenz a mediados de los aos setenta y continu ms all de una dcada. El sistema distribuido, mltiples computadoras, cada una ejecutando funciones concurrentes y comunicndose con alguna otra, increment notablemente la complejidad de los sistemas informticos. Las redes de rea local y de rea global, las comunicaciones digitales de alto ancho de banda y la creciente demanda de acceso "instantneo" a los datos, supusieron una fuerte presin sobre los desarrolladores del software. La conclusin de la tercera era se caracterizo por la llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de productos inteligentes, desde automviles hasta hornos microondas, desde robots industriales a equipos de diagnsticos de suero sanguneo.

LA CUARTA ERA DE LA EVOLUCIN DE LOS SISTEMAS: informticos se aleja de las computadoras individuales y de los programas de computadoras, dirigindose al impacto colectivo de las computadoras y del software. Potentes maquinas personales controladas por sistemas operativos

Ing. Juan Francisco Pacheco Torres

19

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

sofisticados, en redes globales y locales, acompaadas por aplicaciones de software avanzadas se han convertido en la norma. La industria del software ya es la cuna de la economa del mundo. Las tcnicas de la cuarta generacin para el desarrollo del software estn cambiando en la forma en que la comunidad del software construye programas informticos. Las tecnologas orientadas a objetos estn desplazando rpidamente los enfoques de desarrollo de software ms convencionales en muchas reas de aplicaciones. Sin embargo, un conjunto de problemas relacionados con el software ha persistido a travs de la evolucin de los sistemas basados en computadora, y estos problemas continan aumentando. o Los avances del software continan dejando atrs nuestra habilidad de construir software para alcanzar el potencial del hardware. o Nuestra habilidad de construir nuevos programas no pueden ir al mismo ritmo de la demanda de nuevos programas, ni podemos construir programas lo suficientemente rpido como para cumplir las necesidades del mercado y de los negocios. o El uso extenso de computadoras ha hecho de la sociedad cada vez ms dependiente de la operacin fiable del software. Cuando el software falla, pueden ocurrir daos econmicos enormes y ocasionar sufrimiento humano. o Luchamos por construir software informtico que tengan fiabilidad y alta calidad. o Nuestra habilidad de soportar y mejorar los programas existentes se ve amenazada por diseos pobres y recursos inadecuados. En respuesta a estos problemas, las prcticas de la Ingeniera del Software se estn adoptando en toda la industria. c) CLASIFICACIN DEL SOFTWARE SOFTWARE DE SISTEMA: es el software bsico o sistema operativo. Es un conjunto de programas cuyo objeto es facilitar el uso del computador (asla de la complejidad de cada dispositivo, y presenta al exterior un modelo comn de sistema de manejo para todos los dispositivos) y conseguir que se use eficientemente (ejemplo: realizar operaciones mientras se ejecuta un programa). Administra y asigna los recursos del sistema (hardware). El software de sistemas puede agruparse entre categoras funcionales principales: o Los programas de control del sistema controlan el uso del hardware, el software y los recursos de datos de un sistema de computadora durante la ejecucin de una tarea de procesamiento de informacin del usuario.

Ing. Juan Francisco Pacheco Torres

20

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

o Los programas de apoyo al sistema sustentan las operaciones, la administracin y a los usuarios de un sistema de computadora, proporcionando una diversidad de servicios. o Los programas de desarrollo de sistemas ayudan a los usuarios a desarrollar programas y procedimientos de informacin y a preparar las aplicaciones de usuario. SOFWARE DE APLICACIN: son los programas que controlan y optimizacin la operacin de la mquina, establecen una relacin bsica y fundamental entre el usuario y el computador, hacen que el usuario pueda usar en forma cmoda y amigable complejos sistemas hardware, realizan funciones que para el usuario seran engorrosas o incluso imposibles, y actan como intermediario entre el usuario y el hardware. Son escritos / modificados por programadores de sistemas que han de tener profundos conocimientos acerca de cmo trabaja realmente la mquina. Se proporciona normalmente como parte integrante de la mquina por el proveedor. Existe un gran nmero de programas de aplicacin diseados para fines especficos, Ej.: Aplicaciones ofimticas, Software educativo, Software mdico, Bases de datos, Videojuegos, etc.

Ing. Juan Francisco Pacheco Torres

21

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Ing. Juan Francisco Pacheco Torres

22

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

II.

TIPOS DE DATOS Los datos que utilizan los programas se pueden clasificar en base a diferentes criterios. Uno de los ms significativos es aquel que dice que todos los datos que utilizan los programas son simples o compuestos. Un dato simple es indivisible (atmico), es decir, no se puede descomponer. Ejemplo 1: Un ao es un dato simple. Ao...: 2006 Un ao se expresa con un nmero entero, el cual no se puede descomponer. Sin embargo, un dato compuesto est formado por otros datos.

Ejemplo 2: Una fecha es un dato compuesto por tres datos simples (da, mes, ao). Fecha: Da...: 30 Mes...: 11 Ao...: 2006 Ejemplo 3: Otro ejemplo de dato simple es una letra. Letra...: t Una letra se representa con un carcter del alfabeto. Pero, cuando varias letras se agrupan, entonces se obtiene un dato compuesto por varios caracteres.

Ejemplo 4: Para formar un nombre de persona se utilizan varios caracteres. Nombre...: Ana (dato compuesto por tres caracteres) En este apartado se van a estudiar cinco tipos de datos: Entero Real Lgico Carcter Cadena De ellos, tan solo el tipo cadena es compuesto. Los dems son los tipos de datos simples considerados estndares. Esto quiere decir que la mayora de los lenguajes de programacin permiten trabajar con ellos. Por ejemplo, en lenguaje C es posible utilizar datos de tipo entero, real y carcter, sin embargo, los datos de tipo lgico no se pueden utilizar, ya que, no existen en este lenguaje. Existen otros tipos de datos, simples y compuestos, que se estudiarn ms adelante.

Ing. Juan Francisco Pacheco Torres

23

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

A los tipos de datos simples estndares tambin se les conoce como tipos de datos primitivos, bsicos o fundamentales. 2.1 Datos de tipo entero Un dato de tipo entero es aquel que puede tomar por valor un nmero perteneciente al conjunto de los nmeros enteros (Z), el cual est formado por los nmeros naturales, supuestos (nmeros negativos) y el cero. Z = { ..., -3, -2, -1, 0, 1, 2, 3, ... } Ejemplo: La edad de una persona y el ao en que naci, son dos datos de tipo entero: Edad...: 29 Ao....: 1976 Z es un conjunto infinito de nmeros enteros, y como el ordenador no puede representarlos todos, un dato de tipo entero slo puede tomar por valor un nmero perteneciente a un subconjunto de Z. Los valores mximo y mnimo de dicho subconjunto varan segn las caractersticas de cada ordenador y del compilador que se utilice.

2.2 Datos de tipo real Un dato de tipo real es aquel que puede tomar por valor un nmero perteneciente al conjunto de los nmeros reales (R), el cual est formado por los nmeros racionales e irracionales. Ejemplo: El peso de una persona (en kilogramos) y su altura (en centmetros), son datos que pueden considerarse de tipo real. Peso.....: 75,3 Altura...: 172,7 R es un conjunto infinito de nmeros reales, y como el ordenador no puede representarlos todos, un dato de tipo real slo puede tomar por valor un nmero perteneciente a un subconjunto de R. Los valores de dicho subconjunto varan segn las caractersticas de cada ordenador y del compilador que se utilice. 2.3 Datos de tipo lgico En programacin, un dato de tipo lgico es aquel que puede tomar por valor slo uno de los dos siguientes: { verdadero, falso } Los valores verdadero y falso son contrapuestos, de manera que, un dato de tipo lgico siempre est asociado a que algo se cumpla o no se cumpla. Ing. Juan Francisco Pacheco Torres 24

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Ejemplo: El estado de una barrera de paso de trenes es un dato que puede considerarse de tipo lgico, por ejemplo, asociando verdadero a que est subida y falso a que est bajada. Estado...: falso (indica que la barrera est bajada) 2.4 Datos de tipo carcter Un dato de tipo carcter es aquel que puede tomar por valor un carcter perteneciente al conjunto de los caracteres que puede representar el ordenador. Ejemplo: En un examen con preguntas en las que hay que seleccionar la respuesta correcta entre varias opciones dadas (a, b, c, d, e), la respuesta correcta de cada una de las preguntas es un dato de tipo carcter. Respuesta correcta a la pregunta 3...: 'c' 2.5 Datos de tipo cadena Un dato de tipo cadena es aquel que puede tomar por valor una secuencia de caracteres. Ejemplo: El ttulo de un libro y el nombre de su autor, son datos de tipo cadena. Ttulo...: "La Odisea" (cadena de 9 caracteres) Autor....: "Homero" (cadena de 6 caracteres) Obsrvese que, en la cadena "La Odisea", el carcter espacio en blanco tambin se cuenta.

III. VARIABLES, CONSTANTES E IDENTIFICADORES 3.1 Identificadores La mayora de los elementos de un algoritmo escrito en pseudocdigo se diferencian entre s por su nombre. Por ejemplo, los tipos de datos bsicos se nombran como: entero, real, logico y caracter Cada uno de ellos es un identificador. Un identificador es el nombre que se le da a un elemento de un algoritmo (o programa). Por ejemplo, el tipo de dato entero hace referencia a un tipo de dato que es distinto a todos los dems tipos de datos, es decir, los valores que puede tomar un dato de tipo entero, no son los mismos que los que puede tomar un dato de otro tipo.

Ing. Juan Francisco Pacheco Torres

25

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Los identificadores entero, real, logico y caracter estn predefinidos, forman parte del lenguaje algortmico. No obstante, en un algoritmo tambin pueden existir identificadores definidos por el programador. Por ejemplo, un algoritmo puede utilizar variables y constantes definidas por el programador. Adems, los algoritmos tambin se deben nombrar mediante un identificador. En pseudocdigo, a la hora de asignar un nombre a un elemento de un algoritmo, se debe de tener en cuenta que todo identificador debe cumplir unas reglas de sintaxis. Para ello, en nuestro pseudocdigo CEE (C en Espaol), vamos a seguir las mismas reglas de sintaxis que existen en lenguaje C: 1. Consta de uno o ms caracteres. 2. El primer carcter debe ser una letra o el carcter subrayado (_), mientras que, todos los dems pueden ser letras, dgitos o el carcter subrayado (_). Las letras pueden ser minsculas o maysculas del alfabeto ingls. As pues, no est permitido el uso de las letras '' y ''. 3. No pueden exitir dos identificadores iguales, es decir, dos elementos de un algoritmo no pueden nombrarse de la misma forma. Lo cual no quiere decir que un identificador no pueda aparecer ms de una vez en un algoritmo. De la segunda regla se deduce que un identificador no puede contener caracteres especiales, salvo el carcter subrayado (_). Es importante resaltar que las vocales no pueden llevar tilde ni diresis. Ejemplo 1: Algunos identificadores vlidos que pueden ser definidos por el programador son: numero dia_del_mes PINGUINO1 _ciudad Z Ejemplo 2: Los siguientes identificadores no son vlidos por incumplir la segunda regla: 123 _DA numero* lugar de nacimiento ao Ejemplo 3: Los siguientes identificadores no pueden ser definidos por el programador: entero caracter

Ing. Juan Francisco Pacheco Torres

26

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

entero y caracter son identificadores predefinidos (ya existen), por tanto, no pueden ser definidos por el programador, en cumplimiento de la tercera regla. Los identificadores son sensibles a minsculas y maysculas. Ejemplo 4: Mes y mes son considerados identificadores distintos. Por ltimo, hay que decir que, es aconsejable que los identificadores tengan un significado afn a lo que representan. Palabras reservadas Las palabras reservadas son identificadores predefinidos (tienen un significado especial). En todos los lenguajes de programacin existe un conjunto de palabras reservadas. Por el momento, en pseudocdigo, se han estudiado las siguientes: cadena, caracter, entero, falso, logico, real y verdadero Existen "palabras reservadas" que no se pueden utilizar como identificadores. (Dependen de cada lenguaje) auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while, asm, bool, catch, class, const_cast, delete, dynamic_c, ast, explicit, false, friend, inline, mutable, namespace, new, operator, private, protected, public, reinterpret_cast, static_cast, template, this, throw, true, try, typeid, typename, Using, virtual, wchar_t 3.2 Variables En programacin, una variable representa a un espacio de memoria en el cual se puede almacenar un dato. Grficamente, se puede representar como:

El programador, cuando desarrolla un programa (o disea un algoritmo), debe decidir: 1. Cuantas son las variables que el programa necesita para realizar las tareas que se le han encomendado. 2. El tipo de dato que puede almacenar cada una de ellas. Durante la ejecucin de un programa, el valor que tome el dato almacenado en una variable puede cambiar tantas veces como sea necesario, pero,

Ing. Juan Francisco Pacheco Torres

27

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

siempre, tomando valores pertenecientes al tipo de dato que el programador ha decidido que puede almacenar dicha variable, ya que, el tipo de dato de una variable no puede ser cambiado durante la ejecucin de un programa. 3.3 Constantes Una constante representa a un valor (dato almacenado en memoria) que no puede cambiar durante la ejecucin de un programa. Se pueden expresar de dos formas diferentes: 1. 2. Por su valor. Con un nombre (identificador).

Ejemplo 1: Las siguientes constantes de tipo entero estn expresadas por su valor: -5 10 Para expresar una constante con un nombre, la constante debe ser declarada previamente. Todas las constantes que se declaran en un programa son definidas de la misma forma, indicando de cada una de ellas: 1. Su nombre (mediante un identificador). 2. El valor que simboliza (mediante una expresin). En pseudocdigo, para declarar una constante, vamos a utilizar la sintaxis: <nombre_de_la_constante> = <expresin> Y para declarar ms de una constante en una misma lnea, las separaremos por medio de comas (,). Ejemplo 2: De modo que, si se quieren declarar las constantes de tipo entero del ejemplo 1, asignndoles un identificador, se puede escribir, por ejemplo: TEMPERATURA = -5 MES = 10 O tambin: TEMPERATURA = -5, MES = 10

Ing. Juan Francisco Pacheco Torres

28

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

En programacin es una buena prctica escribir los identificadores de las constantes en maysculas, de esta forma es ms fcil localizarlos en el cdigo de un programa (o algoritmo). Durante la ejecucin de un programa, por medio del identificador de una constante, se puede hacer referencia al valor (dato) que simboliza, tantas veces como sea necesario. 3.3.1 Constantes de tipo entero Una constante de tipo entero es aquella que representa a un valor (dato) perteneciente al subconjunto de Z representable por el ordenador. Ejemplo 1: Suponiendo que el ordenador (utilizando diecisis bits) pueda representar, en Complemento a 2, el siguiente conjunto de valores enteros: { -32768, -32767, ..., 1, 0, -1, ..., 32766, 32767 } Algunos ejemplos de constantes de tipo entero son: -32000 0 000077 (Los ceros a la izquierda no son significativos) +1111 Obsrvese que, adems de los caracteres numricos, dgitos del (0) al (9), tambin se puede hacer uso de los caracteres especiales (+) y (-) para indicar el signo de un nmero entero, el cual es positivo por omisin. Sin embargo, en C, es incorrecto usar los caracteres coma (,) y/o punto (.) para expresar constantes de tipo entero. Ejemplo 2: Por tanto, es incorrecto escribir: -32.000 0,0 +1,111.00 Ejemplo 3: Otros ejemplos incorrectos de constantes de tipo entero son: ++111 (No se puede duplicar el signo) 38000 (No pertenece al subconjunto de Z representable por el ordenador) 3.3.2 Constantes de tipo real Una constante de tipo real es aquella que representa a un valor (dato) perteneciente al subconjunto de R representable por el ordenador.

Ing. Juan Francisco Pacheco Torres

29

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Ejemplo 1: Algunos ejemplos son: 8.12 000.333 (Los ceros a la izquierda no son significativos) +1111.809 -3200. (Tambin se puede escribir -3200.0) .56 (Tambin se puede escribir 0.56)

Obsrvese que, adems de los caracteres numricos, dgitos del (0) al (9), tambin se puede hacer uso de los caracteres especiales (+) y (-) para indicar el signo de un nmero real. Los signos del exponente y del nmero en s, por omisin, son positivos. Ejemplo 2: Las siguientes constantes de tipo real estn expresadas correctamente: -77e-3 +1111e+2 2000E+2 3040e2 Una constante de tipo real tambin se puede expresar con el carcter punto (.) y el exponente al mismo tiempo. Ejemplo 3: Algunos ejemplos son: -50.50e-4 400.e-3 +65.65E+2 .7e2 El exponente tiene la funcin de desplazar la posicin del punto decimal hacia la derecha si es positivo o, hacia la izquierda si es negativo. Ejemplo 4: As pues, las siguientes constantes de tipo real representan al mismo valor: 0.004E+3 4. .4e1 +400.00e-2 4000E-3

Ing. Juan Francisco Pacheco Torres

30

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Ejemplo 5: Algunos ejemplos de constantes de tipo real incorrectas son: -200 (No aparece el punto ni el exponente) -20,0 (No puede aparecer la coma) --111. (No se puede duplicar el signo) -111.. (No se puede duplicar el punto) -111.11. (No puede aparecer ms de un punto) +22e (Despus del carcter (e) o (E) se debe escribir el exponente) +22ee6 (No se puede duplicar el carcter (e) o (E)) +22e 6 (No se puede escribir el carcter espacio en blanco) 38E-2.2 (El exponente debe ser una cantidad entera) 3.3.3 Constantes de tipo lgico Una constante de tipo lgico es aquella que representa a un valor (dato) perteneciente al conjunto: { verdadero, falso } verdadero y falso son palabras reservadas (identificadores) que, en s mismas, representan a constantes de tipo lgico. En consecuencia, aunque se pueden definir constantes de tipo lgico, no suele ser habitual declarar constantes de este tipo de dato: Ejemplo: ESTADO = verdadero INTERRUPTOR = falso

3.3.4 Constantes de tipo carcter Una constante de tipo carcter es aquella que representa a un valor (dato) perteneciente al conjunto de caracteres que puede representar el ordenador. Ejemplo 1: Las siguientes constantes de tipo carcter estn expresadas por su valor: 'a' 'T' '5' '+' Ing. Juan Francisco Pacheco Torres 31

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

'.' Ejemplo 2: Algunos ejemplos de declaracin de constantes de tipo carcter son: LETRA = 's' NUMERO = '9' SIGNO = '-' ESPACIO_EN_BLANCO = ' '

Ejemplo 3: En C, para representar el carcter comilla simple ('), se debe anteponer el carcter barra invertida (\). COMILLA_SIMPLE = '\'' 3.3.5 Constantes de tipo cadena Una constante de tipo cadena es aquella que representa a un valor (dato) de tipo cadena, es decir, representa a una secuencia de caracteres. Ejemplo 1: Las siguientes constantes de tipo cadena estn expresadas por su valor: "Alejandro" "Lucerna" "Barcelona 2000" Ejemplo 2: Algunos ejemplos de declaracin de constantes de tipo cadena son: NOMBRE = "Alejandro" CIUDAD = "Lucerna" OLIMPIADAS = "Barcelona 2000"

Ing. Juan Francisco Pacheco Torres

32

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Ejemplo 3: En C, para representar el carcter comilla doble (") dentro de una cadena, se debe anteponer el carcter barra invertida (\). CIUDAD = "7 de julio \"San Fermn\""

IV. EXPRESIONES Y OPERADORES En un programa, el tipo de un dato determina las operaciones que se pueden realizar con l. Por ejemplo, con los datos de tipo entero se pueden realizar operaciones aritmticas, tales como la suma, la resta o la multiplicacin. Ejemplo 1: Algunos ejemplos son: 111 + 6 (operacin suma) 19 - 72 (operacin resta) 24 * 3 (operacin multiplicacin) Todas las operaciones del ejemplo constan de dos operandos (constantes enteras) y un operador. La mayora de las veces es as, pero, tambin es posible realizar operaciones con distinto nmero de operadores y/u operandos. Ejemplo 2: Por ejemplo: 111 + 6 - 8 (tres operandos y dos operadores) -( ( +19 ) + 72 ) (dos operandos y tres operadores) -( -72 ) (un operando y dos operadores) En las operaciones del ejemplo se puede observar que los caracteres ms (+) y menos (-) tienen dos usos:

1. Operadores suma y resta. 2. Signos de un nmero (tambin son operadores).

Ing. Juan Francisco Pacheco Torres

33

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Los operadores de signo ms (+) y menos (-) son operadores monarios, tambin llamados unarios, ya que, actan, solamente, sobre un operando. Los caracteres abrir parntesis "(" y cerrar parntesis ")" se utilizan para establecer la prioridad de los operadores, es decir, para establecer el orden en el que los operadores actan sobre los operandos. Un operador indica el tipo de operacin a realizar sobre los operandos (datos) que acta. Los operandos pueden ser: Constantes (expresadas por su valor o con un nombre (identificador)). Variables. Llamadas a funciones. Elementos de formaciones (arrays). Cuando se combinan uno o ms operadores con uno o ms operandos se obtiene una expresin. De modo que, una expresin es una secuencia de operandos y operadores escrita bajo unas reglas de sintaxis. Ejemplo 3: Dadas las siguientes declaraciones de constantes y variables: PI = 3.141592 entero numero = 2 real radio_circulo = 3.2 Algunos ejemplos de expresiones son: 2 * PI * radio_circulo ( PI * PI ) numero * 5 De sus evaluaciones se obtienen los valores: 20.106189 (valor real) ( 2 * 3.141592 * 3.2 ) 9.869600 (valor real) ( 3.141592 * 3.141592 ) 10 (valor entero) ( 2 * 5 ) Un operador siempre forma parte de una expresin, en la cual, el operador siempre acta sobre al menos un operando. Por el contrario, un operando s puede aparecer solo en una expresin. En programacin, de la evaluacin de una expresin siempre se obtiene un valor. Dicho valor puede ser de tipo: entero, real, lgico, carcter o cadena. Por consiguiente, una expresin puede ser: Aritmtica (devuelve un nmero entero o real). Lgica (devuelve un valor lgico: verdadero o falso) De carcter (devuelve un carcter representable por el ordenador). De cadena (devuelve una cadena). Dependiendo del tipo de expresin, pueden participar unos operadores u otros Ing. Juan Francisco Pacheco Torres 34

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

4.1 EXPRESIONES ARITMTICAS De la evaluacin de una expresin aritmtica siempre se obtiene un valor de tipo entero o real. En las expresiones aritmticas se pueden utilizar los siguientes operadores aritmticos:

Figura. Clasificacin de los operadores aritmticos en pseudocdigo.

Ejemplo 1: El operador multiplicacin (*) realiza la multiplicacin de dos operandos numricos. 5*2 3.1 * 2.5 Los resultados son: 10 (valor entero) 7.75 (valor real) Ejemplo 2: El operador potencia (**) eleva el operando de la izquierda (nmero base) al operando de la derecha (potencia o exponente). 5 ** 2 3.1 ** 2.5 De estas expresiones, se obtienen los valores: 25 (valor entero) 16.920151 (valor real)

Ing. Juan Francisco Pacheco Torres

35

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Ejemplo 3: El operador divisin real (/) realiza la divisin real entre dos operandos numricos. 5/2 3.1 / 2.5 Sus resultados son: 2.5 (valor real) 1.24 (valor real) Ejemplo 4: El operador divisin entera (div) realiza la divisin entera entre dos operandos numricos enteros. 5 div 2 3.1 div 2.5 El operador divisin entera (div) no puede operar con operandos numricos reales. Por tanto, al evaluar las expresiones de este ejemplo se obtienen los valores: 2 (valor entero) ERROR (no se puede evaluar; ambos operandos deben ser valores enteros) Ejemplo 5: El operador mdulo (mod) realiza la divisin entera entre dos operandos numricos enteros, devolviendo el resto de la misma. 5 mod 2 3.1 mod 2.5 Al igual que el operador divisin entera (div), el operador mdulo (mod) tampoco puede operar con operandos numricos reales. De modo que, en este caso, los resultados son: 1 (valor entero) ERROR (no se puede evaluar; ambos operandos deben ser valores enteros) Ejemplo 6: El operador signo menos (-) cambia el signo de un operando numrico. As, de las expresiones -11 -(3.1) -( -2.5 ) se obtienen los valores:

Ing. Juan Francisco Pacheco Torres

36

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

-11 (valor entero) -3.1 (valor real) 2.5 (valor real)

Prioridad de los operadores aritmticos La prioridad de los operadores puede variar de unos lenguajes a otros, pero, en pseudocdigo, en este curso, vamos a establecer una prioridad de operadores muy similar a la que se aplica en lenguaje C. La prioridad no puede ser exactamente la misma, ya que, en C existen algunos operadores que no existen en pseudocdigo, y al revs. Ejemplo 1: En una expresin aritmtica puede aparecer ms de un operador aritmtico. 11 + 3 div 3 (dos operadores) -3 * 6 mod 4 (tres operadores) -3.1 + 5 * 0.5 (tres operadores) 3 ** 3 - 1 (dos operadores) +3 * -8 (tres operadores) Para poder evaluar correctamente las expresiones aritmticas del ejemplo, es necesario seguir un criterio de prioridad de operadores. La prioridad de los operadores aritmticos es:

Figura. Prioridad de los operadores aritmticos en pseudocdigo.

A excepcin de los operadores de signo, que se evalan de derecha a izquierda en una expresin, todos los dems operadores aritmticos con la misma prioridad, por ejemplo, el operador multiplicacin (*) y el operador mdulo (mod), se evalan de izquierda a derecha. En consecuencia, los valores que proporcionan las expresiones del ejemplo 10 son: 12 (actan en orden los operadores: (div) y suma (+)) -2 (actan en orden los operadores: signo menos (-), (*) y (mod)) Ing. Juan Francisco Pacheco Torres 37

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

-0.6 (actan en orden los operadores: signo menos (-), (*) y suma (+)) 26 (actan en orden los operadores: (**) y resta (-)) -24 (actan en orden los operadores: signo menos (-), signo ms (+) y (*)) Para modificar la prioridad de los operadores en las expresiones, se debe hacer uso de los caracteres abrir parntesis "(" y cerrar parntesis ")". En las expresiones aritmticas hay que tener la precaucin de no dividir entre cero (0). Ejemplo 2: Por tanto, las siguientes expresiones son incorrectas: 11 / 0 5 div 0 -3 mod 0 De la evaluacin de cada una de estas expresiones se obtiene: ERROR (no se puede evaluar; no se puede dividir entre cero) 4.2 EXPRESIONES LGICAS De la evaluacin de una expresin lgica siempre se obtiene un valor de tipo lgico (verdadero o falso). En las expresiones lgicas se pueden utilizar dos tipos de operadores: Relacionales Lgicos Un operador relacional se utiliza para comparar los valores de dos expresiones. stas deben ser del mismo tipo (aritmticas, lgicas, de carcter o de cadena). Ejemplo 1: Algunos ejemplos son: 22 > 13 (comparacin de dos expresiones aritmticas) 22.5 < 3.44 (comparacin de dos expresiones aritmticas) verdadero = falso (comparacin de dos expresiones lgicas) 'c' > 'f' (comparacin de dos expresiones de carcter) "coche" = "Coche" (comparacin de dos expresiones de cadena) Proporcionan los valores: verdadero (22 es mayor que 13) falso (22.5 no es menor que 3.44) falso (verdadero no es igual que falso) falso ('c' no es mayor que 'f') falso ("coche" no es igual que "Coche")

Ing. Juan Francisco Pacheco Torres

38

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Las comparaciones entre los valores de tipo numrico son obvias. En cuanto a los valores de tipo lgico (verdadero y falso) se considera que falso es menor que verdadero. En lo que respecta a los valores de tipo carcter, su orden viene dado por el ASCII extendido utilizado por el ordenador para representarlos. Y en el caso de los valores de tipo cadena, tambin se tiene en cuenta dicho cdigo. Los operadores relacionales son:

Figura. Clasificacin de los operadores relacionales en pseudocdigo. Para escribir una expresin relacional (lgica) se utiliza la sintaxis: <expresin_1> <operador_de_relacin> <expresin_2> Siendo <expresin_1> y <expresin_2> del mismo tipo (aritmtica, lgica, de carcter o de cadena). Por otra parte, un operador lgico acta, exclusivamente, sobre valores de expresiones lgicas. Los operadores lgicos son:

Figura. Clasificacin de los operadores lgicos en pseudocdigo. El operador conjuncin (y) y el operador disyuncin (o) siempre actan sobre dos operandos, mientras que, el operador negacin (no) slo acta sobre un operando, o dicho de otra forma, es un operador monario. El modo en que actan los operadores lgicos se resume en las llamadas tablas de verdad, definidas por el matemtico George Boole. La tabla de verdad del operador conjuncin (y) es: Ing. Juan Francisco Pacheco Torres 39

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Figura. Tabla de verdad del operador conjuncin (y).

Se supone que <expresin_1> y <expresin_2> son expresiones lgicas. De la tabla de verdad se deduce que <expresin_1> y <expresin_2> se evala a verdadero slo en el caso de que tanto <expresin_1> como <expresin_2> se evalen tambin como verdaderas, en cualquier otro caso el resultado ser falso. Dicho de otro modo, si al menos una de las dos expresiones es falsa, el resultado ser falso. Ejemplo 2: Algunos ejemplos son: 9>3y8>6 9>3y8>9 9 = 3 y 8 >= 6 9 = 3 y 8 >= 9 Las expresiones anteriores se evalan a: verdadero (9 > 3 es verdadero y 8 > 6 es verdadero) falso (9 > 3 es verdadero y 8 > 9 es falso) falso (9 = 3 es falso y 8 >= 6 es verdadero) falso (9 = 3 es falso y 8 >= 9 es falso) La tabla de verdad del operador disyuncin (o) es:

Figura. Tabla de verdad del operador disyuncin (o).

De la tabla de verdad se deduce que si al menos una de las dos expresiones es verdadera, el resultado ser verdadero. La tabla de verdad del operador negacin (no) es:

Ing. Juan Francisco Pacheco Torres

40

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Figura. Tabla de verdad del operador negacin (no). El valor de no <expresin> es el contrario al valor obtenido de <expresin>. Ejemplo 3: De las expresiones no ( 9 > 3 ) no ( 8 > 9 ) los resultados de evaluarlas son: falso (9 > 3 es verdadero) verdadero (8 > 9 es falso) Prioridad de los operadores relacionales y lgicos: En una expresin lgica puede aparecer uno o ms operadores relacionales y/o lgicos. Ejemplo: Algunos ejemplos son: 3 > 1 o 4 < 1 y 4 <= 2 no falso y falso verdadero >= verdadero = falso falso = verdadero <= verdadero Para poder evaluar correctamente las expresiones lgicas del ejemplo, es necesario seguir un criterio de prioridad de operadores. La prioridad entre los operadores relacionales y lgicos es:

Figura. Prioridad de los operadores relacionales y lgicos en pseudocdigo.

A excepcin del operador negacin (no), que se evala de derecha a izquierda en una expresin, todos los dems operadores con la misma prioridad, por ejemplo, el operador menor que (<) y el operador mayor que (>), se evalan

Ing. Juan Francisco Pacheco Torres

41

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

de izquierda a derecha. As que, los valores que proporcionan las expresiones del ejemplo 15 son: verdadero (actan en orden los operadores: (>), (<), (<=), (y) y (o)) falso (actan en orden los operadores: (no) e (y)) falso (actan en orden los operadores: (>=) y (=)) falso (actan en orden los operadores: (<=) y (=)) 4.3 EXPRESIONES DE CARCTER Aunque no existe ningn operador de caracteres, s que existen expresiones de carcter. De la evaluacin de una expresin de carcter siempre se obtiene un valor de tipo carcter. Ejemplo : Dadas las siguientes declaraciones de constantes y variables en pseudocdigo: CONSONANTE = 'S' caracter letra = 'X' caracter opcion = '3' Algunas expresiones de carcter son: opcion letra CONSONANTE 'a' Los resultados de evaluarlas son: '3' 'X' 'S' 'a' 4.4 EXPRESIONES DE CADENA De la evaluacin de una expresin de cadena siempre se obtiene un valor de tipo cadena. Slo existe un operador de cadena:

Figura. Clasificacin de los operadores de cadena en pseudocdigo.

El operador concatenacin (+) realiza la concatenacin de dos operandos de tipo cadena, es decir, los encadena.

Ing. Juan Francisco Pacheco Torres

42

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Ejemplo: Dadas las siguientes declaraciones de constantes y variables en pseudocdigo: OLIMPIADA = "Atenas 2004" PUNTO = "." cadena nombre = "Pedro", apellido = "Cosn", rio = "Tajo" Algunas expresiones de cadena son: OLIMPIADA + PUNTO nombre + " " + apellido "Buenos das" + PUNTO rio nombre + " fue a las Olimpiadas de " + OLIMPIADA + PUNTO Los resultados de evaluarlas son: "Atenas 2004." "Pedro Cosn" "Buenos das." "Tajo" "Pedro fue a las Olimpiadas de Atenas 2004."

PRIORIDAD DE LOS OPERADORES RELACIONALES, LGICOS Y DE CADENA

ARITMTICOS,

En una expresin puede aparecer uno o ms operadores aritmticos, relacionales, lgicos y/o de cadena. Ejemplo 1: Algunos ejemplos son: 5 * 4 > 5 + 4 o falso y "ab" < "aa" ( 5 * 4 > 5 + 4 o falso ) y 'f' < 'b' no verdadero < falso no ( verdadero < falso ) Para poder evaluar correctamente las expresiones anteriores, es necesario seguir un criterio de prioridad de operadores. La prioridad entre los operadores aritmticos, relacionales, lgicos y de cadena es:

Ing. Juan Francisco Pacheco Torres

43

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Figura. Prioridad de los operadores aritmticos, relacionales, lgicos y de cadena en pseudocdigo. Por tanto, los valores que proporcionan las expresiones del ejemplo son: verdadero (actan en orden los operadores: (*), suma (+), (>), (<), (y) y (o)) falso (actan en orden los operadores: (*), suma (+), (>), (o), (<) e (y)) falso (actan en orden los operadores: (no) y (<)) verdadero (actan en orden los operadores: (<) y (no)) Obsrvese que, los parntesis "()" son capaces de cambiar el orden de actuacin de los operadores de cualquier expresin. Adems, los parntesis se pueden anidar, es decir, se pueden escribir unos dentro de otros, priorizndose del ms interno al ms externo y, despus, de izquierda a derecha. Ejemplo 2: De la expresin 42 mod ( ( 4 - 5 ) * ( 8 + 2 ) ) se obtiene el valor: 2 (actan en orden los operadores: (-), (+), (*) y (mod).

Ing. Juan Francisco Pacheco Torres

44

UNIVERSIDAD CSAR VALLEJO-TRUJILLO

SESIN 01

ALGORITMOS

Bibliografa JOYANES, Luis

Fundamentos De la Programacin, Algoritmos Y Estructura De Datos, 1era Edicin, Espaa, Editorial McGraw Hill Interamericana de Espaa 1995, Cdigo Biblioteca: 005.3/J79F Algortmica: diseo y anlisis de algortmico Funcionales e Imperativos. 1 era Edicin, Estados Unidos, Editorial Addison Wesley Iberoamericana S.A, 2000, ISBN: 0201623501 Cdigo Biblioteca: (005.3/G-19) Programacin estructurada: Un enfoque algortmico, 1era Edicin, Mxico, Editorial Alfaomega, 1999, ISBN: 9701500997. Cdigo Biblioteca: 005.26/L83 Estructura de Datos y Algoritmos, 1era Edicin, Estados Unidos, Editorial Addison Wesley Iberoamericana S.A, 2001, ISBN: 0201625717.Cdigo: (005.3/W-42)

GALVEZ, Javier

LOPEZ, Leobardo

WEISS, Mark

Sitios web RMO http://webnogales.cjb.net http://conalep.cjb.net http://www.aulaclic.es/excel2003/b_2_1_1.htm http://www.agapea.com/Excel-2003-n252236i.htm http://www.carlospes.com http://www.paumi.net/alumne0607/jcifreb/Ordenador/Pag1.htm http://www.wikilearning.com/

Ing. Juan Francisco Pacheco Torres

45

You might also like