ebook img

Algoritmos con Java PDF

164 Pages·2004·0.97 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Algoritmos con Java

Universidad Autónoma de Occidente UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERÍAS DEPARTAMENTO DE CIENCIAS DE LA INFORMACIÓN PROGRAMA DE INGENIERÍA INFORMÁTICA INFORMÁTICA 1 (Algoritmos con Java) MATERIAL RECOPILADO POR LOS PROFESORES J. ANTONIO LEMOS B. Y EDUARDO VICTORIA Z. SANTIAGO DE CALI, AGOSTO DE 2004 Informática I. Versión 1.0 Agosto de 2004 1 Universidad Autónoma de Occidente ASIGNATURA: INFORMÁTICA 1 CODIGO: 532219 CREDITOS: 3 PRERREQUISITOS: 22 créditos aprobados CARACTERÍSTICAS: HOMOLOGABLE, VALIDABLE FACULTAD: INGENIERÍA PROGRAMA: INGENIERÎAS DEPARTAMENTO QUE FRECE: CIENCIAS DE LA INFORMACIÓN AREA: INFORMÂTICA PERIODO ACADÉMICO: Agosto – Diciembre de 2004 OBJETIVO GENERAL Capacitar al estudiante en el diseño e implementación de algoritmos computacionales, utilizando los conceptos básicos de la algoritmia, e introduciéndolo en el estudio de la programación orientada a objetos. OBJETIVOS ESPECÍFICOS (cid:131) identificar los sistemas básicos de numeración y sus operaciones fundamentales. (cid:131) Comprender las operaciones básicas de la lógica booleana. (cid:131) Modelar procesos mediante técnicas algorítmicas. (cid:131) Reconocer y aplicar correctamente las diferentes estructuras de decisión y de repetición en programación de computadores. (cid:131) Conocer y apropiar el paradigma Orientado a Objetos y su aplicación en la programación. CONTENIDO PROGRAMÁTICO UNIDAD 1 - Sistemas numéricos Pág. 7 1.1 Sistema binario 1.2 Sistema octal 1.3 Sistema hexadecimal 1.4 Sistema decimal 1.5 Conversión entre sistemas 1.6 Suma y resta binaria 1.7 Código ASCII y UNICODE 1.8 Clase práctica UNIDAD 2 - Sistemas lógicos Pág. 15 2.1 Conectivos relacionales y lógicos 2.2 Proposiciones lógicas simples y compuestas 2.3 Tablas de verdad para las operaciones lógicas básicas 2.4 Clase práctica UNIDAD 3 - Herramienta de Programación Pág. 29 Informática I. Versión 1.0 Agosto de 2004 2 Universidad Autónoma de Occidente 3.1 Breve historia de los estilos de Programación 3.2 Origen del paradigma Orientado a Objetos 3.3 Definiciones de clases y objetos 3.4 Características básicas del lenguaje Java 3.5 Construcción básica de una aplicación 3.6 Entrada de datos estándar 3.7 Salida de datos estándar 3.8 Descarga e instalación del lenguaje 3.9 Compilación y ejecución de una aplicación 3.10 Clase práctica UNIDAD 4 - Tipos de datos, variables y Operadores (Java) Pág. 61 4.1 Variables 4.2 Palabras reservadas 4.3 Tipos de datos 4.4 Promoción de datos (Casting) 4.5 Operadores aritméticos 4.6 Operador módulo ( % ) 4.7 Operadores de asignación 4.8 Operadores de incremento y decremento 4.9 Operadores relacionales 4.10 Operadores lógicos boléanos 4.11 Precedencia y asociatividad de los operadores 4.12 Clase práctica UNIDAD 5 – Algoritmos Pág. 69 5.1 Historia de la programación 5.2 Tipos de Algoritmos 5.3 Representación de los Algoritmos 5.4 Propiedades de los Algoritmos 5.5 Clase práctica UNIDAD 6 - Sentencias de control en Java Pág. 113 6.1 Sentencias de decisión o selección 6.1.2 Selección simple ( if ) 6.1.3 Selección doble ( if – else ; if – else - if ) 6.1.4 Selección múltiple ( switch ) 6.2 Sentencias de Repetición ( ciclos o bucles): 6.2.1 Ciclo para ( for ) 6.2.2 Ciclo mientras ( while ) 6.2.3 Ciclo haga mientras ( do – while ) 6.3 Clase práctica UNIDAD 7 – Arreglos 7.1 Definición de Arreglos 7.2 Arreglos Unidimensionales Informática I. Versión 1.0 Agosto de 2004 3 Universidad Autónoma de Occidente METODOLOGÍA El profesor dedicará 180 minutos semanales (dos bloques de 90 minutos) a las actividades presenciales, las cuales estarán compuestas por: 1) Clases teórico-prácticas en las cuales el profesor expondrá cada uno de los nuevos temas con ejemplos descriptivos y asignará las lecturas y prácticas necesarias. 2) Talleres (Prácticas Dirigidas) en los cuales, por grupo de estudio, se resolverán ejercicios. El profesor asesorará a los grupos. Al final todos los estudiantes deberán tener resueltos los ejercicios y cada grupo avanzará en el proceso de conocimiento según su particular interés y necesidad de saber. Estos ejercicios realizados en clase deberán ser implementados en computador en las prácticas de laboratorio. 3) Prácticas Independientes: para ser realizadas en las macro-salas de PC’s de la UAO en el tiempo libre del estudiante. 4) Se efectuarán 3 evaluaciones parciales de la asignatura con la ponderación que se muestra en el numeral V. De esta forma, para obtener resultados satisfactorios, el estudiante deberá ir construyendo el conocimiento a través de aproximaciones sucesivas y durante: las clases, talleres, trabajo personal y trabajo en grupo de estudio. EVALUACIÓN Mínimo: 3 talleres, 3 quices y 3 trabajos independientes. Se sugieren grupos de 2 Primer Parcial 15% Segundo Parcial 25% o de 3 estudiantes. Tercer Parcial 25% Talleres y Quices 15% (Algunos talleres como trabajo independiente) Trabajos Adicionales 20% (Trabajo independiente) REFERENCIAS BIBLIOGRÁFICAS 1. Área de Informática UAO, Módulo de Informática 1, Publicaciones UAO. 2. CEBALLOS, Francisco J., JAVA 2 Curso de Programación. Ed. Alfaomega. Ra–Ma. 2000. 3. Joyanes Aguilar Luis & Zahonero Martínez Ignacio, “Programación en Java 2 – Algoritmos, Estructuras de Datos y Programación orientada a Objetos”, Ed. McGrawHill, 2002. 4. DEITEL, H.M., DEITEL, P. J. How to program Java. 3ª Edición. Ed. Prentice Hall. 2000. 5. FROUFE, Augustín. JAVA2 Manual de Usuario y Tutorial. 2ª Edición Ed. Alfa Omega 2000. 6. WU, Thomas C. Introducción a la programación orientada a objetos con Java. Ed. Mc Graw Hill. España. 2000. 7. ARNOW, David. WEISS, Gerald, Introducción a la programación con Java. Un enfoque orientado a objetos. Ed. Addison Wesley. España.2001 ELECTRÓNICAS 1. Descargar el software – J2SE 1.4, del sitio web: http://java.sun.com/downloads 2. Descargar el editor – JCreator 3.0, del sitio web: http://www.jcreator.com 3. Documentación de JAVA (JDK 1.4) http://java.sun.com/j2se/1.4/download.html 4. Tutorial de Java (JDK1.4) http://java.sun.com/docs/books/tutorial/ 5. Free Electronic Books in Java and C++: http://www.ibiblio.org/pub/docs/books/eckel/ 6. FTP: ftp://turing.cuao.edu.co/ Informática I. Versión 1.0 Agosto de 2004 4 Universidad Autónoma de Occidente FUENTES DE DONDE SE RECOPILÓ EL MATERIAL PARA LA ELABORACIÓN DE ESTE MÓDULO DE INFORMÁTICA I. - Universidad de Valencia, España, Depto. de Informática http://informatica.uv.es/docencia/fguia/TI/Libro/PDFs/CAPI4.pdf - Universidad de Oviedo,España, Depto. de Informática Profesor Daniel Gayo. http://di002.edv.uniovi.es/~dani/asignaturas/ - Aprenda Java como si estuviera en primero, Escuela Superior de Ingenieros Industriales de San Sebastián. http://mat21.etsii.upm.es/ayudainf/aprendainf/Java/Java2.pdf - Matemáticas para Computación, Seymour Lipschutz, McGraw – Hill, 1992 - Informática III, Programación Orientada a Objetos (Java), Recopilación: Lyda Peña Paz Informática I. Versión 1.0 Agosto de 2004 5 Universidad Autónoma de Occidente Informática I. Versión 1.0 Agosto de 2004 6 Universidad Autónoma de Occidente UNIDAD 1. SISTEMAS NUMÉRICOS ARITMÉTICA Y REPRESENTACIÓN DE LA INFORMACIÓN EN EL COMPUTADOR Dos de los aspectos básicos que se presentan en el tratamiento de la información, son cómo representarla (de lo cual dependerá sus posibilidades de manipulación) y cómo almacenarla físicamente. La primera se resuelve recurriendo a un código adecuado a las posibilidades internas del computador, que abordaremos en el presente capítulo. La segunda tiene que ver con los llamados soportes de información y es una cuestión que pertenece al ámbito del soporte físico del computador. En la raíz de los desarrollos informáticos está el hecho de que todo dato puede ser representado por un conjunto de bits (Los dígitos de un número binario se conocen como bits -Binary digit – digito binario- por su nombre en inglés), circunstancia que permite a la ALU (Unidad Aritmético-Lógica) realizar un gran número de operaciones básicas utilizando su representación binaria. El paso a códigos binarios es una misión que el computador lleva a cabo automáticamente, por lo que el usuario puede despreocuparse de este proceso. Sin embargo es conveniente tener algunas ideas acerca de la forma como el computador codifica y opera internamente, cuestión indispensable para comprender determinados comportamientos de la máquina. Para ello empezaremos recordando algunos conceptos relativos al sistema de numeración binario y a las transformaciones entre éste y el sistema decimal. 1.1 Sistemas de numeración en informática Llamaremos sistema de numeración en base b, a la representación de números mediante un alfabeto compuesto por b símbolos o cifras. Así todo número se expresa por un conjunto de cifras, contribuyendo cada una de ellas con un valor que depende: a) de la cifra en sí, b) de la posición que ocupa dentro del número. En el sistema de numeración decimal, se utiliza, b = 10 y el alfabeto está constituido por diez símbolos, denominados también cifras decimales: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} (1.1) y, por ejemplo, el número decimal 278.5 puede obtenerse como suma de: 200 70 8 0.5 278 .5 es decir, se verifica que: 278.5 = 2×102 + 7×101 + 8×100 + 5×10-1 Cada posición, por tanto, tiene un peso específico (en el sistema decimal, cada posición además tiene un nombre): Valor en el ejemplo Nombre posición 0 peso b0 8 unidades posición 1 peso b1 7 decenas posición 2 peso b2 2 centenas posición -1 peso b-1 5 décimas Informática I. Versión 1.0 Agosto de 2004 7 Universidad Autónoma de Occidente Generalizando, se tiene que la representación de un número en una base b: N = ... n n n n n . n n n ... (1.2) 4 3 2 1 0 -1 -2 -3 es una forma abreviada de expresar su valor, que es: N = ... n b4 + n b3 + n b2 + n b1 + n b0 + n b-1 ... (1.3) 4 3 2 1 0 -1 donde el punto separa los exponentes negativos de los positivos. Nótese que el valor que tome b determina la longitud de la representación; así, por un lado, resulta más cómodo que los símbolos (cifras) del alfabeto sean los menos posibles, pero, por otra parte, cuanto menor es la base, mayor es el número de cifras que se necesitan para representar una cantidad dada. Como ejemplo veamos cual es el número decimal correspondiente de 175372, en base 8, (cuyo alfabeto es {0, 1, 2, 3, 4, 5, 6, 7} y recibe el nombre de sistema octal). 175372) = 1×85 + 7×84 + 5×83 + 3×82 + 7×81 + 2×80 = 8 = 6×104 + 4×103 + 2×102 + 5×101 + 0×100 = 64250) 10 1.1.1 Definición del Sistema Binario En el sistema de numeración binario b es 2, y se necesita tan sólo un alfabeto de dos elementos para representar cualquier número: {0,1}. Los elementos de este alfabeto se denominan cifras binarias o bits. En la Tabla 1.1 se muestran los números enteros binarios que se pueden formar con 3 bits, que corresponden a los decimales de 0 a 7. Tabla 1.1.- Números binarios del 0 al 7 binario 000 001 010 011 100 101 110 111 decimal 0 1 2 3 4 5 6 7 Estos números son generados así: el primer dígito de derecha a izquierda se multiplica por 20, el segundo por 21 y el tercero por 22; por lo tanto el binario 101 sería 2 1x22 + 0x21 + 1x20 = 1x4 + 0x2 + 1x1 = 5. 1.1.2 Transformaciones entre bases binaria y decimal Para transformar un número binario a decimal: Basta tener en cuenta las expresiones (1.2) y (1.3), en las que b = 2. Ejemplo 1: Transformar a decimal los siguientes números binarios: 110100; 0.10100; 10100.001 110100) = (1×25) + (1×24) + (1×22) = 25 + 24 + 22 = 32 + 16 +4 = 52) 2 10 0.10100) = 2-1 + 2-3 = (1/2) + (1/8) = 0.625) 2 10 10100.001) = 24 + 22 + 2-3 = 16+4+(1/8) = 20125) 2 10 Informática I. Versión 1.0 Agosto de 2004 8 Universidad Autónoma de Occidente Observando el Ejemplo 1 se deduce que se puede transformar de binario a decimal sencillamente sumando los pesos de las posiciones en las que hay un 1, como se pone de manifiesto en el siguiente ejemplo. Ejemplo 2: Transformar a decimal los números: 1001.001) y 1001101) 2 2 1001.001) 1 0 0 1 0 0 1 = 8 + 1 + 1/8 = 9.125) 2 10 pesos(cid:198) 8 4 2 1 ½ ¼ 1/8 1001101) 1 0 0 1 1 0 1 = 64 + 8 + 4 + 1 = 77) 2 10 pesos(cid:198) 64 32 16 8 4 2 1 Para transformar un número decimal a binario: a) La parte entera del nuevo número (binario) se obtiene dividiendo la parte entera del número decimal por la base, 2, (sin obtener decimales en el cociente) de partida, y de los cocientes que sucesivamente se vayan obteniendo. Los residuos de estas divisiones y el último cociente (que serán siempre menores que la base, esto es, 1 o 0), en orden inverso al que han sido obtenidos, son las cifras binarias. Ejemplo 3: Pasar a binario el decimal 26 26 2 26) = 11010) 10 2 0 13 2 1 6 2 0 3 2 1 1 2 1 0 b) La parte fraccionaria del número binario se obtiene multiplicando por 2 sucesivamente la parte fraccionaria del número decimal de partida y las partes fraccionarias que se van obteniendo en los productos sucesivos. El número binario se forma con las partes enteras (que serán ceros o unos) de los productos obtenidos, como se hace en el siguiente ejemplo. Ejemplo 4: Para pasar a binario el decimal 26.1875 separamos la parte fraccionaria: 0.1875 y la parte entera: 26 (ya transformada en el Ejemplo anterior). 0.1875 0.3750 0.7500 0.5000 ×2 ×2 ×2 x2 0.3750 0.7500 1.5000 1.0000 Por tanto, habiéndonos detenido cuando la parte decimal es nula, el número decimal 26.1875 en binario es: 26.1875) = 11010.0011) 10 2 NOTA: un número real no entero presentará siempre cifras después del punto decimal, pudiendo ser necesario un número finito o infinito de éstas, dependiendo de la base en que se represente; por ejemplo el número 1.6) representado en binario sería 1.100110011001...) , requiriendo infinitas 10 2 cifras para ser exacto, como también ocurre con muchos números representados en decimal. Informática I. Versión 1.0 Agosto de 2004 9 Universidad Autónoma de Occidente 1.1.3 Códigos Intemedios Como acabamos de comprobar, el código binario produce números con muchas cifras, y para evitarlo utilizamos códigos intermedios que son bases mayores, que no se alejen de la binaria. Estos se fundamentan en la facilidad de transformar un número en base 2, a otra base que sea una potencia de 2 (22=4; 23=8; 24=16, etc.), y viceversa. Usualmente se utilizan como códigos intermedios los sistemas de numeración en base 8 (u octal) y en base 16 (o hexadecimal). 1.1.3.1 Base Octal Un número octal puede pasarse a binario aplicando los algoritmos ya vistos en secciones anteriores. No obstante, al ser b=8=23, el proceso es más simple puesto que, como puede verse n 25 + n 24 + n 23 + n 22 + n 21 + n 20 + n 2-1 + n 2-2 + n 2-3 = 5 4 3 2 1 0 -1 -2 -3 (n 22 + n 21 + n 20)× 23 + (n 22 + n 21 + n 20)× 20 + (n 22 + n 21 + n 20)× 2-3 = 5 4 3 2 1 0 -1 -2 -3 (m )× 81 + (m )× 80 + (m )× 8-1 1 0 -1 Cada 3 símbolos binarios (3 bits) se agrupan para formar una cifra de la representación en octal, por tanto en general puede hacerse la conversión fácilmente, de la forma siguiente: Para transformar un número binario a octal se forman grupos de tres cifras binarias a partir del punto decimal hacia la izquierda y hacia la derecha (añadiendo ceros no significativos cuando sea necesario para completar grupos de 3). Posteriormente se efectúa directamente la conversión a octal de cada grupo individual de 3 cifras, y basta con recordar como se generaron los números en la tabla 1.1 para poder realizar rápidamente la conversión. Así por ejemplo 10001101100.1101) = 010 001 101 100 . 110 100 2 2 1 5 4 . 6 4 = 2154.64) 8 De octal a binario se pasa sin más que convertir individualmente a binario (tres bits) cada cifra octal, manteniendo el orden del número original. Por ejemplo: 537.24) = 5 3 7 . 2 4 8 101 011 111 . 010 100 = 101011111.0101) 2 Para transformar un número de octal a decimal se aplica la expresión (1.3) con b=8. Para transformar un número de decimal a octal se procede de forma análoga a como se hizo para pasar de decimal a binario dividiendo o multiplicando por 8 en lugar de por 2. Así se puede comprobar que 1367.25) = 759.328125) ó que 760.33) =1370.2507...) 8 10 10 8 1.1.3.2 Base Hexadecimal Para representar un número en base hexadecimal (esto es, b=16) es necesario disponer de un alfabeto de 16 símbolos: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Tabla 1.2.- Números binarios del 0 al 7 Hexadec 0 1 2 3 4 5 6 7 8 9 A B C D E F Décimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Informática I. Versión 1.0 Agosto de 2004 10

Description:
2002. 4. DEITEL, H.M., DEITEL, P. J. How to program Java. 3ª Edición. Descargar el editor – JCreator 3.0, del sitio web: http://www.jcreator.com. 3.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.