Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VILLAVICENCIO 2012
36
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
TABLA DE CONTENIDO
PAG
37
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
Disear programas bajo diagramas de flujo asistido por computador. Implementar diagramas de flujo en lenguajes de programacin.
38
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
considerados como una alternativa grfica al pseudocdigo.
OBJETIVO
OBJETIVO GENERAL
Identificar y comprender la terminologa bsica del entorno en el que trabaja Java e instalar entornos de desarrollo en el computador para poder aplicar los diferentes tipos de variables en la codificacin de programas.
OBJETIVOS ESPECFICOS
Define el problema e identifica su importancia en el contexto de la programacin. Identifica y define tipos de datos, variables y constantes, lenguajes de programacin y Java como un lenguaje de programacin. Reconoce la importancia de los Entornos Integrados de Desarrollo. Instala Entornos integrados de Desarrollo.
PRUEBA INICIAL
a. Realizar un algoritmo que permita leer dos valores, determinar cul de los dos valores es el menor y escrbalo b. Realizar un algoritmo que sume dos nmeros.
39
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
en el proceso de
FUNDAMENTOS DE PROGRAMACION
El diagrama de flujo son figuras conectadas por medio de flechas que van entre lazados por unos procedimientos a seguir, para la ejecucin y resolucin de problemas.
a. Debe de indicar claramente dnde inicia y dnde termina el diagrama. b. Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin. c. Organizar los smbolos de tal forma que siga visualmente el flujo de arriba hacia abajo y de izquierda a derecha. d. No usar lenguaje de programacin dentro de los smbolos. e. Centrar el diagrama en la pgina. f. Las lneas deben ser verticales u horizontales, nunca diagonales.
41
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y C, respectivamente. El algoritmo debe imprimir cual es el mayor y cul es el menor. Recuerde constatar que los tres valores introducidos por el teclado sean valores distintos. Presente un mensaje de alerta en caso de que se detecte la introduccin de valores iguales. Pseudocdigo:
1. Inicio 2. Inicializar las variables A, B y C 3. Leer los tres valores 4. Almacenar en las variables A, B yC 5. Si A > B y A > C Entonces 6. Escribir A Es el mayor 7. Sino 8. Si B > A y B > C Entonces 9. Escribir B Es el mayor 10. Sino 11. Escribir C Es el mayor 12. Fin_Si 13. Fin_Si 14. Fin
42
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
Determinar la hipotenusa de un tringulo rectngulo conocidas las longitudes de sus dos catetos. Desarrolle el algoritmo correspondiente. 1. Inicio 2. Declaracin de Variables: CatA= 0, CatB=0 3. Leer el valor de cada cateto 4. Almacenarlo en la variable CatA y CatB 5. Calcular el valor de Hip con la formula indicada 6. Escribir el valor de la Hipotenusa 7. Fin
43
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
3.1.2
EJERCICIOS DESARROLLAR
PARA
a. Realiza un algoritmo que le permita determinar el rea de un rectngulo. b. Desarrolle un algoritmo que le permita determinar de una lista de nmeros: b.1. Cuntos estn entre el 50 y 75, ambos inclusive? b.2. Cuntos mayores de 80? b.3. Cuntos menores de 30?
44
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
5. TEMA 2: LA PROGRAMACIN
Este tema incluye la definicin de los conceptos bsicos del mdulo de Fundamentos de la programacin como son: Problema, programa y pseudocdigo. Por otra parte, se abordan los tipos de datos y los conceptos iniciales de programacin con la clasificacin de los lenguajes de programacin, caractersticas del lenguaje de programacin Java, los entornos de desarrollo y la explicacin sobre el procedimiento de instalacin de Jcreator.
5.1 EL PROBLEMA
Un problema se puede asociar a un conjunto de hechos, eventos o circunstancias que no permiten el logro de un objetivo. Los problemas a nivel de programacin surgen a partir de la necesidad, ausencia, complementacin o mejora de algn proceso. Un problema se puede considerar como una situacin que se debe resolver. Un problema puede ser un asunto de lo que se espera una solucin. Un problema es la observacin de una serie de sntomas.
5.2 UN PROGRAMA
Es una serie de sentencias e instrucciones almacenadas que al ser ejecutadas en el computador, producen resultados que pueden ser impresiones de datos, clculos de resultados, listado de productos, clientes, proveedores, entre otros. Los programas corresponden al software almacenado en un computador para realizar tareas determinadas. Software de sistema: Son los sistemas operativos (Windows, Linux, Unix, entre otros). Software de programacin: brinda herramientas de programacin para construir programas informticos (Java, C++, Visual Basic, entre otros). Software de aplicacin: Para realizar tareas especficas Word, Excel, entre otros.
5.3 LENGUAJES DE PROGRAMACION
Corresponde al conjunto de variables, palabras reservadas y smbolos, que permiten al desarrollo de procesos, clculos, decisiones, consultas, generacin de reportes, entre otros, al ser ejecutados en un computador.
45
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION Los lenguajes de programacin permiten la construccin de aplicaciones, ya que estas pueden ser ledas o digitadas por diferentes programadores.
Nombre Lenguaje
Los lenguajes de programacin permiten a los programadores procesar datos e informacin en un computador. Segn sean los requerimientos se podr hacer uso de algunos de los anteriores mencionados en la imagen. 46
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
5.3.1 CARACTERISTICAS DEL LENGUAJE JAVA Lenguaje de programacin de alto nivel. Centrado en la WEB Orientado a Objetos Es independiente de la plataforma (Windows, Linux, Unix, entre otros)
5.3.2 ENTORNOS INTEGRADOS DE DESARROLLO Se encuentra un editor de texto, que es donde se escribe o digita el programa, se guarda o graba en cualquier dispositivo de almacenamiento como el disco duro, se compila para verificar si eta bien digitado y finalmente se ejecuta el programa para ver si se cumplen los objetivos. Un ejemplo de esto es si se necesita multiplicar dos nmeros e imprimir el resultado, entonces el programa deber pedir que se le ingrese el multiplicando, el multiplicador y al realizar el proceso imprime el resultado.
47
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
5.3.4 Instalacin de Jcreator 1. Debe en su PC contar el JDK que se obtiene de http://java.sun.com/ 2. Copiar en la PC en un directorio D:\java el JCreatorV3LE.zip y desempacarlo (Una gua de problemas para Jcreator se encuentra en http://www.jcreator.com/faq.htm) 3. Ingresar a la carpeta D:\java\JCreatorV3LE\JCreatorV3LE y correr el exe JCreator.exe 4. Seleccionar .java como asociacin de archivos (Next)
48
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
49
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
50
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
8. Puede observar con cual versin de JDK est trabajando si ingresa al men Configure / Options / JDK Profiles / Edit (Cancel Cancel) En caso no cuente con el JDK tendr agregar uno con el botn New
51
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
52
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
53
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
FUNDAMENTOS DE PROGRAMACION
55
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION 7. Grabe el cdigo ( File / Save), complelo (Build / Compile File) y ejectelo (Build / Ejecute File) La compilacin no debe contener errores.
8. Para activar la lnea de comandos en Jcreator Elija Configure/ Options del men. Seleccione JDK Tools Seleccione Run Application Presione Edit. Se mostrara la configuracin del JDK Habilite con un checkbox Prompt for main method arguments
56
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
3.2.4
EJERCICIOS DESARROLLAR
PARA
Consultar que otros IDEs existen para java Descargue Eclipse y realicen la instalacin de este IDE Descarguen el tutorial de Java
57
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
En Java, para las entradas de datos estndar por teclado, se harn uso de las siguientes clases: BufferedReader DataInputStream Scanner
BufferedReader
Esta clase de paquete io permite la entrada de datos. Tiene el mtodo readline() que admite la entrada de datos de tipo String por teclado. En el caso de que sea un dato numrico, deber realizarse la correspondiente conversin. Ejemplo1 El siguiente programa permite que se ingrese un nombre por teclado y genera una salida o impresin con el mensaje: - Hola seguido del nombre digitado. Import java.io.*; public class LecturaTeclado { public static Void main(String Arg[]) throws IOException { BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in)); String nombre; System.out.print(Digite el nombre); nombre = entrada.readline(); System.out.println(Hola +nombre); } 58
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION } Digite el programa anterior, gurdelo, complelo y ejectelo. Ejemplo2 Al siguiente programa se le ingresa un nmero por teclado y lo eleva al cuadrado imprimiendo el resultado. Entrada 2 Salida 4
Import java.io.*; public class Cuadrado { public static Void main(String Arg[]) throws IOException { BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in)); String num=; Int numero=0; Int cuad=0; System.out.print(Digite un numero); num = entrada.readline(); numero=Integer.parseInt(num); cuad=numero*numero; System.out.println(El cuadrado de +numero+es+cuad); } } Digite el programa anterior, gurdelo, complelo y ejectelo. Ejemplo3 Programa que imprime la raz cuadrada de un nmero ingreso por teclado. Import java.io.*; public class RaizCuadrada { 59
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION public static Void main(String Arg[]) throws IOException { BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in)); String num=; double numero=0; double raiz; System.out.print(Digite un numero); num = entrada.readline(); numero=Double.parseDouble(num); raiz=Math.sqrt(numero); System.out.println(La raz cuadrada+numero+es+raiz); } } Digite el programa anterior, gurdelo, complelo y ejectelo.
DataInputStream
Se utiliza para generar objetos que permiten la entrada de datos, adems, tiene mtodos asociados que admiten la lectura o entrada de datos por teclado, como readline(). Ejemplo1 Digita un nmero y calcula el seno del mismo. Import java.io.*; public class Seno { public static Void main(String Arg[]) throws IOException { DataInputStream entrada = new DataInputStream(System.in); String num=; double numero=0; double seno; System.out.print(Digite un numero); num = entrada.readline(); numero=Double.parseDouble(num); seno=Math.sin(numero); System.out.println(El seno de+numero+es+seno); 60
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
Scanner
Esta clase no se incluye de forma automtica y por eso se debe incluir mediante la palabra reservada as: import java.util.Scanner; Import java.util.*; Import java.io.*; public class LecturaScanner { public static Void main(String Arg[]) throws IOException { Scanner input = new Scanner (System.in); String cadena=; System.out.print(Digite el nombre); cadena = input.next(); System.out.println(Hola +cadena); } }
3.3.2 DESARROLLAR
EJERCICIOS
PARA
Elabore un programa que calcule el rea del tringulo, ingresando los tres valores de los segmentos de la recta que lo conforman En la entrada los datos son de tipo String y despus se convierten al correspondiente tipo de dato. Consulte el mtodo para las conversiones a datos de tipo long y doubl y elabore un programa en el que aplique los resultados de su consulta.
6.2 Paquete Swing
El paquete swing es utilizado para el desarrollo de las aplicaciones de interfaz grfica que le permiten al usuario una interaccin ms amigable con la aplicacin. Incluye componente como etiquetas, botones, tablas, marcos, reas de texto, entre otros que vas a ser utilizados durante el desarrollo del curso. La Clase JOptionPane Se encuentra en el package javax.swing.JOptionPane que es necesario importar. showMessageDialog es un mtodo que permite imprimir un mensaje por pantalla o capturar una informacin para una variable. Ejemplo import javax.swing.JOptionPane; public class saludo{ public static void main(String args[]) { JOptionPane.showMessageDialog(null, Bienvenido a Java); Systemexit(0); } }
62
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION A continuacin el programa permite la lectura de un dato que en este caso es el nombre. import javax.swing.JOptionPane; public class nombre{ public static void main(String args[]) { String nombre; nombre=JOptionPane.showInputDialog(Digite su nombre); JOptionPane.showMessageDialog(null, Hola+nombre); Systemexit(0); } }
63
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
El mtodo showInputDialog, tambin permite seleccionar opciones de un combo, para el caso se tiene una lista de perifricos del computador.
64
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
Al dar clic en el combo se presentan las diferentes opciones del men desplegable, que se muestra a continuacin
Digite, ejecute y compile el siguiente programa y con el aporte de sus compaeros, agreguen ms datos de las partes que integran el computador a la lista. public class perifricos{ public void main(String args[]){ String resultados; Object[] datos= {Computador,Multimedia,Monitor,CD,DVD, Mouse,Teclado}; resultados=(String)JOptionPane.showinputDialog(null,Seleccione Dispositivo,Perifericos ,JOptionPane.QUESTION_MESSAGE, null, datos,datos[0]); system.exit(0); } }
3.4.2
EJERCICIOS DESARROLLAR
PARA
65
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION Elabore un programa que calcula e imprima la hipotenusa de un tringulo rectngulo a partir de los catetos. Construya un programa en Java que imprima el cociente de dividir dos nmeros. Elabore 5 programas con entorno de consola y 5 con entorno grafico que apliquen los mtodos anteriormente mencionados.
2. El mtodo definido en la clase DataInputStream que permite la lectura de datos es: a) b) c) d) println(); showMessageDialog(); showInputDialog(); realine();
67
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
4. PISTAS DE APRENDIZAJE
Tener en cuenta: Aprender a programar es un objetivo que se plantea mucha gente y que no todos alcanzan. Hay que tener claro que aprender programacin no es tarea de un da ni de una semana: aprender programacin requiere al menos varios meses y, si hablamos de programacin a nivel profesional, varios aos. No queremos con esto desanimar a nadie: en un plazo de unos pocos das podemos estar haciendo nuestros primeros programas y ver los primeros resultados, pero aprender a programar es mucho ms que eso. Vamos a tratar de exponer nuestra visin sobre una forma adecuada de enfrentarnos al aprendizaje de la programacin. Tener presente: Antes de empezar a programar en un lenguaje debemos tener fundamentos de programacin que nos servirn para todos los lenguajes, al igual que para construir una casa debemos tener antes cimientos que nos permitan continuar la construccin de forma slida. Empezar a programar directamente en un lenguaje sin tener fundamentos de programacin consideramos que llevar a que se requiera ms tiempo y no se obtengan tan buenos resultados como si se empezara con fundamentos de programacin. Traer a la memoria: En primer lugar diremos que aprender a programar es una expresin bastante indefinida. Existen cientos de lenguajes de programacin y de variantes, versiones, modificaciones, etc. as como distintos enfoques en cuanto a los objetivos (programacin web, aplicaciones de gestin, aplicaciones de bases de datos, etc.). Por tanto aprender a programar es bastante ambiguo: es como decir quiero aprender a pintar. Nos permitira centrarnos mejor definir un objetivo ms especfico: Quiero aprender a dibujar comics estilo manga. El problema para los no iniciados es muchas veces que la programacin es un campo muy cambiante, donde hay una continua proliferacin de versiones y pugnas entre casas comerciales que hacen que los lenguajes cambien muy rpidamente y nadie sepa muy bien qu es lo ms conveniente aprender.
68
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS
FUNDAMENTOS DE PROGRAMACION
5.
GLOSARIO
abstract: Abstracto. Aplicable a clases o mtodos. array: Variable que posee varias posiciones para almacenar un valor en cada posicin. Las posiciones son accedidas mediante un ndice numrico. break: Palabra clave que finaliza la ejecucin de un bucle o de una instruccin switch. bucles: Tipo de estructura iterativa, que permite repetir un conjunto de instrucciones un nmero variable de veces. clase: Estructura que define como son los objetos, indicando sus atributos y sus acciones. clase base: Clase de la cul se hereda para construir otra clase, denominada derivada. Excepcion: Objeto empleado para representar una situacin de excepcin (error) dentro de una aplicacin java. interfaz: Define un tipo de datos, pero slo indica el prototipo de sus mtodos, nunca la implementacin. JDK: Java Development Kit, es el conjunto de herramientas proporcionadas por sun, que permite compilar y ejecutar cdigo java. mquina virtual: Es la encargada de ejecutar el cdigo java. multiplataforma: Posibilidad de existir en varias plataformas (sistemas operativos) Sobrescritura: Poseer el mismo mtodo, pero con cdigo distinto, en una clase base y en una clase que deriva de ella. transformacin de datos: Cmo cambiar el tipo de una informacin, por ejemplo cambiar el literal "23" al valor numrico 23.
6. BIBLIOGRAFA
69
Corporacion Iberoamerica de Ciencia y Tecnologia CIBERCTEC SAS