Está en la página 1de 12

UPT - EISI Algoritmos e Informtica

2013

SESIN 01: CONCEPTOS BSICOS

TEMARIO Representacin de la Informacin Tipos de Programas Lenguaje de Programacin Definicin de Algoritmos El Proceso de un algoritmo Verificacin del algoritmo o prueba de escritorio Lenguaje Java Etapas De Desarrollo De Un Programa Java Tipos de Programas en Java Software para el desarrollo de programas Java.

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 1

UPT - EISI Algoritmos e Informtica


1. REPRESENTACIN DE LA INFORMACIN a. Dato e Informacin

2013

Son dos trminos que suelen confundirse. Se consideran datos a toda entrada de informacin a una computadora. Estos datos pueden ser administrativos, cientficos, comerciales, etc. son elementos primitivos, de los cuales a travs del procesamiento se obtiene la informacin. Presupuesto, mbito y plazos b. Proceso Computacional El computador es una mquina cuya funcin bsica es llevar a cabo operaciones de cmputo (transformaciones) sobre elementos de datos. Como todas las mquinas, el computador recibe una materia prima (datos de entrada), la transforma a travs de un proceso y devuelve un producto (datos de salida) El proceso computacional es anlogo a una funcin matemtica, con R el rango (datos de salida), D el dominio (datos de entrada) y t() la transformacin. R = t(D) Sin embargo el computador posee una caracterstica primordial que lo diferencia: El proceso que define la transformacin efectuada sobre los datos de entrada puede ser especificado por el usuario; es por ello que se dice que el computador es programable. c. Software Sabemos que el ordenador se compone de un conjunto de componentes conectados entre s. Para que el ordenador funcione es necesario que haya unos programas que le digan paso a paso qu debe hacer. El software es el componente intangible de todo sistema informtico y est formado por una coleccin de reglas e instrucciones que permiten establecer la relacin entre el usuario y la mquina. d. Programas Es una transformacin especfica, definida y expresada de forma que pueda ser utilizada por el computador. Como primera aproximacin, puede definirse programa como un conjunto de pasos, especificados por el usuario en un lenguaje comprensible para la mquina (lenguaje de programacin), que definen el proceso que se efecta sobre los datos; de esto se concluye, que al ejecutarse el programa, se lleva a cabo un proceso computacional.

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 2

UPT - EISI Algoritmos e Informtica


2. TIPOS DE PROGRAMA Sistema operativo, Lenguajes de programacin Programas de aplicacin.

2013

Ilustracin 1: Tipos de Programas

Programa Fuente El concepto de "Programa Fuente" se relaciona de forma directa con los lenguajes de programacin y las aplicaciones creadas, porque precisamente "Programa Fuente" describe el argumento escrito por el programador que da inicio al desarrollo de su obra de software. Programa Objeto Es aquel programa que resulta de la traduccin del lenguaje fuente (lenguaje entendible por el ser humano) a un lenguaje mquina, es decir a aquel que es inteligible por la computadora. Esta tarea es llevada a cabo por los programas intrpretes o compiladores Los intrpretes, realizan la traduccin de manera tal que el lenguaje obtenido puede ser ejecutado directamente por la mquina. En cuanto a los compiladores, no realizan la traduccin directa para que pueda ser ejecutable por la computadora sino que debe utilizar tambin un programa montador o enlazador, conocido como linker, que es el que realiza la accin final que permite que el programa objeto pueda ser ejecutado. 3. Lenguajes de Programacin Se usan para poder dar a un computador las diferentes rdenes que llegan a componer un algoritmo. Segn su nivel de abstraccin los lenguajes de programacin se pueden clasificar: Lenguajes de bajo nivel, son aquellos que se acercan al funcionamiento de la computadora. El lenguaje de ms bajo nivel es por excelencia es el cdigo mquina, a ste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 3

UPT - EISI Algoritmos e Informtica

2013

Lenguajes de alto nivel, son normalmente fciles de aprender porque estn formados por elementos de lenguajes naturales, como el ingls. Algunos ejemplos de estos tipos de lenguajes son. Visual Basic, Java, Power Builder, etc. Lenguajes de medio nivel, hay lenguajes de programacin que son considerados por los expertos lenguajes de medio nivel al tener ciertas caractersticas que los acercan a los lenguajes de bajo nivel, pero teniendo al mismo tiempo, ciertas cualidades que lo hacen un lenguaje ms cercano al humano, por lo tanto de alto nivel. Por ejemplo el lenguaje C.

Ilustracin 2: Top de Lenguajes de Programacin a Febrero 2013


Fuente : TIOBE SOFTWARE

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 4

UPT - EISI Algoritmos e Informtica

2013

4. Definicin de Algoritmo Es un mtodo o conjunto de reglas (sin ambigedades) que se aplican paso a paso en forma ordenada para solucionar problemas. Se define tambin como los pasos ordenados que se deben efectuar para realizar un trabajo o tarea especfica.

Ejemplos de Algoritmo Disear un algoritmo para preparar un litro de limonada: Inicio Llenar una jarra con un litro de agua Exprimir el jugo de 5 limones Aadir el jugo de limones al agua Agregar 5 cucharadas de azcar Revolver el agua hasta que el azcar se disuelva completamente Fin Disear un algoritmo que permita hallar la suma y el promedio de tres nmeros: Inicio Leer nmero 1, nmero 2, nmero 3 Hacer suma = nmero 1 + nmero 2 + nmero 3 Hacer promedio = suma/3 Imprimir suma , promedio Fin

Algoritmo vs Programa Recordemos que el trmino Algoritmo se refiere a la secuencia de pasos para resolver un problema, pero independientemente del lenguaje de programacin que se utilice, mientras que Programa se refiere propiamente a la codificacin de un algoritmo en un lenguaje de programacin. Caractersticas de un algoritmo Las caractersticas fundamentales que debe cumplir todo algoritmo son: Debe ser preciso, es decir debe indicar el orden exacto de la realizacin de cada etapa evitando acciones innecesarias. Debe estar definido, significa que si se ejecuta un algoritmo 2 o ms veces, con los mismos valores inciales, se debe obtener el mismo resultado todas las veces. Debe ser finito, significa que si se sigue un algoritmo, se debe terminar en algn momento, es decir, debe tener un nmero finito de pasos. Debe tener un nico punto de entrada o inicio y uno de salida o fin. Todas las etapas o pasos a seguir son ejecutables

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 5

UPT - EISI Algoritmos e Informtica

2013

Tambin hay que tener en cuenta en un algoritmo: El algoritmo sirve de base para generar un programa, pero no es el programa en s. El algoritmo no es inteligible directamente por el ordenador. El mismo algoritmo puede ser implementado de forma distinta en diversos programas, es decir, dos programadores pueden obtener distintos cdigos fuente a partir del mismo algoritmo. 5. El proceso de un algoritmo La definicin de un algoritmo debe describir tres partes: Entrada, proceso y salida.

Entrada

Proceso

Salida

La informacin proporcionada al algoritmo constituye su entrada, el procedimiento para la solucin del problema constituye su proceso y la informacin producida por el algoritmo constituye su salida. A continuacin ejemplos para un mejor entendimiento: Ejemplo 01: Leer la base y altura de un paralelogramo. Calcular su rea. Datos de Entrada Proceso Datos de Salida ---> ---> ---> base y altura rea = base x altura El rea del paralelogramo

Ejemplo 02: Leer el radio de una circunferencia. Calcular su rea y longitud. Datos de Entrada Proceso Datos de Salida ---> ---> ---> Radio de una circunferencia. rea = r2 y Longitud = 2r El rea y longitud de una circunferencia.

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 6

UPT - EISI Algoritmos e Informtica


6. Verificacin del algoritmo o prueba de escritorio

2013

Una vez escrito el algoritmo es necesario asegurarse de que ste realiza las tareas para las que ha sido diseado, y que por lo tanto produce el resultado correcto y esperado. El modo ms normal de comprobar un algoritmo es mediante su ejecucin manual usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel los valores que van tomando en las diferentes fases, los datos de entrada o auxiliares y, por ltimo los valores de los resultados. Este proceso se conoce como prueba del algoritmo o prueba de escritorio. Haremos una prueba de escritorio de los dos problemas anteriores: Elementos Ejercicio 01 Datos de entrada Proceso Datos de salida r (radio) = 3 (pi) = 3.14 (Solo tomaremos hasta dos decimales) A = r2 L = 2r A = 28.26 L = 18.84 = 3.14 x (3)2 = 2 x 3.14 x 3 Base = 5 Altura = 3 A = base x altura A=5x3 A = 15

Ejercicio 02

Mtodos de representacin de los Algoritmos: Diagrama de Flujo (Convencional) Pseudocdigo Diagrama de flujo estructurado (Nassi-Schneiderman) 7. Lenguaje Java Java es un lenguaje de programacin de alto nivel con el que se pueden escribir programas de cualquier tipo. Se dice que es un lenguaje de alto nivel porque se asemeja ms al lenguaje humano, a diferencia de los lenguajes de bajo nivel que se asemejan ms al lenguaje de las computadoras (conocidos como lenguajes mquina). Los programas escritos en Java no son comprensibles en forma directa por el procesador, por lo que requieren de pasos intermedios de traduccin al lenguaje del computador conocido como lenguaje mquina.

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 7

UPT - EISI Algoritmos e Informtica


8. Etapas De Desarrollo De Un Programa Java Para desarrollar un programa en Java sigue las siguientes etapas: a. Edicin

2013

En esta etapa, se escriben las instrucciones del programa usando el lenguaje Java y se guarda en un archivo cuyo nombre debe terminar con la extensin .java. As, por ejemplo, el archivo podra llamarse Saludo.java. A este programa escrito en Java se denomina cdigo fuente y para escribirlo se puede recurrir a cualquier editor de texto. b. Compilacin En esta etapa, se compila el cdigo fuente usando el compilador de Java, que es un programa denominado javac.exe, con lo que se obtiene un nuevo cdigo conocido como cdigo de bytes, que queda guardado en un archivo con el mismo nombre que el archivo de cdigo fuente, pero con la extensin .class. As, si el archivo de cdigo fuente se denomina Saludo.java, el cdigo de bytes quedar almacenado automticamente en un archivo denominado Saludo.class. c. Ejecucin En esta etapa, el cdigo de bytes es ejecutado por la Mquina Virtual de Java (JVM, siglas en ingls de Java Virtual Machine). El cdigo de bytes es el lenguaje de la JVM. Existe una JVM para cada plataforma (para cada sistema operativo); pero, todas las JVM pueden ejecutar el mismo cdigo de bytes. As, el cdigo de bytes es independiente de la plataforma. Esto hace que los programas Java puedan ser ejecutados en cualquier mquina que disponga de una JVM. Actualmente, existe una JVM para la mayor parte de las plataformas, lo que garantiza que los programas Java sean ampliamente portables.

Ilustracin 3: Compilacin y Ejecucin de un Programa en Java

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 8

UPT - EISI Algoritmos e Informtica


9. Tipos De Programas Java

2013

Java es la base de prcticamente cualquier tipo de aplicacin en red y es el estndar mundial para el desarrollo y entrega de aplicaciones mviles, juegos, contenidos basados en web y software empresarial. Con ms de 9 millones de desarrolladores alrededor del mundo, Java permite desarrollar e implementar de forma eficaz emocionantes aplicaciones y servicios. Con herramientas integrales, un ecosistema maduro y un rendimiento slido, Java ofrece portabilidad a las aplicaciones incluso en los entornos ms diversos. Plataformas Java Platform, Enterprise Edition (Java EE), es el estndar de la industria para la computacin empresarial de Java. Usa el nuevo y liviano perfil web de Java EE 6 para crear aplicaciones web de prxima generacin y todo el poder de la plataforma Java EE 6 para aplicaciones empresariales. Los desarrolladores aprovechan las mejoras de productividad con ms anotaciones, ms POJO, empaque simplificado y menos configuracin XML.

Java Platform, Standard Edition (Java SE), est diseado para permitirle desarrollar aplicaciones seguras, porttiles y de alto rendimiento para la ms amplia gama posible de plataformas computacionales. Al hacer que las aplicaciones estn disponibles para entornos heterogneos, los negocios pueden aumentar la productividad, la comunicacin y la colaboracin del usuario final y as reducir drsticamente el costo de propiedad de las aplicaciones empresariales y de consumidor.

Java Embedded, cuando busca una mayor seleccin, proteccin y potencia, Java es la opcin. Oracle ofrece una amplia gama de soluciones, desde servidores hasta dispositivos incrustados, para dispositivos con recursos limitados y sistemas de clase de escritorio. Estas soluciones proporcionan capacidades de alto rendimiento en tiempo real que le permiten acceder de forma segura a recursos mientras protege sus datos, para que pueda hacer ms con sus dispositivos.

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 9

UPT - EISI Algoritmos e Informtica

2013

Java para dispositivos mviles, Java Platform, Micro Edition (Java ME) se usa para una gran cantidad de desarrolladores Java de telfonos mviles, proveedores de telecomunicaciones y OEM para crear productos de funciones de telfono alrededor del mundo. Oracle es el proveedor lder de tecnologas para telfonos mviles que se encuentran en ms de tres mil millones de dispositivos y contando.

JavaFX, es una plataforma de interfaz de usuario avanzada de Java para aplicaciones empresariales de negocios y el siguiente paso en la evolucin de Java como una rica plataforma de primer nivel para clientes. Al usar Java en el lado del servidor y del cliente de las aplicaciones, los desarrolladores pueden disminuir bastante el riesgo al reducir la complejidad de las soluciones de negocios. 10.Software Para El Desarrollo De Programas Java Para el desarrollo de programas Java usaremos el siguiente software: Java SE Development Kit (JDK), que contiene el compilador, la JVM y a las Libreras del lenguaje. El JDK fue desarrollado inicialmente por Sun Microsystems y posteriormente comprado por Oracle, la direccin es http://www.oracle.com/us/sun/index.html

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 10

UPT - EISI Algoritmos e Informtica

2013

NetBeans IDE es un entorno de desarrollo - una herramienta para que los programadores puedan escribir, compilar, depurar y ejecutar programas. Est escrito en Java - pero puede servir para cualquier otro lenguaje de programacin. Existe adems un nmero importante de mdulos para extender el NetBeans IDE. NetBeans IDE es un producto libre y gratuito sin restricciones de uso. Puede ser descargado desde: https://netbeans.org/

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 11

UPT - EISI Algoritmos e Informtica

2013

JCreator LE, que es un Entorno Integrado de Desarrollo (IDE, siglas del ingls Integrated Development Environment) que permite editar, compilar y ejecutar programas Java. Para la compilacin y ejecucin se requiere tener instalado el JDK. JCreator LE puede ser descargado de la pgina de Xinox Software cuya direccin es http://www.jcreator.com A parte de JCreator LE existen otros Entornos Integrados de Desarrollo profesionales como JBuilder de Borland, Visual Caf de Symantec, Eclipse de IBM, JDeveloper de Oracle, Visual Age de IBM, etc.

Sesin 01: Conceptos Bsicos Ing. Haybert Escobedo Neyra

Pgina 12