Está en la página 1de 18

Universidad de Guanajuato Divisin de Ingenieras Campus Irapuato-Salamanca LENGUAJES DE PROGRAMACIN (Ing.

Jorge Ramos Garca) Introduccin al Lenguaje de Programacin y Conceptos Bsicos. Juan Guillermo Jasso Avila Otoo 2011

Historia Antecedentes de la Informtica. Para muchos la informtica comienza con Charles Babbage, matemtico e inventor ingls, que predijo muchas de las teoras en las que se basan los ordenadores actuales, todo esto en el a principio del siglo XIX. Diseo una maquina diferencial para el clculo de polinomios. La que se utiliz para el clculo de tablas de navegacin y artillera. Como cualquier ordenador actual, la mquina de Babbage tena un mecanismo de entrada y de salida, por medio de tarjetas perforadas. Una memoria, una unidad de control y una unidad aritmtico-lgica. Herman Hollerith tambin utilizaba tarjetas perforadas en la que mediante los agujeros se poda representar el sexo, la edad, la raza, etc.

Nacimiento del Ordenador actual. John Vincent Atanasoft, fsico terico, en la necesidad de facilitar su trabajo de solucin de problemas que necesitaban muchos procesos de clculo, invent la ABC Atanasoff- BerryComputer. En 1946 el matemtico hngaro John Von Neumann propuso una versin modificada del Eniac; el Edvac (Electronic Discrete Variable Automatic Computer) que se construy en 1952. Empleaba aritmtica binaria lo que simplificaba enormemente los circuitos electrnicos de clculo. En 1953 IBM fabric cientficas el 701. su primer computador para aplicaciones

A partir de entonces cada vez fueron apareciendo cada vez ms maquinas, a cada etapa de este proceso de desarrollo se le conocen como generaciones:
1ra Generacin

El Univac 1 marca el comienzo de lo que se llama la primera generacin. Los ordenadores de esta primera etapa se caracterizan por emplear el tubo de vaco como elemento fundamental de circuito.

2da Generacin

En 1958 comienza la segunda generacin cuyas mquinas empleaban circuitos transistorizados. 3ra Generacin

En la tercera generacin aparece la multiprogramacin el teleproceso se empieza a generalizar el uso de minicomputadores. 4ta Generacin

Aparece una cuarta generacin de ordenadores hacia el comienzo de los aos setenta. Las mquinas se caracterizan por la utilizacin de memorias electrnicas en lugar de las de ncleos de ferrita. 5ta Generacin: Los Microprocesadores

Hacia finales de los setenta aparece la que podra ser la quinta generacin de ordenadores. Se caracteriza por la aparicin de los microcomputadores y los ordenadores de uso personal.

Hardware y Software. Hardware El hardware es el elemento fsico del ordenador. Todos los ordenadores digitales modernos son similares conceptualmente con independencia de su tamao. Sin embargo, pueden dividirse en varias categoras segn su precio y rendimiento: el ordenador o computadora personal es una mquina de coste relativamente bajo y por lo general de tamao adecuado para un escritorio (algunos de ellos, denominados porttiles, o laptops, son lo bastante pequeos como para caber en un maletn); la estacin de trabajo, un microordenador con grficos mejorados y capacidades de comunicaciones que lo hacen especialmente til para el trabajo de oficina; el miniordenador o minicomputadora, un ordenador de mayor tamao que por lo general es demasiado caro para el uso personal y que es apto para compaas, universidades o laboratorios; y el mainframe, una gran mquina de alto precio capaz de servir a las necesidades de grandes empresas, departamentos gubernamentales, instituciones de investigacin cientfica y similares (las mquinas ms grandes y ms rpidas dentro de esta categora se denominan superordenadores). En realidad, un ordenador digital no es una nica mquina, en el sentido en el que la mayora de la gente considera a los

ordenadores. Es un sistema compuesto de cinco elementos diferenciados: una CPU (unidad central de proceso); dispositivos de entrada; dispositivos de almacenamiento de memoria; dispositivos de salida y una red de comunicaciones, denominada bus, que enlaza todos los elementos del sistema y conecta a ste con el mundo exterior. Software Es un programa de computadora que contiene las instrucciones responsables de que el hardware (la mquina) realice su tarea. Como concepto general, el software puede dividirse en varias categoras basadas en el tipo de trabajo realizado. Las dos categoras primarias de software son los sistemas operativos (software del sistema), que controlan los trabajos del ordenador o computadora, y el software de aplicacin, que dirige las distintas tareas para las que se utilizan las computadoras. Por lo tanto, el software del sistema procesa tareas tan esenciales, aunque a menudo invisibles, como el mantenimiento de los archivos del disco y la administracin de la pantalla, mientras que el software de aplicacin lleva a cabo tareas de tratamiento de textos, gestin de bases de datos y similares. Constituyen dos categoras separadas el software de red, que permite comunicarse a grupos de usuarios, y el software de lenguaje utilizado para escribir programas.

Partes de una PC PC, personal computer, ordenador personal. Tipo de computadoras compatibles con las especificaciones de IBM. Una PC suele ser de tamao medio, barata, y son utilizadas a nivel hogareo y en empresas pequeas. Suelen estar equipados para cumplir tareas como navegar en internet, hacer documentos, ver videos, juegos, escuchar msica, etc. Las PC pueden ser de mesa o porttiles. La mayora de las PC utilizan una arquitectura de soporte fsico compatible con el PC de IBM, usando procesadores compatibles con x86 realizados por Intel, AMD o Cyrix. Se estima que para fines de 2008, habr 1.000 millones de PCs funcionando en el mundo y 2.000 millones para 2015. El tpico hardware que compone una computadora personal es el siguiente: Su chasis o gabinete.

La placa madre, que contiene: CPU, cooler, RAM, BIOS, buses (PCI, USB, HyperTransport, CSI, AGP, etc.) Fuente de alimentacin. Controladores de almacenamiento: IDE, SATA, SCSI. Controladores del bus de la computadora (paralelo, serial, USB, FireWire), para conectarla a perifricos. Almacenamiento: disco duro, CD-ROM, disquetera, ZIP driver y otros Tarjeta de sonido. Redes: mdem y tarjeta de red.

El hardware tambin puede incluir componentes externos como: Teclado. Mouse, trackballs. Joystick, gamepad, volante. Escner, webcam. Micrfono, parlante. Monitor (LCD, CRT o LED). Impresora.

Las partes de la computadora (aspecto fsico: hardware), tambin llamadas dispositivos de entrada/salida (E/S), son todos aquellos artefactos electrnicos que observamos ilustrados en nuestra computadora:

> CPU (Unidad Central de Proceso) El CPU es una de las partes fundamentales del Hardware. Contiene los circuitos, los procesadores y las memorias que ejecutan las transferencias de informacin. La unidad central de proceso (CPU), es un conjunto de circuitos electrnicos digitales encargados de recibir la informacin de los dispositivos de entrada/salida, procesarla y enviarla de nuevo a los dispositivos de entrada/salida, constituyndose en la parte ms importante del computador. > Pantalla o Monitor 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 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). > Ratn o Mouse Es un dispositivo de forma plana cuyo desplazamiento sobre una superficie lisa horizontal se refleja fielmente en el movimiento del cursor en la pantalla (o monitor) de visualizacin. Existen mouse que funciona con un cable conectado al computador y los que operan sin cable y transmiten las rdenes por rayos infrarrojos (tambin llamado mouse inalmbrico). > Unidad de Disquetes Las unidades de disquetes (o drivers de disquete) son dispositivos de entrada y salida que permiten el cargue y descargue masivo de informacin al computador, as como su almacenamiento y transporte. Operan grabando y leyendo la informacin sobre la superficie de un disquete, modificando sus caractersticas magnticas, por lo cual son un medio magntico. > Unidad (o Drive) de CD-ROM Es la unidad encargada de leer un disco ptico, es decir de lectura mediante un rayo lser, no recargable utilizado para el almacenamiento de informacin en sistemas informticos. siglas de la expresin CD-ROM son Compact Disc Memory que en espaol es disco compacto de slo lectura. Las > Quemador (o Grabadora) de CD Esta unidad no slo lee los cds sino que permite grabar en ellos cualquier clase de informacin, utilizando un programa especialmente diseado para esta funcin (Nero, Roxio CD Creator, etc.). > Unidad de DVD

Read-Only

Esta unidad se encarga de leer DVD (disco de video digital), que es un formato de almacenamiento de datos digitales, tiene una gran capacidad de almacenamiento. Permite guardar desde 4.5 GB (gigabytes) hasta 17 GB. > Unidad de DVD Esta unidad se encarga de leer DVD (disco de video digital), que es un formato de almacenamiento de datos digitales, tiene una gran capacidad de almacenamiento. Permite guardar desde 4.5 GB (gigabytes) hasta 17 GB.

Programacin

Lenguaje artificial que puede ser usado para controlar el comportamiento de una mquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintcticas y semnticas que permiten expresar instrucciones que luego sern interpretadas. Debe distinguirse de lenguaje informtico, que es una definicin ms amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programacin en s misma. . El programador es el encargado de programacin para crear un conjunto final, constituir un programa o utilizar un lenguaje de de instrucciones que, al subprograma informtico.

Los lenguajes de programacin pueden clasificarse segn el paradigma que usan en: procedimentales, orientados a objetos, funcionales, lgicos, hbridos, etc. . Son ejemplos de lenguajes de programacin: php, prolog, ASP, ActionScript, ada, python, pascal, c, basic, JAVA, JavaScript, etc.

Tipos de Software

Si bien esta distincin es, en cierto modo, arbitraria, y a veces confusa, a los fines prcticos se puede clasificar al software en tres grandes tipos:

Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles de la computadora en particular que se use, aislndolo especialmente del procesamiento referido a las caractersticas internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros: o Sistemas operativos o Controladores de dispositivos o Herramientas de diagnstico o Herramientas de Correccin y Optimizacin o Servidores o Utilidades Software de programacin: Es el conjunto de herramientas que permiten al programador desarrollar programas informticos, usando diferentes alternativas y lenguajes de programacin, de una manera prctica. Incluye entre otros: o Editores de texto o Compiladores o Intrpretes o Enlazadores o Depuradores o Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir mltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz grfica de usuario (GUI). Software de aplicacin: Es aquel que permite a los usuarios llevar a cabo una o varias tareas especficas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial nfasis en los negocios. Incluye entre otros: o Aplicaciones para Control de sistemas y automatizacin industrial o Aplicaciones ofimticas o Software educativo o Software empresarial o Bases de datos o Telecomunicaciones (por ejemplo Internet y toda su estructura lgica) o Videojuegos o Software mdico o Software de Clculo Numrico y simblico. o Software de Diseo Asistido (CAD) o Software de Control Numrico (CAM)

Sistemas Operativos

El sistema operativo es el programa (o software) ms importante de un ordenador. 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, es como un polica de trfico, 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, asegurndose de 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 a centenares o millares de usuarios al mismo tiempo. Multiprocesador: soporta el abrir un mismo programa en ms de una CPU. Multitarea: tiempo. Permite que varios programas partes se de ejecuten un solo al mismo

Multitramo: Permite que diversas funcionen al mismo tiempo.

programa

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 operativo llamada procesador de comandos o intrprete de la lnea de comandos. Las interfaces grficas permiten que utilices los comandos sealando y pinchando en objetos que aparecen en la pantalla. .

Ejemplos de Sistema Operativo A continuacin detallamos algunos ejemplos de sistemas operativos: Familia Windows Windows Windows Windows Windows Windows Windows Windows Windows Windows Windows Windows Windows Windows 95 98 ME NT 2000 2000 server XP Server 2003 CE Mobile XP 64 bits Vista (Longhorn) 7

Familia Macintosh Mac Mac Mac Mac OS OS OS OS 7 8 9 X

Familia UNIX AIX AMIX

GNU/Linux GNU / Hurd HP-UX Irix Minix System V Solaris UnixWare

Diagramas de Flujo El Flujograma o Diagrama de Flujo y a su vez los Diccionarios de Datos, consisten en representar grficamente hechos, situaciones, movimientos o relaciones de todo tipo, por medio de smbolos. Segn su formato o propsito, puede contener informacin adicional sobre el mtodo de ejecucin de las operaciones, el itinerario de las personas, las formas, la distancia recorrida el tiempo empleado, etc. Es importante ya que ayuda a designar cualquier representacin grfica de un procedimiento o parte de este. El diagrama de flujo ayuda al analista a comprender el sistema de informacin de acuerdo con las operaciones de procedimientos incluidas, le ayudar a analizar esas etapas, con el fin tanto de mejorarlas como de incrementar la existencia de sistemas de informacin para la administracin. Diagrama de Flujo de Datos Son una de las cuatro herramientas del anlisis estructurado. Es una herramienta grfica que se emplea para describir y analizar el movimiento de los datos a travs de un sistema, ya sea este manual o automatizado, incluyendo procesos, lugares para almacenar datos y retrasos en el sistema. Los DFD, como se les conoce popularmente son la herramienta ms importante y la base sobre la cual se desarrollan otros componentes. La transformacin de datos de entrada en salida por medio de procesos puede describirse en forma lgica e independiente de los componentes fsicos (computadoras, gabinetes de archivos, y procesadores de texto) asociados con el sistema. Conversiones (Smbolos) Un diagrama de flujo es una representacin grfica de un algoritmo o de una parte del mismo. Los diagramas de flujo ayudan en la comprensin de la operacin de las estructuras de control (Si, Mientras).

La ventaja de utilizar un algoritmo es que se lo puede construir independiente mente de un lenguaje de programacin, pues al momento de llevarlo a cdigo se lo puede hacer en cualquier lenguaje. Dichos diagramas se construyen utilizando ciertos smbolos de uso especial como son rectngulos, diamantes, valos, y pequeos crculos, estos smbolos estn conectados entre s por flechas, conocidas como lneas de flujo. A continuacin se detallarn estos smbolos. Nombre Smbolo Funcin Representa el inicio y fin de un programa. Tambin puede representar una parada o interrupcin programada que sea necesaria realizar en un programa. Cualquier tipo introduccin de datos la memoria desde perifricos o registro informacin procesada un perifrico. de en los de en

Terminal

Entrada salida

Proceso

Cualquier tipo de operacin que pueda originar cambio de valor, formato o posicin de la informacin almacenada en memoria, operaciones aritmticas, de transformaciones, etc. Indica operaciones lgicas o de comparacin entre datos (normalmente dos) y en funcin del resultado de la misma determina (normalmente si y no) cul de los distintos caminos alternativos del programa se debe seguir Sirve para enlazar dos partes cualesquiera de un diagrama a travs de un

Decisin

Conector Misma Pgina

conector en la salida y otro conector en la entrada. Se refiere a la conexin en la misma pgina del diagrama Indicador direccin lnea flujo de o de Indica el sentido ejecucin de operaciones de la las

Salida

Se utiliza en ocasiones en lugar del smbolo de salida. El dibujo representa un pedazo de hoja. Es usado para mostrar datos o resultados.

Caractersticas Sinttica: La representacin que se haga de un sistema o un proceso deber quedar resumido en pocas hojas, de preferencia en una sola. Los diagramas extensivos dificultan su comprensin y asimilacin, por tanto dejan de ser prcticos. Simbolizada: La aplicacin de la simbologa adecuada a los diagramas de sistemas y procedimientos evita a los analistas anotaciones excesivas, repetitivas y confusas en su interpretacin. De forma visible a un sistema o un proceso: Los diagramas nos permiten observar todos los pasos de un sistema o proceso sin necesidad de leer notas extensas. Un diagrama es comparable, en cierta forma, con una fotografa area que contiene los rasgos principales de una regin, y que a su vez permite observar estos rasgos o detalles principales. Permitir al analista asegurarse que ha desarrollado todos los aspectos del procedimiento. Dar las bases para escribir un informe claro y lgico. Es un medio para establecer un enlace con el personal que eventualmente operar el nuevo procedimiento. Segn Gmez Rondn, Francisco. Ao 1.995: De uso, permite facilitar su empleo. De destino, permite la correcta identificacin de actividades.

De comprensin e interpretacin, permite simplificar su comprensin. De interaccin, permite el acercamiento y coordinacin. De simbologa, disminuye la complejidad y accesibilidad. De diagramacin, se elabora con rapidez y no requiere de recursos sofisticados.

Como se construye Debe de indicar claramente dnde inicia y dnde termina el diagrama. Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin. Organizar los smbolos de tal forma que siga visualmente el flujo de arriba hacia abajo y de izquierda a derecha. No usar lenguaje de programacin dentro de los smbolos. Centrar el diagrama en la pgina. Las lneas deben ser verticales u horizontales, nunca diagonales. No cruzar las lneas de flujo empleando los conectores adecuados sin hacer uso excesivo de ellos. No fraccionar el diagrama con el uso excesivo de conectores. Solo debe llegar una sola lnea de flujo a un smbolo. Pero pueden llegar muchas lneas de flujo a otras lneas. Las lneas de flujo deben de entrar a un smbolo pro la parte superior y/o izquierda y salir de l por la parte inferior y/o derecha. Evitar que el diagrama sobrepase una pgina; de no ser posible, enumerar y emplear los conectores correspondientes. Usar lgica positiva, es decir, realizar procesos cuando es verdadera la condicin y expresar las condiciones de manera clara (por ej., "no es a =/= de b" ==> "a=b").

Algoritmos

Podemos encontrar muchas definiciones de algoritmo en los textos de programacin, todas ellas muy similares:

Conjunto ordenado y finito de pasos que permite hallar la solucin de un problema. Una secuencia de pasos que conducen a la realizacin de una tarea. Descripcin exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento.

Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lgica de un programa. Es un sistema por el cual se llega a una solucin, teniendo en cuenta que debe de ser definido, finito y preciso. Toda receta, proceso, rutina, mtodo, procedimiento, tcnica, formula que resuelven un determinado problema. Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una accin determinada. Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas. Descripcin precisa de una sucesin de instrucciones que permite llevar a cabo un trabajo en un nmero finito de pasos. Un conjunto de smbolos y procedimientos usados en la realizacin de un clculo.

Las definiciones ms completas o formales:

Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo una tarea en un tiempo ms finito. [Donald E. Knuth, 1968] Descripcin de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988] Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solucin o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo QuispeOtazu, 2004]

Caracteristicas: Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Ser definido: Sin ambigedad, cada paso del algoritmo debe indicar la accin a realizar sin criterios de interpretacin. Ser finito: Un nmero especfico y numerable de pasos debe componer al algoritmo, el cual deber finalizar al completarlos. Tener cero o ms entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende. Tener una o ms salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como nicamente verlos en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programacin que no cuentan con una salida de

resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo. Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada ms ni nada menos que aquello que se requiera para y en su ejecucin.

Pseudocdigos El pseudocdigo (o falso lenguaje) es utilizado por programadores para describir algoritmos en un lenguaje humano simplificado que no es dependiente de ningn lenguaje de programacin. Por este motivo puede ser implementado en cualquier lenguaje por cualquier programador que utilice el pseudocdigo. Las principales caractersticas de este lenguaje son: 1. Se puede ejecutar en un ordenador 2. Es una forma de representacin sencilla de utilizar y de manipular. 3. Facilita el paso del programa al lenguaje de programacin. 4. Es independiente del lenguaje de programacin que se vaya a utilizar. 5. Es un mtodo que facilita la programacin y solucin al algoritmo del programa. Todo documento en pseudocdigo debe permitir la descripcin de: 1. 2. 3. 4. 5. Instrucciones Instrucciones Instrucciones Instrucciones Instrucciones primitivas. de proceso. de control. compuestas. de descripcin.

Estructura a seguir en su realizacin: 1. Cabecera. 1. Programa. 2. Modulo. 3. Tipos de datos. 4. Constantes. 5. Variables. 2. Cuerpo. 1. Inicio. 2. Instrucciones. 3. Fin.

Bibliografa:

www.wikipedia.com http://www.atlas-iap.es/~pepcardo/historia.htm Libro: Informtica bsica

También podría gustarte