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.
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.
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) Java (Alto nivel) List p = 16f84A int num1=7; Radix hex int num2=9; Org 0 goto inicio int res=num1+num2; Org 5 inicio Movlw 0x7 Movwf 0x40 Movlw 0x9 Addwf 0x40 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).
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 :
Compilador para Pentium fichero EXE (binario) para Pentium Código fuente Compilador para PowerPC fichero EXE para PowerPC en C++ Compilador para Apple fichero EXE para Apple Incompatibles entre ellos Código fuente en Java Compilador Java Fichero binario (no es EXE, sino bytecode) Pentium No es directamente ejecutable, ya que necesita un intérprete que depende de la máquina Pentium Mac En definitiva: Un único código fuente en Java.java Un único compilador Java (librerías y funciones comunes para todos los sistemas) Fichero en formato bytecode.class Java propio del sistema En Sistemas PC/Windows el intérprete es un programa MS/DOS 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("");.
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. ----------------------------------- A V I S O Posible virus destructivo -----------------------------------