EN JAVA
TERCER SEMESTRE
Componente de Formación para el Trabajo
Nombre: ________________________________________________
Plantel:_________________________________________________
Compendio de lecturas,
prácticas y ejercicios. Módulo I:
Introducción a la Programación
Docentes participantes:
1. Diseño algorítmico.........................................................................................................5
1.1. Operadores y Jerarquía de operadores................................................................5
1.2. Variables y Constantes..........................................................................................9
1.3. Modelo de Solución...............................................................................................13
1.4. Pseudocódigo.......................................................................................................14
2. Diagrama de flujo...........................................................................................................16
2.1. Definición..............................................................................................................16
3. Lenguaje de Programación............................................................................................19
3.1. Definición de Programación..................................................................................19
3.2. Definición de Programación..................................................................................20
3.3. Elementos del Lenguaje........................................................................................20
3.4. Palabras reservadas y Comentarios.....................................................................24
3.5. Entorno de Desarrollo de Eclipse para Java.........................................................32
3.6. Estructura Básica de un Programa.......................................................................44
3.7. Interfaz Gráfica (Etiqueta, Cuadros de texto, Botones, etc.)................................44
4.Arreglos...........................................................................................................................47
4.1. Arreglos Unidimensionales...................................................................................47
4.2. Arreglo Multidimensional.......................................................................................48
I
INTRODUCCIÓN A LA
PROGRAMACIÓN
PROPÓSITO: Aplica el modelo de solución, algoritmos y diagramas de flujo para la
solución de problemas de su entorno e implementa dicho diseño en el
lenguaje de programación.
Submódulo
1 PROGRAMACIÓN I
COMPETENCIAS GENÉRICAS CLAVE
4. Escucha, interpreta y emite mensajes pertinentes en distintos contextos mediante la
utilización de medios, códigos y herramientas apropiados.
4.1 Expresa ideas y conceptos mediante representaciones lingüísticas, matemáticas o gráficas. CG4.1
4.5 Maneja las tecnologías de la información y la comunicación para obtener información y CG4.5
expresar ideas.
5. Desarrolla innovaciones y propone soluciones a problemas a partir de métodos
establecidos.
5.1 Sigue instrucciones y procedimientos de manera reflexiva, comprendiendo como cada uno de CG5.1
sus pasos contribuye al alcance de un objetivo.
5.2 Ordena información de acuerdo a categorías, jerarquías y relaciones. CG5.2
5.6 Utiliza las Tecnologías de la Información y Comunicación para procesar e interpretar CG5.6
información.
4
Programación I
Programación en Java
1. DISEÑO ALGORÍTMICO
Uno de los propósitos de las computadoras es manejar información. La información está formada
por datos. Un dato es toda aquella información característica de una entidad, que es susceptible de
tratamiento en un programa informático. También es la expresión general que describe los objetos
con los cuales opera una computadora.
En un programa los datos de entrada se transforman por el programa hasta producir datos de
salida. Para la solución de problemas, definir adecuadamente las estructuras de los datos es tan
importante como el diseño mismo de la solución del problema.
Todos los datos tienen un tipo asociado con ellos que nos servirá para poder conocer con qué
información trabajaremos. Por ejemplo, cuando ingresamos el sueldo de un trabajador necesitamos
que este contenga decimales, o al solicitar la edad de una persona ésta tiene que estar con números
enteros, etc. Además hay operaciones que no tienen sentido como la suma entre caracteres.
¾¾ Operadores
Los operadores especifican el tipo de cálculo que se quiere desarrollar en los elementos de una
expresión. Los operadores se pueden clasificar en las siguientes categorías:
1. Aritméticos 4. Alfanuméricos
2. Relacionales 5. Asociativos
3. Lógicos
1. Operadores aritméticos
Los operadores aritméticos son usados para realizar cálculos matemáticos. Algunos de los
operadores aritméticos se listan a continuación:
5
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
EJEMPLOS:
Supóngase que unas variables a y b tienen valores 10 y 3, respectivamente. Se muestran
a continuación varias expresiones aritméticas en las que aparecen estas variables,
acompañadas del resultado.
Para resolver una expresión aritmética se deben seguir las siguientes reglas:
¾¾ Jerarquía de operadores
El resultado de evaluar una expresión aritmética es un número. Ahora bien, cuando aparecen dos o
más expresiones aritméticas, ¿cómo saber qué operaciones hay que realizar primero?
1) 3 + 7 = 10
2) 7 * 4 = 28
Sabemos que la matemática es exacta, entonces si hay una única respuesta, ¿cómo la obtenemos?
Sea la expresión: X2 + 1 / 2
6
Programación I
Programación en Java
Observa que esta expresión es totalmente diferente a esta otra (X2+1)/2, por lo que es importante
codificar las expresiones aritméticas correctamente. Los paréntesis nos indican un orden para
realizar las operaciones. Pero no siempre nos darán los paréntesis, por lo se creó la jerarquía de
operadores.
La jerarquía varía de lenguaje a lenguaje, por lo que es importante que cuando usted vaya a codificar
en algún lenguaje, lo primero que debe revisar es la jerarquía que corresponde a ese lenguaje.
¾¾ Reglas de prioridad
7
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
EJEMPLO 1
X=3+4*6/3*2–6*8/3*4+5*3/2*2
SOLUCIÓN
Lo primero que haría el computador es recorrer la expresión buscando paréntesis, luego expresiones
de potencia (o sea el símbolo ^ para resolverlo de primero debido a que éste es el operador de mayor
peso en la jerarquía). Como no encuentra ninguno, entonces vuelve al principio de la expresión y
comienza a buscar (y resolver a medida que los encuentre) multiplicaciones y divisiones.
X=3+4*6/3*2–6*8/3*4+5*3/2*2
X = 3 + 24 / 3 * 2 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2
X=3+8*2–6*8/3*4+5*3/2*2
X = 3 + 16 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2
X = 3 + 16 – 48 / 3 * 4 + 5 * 3 / 2 * 2
X = 3 + 16 – 16 * 4 + 5 * 3 / 2 * 2
X = 3 + 16 – 64 + 5 * 3 / 2 * 2
X = 3 + 16 – 64 + 15 / 2 * 2
X = 3 + 16 - 64 + 7.5 * 2
X = 3 + 16 – 64 + 15
X = 19 – 64 + 15
X = -45 + 15
X = -30 Respuesta.
Con lo cual hayamos que, luego de resuelta la expresión, el valor que quedará almacenado en la
variable X será el valor –30. Es muy importante que cuando tenga que resolver una expresión de
estas, lo haga paso a paso, sin apresuramientos y verá como obtiene, sin mayores tropiezos, el
mismo resultado que le daría al computador.
EJEMPLO 2
A=5*2/2*2+6*4/2*2–4*6*2/2*3/2
SOLUCIÓN
Como en esta expresión no existen paréntesis, operaciones de potenciación ni signo, entonces
se procede a resolver el siguiente nivel de la jerarquía, de izquierda a derecha (multiplicaciones y
divisiones)
8
Programación I
Programación en Java
A= 5*2/2*2+6*4/2*2–4*6*2/2*3/2
A = 10 / 2 * 2 + 6 * 4 / 2 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A= 5*2+6*4/2*2–4*6*2/2*3/2
A = 10 + 6 * 4 / 2 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 24 / 2 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 12 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 24 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 24 – 24 * 2 / 2 * 3 / 2
A = 10 + 24 – 48 / 2 * 3 / 2
A = 10 + 24 – 24 * 3 / 2
A = 10 + 24 – 72 / 2
A = 10 + 24 – 36
A = 10 + 24 – 36
A = 34 – 36
A = -2 Respuesta.
Cuando programemos, necesitamos un lugar donde guardar los datos con los que operamos, ya
sean números, texto, etc.
Estos datos pueden variar o no durante el proceso de ejecución del algoritmo, según esa variación,
pueden ser:
◊ Variables: es un objeto en el que su contenido puede variar durante el proceso de ejecución del
algoritmo, se identifican por un nombre y su tipo de valores que puede contener para realizar un
uso correcto (lo veremos más adelante). Por ejemplo: acumulación se una suma, realizar una
cuenta, etc.
◊ Constantes: es un objeto que permanece sin cambios durante todo el desarrollo del algoritmo.
Por ejemplo: el número Pi, el IVA, etc. Para distinguirlos de las variables, podemos ponerle el
nombre en mayúsculas, esto es simplemente un consejo.
1 Inicio
2 A=-5
3 B=-3
4 C=-A+B
5 Fin
Algo muy recomendable a la hora de programar es llamar a las variables por un nombre significativo
sobre lo que contenga para mejorar su legibilidad. Por ejemplo, si queremos almacenar un día del
mes, esa variable se puede llamar día o si queremos almacenar el total de un producto, podemos
usar precio_final.
9
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
Es recomendable no dejar espacios en blanco e inicializar las variables que no tiene que ser
introducidas por el usuario, también ser inicializada en 0.
Por último, vamos a hablar de unas variables especiales que se usan para ciertas funciones, el
nombre de las variables pueden ser el que nosotros queramos como ya hemos dicho antes, lo
especial de estas variables es la expresión (una suma, varias operaciones, etc.) que utiliza. Estas
variables son:
yy Contadores: se utilizan para contar cualquier suceso que se necesite dentro de un programa.
Se realiza en dos operaciones:
yy Inicialización: se inicia en 0 si realiza una cuenta natural o desde un valor inicial, si queremos
realizar otro tipo de cuenta.
yy Incremento: aumenta el valor de la variable en 1 si es una cuenta natural o con otro valor, si se
desea realizar otro tipo de cuenta. La expresión que se utiliza para la variable es:
contador = contador + constante
Recuerda que contador, es el nombre que le hemos dado a la variable que puede ser el que
queramos, la constante puede 1 o cualquier número que queramos.
yy Acumuladores: se utilizan para acumular resultados parciales de cálculos con una misma
operación. Se realiza en dos operaciones:
yy Inicialización: debe ser inicializado con un valor neutro según el tipo de operación que
realicemos, si es una suma se inicializará en 0 y si es un producto se inicializará en 1.
yy Acumulación: realiza la acumulación con estas expresiones según el tipo de operación:
acumulador <- acumulador+variable o acumulador <- acumulador*variable
yy Interruptores: se utilizan para transmitir información de un punto a otro dentro del programa.
Se inicializan en un valor y en donde nosotros veamos que sea conveniente cambiamos el valor
al contrario, esto es de mucha utilidad cuando veamos los bucles y las estructuras de control.
Sólo pueden tomar dos valores:
1. Por su valor.
2. Con un nombre (identificador).
Ejemplo 1: Las siguientes constantes de tipo entero están expresadas por su valor:
-5
10
10
Programación I
Programación en Java
Para expresar una constante con un nombre, la constante debe ser declarada previamente. Todas
las constantes que se declaran en un programa son definidas de la misma forma, indicando de cada
una de ellas:
Y para declarar más de una constante en una misma línea, las separaremos por medio de comas
(,).
Ejemplo 2: De modo que, si se quieren declarar las constantes de tipo entero del ejemplo anterior,
asignándoles un identificador, se puede escribir, por ejemplo:
TEMPERATURA = -5
MES = 10
O también:
En programación es una buena práctica escribir los identificadores de las constantes en mayúsculas,
de esta forma es más fácil localizarlos en el código de un programa (o algoritmo). Durante la
ejecución de un programa, por medio del identificador de una constante, se puede hacer referencia
al valor (dato) que simboliza, tantas veces como sea necesario.
Ya sabemos que en la programación tenemos que estar muy atentos a la sintaxis (estructura de una
palabra), pues es importantísimo, ya que si no está bien escrito un comando, no va a funcionar esa
línea en el código del programa y peor aún, si esa línea está ligada a las líneas de más adelante
pues no funcionará ni ésta ni las de más adelante (como una cadena).
11
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
Reglas:
* una variable no puede:
Explicación: los lenguajes de programación tienen “palabras reservadas“, o sea que esas palabras
sólo pueden ser usadas por el programa, por eso llevan el nombre de “reservadas“, pues si
supongamos el caso de que un lenguaje de programación “X” tiene sus palabras reservadas. Entre
las cuales está: “integer“, entonces eso quiere decir que el usuario NO debe declarar una variable
con el nombre “integer“, porque va a tener conflictos más adelante.
Explicación: pues en los lenguajes de programación hay sintaxis que deben cumplirse al pie de la
letra, entonces dice que las variables sólo pueden llevar letras, números y el guión medio, ejemplo:
Vemos que insertó caracteres especiales, además de que uso el guión normal (no el guión bajo),
por lo tanto puede que el programa entienda que es una resta, entonces está mal declarado por
sintaxis.
Explicación: por sintaxis como ya hemos visto, deben cumplir con estas reglas, entonces no se
puede comenzar con un número, ya que se debe comenzar por una letra como dice la regla,
ejemplo:
4. Deben iniciar con un carácter (no número) como vimos en la regla 3, y también puede
comenzar con un guión bajo ( _ ).
12
Programación I
Programación en Java
Explicación: las variables no pueden llevar espacios en blanco, sólo pueden ser separadas por
un signo dedicado a ser usado como un espacio, el cual es el guión bajo ( _ ), entonces en una
variable cuando vean un guión bajo, prácticamente están separando algo ( para que no parezca
una ensalada ), ejemplo:
Estas fases se pueden representar de una forma secuencias donde claramente se pueden identificar
su orden de ejecución, siguiendo el flujo de la información.
13
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
Antes de entrar de lleno en el establecimiento del significado del término pseudocódigo, se hace
necesario que procedamos a determinar el origen etimológico de las dos palabras que le dan forma:
33 Pseudo deriva del griego, de “seudo”, que puede traducirse como “falso”.
33 Código, por su parte, emana del latín. En concreto, de “codices, codex” que se empleaban
para referirse a los documentos o libros donde los romanos tenían escritas todas y cada una
de sus leyes.
Estas definiciones nos permiten comprender qué es un pseudocódigo, una noción que se emplea
en el ámbito de la informática. Se trata de un falso lenguaje, ya que apela a las normas de
estructura de un lenguaje de programación aunque se encuentra desarrollado para que pueda ser
leído por un ser humano y no interpretado por una máquina.
El pseudocódigo, en este sentido, está considerado como una descripción de un algoritmo que
resulta independiente de otros lenguajes de programación. Para que una persona pueda leer e
interpretar el código en cuestión, se excluyen diversos datos que no son clave para su entendimiento.
Un pseudocódigo, por lo tanto, se emplea cuando se pretende describir un algoritmo sin la necesidad
de difundir cuáles son sus principios básicos. De esta manera, un ser humano encontrará mayores
facilidades para comprender el mensaje, a diferencia de lo que ocurriría si estuviese frente a un
lenguaje de programación real.
33 Una cabecera, que, a su vez, se debe componer de cinco áreas diferenciadas como son el
programa, el módulo, los tipos de datos, las constantes y las variables.
33 El cuerpo, que se dividirá en inicio, instrucciones y fin.
Además de todo lo expuesto, se hace importante establecer otra serie de datos de interés
relativos a cualquier pseudocódigo:
14
Programación I
Programación en Java
1. Inicio
2. numero1=0, numero2=0, resultado=0
3. Leer “Escribe el primer número: ”, numero1
4. Leer “Escribe el segundo número: “, numero2
5. resultado=numero1+numero2
6. Imprimir “El resultado de la suma es: ”, resultado
7. Fin
A=(b*h)/2
h
área=(b*h)/2
b área=(base*altura)/2
1. Inicio
2. área=0, base=0, altura=0
3. Leer “Escribe la base del triángulo: ”, base
4. Leer “Escribe la altura del triángulo: ”, altura
5. área=(base*altura)/2
6. Imprimir “El área del triángulo es: ”, área
7. Fin
15
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
2. DIAGRAMA DE FLUJO
2.1. Definición___________________________________________________________________
¾¾ Símbolos utilizados
Los símbolos que se utilizan para diseño se someten a una normalización, es decir, se hicieron
símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos
para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que
solo aquel que conocía sus símbolos, los podía interpretar.
La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a las
normas preestablecidas universalmente para dichos símbolos o datos. Los siguientes símbolos son
los principales:
Flujo de datos: Indica la secuencia (flujo) de operación del diagrama, que a su vez
indican el sentido y trayectoria.
Inicio o fin: Se utiliza para señalar el comienzo así como el final de un diagrama.
Tradicionalmente se colocan las palabras "INICIO" o "FIN" dentro de la figura para
hacerlo más explícito.
Decisión: Se utiliza para representar una pregunta o interrogante que tiene al menos
dos respuestas posibles, para cada una de las cuales hay un camino de continuación
del proceso. Lo anterior hace que a partir de éste el proceso tenga dos o más caminos
posibles.
Conector: Representa un punto de conexión entre procesos. Se utiliza cuando es
necesario dividir un diagrama de flujo en varias partes o procesos dentro de la misma
hoja, por razones de espacio o simplicidad. Se usa para conectar procesos contenidos
dentro de la misma hoja. La mayoría de las veces se utilizan números en los círculos
para hacer la referencia.
Entrada de datos: Representa una operación de entrada. En este símbolo se indican
los valores iniciales que deberá recibir el proceso. Esto se hace asignándoles letras o
nombres de variables para cada uno de los valores y anotando estas letras en el interior
de la figura.
Despliegue de resultados: Este símbolo se utiliza para mostrar un resultado, el
cual puede representar la solución al problema que se pretende resolver y que fue
conseguida a través del resto del diagrama. Dentro de su interior se anotará la variable
con el resultado final o el mensaje que represente el resultado del algoritmo.
16
Programación I
Programación en Java
33 Existe siempre un camino que permite llegar a una solución (finalización del algoritmo).
33 Existe un único inicio del proceso.
33 Existe un único punto de fin para el proceso de flujo (salvo del rombo que indica una
comparación con dos caminos posibles).
33 Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y
el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final
la entrada al proceso siguiente.
33 Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso
a describir y su orden cronológico.
33 Si el nivel de detalle definido incluye actividades menores, listarlas también.
33 Identificar y listar los puntos de decisión.
33 Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes
símbolos.
33 Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso
elegido.
Existen ciertas reglas para el diseño de los diagramas de flujo, las cuales deben seguir para dar una
adecuada interpretación del algoritmo. Éstas son:
17
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
( ) Flujo de datos 1)
( ) Inicio o fin 2)
( ) Proceso 3)
( ) Decisión 4)
( ) Conector 5)
( ) Entrada de datos 6)
( ) Despliegue de resultados 7)
18
Programación I
Programación en Java
ACTIVIDAD
Elaborar los diagramas de flujo de todos los pseudocódigos que se elaboraron anteriormente.
3. LENGUAJE DE PROGRAMACIÓN
La programación informática es el proceso por medio del cual se diseña, codifica, limpia y protege
el código fuente de programas computacionales. A través de la programación se dictan los pasos a
seguir para la creación del código fuente de programas informáticos. De acuerdo con ellos el código
se escribe, se prueba y se perfecciona.
La programación se guía por una serie de reglas y un conjunto pequeño de órdenes, instrucciones
y expresiones que tienden a parecerse a una lengua natural acotada. El lenguaje de programación,
son todas aquellas reglas o normas, símbolos y palabras particulares empleadas para la creación
de un programa y con él, ofrecerle una solución a un problema determinado.
19
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
Ahora bien, dependiendo del lenguaje que se elija, se puede hablar del tipo de programación que
se va a realizar. Algunos de ellos son:
Programación secuencial: son aquellos programas que se diseñan con directrices que van
en secuencia una detrás de la otra. Por ejemplo: Cobol, Basic.
Programación lógica o de lenguaje natural: son aquellos programas que se diseñan con
interfaces, de tal manera que el usuario pueda darle órdenes a la máquina utilizando un
lenguaje simple. Por ejemplo: Prolog.
¾¾ Tipos de datos
Un tipo de datos es la propiedad de un valor que determina su dominio (qué valores puede tomar),
qué operaciones se le pueden aplicar y cómo es representado internamente por el computador.
Todos los valores que aparecen en un programa tienen un tipo.
20
Programación I
Programación en Java
Cuando asigna valor de un tipo de datos a otro, los dos tipos pueden no ser compatibles entre sí. Si
los tipos de datos son compatibles, entonces Java realizará la conversión (automáticamente) que
se conoce como Conversión automática de tipos y, en caso negativo, deberá hacer un casting o
convertirlo explícitamente.
En Java existen varias maneras de convertir un tipo de dato a otro, esto se usa según el programador
lo necesite en su programa, voy a mencionar dos formas de hacer la conversión de datos.
1.- Por métodos parseadores del tipo de dato: Este método es muy común para los tipos de datos
numéricos, cuando una cadena que contiene sólo números se quiere convertir a un tipo numérico
se debe usar este método, por ejemplo:
String cadena=”123”;
int x=Integer.parseInt(cadena);
En este caso estamos convirtiendo una cadena que contiene el valor “123” a un número y se lo
asignamos a nuestra variable x, tener en cuenta que se utiliza el parseador para cadenas que
contiene solo caracteres numéricos, si contiene alguna letra arrojará un error.
21
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
String cadena2=”123.45f”;
float y=Float.parseFloat(cadena2);
String cadena3=”99.9999”;
double z=Double.parseDouble(cadena3);
Para convertir un número en una cadena simplemente se puede concatenar el número a una
cadena vacía, esto es:
String cadena=””+123;
Donde tipoDato puede ser un número u otro tipo de dato que se puede convertir a cadena.
El segundo método para convertir los tipos de datos es mediante un forzamiento de tipo. El
forzamiento de tipo es una forma más rápida de convertir un tipo de datos a otro, pero solo funciona
para los tipos de datos que tienen semejanza entre sí, por ejemplo numéricos con numéricos,
cadenas con algún objeto que se pueda convertir a cadena, etc.
Nunca se podrá convertir una cadena a entero por este medio o viceversa.
Esta forma de hacerlo es muy sencillo, solo se tiene que poner paréntesis antes del tipo de dato
original, y entre los paréntesis hay que indicar el tipo de dato a convertir, ejemplo:
float num=33.33f;
int x=(int)num;
//En este caso x se le asigna 33.
double num=5.9999;
float y=(float)num;
int numero=100;
String cadena=(String)numero;
o
String cadena2=”100”;
int numero2=(int)cadena2;
22
Programación I
Programación en Java
¿Qué es una variable? Espacio en la memoria del ordenador donde se almacenará un valor que
podrá cambiar durante la ejecución del programa.
¿Por qué hay que utilizar variables? Porque a la hora de crear un programa surge la necesidad de
guardar datos temporalmente que necesitarás en el futuro en ese mismo programa.
¿Cómo se crea una variable en Java? Especificando el tipo de dato que almacenará en su interior
+ el nombre de la variable. Por ejemplo: int salario;
¿Qué es iniciar una variable? Es darle un valor. Nombre_variable= valor. Por Ejemplo: salario= 2000.
Una variable es el nombre dado a una ubicación de memoria. Es la unidad básica de almacenamiento
en un programa. El valor almacenado en una variable se puede cambiar durante la ejecución del
programa.
En Java, todas las variables deben declararse antes de que puedan ser utilizadas. El valor
almacenado puede cambiarse (variar) a medida que el programa ejecuta sus instrucciones, de ahí
el término “variable“.
Ejemplos:
1. float simpleInterest; //Declarando variable float
2. int time = 10, speed = 20; //Declarando e Inicializando la variable integer
3. char var = ‘h’; // Declarando e Inicializando la variable character
23
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
Por ejemplo, el tipo de dato String se puede especificar para permitir que una variable llamada
“mensaje” contenga texto con esta declaración:
String mensaje;
1. class PrimeraVariable
2. {
3. public static void main ( String[] args ) {
4. String mensaje = “Valor inicial”;
5. System.out.println(mensaje);
6. mensaje = “Valor modificado” ;
7. System.out.println(mensaje); }
8. }
Valor inicial
Valor modificado
Los nombres de variables también deben evitar las palabras clave de Java, ya que tienen un
significado especial en el lenguaje Java.
Hay tres tipos de variables en Java: Variables locales, Variables de instancia, Variables estáticas,
ahora aprendamos sobre cada una de estas variables en detalle.
¾¾ Variables locales
Una variable definida dentro de un bloque, método o constructor se llama variable local.
• Estas variables se crean cuando el bloque ingresado o método se llama y destruye después
de salir del bloque o cuando la llamada regresa del método.
• El alcance de estas variables solo existe dentro del bloque en el que se declara la variable,
es decir, podemos acceder a estas variables solo dentro de ese bloque.
Ejemplo 1:
public class StudentDetails
{
public void StudentAge()
{ //variable local age
int age = 0;
age = age + 5;
System.out.println(“La edad del estudiante es : “ + age);
}
24
Programación I
Programación en Java
En el programa anterior, la variable age (edad) es una variable local para el método StudentAge().
Si usamos la variable age fuera del método StudentAge(), el compilador producirá un error como se
muestra a continuación en el programa.
Ejemplo 2:
¾¾ Variables de instancia
Las variables de instancia son variables no estáticas y se declaran en una clase fuera de cualquier
método, constructor o bloque.
• Como las variables de instancia se declaran en una clase, estas variables se crean cuando
un objeto de la clase se crea y se destruye cuando se destruye el objeto.
• A diferencia de las variables locales, podemos usar especificadores de acceso para variables
de instancia. Si no especificamos ningún especificador de acceso, se utilizará el especificador
de acceso predeterminado.
Ejemplo 1:
import java.io.*;
class Points
{
25
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
class PointsDemo
{
public static void main(String args[])
{ //primer objeto
Points obj1 = new Points();
obj1.engPoints = 50;
obj1.mathsPoints = 80;
obj1.phyPoints = 90;
//segundo objeto
Points obj2 = new Points();
obj2.engPoints = 80;
obj2.mathsPoints = 60;
obj2.phyPoints = 85;
Salida:
26
Programación I
Programación en Java
80
60
85
Como puede ver en el programa anterior, las variables engPoints, mathsPoints, phyPoints; son
variables de instancia. En caso de que tengamos varios objetos como en el programa anterior, cada
objeto tendrá sus propias copias de variables de instancia. Del resultado anterior se desprende que
cada objeto tendrá su propia copia de la variable de instancia.
¾¾ Variables estáticas
• Estas variables se declaran de forma similar a las variables de instancia, la diferencia es que
las variables estáticas se declaran utilizando la palabra clave static dentro de una clase fuera
de cualquier constructor o bloque de métodos.
• A diferencia de las variables de instancia, sólo podemos tener una copia de una variable
estática por clase, independientemente de cuántos objetos creemos.
• Las variables estáticas se crean al inicio de la ejecución del programa y se destruyen
automáticamente cuando finaliza la ejecución.
Para acceder a variables estáticas, no necesitamos crear ningún objeto de esa clase, simplemente
podemos acceder a la variable como:
nombre_clase.nombre_variable;
Ejemplo 2:
27
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
Salida:
Alex tiene un salario promedio de: 1000.0
• Cada objeto tendrá su propia copia de la variable de instancia, mientras que sólo podemos
tener una copia de una variable estática por clase, independientemente de cuántos objetos
creemos.
• Los cambios realizados en una variable de instancia utilizando un objeto no se reflejarán en
otros objetos, ya que cada objeto tiene su propia copia de la variable de instancia. En caso
de estática, los cambios se reflejarán en otros objetos ya que las variables estáticas son
comunes a todos los objetos de una clase.
• Podemos acceder a variables de instancia a través de referencias de objetos y se puede
acceder directamente a las variables estáticas usando el nombre de clase.
¾¾ Creando constantes
La palabra clave “final” es un modificador que se puede usar al declarar variables para evitar
cualquier cambio posterior en los valores que inicialmente se les asignaron.
Esto es útil cuando se almacena un valor fijo en un programa para evitar que se altere
accidentalmente. Las variables creadas para almacenar valores fijos de esta manera se
conocen como “constantes“, y es convencional nombrar constantes con todos los caracteres en
mayúsculas, para distinguirlas de las variables regulares. Los programas que intentan cambiar un
valor constante no se compilarán, y el compilador javac generará un mensaje de error.
Ejemplo:
28
Programación I
Programación en Java
¾¾ Palabras Reservadas
Los programas Java son archivos de texto planos formados por instrucciones y declaraciones Java,
y empezaremos a investigarlos en el siguiente apartado. Para crear un programa Java, debería tener
un editor o procesador de texto que permita guardar archivos en formato de texto plano. Guardar
texto en formato de texto plano es una ejecución sencilla que la mayor parte de los procesadores
de texto soportan. Podría tener problemas con procesadores de texto como Microsoft Word, por
ejemplo, aunque puede guardar archivos de texto con ,Word ejecutando el comando Guardar como
del menú Archivo. La regla general es que si al editar un archivo desde la línea de comando no se
ve ningún carácter que no sea alfanumérico suelto, se trata de un archivo de texto plano.
La prueba real, por supuesto, es que el compilador de Java, que traduce su programa en un
archivo de bytecode, pueda leer e interpretar dicho programa. Además, los programas deben estar
almacenados en archivos que tengan extensión “java”. Por ejemplo, si está escribiendo una
aplicación llamada app, debería guardar el programa Java en un archivo llamado app.java. Pase
este archivo al compilador de Java para crear el archivo de bytecode, como verá en las siguientes
páginas. Ya tenemos la selección del editor o procesador de textos. Ahora, ¿qué pasa con la
escritura del código? Escribir código: conocer las palabras reservadas de Java.
El programador novato aparece y dice, “Java se está comportando de forma graciosa, quiero
llamar a una variable “public” y me está dando muchos problemas”. “Eso es porque public es
una de las palabras que Java reserva como parte del lenguaje Java”, le dice. “ivaya!”, dice el
programador novato. Cuando esté escribiendo código Java, debería saber que Java reserva ciertas
palabras clave como parte del lenguaje. No hay muchas, de cualquier modo. A continuación se
muestran (trataré estas palabras clave a lo largo del libro): abstract: Especifica la clase o método
que se va a implementar más tarde en una subclase. boolean: Tipo de dato que sólo puede tomar
los valores verdadero o falso.
29
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
30
Programación I
Programación en Java
¾¾ Comentarios
Java ofrece tres tipos de comentarios: dos para comentarios regulares en el código fuente y uno
para la documentación especial del sistema javadoc.
Se distingue del comentario de varias líneas porque se agrega un asterisco adicional al inicio del
comentario.
/**
Este tipo de comentarios
los utiliza la
herramienta javadoc
*/
31
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
¾¾ Instalación de Eclipse
32
Programación I
Programación en Java
3. Ahora sólo queda enviarlo como un acceso directo al escritorio para que sea una manera más
cómoda.
33
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
4. Al ejecutar eclipse por primera vez nos va a solicitar el espacio de trabajo, por lo general dejamos
la dirección que ya tiene, sólo debemos recordar dicha dirección para saber que en esa posición
se encontrará nuestro proyecto.
Nota: Tomar en cuenta que versión de Eclipse tienes y además si es de 32 o 64 bits y de acuerdo a
ello realizarás la descarga, para este ejemplo estamos Usando Eclipse Oxygen de 32 Bits y debes
tener conexión a Internet.
34
Programación I
Programación en Java
3.- Nos aparecerá una lista de diferentes versiones de Window Builder, en nuestro caso
seleccionaremos la versión que estamos trabajando, aparece la palabra link sobre esa palabra
daremos un clic derecho y seleccionamos la opción: Copiar dirección del enlace.
35
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
6.- En la ventana que aparece, en la sección Work with presionamos el botón Add… que aparece
al final.
7.- En el cuadro de diálogo que aparece, en la sección Location, pegamos el link que copiamos de
la página de internet de Eclipse, y presionamos el botón OK de este cuadro de diálogo.
36
Programación I
Programación en Java
9.- En la siguiente ventana aparecerá la lista de los componentes que instalará o que se agregarán
a nuestro entorno de trabajo de Eclipse, en esta sección solo presionamos el botón Next.
10.- En la siguiente sección, activamos la opción: I accept the terms of the license agreement, y
presionamos el botón Finish.
37
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
11.- Al finalizar el proceso de instalación, nos pediría reiniciar Eclipse, presionaremos el botón
Restar Now.
12.- Al iniciar nuevamente Eclipse, este ya se encuentra listo para trabajar.
Para efectos prácticos, crearemos nuestro primer formulario, y manejaremos como ejemplo el
siguiente problema: Crear un programa el cual solicite dos números al usuario y mostrar la suma
de estos dos números.
38
Programación I
Programación en Java
2.- En la carpeta src, daremos un clic derecho sobre él, seleccionamos la opción New y de la lista
nueva presionamos la opción Other.
39
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
4.- En la siguiente sección, sólo le pondremos el nombre a nuestro programa en la sección Name
y presionamos el botón Finish.
5.- Nuestra área de trabajo cambiara un poco, te darás cuenta que en la parte central donde
aparece ya el código de Java, abajo tendremos dos pestañas: Source y Design, daremos clic a
la pestaña Design.
40
Programación I
Programación en Java
7.- Acomodaremos nuestra área de trabajo, para ello en la pestaña de nuestro editor, hasta el final
del lado derecho encontrarás el botón Maximizar, daremos clic a este botón.
41
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
8.- Ahora nuestra área de trabajo ya se encontrará lista para poder elaborar nuestro desarrollo
donde veremos los siguientes elementos con los que trabajaremos:
Panel de Propiedades: Este panel mostrará diversas opciones de acuerdo al componente que
tengamos seleccionado dentro de nuestro Formulario.
Paleta: Contiene todos los elementos o componentes que podemos agregar dentro de nuestro
Formulario.
42
Programación I
Programación en Java
Una vez lista nuestra área de trabajo, ya estamos listos para comenzar a construir o diseñar nuestra
forma, lo primero que vamos a realizar, en la Paleta vamos a desplegar la lista que se llama: Layouts
y Components, y para colocar alguno de los elementos que se encuentra en esta lista, damos un
clic sobre el elemento que necesitamos de nuestra Paleta, y posteriormente damos un clic dentro
de nuestra forma:
Seleccionamos con un clic nuestro elemento Clic sobre la Forma para fijar el elemento Seleccionado
9.- Seleccionamos con un clic el elemento Absolute layout, y lo posicionamos sobre nuestra forma,
este elemento lo agregamos para que al construir nuestra Forma nos permita acomodar los
elementos en la posición que nosotros necesitemos, siempre es recomendable agregar al inicio
este componente.
10.- Al tener seleccionada la forma, podrás observar que el Panel de Propiedades ya muestra
opciones: (Recuerda que este panel cambiara sus opciones de acuerdo al elemento que
tengamos seleccionado dentro de nuestra forma).
43
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
Para agregar los Componentes, sigue el siguiente diagrama, por lo general los agregamos y
modificamos en este orden
44
Programación I
Programación en Java
Componente: JLabel
Propiedad: text
Etiqueta: Programa para sumar dos números
Componente: JLabel
Componente: JTextField
Propiedad: text
Propiedad: Variable
Etiqueta: Escribe un
Etiqueta: txtn1
Número:
Componente: JLabel
Componente: JTextField
Propiedad: text
Propiedad: Variable
Etiqueta: Escribe Otro
Etiqueta: txtn2
Número
45
SUBMÓDULO 1
Formación para el trabajo - Tercer Semestre
Dar doble clic al botón Sumar, al momento de hacer esta acción, nos mostrará directamente el
código de nuestra ventana como se muestra a continuación:
Dentro del método: public void actionPerformed, agregaremos el código que se muestra a
continuación
Regresamos a la Pestaña Desing, y daremos doble clic a nuestro botón Limpiar, dentro del método
public void actionPerformed; agregaremos el siguiente código:
Como paso final, ahora solo nos quedaría ejecutar nuestro programa y verificar que nuestra forma
se encuentre funcionando.
46
Programación I
Programación en Java
Submódulo
2 PROGRAMACIÓN II
4. ARREGLOS
• Finita. Todo arreglo tiene un límite, es decir se sabe determinar cuál será el número máximo de
elementos que podrán formar parte del arreglo.
• Homogénea. Todos los elementos de un arreglo son del mismo tipo.
• Ordenada. Se puede determinar cuál será el primer elemento, el segundo, el tercero… y el
enésimo elemento.
Un arreglo de una dimensión es una lista de variables, todas de un mismo tipo a las que se hace
referencia por medio de un nombre común. Una variable individual del arreglo se llama elemento del
arreglo. Para declarar un arreglo de una sola dimensión se usa el formato general:
tipo_dato identificador[tamaño];
arreglo [0]
int arreglo[3]; arreglo [1]
arreglo [2]
Un arreglo unidimensional es un tipo de datos estructurado que está formado de una colección
finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos
iguales.
Ejemplo:
47
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
Este tipo de arreglos al igual que los anteriores es un tipo de dato estructurado, finito ordenado y
homogéneo. El acceso a ellos también es la forma directa por medio de un par de índices.
Los arreglos bidimensionales se usan para representar datos que pueden verse como una tabla
con filas y columnas. La primera dimensión del arreglo representa las columnas, cada elemento
contiene un valor y cada dimensión del arreglo representa una relación.
Por ejemplo, para declarar un array bidimensional cuadro que tiene un array principal de 3 arrays
unidimensionales, que a su vez tienen 4 elementos enteros, se haría:
También se puede visualizar a un array bidimensional como una “matriz” con filas y columnas; el
primer índice indica la fila y el segundo indica la columna. En donde al variar el primer índice, se
accesa al array a lo largo de una columna, y al variar el segundo índice, se accesa por una fila. La
representación gráfica del arreglo multidimencional es:
COLUMNAS
[0] [1] [2] [3]
F
I [0]
L [1]
A
S [2]
48
Programación II
Programación en Java
¾¾ Ejercicio 1
Los alumnos de Humanidades de segundo semestre de tronco común toman inicialmente 5 materias
lo que quiere decir que al final del semestre tendrán 5 notas cada alumno. Escribir un programa que
pida las 5 notas de un alumno y luego devuelva el promedio de todas las notas.
¾¾ Ejercicio 2
Un ama de casa asiste a la central de abastos a comprar su despensa. Realiza un programa que
pida la cantidad de verduras que compró y el costo unitario de cada compra y al final arroje el gasto
total.
49
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
5.1. Operadores_________________________________________________________________
Un operador es un símbolo (+, -, *, /, etc.) que tiene una función predefinida (suma, resta,
multiplicación, etc.) y que recibe sus argumentos de manera infija, en el caso de tener 2 argumentos
de manera prefija o postfija, en el caso de tener uno sólo para nuestro curso manejaremos dos tipos
de operadores: Relacionales y Lógicos.
¾¾ Operadores Relacionales
Los operadores relacionales nos permiten comparar dos elementos, cada uno de estos elementos
puede ser un constante o variable. Estos operadores admiten argumentos enteros (int, char) o
reales (float, double). Si el resultado de la comparación es correcto la expresión considerada es
verdadera, en caso contrario es falsa. Cada operador se identifica por símbolos y nombre, siempre
deben colocarse entre dos variables.
!= Diferente A != B A es diferente de B
A es menor que o
<= Menor que o igual a A <= B
igual a B
A es mayor que o
>= Mayor que o igual a A >= B
igual a B
Las expresiones relacionales producen un valor entero, si la relación que indican se cumple, produce
un 1 (verdadero) y un 0 (falso) si no se cumple.
Ejemplo Resultado
4<8 1 (verdadero)
4.6 <= 10 1 (verdadero)
8 == 30 0 (falso)
5>9 0 (falso)
´v´ != 7 1 (verdadero)
´c´ == ´c´ 1 (verdadero)
50
Programación II
Programación en Java
Ejemplo Resultado
100 < 50
´p´ == ´p´
´d´ == ´e´
5 >= 9
´r´ != 7
1 (verdadero)
0 (falso)
1 (verdadero)
0 (falso)
1 (verdadero)
¾¾ Operadores Lógicos.
AND y OR trabajan con dos operandos y retornan un valor lógico basadas en las denominadas
tablas de verdad. El operador NOT actúa sobre un operando. Estas tablas de verdad son conocidas
y usadas en el contexto de la vida diaria, por ejemplo: “si hace sol Y tengo tiempo, iré a la playa”,
“si NO hace sol, me quedaré en casa”, “si llueve O hace viento, iré al cine”. Las tablas de verdad de
los operadores AND, OR y NOT se muestran en las tablas siguientes:
x y Resultado x y Resultado
true true true true true true
true false false true false true
false true false false true true
false false false false false false
x Resultado
true false
false true
51
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado por la
última columna de sus tablas de verdad. Por ejemplo:
Es verdadero (true), si ambas son verdaderas. Si alguna o ambas son falsas el resultado es falso
(false). En cambio, la expresión
(a<b) || (b<c)
Es verdadera si una de las dos comparaciones lo es. Si ambas, son falsas, el resultado es falso.
La expresión “ NO a es menor que b”
!(a<b)
(a>=b)
!(a==b)
(a!=b)
52
Programación II
Programación en Java
En la especificación de los algoritmos muchas veces se requiere de una descripción más complicada
que una lista de instrucciones secuenciales. En algunos casos es necesario establecer diferentes
alternativas de acciones a ejecutar de acuerdo al resultado de la evaluación de una determinada
condición.
Las estructuras condicionales se utilizan para tomar decisiones lógicas, evalúan una condición o
proposición que devuelve como resultado únicamente dos valores posibles y excluyentes verdadero
o falso, se ejecutará el bloque de instrucciones de acuerdo al resultado correspondiente.
1.- Una condición de tipo lógico de la que salen dos posibles caminos.
53
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
Las estructuras de control selectivas son aquellas que evalúan una expresión, usualmente una
condición booleana, y a partir del resultado permiten tomas decisiones entre una, dos o más
opciones; a esto se le conoce como selección condicional. Existen tres tipos de estructuras
selectivas: selección simple, selección doble y selección múltiple.
Una condición booleana es una expresión que puede tener como resultado sólo el valor verdadero
o de falso.
Entonces then
<Acción S1>
<Acción S1>
End_if
Fin _ si
Ejemplo:
Fin
54
Programación II
Programación en Java
Ejemplo:
Dado el promedio de un
alumno indique si aprobó
la materia. Se considera
calificación aprobatoria 6.
Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando
se tienen dos opciones de acción, por la naturaleza de éstas se debe ejecutar una o la otra, pero no
ambas a la vez, es decir, son mutuamente excluyentes.
Español Inglés
Si <condición> entonces if <condición> then Representación
Sino else
verdadero falso
condición
<Acción S2> <Acción S2>
Fin_Si End_if
Acciones (A) Acciones (B)
55
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
Ejemplo:
Problema Pseudocódigo Diagrama de flujo
Dadas las tres 1. Inicio
calificaciones 2. P=0, Calf1=0, Calf2=0, Calf3=0 Inicio
que el estudiante 3. Leer “Escribe la primera calificación:”, Calf1
obtuvo en un 4. Leer “Escribe la segunda calificación:”, Calf2 Entero:calf1,calf2,calf3
curso determina su 5. Leer “Escribe la tercera calificación:”, Calf3 Real: P
promedio e indica 6. P = (Calf1 + Calf2 + Calf3) / 3
si el estudiante 7. Si ( P >= 6) Leer calf1,
calf2, calf3
aprobó o no el 7.1. Si
curso. Aprueba el Imprimir “Aprobó el curso“
P(calf1+calf2+calf3)/3
curso si el promedio 7.2. No Escribir “El promedio es”,P
es mayor a 6. Imprimir “No aprobó el curso“
8. Fin
verdadero P>=65
falso
Fin
Ejercicio:
Problema Pseudocódigo Diagrama de flujo
La Sra. García
realizó las
compras de los
útiles escolares,
en la tienda está
un aviso que
indica descuentos
de acuerdo con
la compra total.
Si la compra
total es más de
$3,000 se le hará
un descuento
del 20%, de lo
contrario será del
10%.
56
Programación II
Programación en Java
Aplicando la estructura de decisión múltiples se evaluará una expresión que podrá tomar n valores
distintos, 1, 2, 3… n y según que elija uno de estos valores en la condición, se realizará una de las
n acciones o lo que es igual, el flujo del algoritmo seguirá solo un determinado camino entre los n
posibles. Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la acción
1, si toma el valor 2 ejecutará la acción 2, si toma el valor n realizará la acción n.
Su sintaxis es la siguiente:
Español Inglés
En caso (variable) hacer switch (selector)
{
Caso 1: Acción 1 case 1: Acción 1
break;
Caso2: Acción 2
case 2: Acción 2
Caso N: Acción N break;
case n: Acción n
}
Ejercicio:
57
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
El While es una estructura que se ejecuta mientras la pregunta de control obtiene una respuesta
verdadera, cuando la respuesta a la pregunta de control es falsa esta abandona el ciclo. Este tipo
de estructura es recomendable cuando dentro del programa se desconoce el momento en que se
va abandonar el ciclo. Por ejemplo, si necesitamos realizar un programa que solicite números y los
sume hasta que el usuario ingrese un número negativo, como no se sabe en qué momento el usuario
ingresará un valor negativo, la estructura recomendable es el While (Mientras). La característica
principal del While es que este primero pregunta y después hace.
Funciona de igual manera que el While (Mientras), la gran diferencia es que primero hace y después
pregunta, y en lugar de abandonar su ejecución al obtener una respuesta falsa en la pregunta de
control, lo hace al momento de obtener una verdadera.
Es una estructura repetitiva que se emplea cuando se conoce cuantos giros debe realizar el ciclo,
por ejemplo, si se realiza un algoritmo que le solicite al usuario cuantos números va a sumar,
el algoritmo conocería la cantidad de giros a partir de la cantidad de números ingresados por el
usuario.
58
Programación II
Programación en Java
PROGRAMA PLAN DE
Capacitación de Programación en JAVA
EDUCATIVO ESTUDIOS
UNIDAD DE
PROGRAMACIÓN
NO. DE APRENDIZAJE
PRÁCTICA TÍTULO DE LA
Ciclos FOR
PRÁCTICA
1. OBJETIVO DE LA PRÁCTICA
Que el estudiante sea capaz de generar programas aplicando las Teorías de Ciclos de manera
correcta, oportuna identificando el tipo de limitador del ciclo correcto.
2. COMPETENCIA DE LA PRÁCTICA
Aplicar Teoría de Ciclos sencillos, elaborando programas iterativos para la solución de problemas
reales en el área de Ingeniería. Con disposición para trabajar en forma individual y responsabilidad
en el uso del equipo del laboratorio
3. FUNDAMENTO TEÓRICO
Ciclo FOR
El ciclo FOR es un método para controlar una sentencia o grupo de sentencias un número fijo
de veces. Este ciclo es el más adecuado para implementar ciclos controlados por contador, es
decir, ciclos de conteo en los que el número de repeticiones se conoce por adelantado.
El ciclo FOR es una generalización del While; maneja de manera automática todos los detalles
de la repetición controlada por contador, las cuales están separadas por punto y coma.
Sintaxis:
for(desde; hasta; incremento / decremento)
{
}
59
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
Sí
2
60
Programación II
Programación en Java
4. DESARROLLO DE LA PRÁCTICA
El alumno, realizará los ejercicios que le corresponden de acuerdo al criterio del maestro.
PRÁCTICAS
VERSIÓN 1
a) Realizar un programa que lea el nombre y 4 calificaciones de un alumno (leer las
calificaciones dentro de un ciclo y que se encuentre en el rango 0 al 100), imprimir al
final su promedio e indicar si aprobó o reprobó.
VERSIÓN 2
a) Realizar un programa en C, utilizando Ciclos que funcione como un Reloj. El usuario
visualizará únicamente como cambian los minutos y horas. De la siguiente manera:
Desde 00:00 Hasta 23:59
VERSIÓN 3
Realizar un programa que utilice una función que reciba 2 números y calcule el primero a la
potencia del segundo usando el ciclo FOR, es decir, sin utilizar la función pow.
VERSIÓN 4
Realizar un programa que utilice una función que reciba como parámetro un número entero,
calcule y regrese su factorial para imprimirlo en la función principal.
Ejemplo: 6! es: 6 *5* 4 * 3 * 2 * 1 = 720.
NOTA 1: En ciclos deberás utilizar (FOR) según se requiera. Al menos utilizar dos diversas
funciones de ciclos.
NOTA 2: El alumno deberá depurar sus programas para eliminar los errores de compilación y
ejecutar los programas, de tal forma que los resultados sean los esperados.
61
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
5. RESULTADOS
1. ALGORITMO
4. CONCLUSIONES
6. REFERENCIAS
62
Programación II
Programación en Java
PROGRAMA PLAN DE
Capacitación de Programación en JAVA
EDUCATIVO ESTUDIOS
UNIDAD DE
PROGRAMACIÓN
NO. DE APRENDIZAJE
PRÁCTICA TÍTULO DE LA CICLOS: SENTENCIAS WHILE Y DO-
PRÁCTICA WHILE
1. OBJETIVO DE LA PRÁCTICA
Que el estudiante sea capaz de generar programas aplicando las teorías de ciclos de manera
correcta, oportuna identificando el tipo de limitador del ciclo correcto.
2. COMPETENCIA DE LA PRÁCTICA
Aplicar teoría de ciclos sencillos, elaborando programas iterativos para la solución de problemas
reales en el área de Ingeniería. Con disposición para trabajar en forma individual y responsabilidad
en el uso del equipo del laboratorio.
3. FUNDAMENTO TEÓRICO
Ciclos o Bucles (Problemas repetitivos)
Un ciclo es un grupo de instrucciones que la computadora ejecuta en forma repetida, en tanto se conserve
verdadera alguna condición de continuación del ciclo. Esta condición puede ser simple o compuesta de
otras condiciones unidas por operadores lógicos.
Existen 2 tipos de ciclos:
1. Ciclo con un número determinado de repeticiones, controlado por un contador: Conocido también
repetición definida, porque se conoce con exactitud cuántas veces se ejecutará un ciclo.
2. Ciclos con un número indeterminado de repeticiones, controlados por un centinela: También conocido
como repetición indefinida, porque no se sabe con anticipación cuántas veces el ciclo se ejecutará. Y el
valor del centinela indica “fin de datos”.
Contador: Es una variable de control para contar el número de repeticiones, y es incrementada normalmente
en uno, cada vez que se ejecuta un grupo de instrucciones. Cuando el valor de la variable llega al número
correcto de repeticiones, se termina el ciclo y continúa con el enunciado siguiente al de la estructura de
repetición.
Acumulador: Es una variable que va acumulando el resultado de una operación aritmética, por lo regular
la suma i = i + k; donde i es la variable acumuladora y k es una constante o variable.
Por lo general un acumulador se inicializa a cero; y un contador se inicializa a cero o uno, dependiendo su
uso, ya que una variable sin inicializar contiene un valor “basura” que es el valor almacenado por última vez
en la posición de memoria reservada para la misma.
● Ciclo do-while
Con esta sentencia se controla la condición al final del bucle. Si ésta se cumple, el programa vuelve
a ejecutar las sentencias del bucle o ciclo.
63
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
Sintaxis:
do{
}while(condicion);
● Ciclo While
Con esta sentencia se controla la condición antes de entrar en el ciclo. Si ésta no se cumple,
el programa no entrará en el ciclo. Naturalmente, si en el interior del ciclo hay más de una
sentencia, éstas deberán ir entre llaves para que se ejecuten como un bloque.
Sintaxis:
while(condición)
{
64
Programación II
Programación en Java
La única diferencia entre las sentencias while y do-while es que con la segunda el cuerpo del
ciclo se ejecutará por lo menos una vez.
65
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
4. DESARROLLO DE LA PRÁCTICA
El alumno, realizará los ejercicios que le corresponden de acuerdo al criterio del maestro.
PRÁCTICAS
VERSIÓN 1
a) Ciclo while. Realice un programa que utilice una función que calcule la suma:
1
1+1 + 1 + 1 + +
2 3 4 n
VERSIÓN 2
a) Ciclo Do-While. Realizar un programa donde lea una fecha en formato numérico (día/mes/
año) e imprima el nombre del día de la semana que le corresponde, después pregunte si
desea continuar, en caso afirmativo pedir una nueva fecha, hasta indicar lo contrario.
La fórmula que permite conocer el día de la semana correspondiente a una fecha dada es:
Utilizar una función que reciba cómo parámetros el día, mes y año, y regrese el valor de n.
b) Ciclo While. Realizar un programa que lea la edad de x cantidad de personas hasta que lea
un valor negativo e imprima al final dentro de una función cuántos son bebés de 0 a 3 años,
cuántos son niños de 4 a 12 años, cuántos son adolescentes de 13 a 17 años y cuántos
son adultos de 18 años o más.
NOTA: El alumno deberá depurar sus programas para eliminar los errores de compilación
y ejecutar los programas, de tal forma que los resultados sean los esperados.
El maestro revisará los programas proporcionando diferentes valores para determinar si el
programa se ejecuta correctamente.
66
Programación II
Programación en Java
5. RESULTADOS
1. ALGORITMO
4. CONCLUSIONES
6. REFERENCIAS
67
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
PROGRAMA PLAN DE
Capacitación de Programación en JAVA
EDUCATIVO ESTUDIOS
UNIDAD DE
PROGRAMACIÓN
NO. DE APRENDIZAJE
PRÁCTICA TÍTULO DE LA
Switch
PRÁCTICA
1. OBJETIVO DE LA PRÁCTICA
Que el estudiante sea capaz de generar programas aplicando estructura de decisión múltiple
switch-case; las cuales permitirán evaluar una serie de condiciones y ejecutar las sentencias
correspondientes, permitiendo la optimización de código.
2. COMPETENCIA DE LA PRÁCTICA
Elaborar programas de selección múltiple, para la solución de problemas reales en el área de
Ingeniería. Con disposición para trabajar en forma individual y responsabilidad en el uso del
equipo de cómputo del laboratorio.
3. FUNDAMENTO TEÓRICO
Con frecuencia, cuando se trabaja con estructuras de decisión, es necesario que existan más de dos
elecciones posibles para la resolución de un problema.
Por ejemplo, cuando en función de los meses del año se desea saber el signo zodiacal de una persona.
En estos casos, es posible resolver ese tipo de problemas con estructuras alternativas simples o dobles
(if, if-else); sin embargo, si el número de alternativas es grande puede plantear problemas de escritura del
programa o de su legibilidad. Para esos casos, en los que existen múltiples alternativas, se recomienda el
uso de la estructura de decisión Switch-Case.
● Switch - Case
Switch evalúa una expresión, la cual es llamada selector, y según sea su valor, se ejecuta un determinado
case con un conjunto de acciones. También, se puede encontrar acompañado de la instrucción break y la
instrucción default.
Break es utilizado para indicar dónde termina el conjunto de acciones de un determinado case.
Default es utilizada cuando la expresión que se evalúa no se encuentra considerada en ninguno de los
case del switch, por lo que el programa ejecutará las acciones que se indiquen dentro de la instrucción
default.
El formato básico para el uso de Switch Case es el siguiente:
68
Programación II
Programación en Java
1 n
expresión
2
4
3
69
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
● Switch Anidado
Este se presenta cuando dentro de una sentencia Switch existe otra sentencia Switch.
De acuerdo al ANSI C, el número de anidaciones que permite un Switch es de 15.
Sintaxis del Switch Anidado
70
Programación II
Programación en Java
71
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
4. DESARROLLO DE LA PRÁCTICA
El alumno, realizará los ejercicios que le corresponden de acuerdo al criterio del maestro.
PRÁCTICAS
VERSIÓN 1
Hacer un programa que capture las calificaciones del primer semestre de Ingenierías. Las materias
son las siguientes:
- Introducción a la Ingeniería
- Álgebra lineal
- Cálculo diferencial
- Química general
- Comunicación oral y escrita
- Desarrollo humano
El programa deberá calcular el promedio e imprimir un mensaje.
El mensaje es una recomendación o bien felicitación por su promedio.
Elegir cada quien el texto que imprimirán dependiendo el promedio.
VERSIÓN 2
Programa que muestre un menú donde las opciones sean “Equilátero”, “Isósceles” y “Escaleno”,
pida una opción y calcule el perímetro del triángulo seleccionado.
Sirva de aclaración que el perímetro de un triángulo es siempre la suma de sus lados, pero he
preferido hacerlo así para ver las tres formas diferentes de calcularlo.
VERSIÓN 3
Un estudiante de segundo semestre de ECITEC desea elegir qué carrera estudiar, pero necesita
saber cuál es el perfil de ingreso y egreso de cada una de ellas para tomar una decisión. Realizar
un programa que presente un menú con los nombres de las diferentes carreras de ECITEC y
dependiendo de la elección del usuario, presentar la descripción del perfil de ingreso y egreso de
cada carrera. Utilizar una función para cada carrera y mostrar los perfiles de ingreso y egreso.
72
Programación II
Programación en Java
VERSIÓN 4
Desarrollar un programa que pueda ser utilizado como diccionario de términos de programación.
El programa deberá presentar un índice con los siguientes conceptos:
a) Algoritmo
b) Codificación
c) Diagrama de flujo
d) Estructura selectiva
e) Programa
f) Switch-case
Al seleccionar alguno de los conceptos, llamar a una función que presente su definición.
VERSIÓN 5
Realizar un programa que ayude a un niño de primaria a conocer nombres de animales que
empiecen con las diferentes vocales. Si el niño elige la vocal ‘a’, presentarle nombres de animales
con ‘a’, si elige la ‘e’, presentarle nombres de animales con ‘e’, y así sucesivamente. Deberá
utilizar funciones para mostrar la información correspondiente a cada vocal seleccionada.
VERSIÓN 6
Desarrollar un programa que utilice funciones y permita consultar el perfil de alguno de sus
amigos en la red social de su interés. El programa deberá presentar el nombre de 5 amigos, y
al elegir alguno de ellos presentar las siguientes opciones:
a) Datos personales
b) Trabajo y educación
c) Actividades e intereses
d) Deportes
e) Artes y entretenimiento
VERSIÓN 7
La dulcería “JUNTTI” ofrece diferentes ofertas en el mes de abril, mismas que se presentan a
continuación:
a. Dulces a granel. ……………………….De $50.00 a $30.00 el kg.
b. Piñatas..…………………………… …..De $200.00 a $150.00 la pza.
c. Bolsas para dulces…………………….De $100.00 a $70.00 paquete
d. Chocolates……………………………..De $200.00 a $180.00
e. Paletas………………………………….De $50.00 a $40.00
73
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
NOTA: El alumno deberá depurar sus programas para eliminar los errores de
compilación y ejecutar los programas, de tal forma que los resultados sean los
esperados.
74
Programación II
Programación en Java
5. RESULTADOS
1. ALGORITMO
4. CONCLUSIONES
6. REFERENCIAS
75
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
6. DOCUMENTACIÓN
Los sistemas de información que se construyen en el área de programación, requieren cumplir
todo un análisis previo para su construcción así como plasmar en documento todo el desarrollo
que se elaboró para llegar al producto final, que en este caso es el programa final que el usuario
utilizaría en la computadora, por ello, en esta sección, se tomará un ejercicio que el joven tendrá
que desarrollar como proyecto integrador el cual contiene todas las características involucradas en
el desarrollo de un proyecto.
Elaborar un documento el cual contenga el desarrollo de la fase inicial de análisis del programa
hasta su construcción en el lenguaje de programación, deberá incluir los siguientes elementos:
• Planteamiento
• Pseudocódigo
• Diagrama de flujo
• Interfaz Gráfica
• Código Fuente
El documento se elaborará en Word con las indicaciones o características que el docente solicite,
en el mismo se deberá incluir el Pseudocódigo y Diagrama de flujo elaborado en el programa PseInt
y la Interfaz Gráfica con el Código Fuente elaborado en Eclipse.
El ejercicio que se propone se describe a continuación (a consideración del docente este ejercicio
puede ser sustituido por algún otro que considere conveniente):
La joyería “ANJOR” ofrece diferentes ofertas en épocas navideñas, mismas que se presentan a
continuación:
a. Anillos matrimoniales (trío). De $12,000.00 a $8000.00
b. Cadenas de oro…………….De $5000.00 a $2000.00
c. Relojes………………..……De $1500.00 a $1000.00
d. Pulseras…………………….De $2000.00 a $10000.00
e. Aretes………………………De $900.00 a $500.00
76
Programación II
Programación en Java
¾¾ ¿Qué es PSeInt?
PSeInt (software libre educativo multiplataforma), es una herramienta para asistir a un estudiante
en sus primeros pasos en programación. Mediante un simple e intuitivo pseudolenguaje en español
(complementado con un editor de diagramas de flujo), le permite centrar su atención en los conceptos
fundamentales de la algoritmia computacional, minimizando las dificultades propias de un lenguaje
y proporcionando un entorno de trabajo con numerosas ayudas y recursos didácticos.
77
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
78
Programación II
Programación en Java
79
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
80
Programación II
Programación en Java
81
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
82
Programación II
Programación en Java
Al iniciar la aplicación, se muestra la estructura básica desde donde es posible escribir el código.
Es muy importante, aunque no obligatorio, documentar el código (comentar algunas líneas) para
que nos permita rápidamente identificar qué partes del mismo hace qué cosa, ya que a medida que
se avance en el desarrollo y aumente considerablemente la cantidad de líneas, se hará más difícil
encontrar en cuál de ellas se encuentra la sentencia que hace algo específico. Esto se consigue
utilizando la doble barra “//”
83
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
Material adicional
Submódulo 1. Elabora app consola
- Configurar variables de ambiente del sistema operativo para compilación y ejecución de línea
de comando
- http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_jdk_install.
html#BABGDJFH
- Utilizar elementos básicos del lenguaje para construir aplicaciones básicas en Java
- http://mmc.geofisica.unam.mx/cursos/mcst-2007-II/Java/Java%20desde%20Cero.pdf
- https://www.youtube.com/playlist?list=PL4D956E5314B9C253
- Utilizar las estructuras de control, secuencial, de decisión y de repetición así como métodos
para controlar el flujo del programa
- http://mmc.geofisica.unam.mx/cursos/mcst-2007-II/Java/Java%20desde%20Cero.pdf
- https://www.youtube.com/playlist?list=PL4D956E5314B9C253
84
Programación II
Programación en Java
Dirección electrónica
Anexo 2 https://www.udemy.com/fundamentos-de-programacion-con-java/learn/
v4/t/lecture/1183844?start=0
Anexo 3 https://www.programarya.com/Cursos/Java/Java-Basico
Anexo 4 https://www.udemy.com/fundamentos-de-programacion-con-java/learn/
v4/t/lecture/1293450?start=0
Anexo 5 https://www.udemy.com/fundamentos-de-programacion-con-java/learn/
v4/t/lecture/1183856?start=0
https://www.udemy.com/fundamentos-de-programacion-con-java/learn/
v4/t/lecture/1293460?start=0
Anexo 6 https://www.udemy.com/fundamentos-de-programacion-con-java/learn/
v4/t/lecture/1293472?start=0
Anexo 7 https://www.programarya.com/Cursos/Java/Funciones
Anexo 8 https://www.programarya.com/Cursos/Java/Objetos-y-Clases
https://www.udemy.com/fundamentos-de-programacion-con-java/learn/
v4/t/lecture/1183860?start=0
85
SUBMÓDULO 2
Formación para el trabajo - Tercer Semestre
MIS NOTAS:
86
Programación en Java
MIS NOTAS:
87
Formación para el trabajo - Tercer Semestre
MIS NOTAS:
88