Pruebas de escritorio Es un proceso que consiste en hacer seguimiento a un algoritmo recorriendo sus líneas simulando el funcionamiento del procesador del computador. Ejemplo: Realizar un algoritmo que escriba los números del 1 al diez. Desarrollo: desde v ← 1 hasta 10 incremento 1 hacer escribir(v) fin_desde Prueba de escritorio V imprimir 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 Nótese que se la hace un seguimiento a la variable que esta sirviendo de índice, teniendo en cuenta su incremento; también observamos la impresión, es decir, los datos de salida del algoritmo. La prueba de escritorio se debe repetir tantas veces como sea necesario para lograr la certeza en los procesos a llevar a cabo por el algoritmo. Tipos de datos Definiendo de una forma sencilla, se puede decir que un dato es cualquier cosa que ocupa un espacio en la memoria del computador. Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como “b”, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable. Introducción a la programación Profesor: Julio César Meza Ramírez Los datos pueden ser: Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes. Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que se presentan como el resultado de una comparación entre dos datos (numéricos o alfanuméricos): Alfanuméricos (String): Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir, no es posible hacer operaciones con ellos, este tipo de datos se representan encerrados entre comillas. Ejemplo: “Universidad de Caldas” “2007” Lenguajes de programación Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Un lenguaje de programación permite a uno o más programadores especificar de manera precisa sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma colaborativa. Lenguajes de bajo nivel Una dada solo puede entender directamente su propio lenguaje de maquina. El lenguaje de máquina es el “lenguaje natural” de una computadora en particular, y está definido por el diseño del hardware de esa computadora. Los lenguajes de máquina generalmente consisten en cadenas de números (que en ultima instancia se reducen a unos y ceros) que ordenan a la computadora realizar sus operaciones mas elementales una por una. Introducción a la programación Profesor: Julio César Meza Ramírez Los lenguajes de máquina son dependientes de la máquina; es decir, un lenguaje de máquina en particular sólo puede usarse en un tipo de computadora. Los lenguajes de máquina son difíciles de usar para las personas, por esto se crearon lenguajes de ensamblador; su función es abreviar un poco las cadenas de números utilizando palabras en ingles para representar las funciones básicas de la computadora. El uso de los computadores aumento rápidamente con la aparición de los lenguajes de ensamblador. Pero éstos todavía requerían muchas instrucciones para llevar a cabo las tareas más sencillas. Lenguajes de alto nivel A fin de acelerar el proceso de programación, se desarrollaron lenguajes de alto nivel en los que se podía escribir un solo enunciado para realizar estas tareas sustanciales. Los programas traductores que convierten los programas escritos en lenguaje de alto nivel a lenguaje de maquina se denominan compiladores. Los lenguajes de alto nivel permiten a los programadores escribir instrucciones que semejan el ingles cotidiano (o una mezcla de ingles y otro idioma) y contienen notaciones matemáticas de uso común. Obviamente, los lenguajes de alto nivel son mucho mas deseables desde el punto de vista del programador que los lenguajes de maquina o ensamblador. C, C++ y Java se encuentran entre los lenguajes de alto nivel más potentes y de uso más difundido. Demostración: Desarrolle un programa que dados 7 y 9 ejecute su respectiva suma. Assembler (Bajo nivel) List p = 16f84A Radix hex Org 0 goto inicio Org 5 inicio Movlw 0x7 Movwf 0x40 Movlw 0x9 Addwf 0x40 Java (Alto nivel) int num1=7; int num2=9; int res=num1+num2; En la demostración anterior se puede observar claramente la diferencia de un programa escrito en un lenguaje de bajo nivel (Assembler), y un lenguaje de alto nivel (Java). Introducción a la programación Profesor: Julio César Meza Ramírez Java Orígenes del Java La empresa Sun Microsystems decidió introducirse en el mercado de la electrónica de consumo para desarrollar programas para pequeños dispositivos electrónicos (tostadoras, microondas, TV interactiva, etc.), para ello “Sun” creó una filial denominada FirstPerson Inc. James Gosling de “First Person Inc”, a partir del C++ crea un nuevo lenguaje de programación (1991), que llamó Oak para solucionar el gran problema de “programación” en la electrónica de consumo: - En la electrónica de consumo, los chips electrónicos correspondientes cambian muy rápidamente: una pequeña diferencia en el precio de un chip, por ejemplo. Al utilizar el lenguaje “C++”, si cambiamos el chip, es necesario rehacer todos los programas, para adaptarlos al nuevo dispositivo electrónico. Un programa escrito en “OAK” no necesita rehacerse para compilarse de nuevo, al cambiar el chip. En definitiva, si programamos en “Oak” no es necesario cambiar el programa, si varía el chip donde está implementado. En 1995 tras un cambio de nombre y mejoras en su diseño se presentó el “Java” en sociedad. Características del Java - El “Java” es un lenguaje de programación completo orientado a objetos. - El “Java” se diseñó a partir del “C++” con el propósito de: • Ser reducido • Sencillo • Rápido • Eficiente • Transportable (en diversas plataformas y sistemas operativos) - Con “Java” podemos crear dos tipos de programas: • Aplicaciones Completas • Applets Un “applet” (pequeña aplicación) es un programa java, que se ejecuta en una página web para generar animaciones, gráficos con efectos interactivos, juegos, etc. - La principal característica del Java es su “independencia de la plataforma”: Introducción a la programación Profesor: Julio César Meza Ramírez Código fuente en C++ Compilador para Pentium fichero EXE (binario) para Pentium Compilador para PowerPC fichero EXE para PowerPC Compilador para Apple fichero EXE para Apple Incompatibles entre Código fuente en “Java” Compilador Java Fichero binario (no es EXE, sino bytecode) No es directamente ejecutable, ya que necesita un intérprete que depende de la “máquina” ellos Intérprete Pentium Intérprete Pentium Intérprete Mac En definitiva: Un único código fuente en Java .java Un único compilador Java (librerías y funciones comunes para todos los sistemas) En Sistemas PC/Windows el intérprete es un programa MS/DOS Introducción a la programación Profesor: Julio César Meza Ramírez Fichero en formato bytecode .class Intérprete Java propio del sistema Ejecución del programa Primer programa en Java En nuestro primer programa imprimiremos la cadena de caracteres “hola mundo” en la pantalla. public class Main { public static void main(String[ ] args) { System.out.print("hola mundo"); } } Ahora analicemos el programa anterior línea por línea: Primera línea: public class Main: • Define una clase de carácter público, es decir se podría acceder a esta desde cualquier parte del programa. Segunda línea: public static void main(String[ ] args): • public: Indica que la función es pública, se puede usar desde cualquier otra clase. • static: Indica que la función es estática. • void: Se incluye cuando una función no devuelve ningún valor • main: Es el nombre de la función • String [ ] args: Indica que es un array de tipo String llamado ‘args’ NOTA: En cualquier clase tiene que haber un main, si no da error. Tercera línea: System.out.print("hola mundo"); : • En la tercera línea imprimimos nuestra cadena de caracteres en la pantalla, esto mediante la función “System.out.print("");. Introducción a la programación Profesor: Julio César Meza Ramírez Notas importantes: • • • Todas las sentencias en Java deben terminar con punto y coma “ ; “ El uso de las llaves se cambian por las sentencias “inicio – fin” del pseudocódigo Java es un lenguaje de programación case sensitive, es decir, reconoce mayúsculas y minúsculas. Taller: Teniendo en cuenta el código anterior, utilizando la función System.out.print(""); haga un programa que produzca en la pantalla en siguiente resultado. ----------------------------------| | | AVISO | | Posible virus destructivo| | | ----------------------------------- Introducción a la programación Profesor: Julio César Meza Ramírez