Vous êtes sur la page 1sur 26

Informtica Ingeniera Electrnica y Ambiental Introduccin a las Computadoras

Computadora

Pgina 1

Una computadora o computador (del latn computare -calcular-), tambin denominada ordenador (del francs ordinateur), es una mquina electrnica que recibe y procesa datos para convertirlos en informacin til. Una computadora es una coleccin de circuitos integrados y otros componentes relacionados que puede ejecutar con exactitud y rapidez una gran variedad de secuencias de instrucciones ordenadas y organizadas. El conjunto de secuencias de instrucciones que ejecuta una computadora se los llama programa. El proceso de organizar esta secuencia de instrucciones se lo denomina programacin. Quien lleva a cabo este proceso se le llama programador. La computadora, adems de la rutina o programa informtico, necesita de datos especficos (denominados datos de entrada (o input) que deben ser suministrados, y que son requeridos al momento de la ejecucin, para proporcionar el producto final del procesamiento de datos, que recibe el nombre de datos de salida (u output). La informacin puede ser entonces utilizada, reinterpretada, copiada, transferida, o retransmitida a otra(s) persona(s), computadora(s) o componente(s) electrnico(s) local o remotamente usando diferentes sistemas de telecomunicacin, pudiendo ser grabada, salvada o almacenada en algn tipo de dispositivo o unidad de almacenamiento. La caracterstica principal que la distingue de otros dispositivos similares, como la calculadora no programable, es que es una mquina de propsito general, es decir, puede realizar tareas muy diversas, de acuerdo a las posibilidades que brinde los lenguajes de programacin y el hardware. Componentes de una computadora Procesador o CPU La unidad central de procesamiento o CPU (en ingls, central processing unit), o simplemente el procesador o microprocesador, es el componente del computador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. Los CPU proporcionan la caracterstica fundamental de la computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo, junto con el almacenamiento primario y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los aos 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y hoy en da, el trmino "CPU" es aplicado usualmente a todos los microprocesadores. El procesador consta de manera bsica de los siguientes elementos: Unidad aritmtico lgica o ALU es el dispositivo diseado y construido para llevar a cabo las operaciones elementales como las operaciones aritmticas (suma, resta, ...), operaciones lgicas (Y, O, NO), y operaciones de comparacin o relacionales. En esta unidad es en donde se hace todo el trabajo computacional. Unidad de control sigue la direccin de las posiciones en memoria que contienen la instruccin que el computador va a realizar en ese momento; recupera la informacin ponindola en la ALU para la operacin que debe desarrollar. Transfiere luego el resultado a ubicaciones apropiadas en la memoria. Una vez que ocurre lo anterior, la unidad de control va a la siguiente instruccin (normalmente situada en la siguiente posicin, a menos que la instruccin sea una instruccin de salto, informando al ordenador de que la prxima instruccin estar ubicada en otra posicin de la memoria). Los procesadores pueden constar de adems de las anteriormente citadas, de otras unidades adicionales como la unidad de punto flotante (mdulo de la CPU que maneja/procesa/interviene-en las instrucciones de punto flotante. Es el "chip" que interviene en las operaciones no enteras).

Informtica Ingeniera Electrnica y Ambiental

Pgina 2

Memoria Central La memoria es una secuencia de celdas de almacenamiento numeradas, donde cada una es una palabra o unidad de informacin (un nmero entero de bytes). La instruccin es la informacin necesaria para realizar lo que se desea con el computador. Las celdas contienen datos e instrucciones (arquitecturas von Neumann). Los datos son los necesarios para que el computador lleve a cabo las instrucciones. El nmero de celdas varan mucho de computador a computador, y las tecnologas empleadas para la memoria han cambiado bastante; van desde los rels electromecnicos, tubos llenos de mercurio en los que se formaban los pulsos acsticos, matrices de imanes permanentes, transistores individuales a circuitos integrados con millones de celdas en un solo chip. En general, la memoria puede ser reescrita varios millones de veces (memoria RAM); se parece ms a una pizarra que a una lpida (memoria ROM) que slo puede ser escrita una vez. Subsistema de Entrada/Salida El subsistema de entrada/salida est conectado al procesador y a la memoria y se encarga del manejo de los perifricos. Perifricos Sirven a la computadora para obtener informacin del mundo exterior y/o comunicar los resultados generados por el computador al exterior. Se denomina perifricos a los aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora. Se consideran perifricos tanto a las unidades o dispositivos a travs de los cuales la computadora se comunica con el mundo exterior, como a los sistemas que almacenan o archivan la informacin, sirviendo de memoria auxiliar de la memoria principal. Se entender por perifrico al conjunto de dispositivos que, sin pertenecer al ncleo fundamental de la computadora, formado por la CPU y la memoria central, permitan realizar operaciones de entrada/salida (E/S) complementarias al proceso de datos que realiza la CPU. Las tres unidades bsicas en un computador (CPU, memoria central y el subsistema de E/S), estn comunicadas entre s por tres buses o canales de comunicacin: bus de direcciones, bus de datos, bus de control. Los perifricos pueden clasificarse en 5 categoras principales: Perifricos de entrada: captan y envan los datos al dispositivo que los procesar. Ejemplos: Teclado, Micrfono, Escner, Ratn o mouse, Escner de cdigo de barras, Cmara web, Lpiz ptico, etc. Perifricos de salida: son dispositivos que muestran o proyectan informacin hacia el exterior del ordenador. La mayora son para informar, alertar, comunicar, proyectar o dar al usuario cierta informacin, de la misma forma se encargan de convertir los impulsos elctricos en informacin legible para el usuario. Ejemplos: Monitor, Impresora, Fax, Tarjeta de sonido, Altavoz. No todos de este tipo de perifricos es informacin para el usuario. Perifricos de entrada/salida (E/S): sirven bsicamente para la comunicacin de la computadora con el medio externo. Los perifricos de entrada/salida son los que utiliza el ordenador tanto para mandar como para recibir informacin. Su funcin es la de almacenar o guardar de forma permanente o virtual todo aquello que hagamos con el ordenador para que pueda ser utilizado por los usuarios u otros sistemas. Ejemplos: Pantalla tctil, Casco virtual, etc. Perifricos de almacenamiento: son los dispositivos que almacenan datos e informacin por bastante tiempo. La memoria RAM no puede ser considerada un perifrico de almacenamiento, ya que su memoria es voltil y temporal. Ejemplos: Disco duro, Grabadora y/o lector de CD/DVD/HDDVD, Memoria Flash, Cintas magnticas, Disquete.

Informtica Ingeniera Electrnica y Ambiental

Pgina 3

Perifricos de comunicacin: son los perifricos que se encargan de comunicarse con otras mquinas o computadoras, ya sea para trabajar en conjunto, o para enviar y recibir informacin. Ejemplos: tarjeta de red, tarjeta fax/modem, switch, router, etc. Descripcin de algunos Perifricos Monitor El monitor o pantalla de computadora, es un dispositivo de salida que, mediante una interfaz, muestra los resultados, o los grficos del procesamiento de una computadora. Existen varios tipos de monitores: los de tubo de rayos catdicos (o CRT), los de pantalla de plasma (PDP), los de pantalla de cristal lquido (o LCD), de paneles de diodos orgnicos de emisin de luz (OLED), o Lser-TV, entre otros. Teclado Un teclado de computadora es un perifrico, fsico o virtual (por ejemplo teclados en pantalla), utilizado para la introduccin de rdenes y datos en una computadora. Tiene su origen en los teletipos y las mquinas de escribir elctricas, que se utilizaron como los teclados de los primeros ordenadores y dispositivos de almacenamiento (grabadoras de cinta de papel y tarjetas perforadas). Aunque fsicamente se presentan hoy en da en una gran cantidad de formas, se suelen clasificar principalmente por la distribucin de sus teclas. Ratn o mouse El mouse o ratn es un perifrico de computadora de uso manual, utilizado como entrada o control de datos. Se utiliza con una de las dos manos del usuario y detecta su movimiento relativo en dos dimensiones por la superficie horizontal en la que se apoya, reflejndose habitualmente a travs de un puntero o flecha en el monitor. Anteriormente, la informacin del desplazamiento era transmitida gracias al movimiento de una bola debajo del ratn, la cual accionaba dos rodillos que correspondan a los ejes X e Y. Hoy, el puntero reacciona a los movimientos debido a un rayo de luz que se refleja entre el ratn y la superficie en la que se encuentra. Cabe aclarar que un ratn ptico apoyado en un espejo o sobre un barnizado por ejemplo es inutilizable, ya que la luz lser no desempea su funcin correcta. La superficie a apoyar el ratn debe ser opaca, una superficie que no genere un reflejo, es recomendable el uso de alfombrillas. Impresora Una impresora es un perifrico de computadora que permite producir una copia permanente de textos o grficos de documentos almacenados en formato electrnico, imprimiendo en papel de lustre los datos en medios fsicos, normalmente en papel o transparencias, utilizando cartuchos de tinta o tecnologa lser. Muchas impresoras son usadas como perifricos, y estn permanentemente unidas a la computadora por un cable. Otras impresoras, llamadas impresoras de red, tienen una interfaz de red interna (tpicamente wireless o Ethernet), y que puede servir como un dispositivo para imprimir en papel algn documento para cualquier usuario de la red. Hoy en da se comercializan impresoras multifuncionales que aparte de sus funciones de impresora funcionan simultneamente como fotocopiadora y escner, siendo ste tipo de impresoras las ms recurrentes en el mercado. Escner En informtica, un escner (en ingls, scanner) es un perifrico que se utiliza para convertir, mediante el uso de la luz, imgenes o cualquier otro impreso a formato digital. Actualmente vienen unificadas con las impresoras formando las llamadas multifunciones. Almacenamiento Secundario El disco duro es un sistema de grabacin magntica digital, es donde en la mayora de los casos reside el sistema operativo de la computadora. En los discos duros se almacenan los datos del

Informtica Ingeniera Electrnica y Ambiental

Pgina 4

usuario. En l encontramos dentro de la carcasa una serie de platos metlicos apilados girando a gran velocidad. Sobre estos platos se sitan los cabezales encargados de leer o escribir los impulsos magnticos. Una unidad de estado slido (o SSD solid state drive) es un sistema de memoria no voltil. Estn formados por varios chips de memoria flash en su interior unidos a una controladora que gestiona todos los datos que se transfieren. Al no estar formadas por discos en ninguna de sus maneras, no se pueden categorizar como tal, aunque errneamente se tienda a ello. Altavoces Los altavoces se utilizan para escuchar los sonidos emitidos por el computador, tales como msica, sonidos de errores, conferencias, etc.

Sistema Operativo
El sistema operativo es el programa (o software) ms importante de la computadora. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas bsicas, tales como reconocimiento de la conexin del teclado, enviar la informacin a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos perifricos tales como impresoras, escner, etc. En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, se asegura de que los programas y usuarios que estn funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo tambin es responsable de la seguridad, para que los usuarios no autorizados no tengan acceso al sistema. Clasificacin de los Sistemas Operativos Los sistemas operativos pueden ser clasificados de la siguiente forma: Multiusuario: Permite que dos o ms usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten el uso de centenares o millares de usuarios al mismo tiempo. Multiprocesador: est compuesto por mtiples procesadores. Multitarea: Permite que varios programas se ejecuten al mismo tiempo. Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo. Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real. Cmo funciona un Sistema Operativo Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la eleccin del sistema operativo determina en gran medida las aplicaciones que puedes utilizar. Los sistemas operativos ms utilizados en los PC son DOS, OS/2, y Windows, pero hay otros que tambin se utilizan, como por ejemplo Linux. Cmo se utiliza un Sistema Operativo Un usuario normalmente interacta con el sistema operativo a travs de un sistema de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y ejecutados por una parte del sistema

Informtica Ingeniera Electrnica y Ambiental

Pgina 5

operativo llamada procesador de comandos o intrprete de la lnea de comandos. Las interfaces grficas permiten que utilicen los comandos sealando y pinchando en objetos que aparecen en la pantalla. Funciones principales de un sistema operativo: Gestin de recursos del computador. Ejecucin de servicios para los programas en ejecucin. Ejecucin de comandos de usuario.

Lenguaje de Programacin
Un lenguaje de programacin es un idioma artificial diseado para expresar cmputos que pueden ser llevados a cabo por mquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana. Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. Tambin la palabra programacin se define como el proceso de creacin de un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs de los siguientes pasos: El desarrollo lgico del programa para resolver un problema en particular es: Escritura de la lgica del programa empleando un lenguaje de programacin especfico (codificacin del programa). Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina. Prueba y depuracin del programa. Desarrollo de la documentacin. Mantenimiento del programa. Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y 'lenguaje informtico'. Los lenguajes informticos engloban a los lenguajes de programacin y a otros ms, como por ejemplo HTML (lenguaje para el marcado de pginas web que no es propiamente un lenguaje de programacin, sino un conjunto de instrucciones que permiten disear el contenido de los documentos). Permite especificar de manera precisa sobre qu datos debe operar una computadora, cmo deben ser almacenados o transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a travs de un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural. Una caracterstica relevante de los lenguajes de programacin es precisamente que ms de un programador pueda usar un conjunto comn de instrucciones que sean comprendidas entre ellos para realizar la construccin de un programa de forma colaborativa. Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje especfico conocido como cdigo de mquina, el cual la mquina comprende fcilmente, pero que lo hace excesivamente complicado para las personas. De hecho slo consiste en cadenas extensas de nmeros 0 y 1. ste es el lenguaje que entienden los microprocesadores y el nico que son capaces de ejecutar. Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un traductor para reemplazar los 0 y 1 por palabras o abstraccin de palabras y letras provenientes del ingls; ste se conoce como lenguaje ensamblador (o assembler). Por ejemplo, para sumar se usa la instruccin ADD de la palabra inglesa (sumar). El lenguaje ensamblador sigue la misma estructura

Informtica Ingeniera Electrnica y Ambiental

Pgina 6

del lenguaje mquina, pero las letras y palabras son ms fciles de recordar y entender que los nmeros. Ejemplo: la instruccin ADD 3 (que sumara 3 al valor de un registro especfico (tpicamente el acumulador) pordra traducirse como 0001 0011 (eleccin arbitraria donde los primeros 4 nmeros binarios (1 en decimal) se referira a la instruccin sumar y los ltimos 4 nmeros binarios (3 en decimal) se referira al valor que se debe sumar. La necesidad de recordar secuencias de programacin para las acciones usuales llev a denominarlas con nombres fciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denomin instrucciones, y a este conjunto de instrucciones se le llam lenguaje ensamblador (o assembler). Posteriormente aparecieron diferentes lenguajes de programacin, los cuales reciben su denominacin porque tienen una estructura sintctica similar a los lenguajes escritos por los humanos, denominados tambin lenguajes de alto nivel.

EVOLUCIN DE LOS

LENGUAJES DE PROGRAMACIN:

LENGUAJES DE PRIMERA GENERACIN Lo constituyen los lenguajes mquina. Estos se consideran como de bajo nivel por que no existe un programa de codificacin menos complicado que el que utiliza los smbolos binarios 1 y 0. ASCII, utiliza ceros y unos para representar letras del alfabeto. Como este es el lenguaje del CPU, los archivos de texto traducidos a los grupos binarios ASCII pueden leerse por casi cualquier plataforma de sistemas de computadoras. LENGUAJES DE SEGUNDA GENERACIN A estos se les denomi lenguaje ensamblador. Los lenguajes ensambladores usan cdigos como ADD para agregar o MVC para mover, y asi sucesivamente (algunos ejemplos vistos anteriormente). Los programas de software de sistemas tales como los sistemas operativos y los programas de utilidad se escriben con frecuencia en un lenguaje ensamblador. LENGUAJES DE TERCERA GENERACIN Estos son ms fciles de aprender y usar que los lenguajes mquina y el lenguaje ensamblador, pues su similitud con la comunicacin y comprensin humana cotidiana es mayor. Aunque son ms fciles de programar, no son tan eficientes en trminos de rapidez operacional y uso de memoria. Son relativamente independientes del hardware de la computadora. Esto significa que el mismo programa puede utilizarse en varias computadoras diferentes de distintos fabricantes. LENGUAJES DE CUARTA GENERACIN Son lenguajes que se relacionan menos con procedimientos y que son aun ms parecidos al ingles que los lenguajes de tercera generacin. Algunas caractersticas incluyen capacidades de consulta y base de datos, de creacin de cdigos y capacidades grficas. Ejemplos Visual C++, Visual Basic, Power Builder, Delphi y muchos otros. Lenguajes de consulta son utilizados para hacer preguntas a la computadora con frases parecidas a las de un idioma, por ejemplo, el ingls. Lenguaje de consulta estructurado: lenguaje estndar que a menudo se usa para realizar consultas y manipulaciones a la base de datos. LENGUAJES DE QUINTA GENERACIN

Informtica Ingeniera Electrnica y Ambiental

Pgina 7

Alrededor de la mitad de 1998 surgieron grupos de herramientas de lenguajes de quinta generacin, los cuales combinan la creacin de cdigos basadas en reglas, la administracin de reutilizacin y otros avances. Programacin basada en conocimiento: mtodo para el desarrollo de programas de computacin en el que se le ordena a la computadora realizar un propsito en vez de instruirla para hacerlo (se esta utilizando en el campo de la robtica).

LENGUAJES DE PROGRAMACIN ORIENTADOS A OBJETOS Permiten la interaccin de objetos de programacin incluyendo elementos de datos y las acciones que se realizan en ellos. Por ejemplo, un objeto denota datos respecto a un empleado y todas las operaciones que se pudieran realizar sobre los datos (clculo de nminas). En la programacin orientada a objetos, los datos, instrucciones y otros procedimientos de programacin se agrupan en un elemento denominado objeto. Caractersticas presente en el paradigma de programacin orientada a objetos: Encapsulacin: proceso de reagrupar elementos dentro de un objeto. Polimorfismo: proceso que le permite al programador desarrollar una rutina o grupo de actividades que operaran sobre objetos mltiples. Herencia: propiedad utilizada para describir objetos en un grupo de este tomando caractersticas de otros en el mismo grupo o clase de objetos. Cdigo reutilizable: cdigo de instrucciones dentro de un objeto que se puede usar repetidamente en diferentes programas de diversas aplicaciones. SMALLTALK , C++ , JAVA. LENGUAJES DE PROGRAMACIN VISUAL Lenguajes que usan el ratn, iconos o smbolos en la pantalla y mens despegables para desarrollar programas. SELECCIN DE UN LENGUAJE DE PROGRAMACIN El mejor lenguaje de programacin para usarse en un programa en particular incluye equilibrar las caractersticas funcionales del lenguaje con aspectos como costo, control y complejidad. Un factor importante que debe considerarse al seleccionar cualquier lenguaje de programacin es la cantidad de control directo que se necesita para operar el hardware. Programacin La programacin es el proceso de disear, escribir, probar, depurar y mantener el cdigo fuente de programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento deseado. El proceso de escribir cdigo requiere frecuentemente de conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar, algoritmos especializados y lgica formal. Para crear un programa, y que la computadora interprete y ejecute las instrucciones escritas en l, debe usarse un Lenguaje de programacin. Como ya se ha mencionado, la computadora slo entiende lenguaje de mquina, pero para nuestra facilidad y comodidad existen los lenguajes de alto nivel. Escribir un programa en un lenguaje de alto nivel es mucho ms sencillo que escribir ceros y unos.

Informtica Ingeniera Electrnica y Ambiental

Pgina 8

Una vez que se termina de escribir un programa, sea en assembler o en un lenguaje de alto nivel, es necesario compilarlo. Compilar un programa es traducirlo a lenguaje de mquina; es decir, traducir un programa de un lenguaje de alto nivel a un lenguaje de mquina. La programacin se rige por reglas y un conjunto ms o menos reducido de rdenes, expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural acotada (en ingls); y que adems tienen la particularidad de una reducida ambigedad. Cuanto menos ambiguo es un lenguaje de programacin, se dice, es ms potente. Bajo esta premisa, y en el extremo, el lenguaje ms potente existente es el binario, con ambigedad nula.

Programas y Algortmos Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programacin concreto) uno o ms algoritmos. Un algoritmo puede expresarse de distintas maneras: en forma grfica, como un diagrama de flujo, en forma de cdigo como en pseudocdigo o un lenguaje de programacin, en forma explicativa, etc. Los programas suelen subdividirse en partes menores, llamadas mdulos, de modo que la complejidad algortmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa. Esta es una prctica muy utilizada y se conoce como "refinamiento progresivo". Un programa est formado por algoritmos y estructuras de datos. Compilacin El programa escrito en un lenguaje de programacin (fcilmente comprensible por el programador) es llamado programa fuente y no se puede ejecutar directamente en una computadora. La opcin ms comn es compilar el programa obteniendo un mdulo objeto, aunque tambin puede ejecutarse en forma ms directa a travs de un intrprete informtico. El cdigo fuente del programa se debe someter a un proceso de traduccin para convertirlo en lenguaje mquina (que es nico ejecutable por el procesador). A este proceso se le llama compilacin. Normalmente la creacin de un programa ejecutable lleva dos pasos. El primer paso se llama compilacin (propiamente dicho) y traduce el cdigo fuente escrito en un lenguaje de programacin almacenado en un archivo a cdigo en bajo nivel (normalmente en cdigo objeto, no directamente a lenguaje mquina). El segundo paso se llama enlazado en el cual se enlaza el cdigo de bajo nivel generado de todos los ficheros y subprogramas que se han mandado a compilar y se aade el cdigo de las funciones que hay en las bibliotecas del compilador para que el ejecutable pueda comunicarse directamente con el sistema operativo, traduciendo as finalmente el cdigo objeto a cdigo mquina, y generando un mdulo ejecutable. Estos dos pasos se pueden hacer por separado, almacenando el resultado de la fase de compilacin en archivos objetos; para enlazarlos en fases posteriores, o crear directamente el ejecutable; con lo

Informtica Ingeniera Electrnica y Ambiental

Pgina 9

que la fase de compilacin se almacena slo temporalmente. Un programa podra tener partes escritas en varios lenguajes (por ejemplo C, C++ y ensamblador), que se podran compilar de forma independiente y luego enlazar juntas para formar un nico mdulo ejecutable. Librera: es un conjunto de subprogramas utilizados para desarrollar software. Las bibliotecas contienen cdigo y datos, que proporcionan servicios a programas independientes, es decir, pasan a formar parte de stos. Esto permite que el cdigo y los datos se compartan y puedan modificarse de forma modular. Algunos programas ejecutables pueden ser a la vez programas independientes y bibliotecas, pero la mayora de stas no son ejecutables. Ejecutables y bibliotecas hacen referencias (llamadas enlaces o LINK) entre s a travs de un proceso conocido como enlace (o link), que por lo general es realizado por un software denominado enlazador o linker. La mayora de los sistemas operativos modernos proporcionan bibliotecas que implementan la mayora de los servicios del sistema. De esta manera, estos servicios se convierten en una "materia prima" que cualquier aplicacin moderna espera que el sistema operativo ofrezca. Conceptos fundamentales Cdigo Fuente: El cdigo fuente es un conjunto de lneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. Por tanto, en el cdigo fuente de un programa est descrito por completo su funcionamiento. El cdigo fuente de un programa es el escrito por un programador en algn lenguaje de programacin. Como vimos, en este primer estado no es directamente ejecutable por la computadora, sino que debe ser traducido a lenguaje de mquina. Para esta traduccin se usan los llamados compiladores. Cdigo Objeto En programacin, se llama cdigo objeto al cdigo que resulta de la compilacin del cdigo fuente. Consiste en lenguaje de mquina y se distribuye en varios archivos que corresponden a cada cdigo fuente compilado. Para obtener un programa ejecutable se han de enlazar todos los archivos de cdigo objeto con un programa llamado enlazador (linker). Cdigo Ejecutable El cdigo que es capaz de ejecutar un procesador.

Informtica Ingeniera Electrnica y Ambiental Unidades de Medida de la Informacin


Definicin:

Pgina 10

Bit: Dgito binario. Es el elemento ms pequeo de informacin del ordenador. Un bit es un nico dgito en un nmero binario (0 o 1). Los grupos forman unidades ms grandes de datos en los sistemas de ordenador siendo el Byte (ocho Bits) el ms conocido de stos. Byte: Se describe como la unidad bsica de almacenamiento de informacin, generalmente equivalente a 8 bits. En espaol, a veces se le llama octeto. Cada byte puede representar, por ejemplo, una letra. 10 Kilobyte: Es una unidad de medida utilizada en informtica que equivale a 1.024 Bytes (2 ). Se trata de una unidad de medida comn para la capacidad de memoria o almacenamiento de las microcomputadoras. Megabyte: es una unidad de medida de cantidad de datos informticos. Es un mltiplo binario del byte, que equivale a 220 (1 048 576) Bytes, traducido comunmente como 106 (1 000 000) bytes. Gigabyte: Es la unidad de medida ms utilizada en los discos duros. Tambin es una unidad de almacenamiento. Debemos saber que un byte es un carcter cualquiera. Un gigabyte, en sentido amplio, son 1.000.000.000 bytes (mil millones de bytes), tambin, cambiando de unidad, 1.000 megas (MG megabytes). Pero con exactitud 1 GB son 1.073.741.824 bytes 1.024 MB. El Gigabyte tambin se conoce como "Giga" Terabyte: Es la unidad de medida de la capacidad de memoria y de dispositivos de almacenamiento informtico. Coincide con algo ms de un trilln de bytes (un uno seguido de dieciocho ceros). El terabyte es una unidad de medida en informtica y su smbolo es el TB. Es equivalente a 240 bytes.

Comandos Bsicos de Linux


Aqu se describen los comandos que todo usuario de Linux debe saber. Adicionalmente se ven las opciones ms tiles que tienen estos comandos. Manejo de archivos y directorios Los comandos que veremos son: ls Lista contenido de un directorio cd Cambia de directorio cp copy un archivo o archivos a destino mv Mueve un archivo/directorio a otro lugar mkdir Crea un directorio rmdir Borra un directorio rm Borra directorios y/o archivos Comando: "ls" Uso: ls [opciones] <argumento> Descripcin: El comando "ls" se usa para listar el contenido de un directorio o directorios, as como tambin para ver algunos de los atributos de los archivos (peso, permisos, fechas, etc.). Es uno de los comandos con ms opciones dentro de Linux, en este documento revisaremos las ms utilizadas. Opciones:

Informtica Ingeniera Electrnica y Ambiental


"-l": "-a": "-d": "-t": "-r": "-F":

Pgina 11

muestra una descripcin larga de los elementos enlistados muestra todos los archivos y directorios, incluyendo los archivos/directorios que comienzan con "." muestra el nombre del directorio, en vez de su contenido ordena la salida por tiempo de modificacin invierte el orden agrega un caracter de referencia dependiendo el tipo de archivo y/o permisos

Nota: Los archivos que comienzan con "." son tomados como "ocultos". El ls es capaz de mostrar archivos en diferentes colores dependiendo de la extension o tipo de archivo o permisos, incluso puede mostrar en colores parpadeantes los links rotos que pueda haber. Los combinacion de colores ms comn es la siguiente: azul para directorios verde para archivos ejecutables rojo para archivos comprimidos o rpm amarillopara archivos de dispositivo (ver /dev/*) celeste para links blandos (soft links) rojo titilante para soft links rotos. violeta para archivos de imagen Ejemplo del comando "ls -l /": [root@SERVER80 root] # ls -l / total 161 drwxr-xr-x 2 root root drwxr-xr-x 4 root root drwxr-xr-x 17 root root drwxr-xr-x 72 root root drwxr-xr-x 11 root root drwxr-xr-x 2 root root drwxr-xr-x 6 root root drwxr-xr-x 2 root root drwxr-xr-x 4 root root drwxr-xr-x 2 root root dr-xr-xr-x 72 root root drwxr-x--- 36 root root drwxr-xr-x 2 root root drwxr-xr-x 3 root root drwxrwxrwt 16 root root drwxr-xr-x 18 root root drwxr-xr-x 26 root root

4096 dic 26 2001 bin 1024 dic 26 2001 boot 77824 feb 4 12:49 dev 8192 feb 4 15:54 etc 4096 feb 2 10:32 home 4096 jun 21 2001 initrd 4096 feb 2 19:15 lib 4096 ago 29 2001 misc 4096 dic 26 2001 mnt 4096 ago 23 1999 opt 0 feb 4 09:48 proc 4096 feb 4 17:31 root 8192 feb 2 19:38 sbin 4096 dic 26 2001 tftpboot 4096 feb 4 15:57 tmp 4096 ene 6 2002 usr 4096 ene 19 13:07 var

La primer columna indica los permisos de acceso y el tipo de archivo. En este caso todos comienzan con "d" ya que son directorios. Luego, siguen tres grupos de tres letras cada uno: "rwx", que corresponden a permisos de lectura (r), escritura (w) y ejecucion/acceso (x). El primer grupo corresponde a los permisos para el usuario dueo de dicho archivo (root, segun la tercer columna). El segundo grupo corresponde a los permisos para el grupo dueo (grupo root, segun la cuarta columna). Y el tercer grupo corresponde a los permisos que se le asignan a los otros usuarios. La segunda columna indica la cantidad de links que dicho archivo posee.

Informtica Ingeniera Electrnica y Ambiental

Pgina 12

La quinta columna indica cuantos bytes ocupa el archivo o directorio, la sexta columna indica la fecha/hora del ltimo acceso al archivo/directorio, y por ltimo la sptima columna nos muestra el nombre del archivo/directorio. Una combinacin muy til es ls ltr que muestra todos los archivos, en formato extendido, ordenados por fecha de manera que los ltimos mostrados son los ms nuevos. Comando: "cd" Uso: cd [directorio] Descripcin: El comando "cd" o "change directory" se utiliza para cambiar del directorio corriente al directorio pasado como argumento. Opciones: Este comando no tiene opciones, pero tiene algunos usos particulares que hacen el trabajo en shell mucho ms efectivo. "-": Vuelve al directorio anterior al ltimo "cd" "" : Sin opciones posiciona al usuario en su directorio de trabajo o "$HOME" ..: Sube un directorio ms arriba Comando: "cp" Uso: cp [opciones] <origen> <destino> Descripcin: El comando "cp" se utiliza para copiar un archivo (o archivos) a su destino. Este destino puede ser un directorio (en el caso que el origen sean varios archivos) u otro archivo. Opciones: "-i": Preguntar antes de sobreescribir un archivo "-r": Har una copia recursiva (obligatoria si el listado origen contiene directorios) "-f": Forzar la copia (mientras tenga permisos no preguntar nada) "-p": Mantiene las propiedades de los archivos origen Comando: "mv" Uso mv [opciones] <origen> <destino> Descripcin: El comando "mv" se utiliza para mover un archivo/directorio (o archivos/directorios) a su destino. Este destino puede ser un directorio (en el caso que el origen sean varios archivos) u otro archivo. Cabe destacar que la razn por la cual no existe un comando para "renombrar" archivos es porque la operacin de "renombrar" es simplemente un movimiento de un archivo a otro nombre. Opciones: "-i": Preguntar antes de sobreescribir un archivo "-u": Mover slo los archivos y directorios que hayan sido actualizados "-f": Forzar el movimiento de archivos (mientras tenga permisos no preguntar nada) Comando: "mkdir" Uso: mkdir [opciones] <directorio> [directorios] Descripcin: El comando "mkdir" se utiliza para crear un directorio, este comando tiene la ventaja de que acepta ms de un directorio como argumento. Esto permite que se puedan crear varios directorios, del mismo nivel, ejecutando el comando una nica vez.

Informtica Ingeniera Electrnica y Ambiental


Opciones: "-p": Crea directorios padres (genera una rama entera del rbol) "-m <permisos>": Crea el directorio con los permisos deseados (formato octal) Comando: "rmdir"

Pgina 13

Uso: rmdir [opciones] <directorio> [directorios] Descripcin: El comando "rmdir" se utiliza para borrar un directorio vaco, este comando tiene la ventaja de que acepta ms de un directorio como argumento. Esto permite que se puedan borrar varios directorios vacos, del mismo nivel, ejecutando el comando una nica vez. Opciones: "-p": Borra toda una rama de directorios vacos Comando: "rm" Uso: rm [opciones] <archivo/directorio> [archivos/directorios] Descripcin: El comando "rm" se utiliza para borrar un archivo o archivos. Una vez ejecutado este comando no es posible recuperar los archivos, por lo tanto se recomienda una extrema precaucin en el uso del mismo. Opciones: "-i": Preguntar antes de borrar cada archivo "-f": Forzar el borrado "-r": Hace un borrado recursivo (borra directorios completos)

Comando: "ln" Uso: ln [opciones] <archivo/directorio origen> <nombre del link> Descripcin: El comando "ln" se utiliza para crear links a archivos o directorios. Como comparacin podramos decir que un link es como un acceso directo de Windows. Cualquier lectura o escritura al link se realizar sobre el archivo o directorio de origen. Si se borra el link el archivo de origen no es afectado. Opciones: "-s": Crea un link "soft" en lugar de uno "hard" Cabe destacar que la similitud con los accesos directos de Windows se nota nicamente con los links "soft", tambien llamados links simblicos. Este tipo de link es el ms usado. Los links "hard" tambin son llamados links fsicos. Ejemplo: Para crear un link al directorio /etc/rc.d llamado rcd en el directorio /root ejecutaremos el siguiente comando: [root@SERVER80 root] # ln -sf /etc/rc.d /root/rcd Procesos Linux es un sistema multi-tarea, por lo tanto es necesario contar con herramientas que nos permitan controlar y monitorear todas las tareas (o procesos) que se estn ejecutando en el sistema. stas son las ms utilizadas. Comando: "ps"

Informtica Ingeniera Electrnica y Ambiental

Pgina 14

Uso: ps [opciones] Descripcin: Muestra los procesos que estn corriendo en el equipo Opciones: "a": muestra todos los procesos que tienen asignada una terminal. "-a": muestra todos los procesos que tienen asignada una terminal, incluyendo los procesos de otros usuarios "x": muestra procesos que no tienen asignada una terminal "u": muestra el listado con nombres de usuarios "l": despliega en forma "larga" Salida de ejemplo comando ps ax $ ps ax PID TTY STAT TIME COMMAND 1? S 0:03 init 2? SW 0:00 [keventd] 3? SW 0:00 [kapm-idled] 4? SWN 0:00 [ksoftirqd_CPU0] 5? SW 0:01 [kswapd] 6? SW 0:00 [kreclaimd] 7? SW 0:00 [bdflush] 8? SW 0:00 [kupdated] 9? SW< 0:00 [mdrecoveryd] 13 ? SW 0:00 [kjournald] 88 ? SW 0:00 [khubd] 181 ? SW 0:00 [kjournald] 732 ? S 0:00 syslogd -m 0 737 ? S 0:00 klogd -2 757 ? S 0:00 portmap 786 ? S 0:00 rpc.statd 970 ? S 0:00 /usr/sbin/sshd 1043 ? S 0:00 sendmail: accepting connections 1071 ? SW 0:00 [scsi_eh_0] 1090 ttyS0 S 0:00 gpm -t ms -m /dev/mouse 1108 ? S 0:00 crond 1184 ? S 0:20 xfs -droppriv -daemon 1220 ? S 0:00 /usr/sbin/atd 1250 tty1 S 0:00 login -- root 1253 tty4 S 0:00 /sbin/mingetty tty4 1254 tty5 S 0:00 /sbin/mingetty tty5 1255 tty6 S 0:00 /sbin/mingetty tty6 1468 tty1 S 0:00 -bash 1528 tty1 SW 0:00 [eth0] 2349 ? S 0:01 oafd --ac-activate --ior-output-fd=12 2804 ? S 0:00 named -u named 3444 tty2 S 0:00 /sbin/mingetty tty2 3446 tty3 S 0:00 /sbin/mingetty tty3 3454 tty1 S 0:00 /bin/sh /usr/X11R6/bin/startx 3463 tty1 S 0:00 xinit /etc/X11/xinit/xinitrc -3464 ? S< 4:05 /etc/X11/X :0 3466 tty1 S 0:00 gnome-session 3516 ? S 0:03 xscreensaver -nosplash 3526 ? S 0:00 gnome-name-service

Informtica Ingeniera Electrnica y Ambiental


3608 3617 3641 3642 3643 4133 4134 4230 4282 ? S ? S ? S pts/1 S pts/1 S pts/1 S pts/1 S pts/1 S pts/2 S 0:00 /bin/sh /usr/bin/abiword 6:01 /usr/share/abisource/bin/AbiWord_d 0:00 in.telnetd: SERVER30.ciua.com.ar 0:00 login -- fabian 0:00 -bash 0:00 su 0:00 -bash 0:00 lynx 0:00 bash

Pgina 15

Introduccin a los Algoritmos


La necesidad de escribir algoritmos surge a partir de la identificacin de un problema para el cual se necesita una solucin. Una parte importante es saber qu problema se va a resolver. Luego, determinar si existe una especificacin simple y precisa. Definicin de Algoritmo: un algoritmo es una serie de pasos o acciones que se realizan para resolver un problema determinado. Es una secuencia finita de instrucciones, cada una de las cuales tiene un significado preciso y puede ejecutarse en una cantidad finita de pasos en un tiempo acotado. Por ejemplo, se quiere preparar una tarta de queso. Una receta, es una formalizacin de los pasos para preparar la tarta de queso. Teniendo en cuenta que los ingredientes son queso de untar, huevos, yogur natural, harina y azcar, la receta para su preparacin es: Encender el horno a 200. Mezclar todos los ingredientes y batirlos hasta que queden bien disueltos y sin ningn grumo. Untar el molde con mantequilla y verter la mezcla. Meter la preparacin en el horno y bajar la temperatura a 170 para su coccin. En 20 o 25 minutos estar lista, apagar el horno y dejarla dos minutos ms . Sacar la tarta del horno, dejarla enfriar unos minutos y luego se lleva al frigorfico hasta el momento de servirse. Observar que: En un nmero finito de pasos se resuelve la receta. En este caso, son 5 pasos a seguir para que la tarta quede lista. Las instrucciones de la receta son precisas. En cada paso, es claro qu accin realizar. Las recetas culinarias son un claro ejemplo de algoritmo. Existe un problema, elementos para solucionarlos, un procedimiento a seguir y un resultado que es el plato listo. Veremos que todas estas cualidades las debe cumplir un algoritmo. En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Ms ejemplos: Ejemplo de un algoritmo para cambiar la llanta a un automvil: 1. Inicio. 2. Traer gato.

Informtica Ingeniera Electrnica y Ambiental


3. Levantar el coche con el gato. 4. Aflojar tornillos de las llantas. 5. Sacar los tornillos de las llantas. 6. Quitar la llanta. 7. Poner la llanta de repuesto. 8. Poner los tornillos. 9. Apretar los tornillos. 10. Bajar el gato. 11. Fin

Pgina 16

Ejemplo de un algoritmo para preparar una taza de caf, tomando en cuenta que se tiene agua caliente, una taza, cuchara, caf, crema y azcar. 1. Inicio. 2. Verter agua caliente en la taza. 3. Tomar con la cuchara el caf. 4. Poner el caf en la taza. 5. Quieres azcar? Si 6 No 8 6. Tomar el azcar con la cuchara 7. Poner el azcar en la taza. 8. Quieres Crema? Si 9 No 11 9. Tomar la crema con la cuchara. 10. Poner crema en la taza 11. Revolver. 12. Fin Estos ejemplos muestran la formalizacin de los pasos a seguir para solucionar problemas de la vida cotidiana. Se plantea una secuencia de pasos precisos que, ejecutndolas en orden, se llega a la solucin del problema. Pre y post condiciones En dichos ejemplos se puede observar que existen condiciones que se deben cumplir antes de realizar el algoritmo (como por ejemplo, disponer de todos los ingredientes de la receta, disponer de una rueda de auxilio y gato, y disponer de todos los ingredientes necesarios para el caf). A estas condiciones que son necesarias que se cumplan antes de comenzar la ejecucin del algoritmo, se las llama pre-condiciones. Se pueden asumir como verdaderas antes de comenzar con la ejecucin de las acciones especificadas en el algoritmo. De la misma forma, existen condiciones post-ejecucin, las cuales son condiciones que surgen a partir de la ejecucin del algoritmo. Es interesante documentar estas pre-condiciones y post-condiciones. Por ejemplo, para la receta de la tarta de queso se puede especificar: Pre-condiciones: se dispone de la cantidad necesaria de harina, huevos, queso, yogur y azcar. Adems se dispone de un horno, recipientes y elementos para batir. Post-condiciones: se obtiene una rica tarta de queso (lo de rico es relativo al cocinero). Dejemos de lado la tarta, el auto y el caf y veamos caractersticas de algoritmos informticos:

Informtica Ingeniera Electrnica y Ambiental

Pgina 17

Las instrucciones de un algoritmo se pueden repetir un nmero finito de veces (si ellas mismas indican repeticin) pero un algoritmo debe terminar despus de ejecutar un nmero finito de instrucciones, sin importar cules fueron los datos o elementos de entrada. Una instruccin es una accin a ejecutar (la puede ejecutar cualquier entidad: un hombre, una computadora, un auto, etc). Dicha instruccin se debe poder realizar o llevar a cabo en un nmero finito de pasos. Es necesario que la instrucciones sean precisas, y que slo signifiquen una sola cosa: es necesario que las instrucciones estn libres de ambigedades. Las caractersticas fundamentales: Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso. Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez (ante la misma entrada de datos). Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento, debe tener un nmero finito de pasos. La definicin de un algoritmo debe describir tres partes: Entrada, Proceso y Salida: Datos de Entrada: un algoritmo tiene cero o ms entradas, es decir cantidades que le son dadas antes de que el algoritmo comience, o dinmicamente mientras el algoritmo corre. Procesamiento de Datos: aqu incluye operaciones aritmtico-lgicas, selectivas y repetitivas; cuyo objetivo es obtener la solucin del problema. Salida de Resultados: permite comunicar al exterior el resultado. Puede tener una o ms salidas, es decir cantidades que tienen una relacin nica respecto a las entrantes. Pseudocdigo El pseudocdigo es una herramienta de programacin en la que las instrucciones se escriben en palabras similares al espaol (en nuestro caso, similar al lenguaje natural que estemos empleando), que facilitan la escritura y lectura de los programas. As, los ejemplos que comenzaremos a estudiar y a escribir, sern en pseudocdigo, donde determinaremos un conjunto finito de palabras claves. Dichas palabras claves estarn escritas en negrita y tendrn una sintaxis y una semntica particular. Cuando hablamos de sintaxis en un lenguaje hablamos de la forma en cmo se escribe dicha instruccin (por el momento, usamos pseudocdigo para escribir nuestros programas, con lo cual la sintaxis podr tener un grado de flexibilidad). A medida que avancemos en la materia y aprendamos el lenguaje de programacin C, su sintaxis se ir definiendo y utilizando. A su vez, la semntica de una instruccin es qu significa dicha instruccin, lo que realiza cada vez que se ejecuta.

Diagramacin Lgica
En general, hay varias formas de escribir un algoritmo, una de las ms conocida es la de diagramacin lgica: El diagrama de flujo es un medio de presentacin visual y grfica de flujo de datos, a travs de un algoritmo, las operaciones ejecutadas dentro del sistema y la secuencia en que se ejecutan. Los smbolos utilizados en la diagramacin lgica son los siguientes: Nombre Descripcin Grfica Indica el principio y el fin del Inicio - Fin I algoritmo respectivamente

Informtica Ingeniera Electrnica y Ambiental


Una variable o constante recibe un valor (numrico o alfanumrico) Si se cumple la condicin el flujo de dato ira por el lado del SI, caso contrario por el NO

Pgina 18

Asignacin

Decisin

SI

Ingreso de datos (por teclado, mouse, dispositivo auxiliar, etc) Ingreso

Egreso

Salida de datos (por pantalla, impresora, dispositivo auxiliar, etc.)

Flujo de Datos

Traslado de informacin Nos da la idea de un orden en la programacin. En algunos casos lleva flecha (direccin) Cuando el espacio del diagrama es insuficiente en la hoja, el conector permite guiarnos a la prxima hoja. Si son varios se suele usar numeracin para referenciarlos Permite la ejecucin de un bloque de instrucciones y la repite mientras que se cumpla una condicin. Hay tres tipos: Mientras , Para y Hacer Mientras

Conector diagramas

entre

Ciclo - bucle

A continuacin mostramos las tres formas.

Mientras

Para

Hacer Mientras

Informtica Ingeniera Electrnica y Ambiental

Pgina 19

condici

s
sentencias

sentencia

condici

sentencias

condici

El diagrama es como un circuito formado con smbolos que encierran las instrucciones y lneas que apuntan hacia la siguiente instruccin de modo que no se pierda el orden. Adems, las operaciones elementales como la entrada de datos, salida de datos, ciclos, etc. se reconocen de las dems instrucciones porque no se encierran en rectngulos sino en otra clase de figuras por lo que segn la figura en la que est encerrada la instruccin se reconoce su significado. Es muy didctico, por lo que es muy fcil de entender as ni siquiera se conozca al programador que dise el algoritmo. I Por ejemplo: Para desarrollar un algoritmo que le permita leer dos valores en las variable A y B, y le permita escribir el resultado de la suma de los dos. Para dar solucin a este ejercicio es necesario realizar tres tareas: A,B Leer los valores de entrada, Calcular la suma de dichos valores Por ltimo, escribir el resultado obtenido de dicha suma. C=A+B

VARIABLES Y CONSTANTES
Un objeto es una Variable, cuando su valor puede modificarse y adems posee un Nombre que lo identifica y un Tipo que describe su uso. Un objeto es una Constante, cuando su valor no puede modificarse y adems posee un Nombre que lo identifica y un Tipo que describe su uso. Cuando definimos una Variable, estamos creando un objeto para el Procesador. La diferencia respecto de la definicin de una constante, es que en el momento de su creacin, el valor del objeto es desconocido, mientras que para una constante no solamente es conocido sino que permanece inalterado durante la ejecucin del procedimiento resolvente. Recurdese que la definicin de los objetos, siempre tiene lugar en el Ambiente. TIPOS DE DATOS El concepto formalmente definido de Dato, se da a continuacin:

C F

Informtica Ingeniera Electrnica y Ambiental

Pgina 20

Es la expresin general que describe los objetos con los cuales opera un procesador. Si llevamos esta definicin al mbito de Programas Codificados en algn lenguaje, la palabra Procesador se sustituye por Computador.
Por Tipo de Dato, entenderemos la Clase que agrupa Datos con idnticas capacidades de operacin. Existen diferencias entre los distintos lenguajes de programacin en cuanto a los Tipos de Datos que se utilizan, las operaciones permitidas entre ellos y el modo en que pueden organizarse (Estructuras mas complejas). En cambio, s podemos encontrar como matiz comn en todos los lenguajes, que los mismos proporcionan un conjunto fijo de Tipos de Datos, llamados Datos Primitivos o Bsicos. Cada Tipo de Dato Primitivo o Bsico, define como se mencion anteriormente, el conjunto de valores que puede asumir una variable, as definida, como potencial contenido. De aqu se desprende que el Tipo de Dato, fija el conjunto de Operaciones aplicables a todos los Datos de su Clase. Los Tipos de Datos Bsicos que manejan la mayora de los Procesadores son: Tipo NUMERICO Tipo LOGICO Tipo CARACTER Estos Tipos se aplican tanto a las Variables como a las Constantes, pero debe observarse que una variable de un determinado Tipo, slo puede tomar como valor una constante del mismo Tipo. A continuacin, se analizarn cada uno de los distintos Tipos Bsicos mencionados: Tipo Numrico : Bsicamente se distinguen dos Subtipos: Tipo Numrico Entero. Tipo Numrico Real. Los Datos Numricos Enteros, debern siempre estar comprendidos entre los valores mnimo y mximo que cada computador establezca. Los Datos Numricos Reales, tendrn en general dos formas de representacin: Apelando a un punto Decimal que separe la mantisa de la parte entera, o bien segn la Notacin Cientfica, utilizable para expresar nmeros muy grandes o muy chicos. Esto entraa a dos maneras de considerar a las expresiones decimales de los nmeros Reales: Notacin Cientfica o Exponencial, y Coma o Punto Flotante, en la cual se fija la cantidad de dgitos significativos (sin considerar ceros a izquierda). En realidad, la notacin de punto flotante, es un tipo de notacin cientfica en un formato particular, denominado normalizado en base 2 (dos). No se har incapi aqu sobre estos mecanismos de representacin, ya que se supone que el lector est familiarizado con ellos. En cuanto a la representacin interna de nmeros reales dentro de un ordenador, dada su complejidad respecto de la representacin de nmeros enteros, se har alguna referencia ms adelente. Tipo Lgico : A este Tipo de Dato, se lo suele llamar tambin Tipo Booleano, en honor al matemtico ingls George Boole, quien cre un Algebra para el tratamiento de los mismos. Por tal razn muchas veces se presentar a tales variables bajo la denominacin de Variables Booleanas.

Informtica Ingeniera Electrnica y Ambiental

Pgina 21

La principal caracterstica que posee este Tipo, es que su valor no es cuantitativo, sino cualitativo. Adems mientras que una variable del tipo numrico puede asumir un gran conjunto de valores (idealmente infinitos) como contenido, una variable Booleana, es binaria y por consiguiente podr asumir dos valores solamente: Verdadero (True) o Falso (False). De este dominio impuesto para el Tipo en estudio, se explica su caracter cualitativo. Estas variables permiten describir Estados del Ambiente mediante un enunciado implcito en las mismas que puede resultar verdadero o falso, dependiendo del instante de la observacin. Las operaciones posibles de definir entre ellas as como tambin sus aplicaciones sern luego estudiadas detalladamente. Tipo Caracter : Involucran a un conjunto ordenado y finito de smbolos que el procesador puede reconocer. Si bien no existe un conjunto estandar, podemos decir que dicho conjunto est bsicamente integrado por: 1) Letras maysculas (desde la A hasta la Z), sin incluir la CH y la LL (eventualmente puede no ser incluida la ). 2) Letras minsculas (desde la a hasta la z), con las mismas restricciones que para las maysculas. 3) Dgitos (del 0 al 9). 4) Caracteres especiales. Estn incluidos aqu smbolos tales como: * + - : ; , " / < > = | \ ~ @ # $ . % ^ & ( ) { } [ ] ` ! ? ' y otros. El espacio en blanco, tambin es considerado un caracter. A continuacin mostramos una tabla con los tipos de datos bsicos y sus rangos de valores: Tipo char int float double void Ancho en bits / bytes 8 bits / 1 byte 32 bits / 4 bytes 32 bits / 4 bytes 64 bits / 8 bytes 0 Rango de Valores -128 a 127 -2.147.483.648 a 2.147.483.647

sin valores

La Tabla ASCII : La palabra ASCII, responde a la sigla de los trminos AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE (Cdigo Americano Standard para el Intercambio de Informacin). En ella se ha asignado un cdigo nico (en Binario, y sus correspondientes en los sistemas de numeracin Decimal y Hexadecimal) a cada uno de los caracteres posibles de reconocer por un computador. Esto constituye implcitamente una ordenacin de los mismos. El lector puede consultar entonces dicha tabla (disponible en muy variadas publicaciones de informtica), para tener conocimiento del conjunto de valores asumibles por un Dato Tipo Caracter. Existen diversas circunstancias bajo las cuales conviene integrar al ambiente objetos (variables) del tipo caracter. Algunos ejemplos sern presentados posteriormente. Podemos sintetizar los Tipos de Datos Primitivos mediante el esquema que se presenta a continuacin:

Informtica Ingeniera Electrnica y Ambiental

Pgina 22

Datos Primitivos Numrico Entero Real Caracte Lgico

Informtica Ingeniera Electrnica y Ambiental Operadores Lgicos


Existen tres Operaciones Lgicas fundamentales:

Pgina 23

1 - Conjuncin Lgica o Producto Lgico: El operador correspondiente se representa mediante los smbolos '^' (propio de la Lgica Proposicional) 'AND' y '.' En el Lenguaje de Programacin C se utiliza el smbolo '&&'. El efecto de este Operador es la evaluacin simultnea del Estado de Verdad de las variables lgicas involucradas. Llamamos Estado de Verdad, a uno cualquiera de los dos valores del conjunto lgico: verdadero o falso. En tal sentido a los Operadores Lgicos en general, se los denomina Conectores Lgicos, puesto que "conectan" predicados (o variables lgicas). As tendremos, por ejemplo que la expresin: A && B, ser Verdadera nicamente si A y B lo son. Cualquier otro arreglo de Estados de Verdad para ambas variables, dar como resultado el Valor Falso, puesto que basta con que una de la dos variables tenga valor Falso, para que ambas no sean simultneamente Verdaderas. Variables Lgicas P Verdadero Verdadero Falso Falso Q Verdadero Falso Verdadero Falso Resultado P && Q Verdadero Falso Falso Falso

2 - Disyuncin Lgica Inclusiva o Suma Lgica: El Operador correspondiente, se representa mediante los smbolos 'v' (propio de la Lgica Proposicional), 'OR' y '+' En el Lenguaje de Programacin C se utiliza el smbolo '||'. El efecto de este operador, es la evaluacin no simultnea del Estado de Verdad de las variables lgicas involucradas. Esto implica que al tener Estado Verdadero por lo menos una de las variables afectadas, la operacin dar un resultado verdadero. As tendremos que la expresin: A || B, ser Falsa nicamente cuando el Estado de ambas variables sea Falso. En cualquier otro caso, la operacin ser Verdadera. Variables Lgicas P Verdadero Verdadero Falso Falso Q Verdadero Falso Verdadero Falso Resultado P || Q Verdadero Verdadero Verdadero Falso

3 - Negacin o Complemento Lgico: Este Operador representado por un guin sobre la Variable a Complementar ejemplo y tambin la palabra NOT al aplicarse a un predicado lgico (simple o compuesto), devuelve el valor opuesto; es decir: si el predicado en cuestin es Falso (valor lgico False), el resultado ser Verdadero (valor lgico True) y recprocamente. En el Lenguaje de Programacin C se utiliza el smbolo '!'. As se tendr que la expresin: !( A || B ), devolver como resultado Verdadero, nicamente cuando las variables A y B adopten simultneamente el estado Falso.

Informtica Ingeniera Electrnica y Ambiental


Pseudocdigo

Pgina 24

Este tema ya fue introducido anteriormente en este apunte. A continuacin detallaremos el conjunto de instrucciones que utilizaremos para comenzar a escribir programas. Se dar el nombre de la instruccin, su sintaxis, su semntica y un ejemplo.

Nombre Inicio Fin Asignacin Inicio Fin

Sintaxis

Semntica Indica el inicio de un programa. Indica el fin de un programa. Se asigna el valor que indica <valor> a la variable de nombre <variable> Inicio Fin X=4

Ejemplo

<variable> = <valor>

Ingreso Egreso

Leer(variable) Leer(variable1, variable2,...) Imprimir(variable) Imprimir(texto,variable) Mientras(condicion) <bloque de instrucciones> Fin Mientras

Ingreso de datos por Leer(nombre) teclado. Leer(edad1, edad2) Imprime por pantalla Imprimir(edad1) el valor de la variable Imprimir(Hay un total o el texto. de: , total, productos) Ejecuta <bloque de instrucciones> mientras condicin es Verdadera Ejemplo a continuacin.

Mientras

Para

Para <var> = <valor1> hasta Repite desde <valor2> incrementar <valor3> <valor1> a <valor2> el bloque de <bloque de instrucciones> instrucciones incrementando la Fin Para variable en <valor3> Hacer <bloque de instrucciones> Mientras (condicin)

Ejemplo a continuacin.

Hacer Mientras

Ejecuta <bloque de Ejemplo a instrucciones> continuacin. mientras la condicin es Verdadera.

Ejemplos de los ciclos de repeticin: Mientras: Leer(dato) Mientras (dato > 0) total = total + dato Leer(dato) Fin Mientras

Para:

Informtica Ingeniera Electrnica y Ambiental

Pgina 25

Para i = 0 hasta 100 incrementar 2 Imprimir(El numero, i, es par) Fin Para

Hacer Mientras:
Hacer Imprimir(Hola) cant = cant + 1 Mientras (cant < 100)

Indentacin: Como se puede observar en la sintaxis y ejemplos empleados, los bloques que pertenecen a un ciclo de repeticin estn escritos dejando un espacio a la izquierda antes de cada instruccin (una especie de sangra, no la que se toma, sino la que se utiliza al escribir un texto). Este mecanimo se lo llama indentacin y es necesario emplearlo para facilitar la lectura y comprensin de los programas. Cada vez que se escribe un bloque de instrucciones (de una o ms instrucciones que estn dentro de otra estructura (Mientras, Para o incluso mismo entre un Inicio y Fin) debe escribirse de forma indentada. Un ejemplo: Inicio Leer(x) Leer(y) z=x+y Imprimir(La suma es: , z) Fin Otro ejemplo, donde se anidan estructuras: dentro de una condicin hay un ciclo de repeticin: observar cmo se va indentando ms hacia la derecha en cada bloque de instrucciones. Inicio Imprimir(Escriba un nmero) Leer(dato) Si (dato > 0) Para i = 0 hasta dato incrementar 1 Imprimir(i) Fin Para Fin Si Fin Qu hace este programa? Qu hace si se ingresa por teclado un 10? y un 100? y un -8? Otro ejemplo ms:

Informtica Ingeniera Electrnica y Ambiental


Inicio Imprimir(Escriba un nmero) Leer(dato) Si (dato > 0) Para i = dato hasta 0 incrementar -1 Imprimir(i) Fin Para Fin Si Fin

Pgina 26

Qu hace este programa? Qu hace si se ingresa por teclado un 10? y un 100? y un -8?

Vous aimerez peut-être aussi