computacion sb

42
Servicio de asesoría y resolución de ejercicios [email protected] www.maestronline.com Pide una cotización a nuestros correos. Maestros Online Computación 1, 2 y 3 Apoyo en ejercicios Servicio de asesorías y solución de ejercicios [email protected]

Upload: maestros-online

Post on 22-Apr-2015

573 views

Category:

Education


8 download

DESCRIPTION

www.maestronline.com [email protected]

TRANSCRIPT

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Pide una cotización a nuestros correos.

Maestros Online

Computación 1, 2 y

3

Apoyo en

ejercicios

Servicio de asesorías y solución de ejercicios

[email protected]

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Tarea

Instrucciones:

En base a la lectura del tema 1, realizar los siguientes puntos:

Investiga en internet cual es la importancia de un sistema operativo. ¿Cuál es la diferencia entre hardware y software? ¿Cuál es la diferencia entre los dos tipos de almacenamiento primario? Relaciona los siguientes conceptos en dicha tabla:

Software de sistema Software de aplicación RAM ROM CPU Sistemas Distribuidos Sistemas Multiprocesador Sistemas de Tiempo Compartido Sistema operativo Sistema computacional

En este tipo de almacenamiento los datos e instrucciones se alojan temporalmente mientras el procesador los está utilizando

Contiene varios procesadores en donde no comparten memoria ni reloj.

Es el conjunto de hardware, software, datos y personas que interactúan entre sí.

Es el sistema que gobierna a todos los demás programas de una computadora.

Es la unidad encargada de administrar, procesar y controlar las demás unidades.

Entrega la tarea a tu profesor, en formato de reporte.

Tarea

Instrucciones:

Después de haber realizado la lectura del tema 2, realizar los siguientes puntos:

1. ¿Cuál es la diferencia entre una MAN y una WAN? 2. Dar dos ejemplos de redes WAN. 3. Dar 1 ejemplo de red de punto a punto y 1 de red de difusión.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

4. Compara los modelos de Redes de OSI y TCP/IP y responde a las siguientes preguntas: ¿Cuál es la diferencia? Dar 2 ventajas y 2 desventajas de ambos modelos.

5. Dar dos ejemplos de dispositivos de comunicación que no se mencionen en la descripción del tema.

Tarea

Instrucciones:

1. Investiga sobre los diferentes tipos de sistemas de archivos de Mac OS y su estructura.

2. ¿Qué medidas de seguridad tomas para garantizar la seguridad del sistema de escolar de TecMilenio?

3. Realiza una estructura en tu sistema operativo con las siguientes especificaciones:

a. La carpeta raíz tendrá la clave de tu matricula b. Dentro de este directorio habrá dos subdirectorios, uno con

calificaciones y el otro con el nombre de cursos. c. El subdirectorio de tu calificaciones contendrá un documento en

Excel con las calificaciones del primero, segundo y tercer parcial. d. El subdirectorio de cursos contendrá un documento en Word con el

nombre de computación.

Ejercicio

Primera parte. Presentación de tipos de datos y elementos de un programa

1. Observa la presentación del maestro.

2. Si tienes dudas, pregunta a tu maestro; es importante que comprendas todos los conceptos.

3. Escribe en tu libreta la solución a los ejercicios siguientes.

EJERCICIO 1. ¿Cuál es el tipo de dato más adecuado para cada caso?

Escoge entre estos tipos: short, int, double, char, bool o cadena de caracteres.

Dato Tipo de dato

Número de matrícula (6 dígitos)

Saber si está aprobado o no (true, false)

Edad

Sueldo del empleado

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Clave para estado civil (s,c,v,d)

Siglas de la carrera que estudia

Letra inicial del apellido paterno

Iniciales de la persona

Precio del artículo

Número del empleado (4 dígitos)

EJERCICIO 2. Indica cuáles de los siguientes nombres son identificadores válidos para C++.

Hola_ PALABRA

_hola int

algo# ev@lua

numeroPagina message

número dinero$

lista de palabras 1palabra

tarea#1_ una_pal

tarea1_ tamaño

Segunda parte. Presentación de estatutos násicos

1. Observa la presentación del maestro.

2. Escribe en tu libreta la solución a los ejercicios siguientes.

EJERCICIO 3. Escribe la declaración correcta de variable o constante para cada caso

a) Variable entera que guardará un número de alumno (8 dígitos).

___________________________________________________

b) Variable de tipo float que guarda una velocidad.

___________________________________________________

c) Variable que guardará una clave (que es una letra).

____________________________________________________

d) Constante que guarda el número máximo de páginas que es 45.

____________________________________________________

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

e) Variable de tipo entera que guarda el semestre en el que va un alumno.

____________________________________________________

EJERCICIO 4. Supón que tienes declaradas las siguientes variables y que ya contienen valores.

int x; double p;

a) Escribe una instrucción para mostrar en la pantalla un mensaje que diga “Hola”.

____________________________________________________

b) Escribe una instrucción para mostrar en la pantalla el valor de la variable x.

____________________________________________________

c) Escribe una instrucción para mostrar en la pantalla un letrero que diga “El valor de la variable p es“ y luego el valor de la variable p.

____________________________________________________

d) Escribe una instrucción para leer del teclado un valor para la variable x.

____________________________________________________

e) Escribe una instrucción para leer del teclado un valor para la variable p.

____________________________________________________

Tercera parte. Proceso de compilación

1. Analiza en la presentación del profesor la gráfica en la que se explica el proceso de compilación.

2. Pon atención al proceso de compilación que te presenta el maestro; toma nota de lo que consideres más importante ya que te podrá servir como base para las compilaciones de tus programas.

Entrega el ejercicio a tu profesor, en formato de práctica de ejercicios.

Tarea

Instrucciones:

Después de haber realizado la lectura del tema 4, realizar los siguientes Tareas:

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Tarea 1. Definir el tipo de dato con base a las siguientes especificaciones:

Dato Tipo de dato

Sueldo diario

Paso el curso(true, false)

Unidades vendidas

Nombre del empleado

Tarea 2. Indicar si los siguientes identificadores son validos en C++.

12344_ _________________ Xtreme _________________

_Carlos _________________ int _________________

Punto _________________ char _________________

$123dos _________________ _1234 _________________

Tarea 3. Indicar las declaraciones de variables válidas para las siguientes opciones:

Una variable para almacenar el sueldo diario de un empleado. _____________________________________________________

Una variable para almacenar el número de artículos vendidos. _____________________________________________________

Una constante para almacenar el sueldo base igual a 102.5. _____________________________________________________

Tarea 4. Escribir las instrucciones de entrada y salida aplicables para cada caso:

Escriba una instrucción que despliegue en pantalla el siguiente mensaje:

Suma 5 + 6 = 11 __________________________________________________________

NOTA: 11 es una variable suma, no texto. 5 y 6 son dos variables llamadas i y j.

Escriba las instrucciones para declarar una constante apellido (de tipo

char) la constante debe ser solis

__________________________________________________________

Escriba una instrucción para desplegar en pantalla el siguiente texto: El

apellido de la familia es. Posterior a eso hacer un brinco de línea y escribir

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

desde el teclado el apellido y colocarlo en la variable apellido.

__________________________________________________________

Tarea

Instrucciones:

Realiza los siguientes Tareas:

Tarea 1. Escribe un programa para calcular la cuenta de un cliente que llega a comer a la Taquería:

Preguntar la cantidad de tacos consumidos. Preguntar la cantidad de refrescos tomados. Preguntar la hora de consumo. Calcular la cuenta considerando que cada taco cuesta $7.00 y cada refresco

cuesta $11.00 y se hace un descuento de 5% si el cliente llegó antes de las 8 de la noche.

Calcular el bono que se le dará al cliente para su siguiente consumo, si consumió más de $100 y menos $500 el bono es de 5%, si consumió más de $500 y menos de $700 el bono es de un 8% de su cuenta. Si consumió$700 o más el bono es de 15% de su cuenta. Si consumió menos de $100 no hay bono.

Desplegar en pantalla el bono otorgado y la cuenta a pagar.

Tarea 2. Escribe un programa para calcular el pago de un día de trabajo de un empleado.

Condiciones:

Preguntar lo que gana el empleado por hora (hay que almacenarlo en la variable pago_por_hora)

Preguntar las horas trabajadas( almacenar las horas trabajadas en la variable horas_trabajadas)

Si el empleado trabaja de 1 a 8 horas el pago se calcula multiplicando pago_por_hora * horas_trabajadas

Si el empleado trabaja más de 8 horas y menos de 11 horas se le pagarán 8 horas normales y dos horas al doble más un bono de $200.

Si el empleado trabaja 11 horas o más se le pagarán al triple después de la onceava hora de trabajo. Esto es, si el empleado trabaja 15 horas, se le pagaran las primeras 8 horas normales, luego dos horas al doble y las siguientes al triple más un bono de $300.

Debe mostrar en pantalla el pago del trabajador.

Tarea 3. Escribe el Tarea 2 utilizando la instrucción switch.

Deberás especificar con comentarios en tu código fuente las instrucciones y los

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

Después de haber realizado la lectura del tema 8, analiza y realiza los siguientes Tareas:

Tarea 1. int a= 5, b = 1; while ( a >= b) { b++; if(b<=a) b=b+2; else a=a-1; } a=a*2; ¿Cuál es el valor final de a?_____ ¿Cuál es el valor final de b?_____ Tarea 2. int a= 7, b = 2, c; while ( a >= b) { b++; for(c=b; c <= 5; c++) { b++; a--; } b++; } ¿Cuál es el valor final de a?_____ ¿Cuál es el valor final de b?_____ ¿Cuál es el valor final de c?_____ Tarea 3. int x=10, y=1,z=1; do { z++; while(x>=y) { if(y<3) { z++; y++; } Else

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

{ y++; } } }while(x>y); ¿Cuál es el valor final de x?_____ ¿Cuál es el valor final de y?_____ ¿Cuál es el valor final de z?_____

Tarea 4.

Escribe un programa que calcule e imprima el promedio de los números enteros primos hasta 100. Utilizando la instrucción for. Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

Realiza los siguientes Tareas:

Tarea 1. Escribe un programa que calcule e imprima los valores de las potencias de 4 que sean menores que 1000. Ejemplo: deberás imprimir en pantalla 1,4, 16, 64,…

Tarea 2. Escribir un programa que pueda ingresar una secuencia de caracteres hasta que se teclee doble */. Se desea obtener e imprimir cuantos caracteres ingresados son numéricos impar y cuantos alfabéticos.

Tarea 3. La empresa ZetaB que tiene 7 sucursales. Cada sucursal por día trabajado por empleado genera la siguiente información:

código de sucursal número de empleado horas trabajadas (en el día)

Esta información se clasifica por código de sucursal y número de empleado. La empresa abona premios a los empleados que trabajen durante el mes 26 o más días y cumplan cierta cantidad de horas:

Entre 170 y 200 horas el premio es de 420 pesos Más de 200 horas el premio es de 600 pesos

Se debe determinar e imprimir:

a. Numero de los empleados que cobran el premio de 600, indicando a la

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

sucursal a la cual pertenecen b. El importe total de premios a pagar por cada sucursal c. El importe total que la empresa debe pagar por premios.

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

Realizar los siguientes Tareas utilizando los estatutos de decisión y repetición:

Tarea 1. Realiza un programa para obtener el estado de cuenta bancaria de un cliente. Se lee:

El saldo inicial del mes La cantidad de los movimientos del mes.

o Para cada uno de los movimientos se lee: El tipo de movimiento (1 =retiro, 2= depósito ) El monto del movimiento.

Se calcula el saldo actual del cliente:

Si el monto del movimiento es menor a $6000 entonces, además de calcular el saldo, se deberá restar al saldo una cuota de $85.

Si la cantidad de movimientos es más de 13, entonces restarle al saldo $10.00 para cada uno de los que excede a 13. (Si son 18 se le restará $5.00 a 5 movimientos).

Al final mostrar el saldo nuevo.

Tarea 2. Realiza un programa para calcular la cuota de una consulta a un paciente. Y el total de los ingresos de una nutrióloga.

Toma en cuenta las siguientes indicaciones:

Una nutrióloga desea un programa para calcular la cuota de una consulta a un paciente y en general cuanto fue el total de las consultas por día.

1. Se deben de preguntar el número de pacientes atendidos. 2. Para cada paciente, se deberán preguntar los siguientes datos:

a. Peso del paciente en la consulta pasada, b. Peso del paciente el día de Hoy, c. Edad del paciente d. Sexo del paciente (1=masculino 2=femenino)

3. Se debe de calcular el pago del paciente tomando en cuenta que este pago

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

está compuesto por las siguientes cuotas y restando un descuento si aplica: a. Cuota Base: se calcula tomando en cuenta que por cada kilo que pese

hoy se cobra $10.00. b. Cuota Extra: solo para aquéllos pacientes cuyo peso de hoy es mayor al

peso de la consulta anterior. En tal caso se saca la diferencia en los pesos y se multiplica por $20.

c. Cuota estratégica: es de $40 para las mujeres y de $30 para los hombres. 4. Descuento: es de $25 para los mayores de edad y del 20% de la cuota base

para los menores de edad. 5. Presentar en pantalla el Pago del paciente (suma de cuotas restando el

descuento).

Al final del programa indicar la cantidad de ingresos que tuvo la nutrióloga por las consultas

realizadas ese día.

Tarea 3. Realiza un programa para calcular el exceso de equipaje de un pasajero.

Toma en cuenta las siguientes indicaciones:

Una aerolínea desea que realices un programa en C++ para calcular el exceso de equipaje de un pasajero.

Leer la cantidad de maletas que lleva El sexo del pasajero (1 masculino 2 femenino) Temporada de viaje (1=baja 2=alta) Distancia en millas del vuelo.

Calcular e Imprimir el pago por exceso de equipaje.

Si el pasajero excede a 3 maletas se paga por exceso $650 por cada maleta de la tercera en adelante. Por ejemplo, si lleva 4 maletas pagará 650 pero si lleva 5 maletas paga 1500 (mil quinientos por cada una excedida).

Si el pasajero lleva 2 o 3 maletas, pero el peso total es de más de 180 kilogramos entonces paga $200 por kilogramo excedido, de lo contrario el pago por exceso es cero.

Pago por combustible, el cual es de $20 por milla recorrida en temporada baja y $30 por milla en temporada alta.

Impuesto de aeropuerto que es de $650 para los hombres y $500 para las mujeres.

Al finalizar mostrar el pago por el exceso de equipaje.

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Instrucciones:

Después de haber realizado la lectura del tema 11, realiza los siguientes Tareas:

Primera Parte. Parámetros por valor y por referencia.

Con base a los siguientes programas menciona ¿qué muestra en pantalla cada uno de ellos?

Tarea 1.

#include <iostream> using namespace std;

void funcion(int a, int b, int &c) { int j;

j = c + 7; b= j * c; c = (c * 5) - j; }

int main() { int x = 3, y = 6, z = 9;

funcion(y, x, z); cout<<x<<" "<<y<<" "<<z<<endl; return 0; }

Tarea 2.

#include <iostream> using namespace std;

void funcion2(int &a, int b, int &c) { int i, j=5;

a = (c + 9)-j; i= j * c - 3; c = (c * 3) – (a*4); }

int main() { int x = 10, y = 11, z = 12;

funcion2(y, x, z); cout<<x+2<<" "<<y+3<<" "<<z+4<<endl;

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

return 0; }

Tarea 3.

#include <iostream> using namespace std;

void funcion2(int a, int &b, int &c) { int i, j=5;

b = (c - 2) *j; i= b * (c- 5); c = b * j + c*j; }

int main() { int x = 12, y = 13, z = 14;

funcion3(y, x, z); cout<<x-1<<" "<<y-2<<" "<<z-3<<endl; return 0; }

Segunda Parte. Programa que utiliza funciones.

Tarea 4.Realiza un programa en C++, que solicite al usuario un número entero. Deberás de crear una función llamada MultiploCinco, en donde reciba un parámetro de tipo int, la cual calculará todos los múltiplos de cinco, comenzando en 1 hasta el número dado por el usuario y posteriormente mostrarlos en pantalla.

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

Después de haber realizado el análisis de los problemas anteriores, realiza los siguientes Tareas:

Tarea 1. Escribe una función que reciba un parámetro tipo double y un parámetro clave tipo char. La clave representa el cálculo de una función de acuerdo a la siguiente tabla:

CLAVE SIGNIFICADO

C Conversión de Fahrenheit a

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

centígrados

S Conversión de horas a segundos

M Conversión de metros a millas

La función main debe contener un menú de opciones en donde el usuario elija la operación que desee realizar invocando a la función correspondiente y, finalmente dentro de main, muestra al usuario el resultado de la operación.

La función main debe permitir que el usuario calcule tantas operaciones como quiera.

Tarea 2. Escriba un programa que muestra al usuario un menú de opciones, como se muestra a continuación:

1. Perímetro de un rectángulo 2. Perímetro de un cuadrado 3. Perímetro de un circulo

Una vez seleccionada la opción debe de pedirle al usuario los parámetros necesarios dependiendo del Perímetro a calcular.

La función main debe permitir que el usuario calcule tantas operaciones como quiera. Y muestre en pantalla el resultado de cada operación.

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

Después de haber realizado la lectura del tema 13, realiza los siguientes Tareas:

Tarea 1. Escribe un programa que pida al usuario el tamaño para dos arreglos y luego inserte valores a dos arreglos del tamaño dado.

Deberás de escribir una función que reste los elementos de cada arreglo y los guarde en un tercer arreglo llamado resta. Ejemplo: los elementos de la casilla 0 de los dos arreglo se restarán y se guardarán en el elemento 0 de la casillas del tercer arreglo llamado resta.

La función deberá tener 2 parámetros de tipo arreglo y desplegará el arreglo resta que será un arreglo local de la función. Tarea 2. Modifica el problema del Tarea 1 de tal manera que obtenga el elemento menor de la resta de ambos arreglos.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

La función deberá tener 2 parámetros de tipo arreglo y desplegará el arreglo resta que será un arreglo local de la función y el elemento menor.

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

Después de haber realizado la comprensión de los ejemplos del tema 14, realiza los siguientes Tareas:

Tarea 1. Escribe un programa que pida al usuario el tamaño para dos arreglos y luego inserte valores enteros de manera aleatoria a dos arreglos del tamaño dado.

Deberás de escribir una función que obtenga la potencia en donde deberá obtener primero el elemento menor y mayor de ambos arreglos, en donde el elemento menor será la base y el elemento mayor el exponente.

Dicha función potencia deberá de regresar ambos resultados.

La función deberá tener 2 parámetros de tipo arreglo y desplegará los elementos pares de ambos arreglos y la suma de ellos.

Tarea 2. Modifica el problema del Tarea 1 de tal manera que obtenga la potencia, en donde el elemento menor que será la base tiene que ser un entero par y el mayor que será el exponente puede ser par o impar.

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

area

Instrucciones:

Después de haber realizado la lectura del tema 15, realiza los siguientes Tareas:

Tarea 1. Escribe un programa que pida al usuario teclear una frase. Dicho programa calculará el número de vocales que existen en esa frase y desplegará el número de vocales y la frase con las vocales en mayúscula.

Tarea 2. Escribe un programa que dada una frase sustituya todas las letras minúsculas por mayúsculas y despliegue la frase nueva generada.

Tarea 3. Escriba un programa que lea una cadena de teclado e invierta toda la

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

cadena dada utilizando un arreglo auxiliar.

Ejemplo:

Frase dada: “Bienvenidos a computación I” Hay 11 vocales en BIEnvEnIdOs A cOmpUtAcIÓn I BIENVENIDOS A COMPUTACION I “I computación a bienvenidos”

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

Después de haber realizado la lectura y comprensión de los ejemplos del tema 16, realiza los siguientes Tareas:

Tarea 1. Escribe un programa que pida al usuario dos cadenas de caracteres y mande a llamar a la función contar, en donde dicha función recibirá las dos cadenas de caracteres La función debe de contar todas las apariciones de la segunda cadena dada en la primera. Deberá desplegar las dos cadenas y el número de veces que aparece la segunda cadena en la primera. Ejemplo:

Dame cadena 1: “el perro del vecino”

e l p e r r o D e l v e c i n o \0

Dame cadena 2: “el”

e l \0

Resultado:

e l p e r r o D e l v e c i n o \0

e l \0

El número de veces que aparece “el” es 2.

Tarea 2. Escribe un programa que pida una frase en minúsculas y sin acentos y

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

produzca ciertas faltas de ortografía. Indicaciones:

Cambiar la ‘c’ por ‘k’ siempre que esté seguida por ‘a’, ‘o’, ó ‘u’ Cambiar ‘v’ por ‘b’, y ‘b’ por ‘v’ Eliminar la ‘u’ en los casos “gue” y “gui” Insertar ‘h’ si la palabra empieza por vocal

Deberá desplegar la cadena original y la cadena nueva con las faltas de ortografía invertida pero la letra cambiada o insertada tendrá que estar en mayúsculas.

Ejemplo:

FRASE DADA: guerrero agil cansado TRANSFORMADA: Kansado Hagil gerrero

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

Después de haber realizado la lectura del tema 17, realiza el siguiente Tarea:

Tarea 1. Escribe un programa que pida al usuario teclear los valores de un arreglo bidimensional de 3x3 o matriz de 3x3. Luego el programa mandará llamar a la función simétrica, que recibirá como parámetro al arreglo y el tamaño y desplegará la matriz original dada y si es o no simétrica.

Se llama simétrica de una matriz a aquella que es igual a su traspuesta.

Ejemplo:

Matriz A

1 9 8

9 6 7

8 7 10

Traspuesta de A

1 9 8

9 6 7

8 7 10

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

La matriz A es simétrica

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

Después de haber realizado la lectura y comprensión del tema 18, realiza el siguiente Tarea:

Tarea 1. Escribe un programa que pida al usuario teclear los valores de dos arreglos bidimensionales de 3x3 o matrices de 3x3. Luego el programa mandará llamar a la función multiplicación, que recibirá como parámetro dos arreglos y el tamaño y desplegará las dos matrices originales dadas y una tercera matriz que será la multiplicación de las dos matrices dadas (este multiplicación ser.

Ejemplo:

Matriz A

A00 A01 A02

A10 A11 A12

A20 A21 A22

Matriz B

B00 B01 B02

B10 B11 B12

B20 B21 B22

La multiplicación de A x B

(A00 x B00)+(A01 x B10)+(A02 x B20)

(A00 x B01) + (A01 x B11) + (A02 x B20)

(A00 x B02)+(A01 x B12) + (A02 x B22)

(A10 x B00)+(A11 x B10)+(A12 x B20)

(A10 x B01)+(A11 x B11)+(A12 x B21)

(A10 x B02)+(A11 x B12)+(A12 x B22)

(A20 x B00)+(A21 x B10)+(A22 x B20)

(A20 x B01)+(A21 x B11)+(A22 x B21)

(A20 x B02)+(A21 x B12)+(A22 x B22)

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Instrucciones

Una librería tiene 7 clasificaciones de libros y 10 vendedores Clasificaciones de libros:

1. Científicos 2. Técnicos 3. Religiosos 4. Literario 5. Artísticos 6. Oficial 7. Comercial

La librería guarda la información de las ventas realizadas por los vendedores en una tabla como la siguiente:

Vendedores

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

En cada casilla se guarda la cantidad de libros por tipo vendidos por un vendedor; por ejemplo, en la casilla del renglón 2, columna 5, se guarda la cantidad de libros vendidos de la clasificación 2 (técnicos) por el vendedor 5.

Nota que, si un vendedor no ha vendido nada, debe haber 0 en la casilla correspondiente; es decir, es necesario que al inicio la tabla esté llena de ceros, para que el programa pueda registrar las ventas que se vayan dando

Nota también que la tabla de datos de la librería utiliza las clasificaciones de 1 al 7 y los vendedores del 1 al 10; o sea, no empieza desde el número 0, como son los arreglos en C++. Tú debes resolver esto en tu programa, de manera que el usuario no tenga que utilizar el número 0, ni para vendedor, ni para modelo.

Se requiere que hagas un programa que tenga el siguiente menú de opciones:

a. Registrar las ventas realizadas por un vendedor para una clasificación de libro. Datos que se piden al usuario:

o Clasificación: 1

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

o Vendedor: 3 o Unidades vendidas: 2

Lo que significa que el vendedor 3 vendió 2 unidades de la clasificación Científicos

b. Consultar la cantidad de Libros que un vendedor ha vendido de una determinada clasificación. Datos que se piden al usuario:

o Clasificación: 1 o Vendedor: 3

Despliegue en pantalla: Las unidades vendidas por el vendedor 3 de la clasificación Científicos son: 2

c. Consultar la cantidad total de libros que se han vendido por un vendedor. Datos que se piden al usuario: Vendedor: 1 Despliegue en pantalla: La cantidad de libros vendidos por el vendedor 1 son: 12 unidades

o Científicos=2 o Técnicos=3 o Religiosos=3 o Literario=2 o Artísticos=1 o Oficial =0 o Comercial= 1

d. Consultar el número de libros vendidos de una clasificación y el costo total de la venta de los libros de dicha clasificación.

Costo por unidad de una determinada clasificación:

1. Científicos $220 2. Técnicos $200 3. Religiosos $130 4. Literario $160 5. Artísticos $110 6. Oficial $100 7. Comercial $90

Datos que se piden al usuario: Clasificación: 1

Despliegue en pantalla: El número de libros vendidos de la clasificación Científicos es de 10 y el costo total de venta es de $2200 pesos

e. Calcular el costo total que se le paga a un vendedor Los criterios son los siguientes:

o El sueldo base de un vendedor es de $2700 o Si vende de 5 a 10 libros se le da un bono de $300 pesos.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

o Si vende de 11 a 20 libros se le da un bono de 500 pesos. o Si vende de 21 o más libros se le da un bono de $2000 pesos.

f. Salir.

Notas importantes:

1. Si se registran varias veces ventas para el mismo vendedor y la misma clasificación, cada nuevo registro se debe agregar al total de ventas que se encontraba registrado. Por ejemplo, si se hace un registro de que el vendedor 1 vendió 3 libros de la clasificación 1, y luego se hace otro registro de que el vendedor 1 vendió 4 libros de la clasificación 1, la casilla correspondiente debe tener registrado un 7 (3 libros del primer registro y 4 del segundo).

2. Es necesario validar las opciones del menú, el número de clasificación, el número de vendedor y la cantidad de libros vendidos que se pidan al usuario; es decir, se debe pedir el dato y, si no es válido, se debe volver a pedir al usuario hasta que el usuario teclee el dato de manera correcta; las validaciones deben considerar los siguientes valores válidos:

o Las opciones del menú válidas son a, b, c, d, e,f. o Los números de clasificación válidos son del 1 al 7. o Los números de vendedores válidos son de 1 al 10. o La cantidad de libros vendidos deben ser números positivos. o Se debe de validar que al momento de hacer una consulta el

desplegado de la clasificación no debe de ser el número 1 al 7, si no el texto arriba mostrado para cada clasificación.

3. Si se pide una consulta, y aún no se ha registrado información de ventas para ese caso, el programa debe indicar que se han vendido 0 (cero) libros.

4. Al terminar de atender una opción, el programa debe regresar al menú y permitir que el usuario seleccione otra opción; el programa terminará sólo cuando se pida la opción Salir

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos

Avance La primera entrega debe incluir el menú de opciones; deben estar funcionando las opciones a, b,c y f. Esta primera entrega no requiere tener integradas las validaciones de los datos

Entrega Final La entrega final debe incluir el funcionamiento de las opciones d y e del menú. También debe integrar las validaciones que se especifican cada vez que se pida al usuario dichos datos.

Entrega tu proyecto final en formato de desarrollo de proyecto. No olvides agregar tu código fuente, tu archivo en C++ resultante incluyendo los mensajes de error desplegados y las acciones correctivas que realizaste.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Tarea

Instrucciones:

Después de haber realizado la lectura del tema 19, realiza los siguientes Tareas:

Tarea 1. PILAS

a. Muestra cómo se ve el contenido de una pila después de ejecutar las siguientes operaciones. Muestra también cuál es el tope

Push(3) Push(6) Pop obtiene el valor ____ Push(9) Push(12) Push(14) Pop obtiene el valor ____ Pop obtiene el valor ____ Push(16)

Los datos dentro de la pila quedan en el siguiente orden:

b. Muestra cómo se ve el contenido de una pila después de ejecutar las siguientes operaciones. Muestra también cuál es el tope

Push(16) Push(14) Push(12) Pop obtiene el valor ____ Push(9) Push(6) Push(3) Pop obtiene el valor ____ Push(1)

Los datos dentro de la pila quedan en el siguiente orden:

Tarea 2. FILAS

a. Muestra cómo se ve el contenido de la fila después de ejecutar las siguientes operaciones. Indica cuál es el final y cuál el frente

Insertar(11) Insertar(4) Insertar(10) Insertar(2) Sacar obtiene el valor ____ Insertar(7) Sacar obtiene el valor ____

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Insertar(15) Insertar(1) Sacar obtiene el valor ____ Sacar obtiene el valor ____

Los datos dentro de la fila quedan en el siguiente orden:

a. Muestra cómo se ve el contenido de la fila después de ejecutar las siguientes operaciones. Indica cuál es el final y cuál el frente

Insertar(16) Insertar(7) Insertar(9) Sacar obtiene el valor ____ Insertar(12) Sacar obtiene el valor ____ Sacar obtiene el valor ____ Insertar(11) Insertar(10) Sacar obtiene el valor ____

Los datos dentro de la fila quedan en el siguiente orden:

Tarea

Instrucciones:

Después de haber realizado la lectura y comprensión del tema 18, realiza el siguiente Tarea:

Tarea 1. Escribe una función que obtenga la suma de los elementos de dos pilas del mismo tamaño y el resultado lo almacene en otra pila. Deberás ir sacando elementos de la pila y obteniendo la suma hasta vaciar ambas pilas. La función recibirá como parámetros dos pilas y el tamaño.

La función main deberá pedir al usuario que agregue elementos a las dos pilas hasta que se llenen. Luego mandará llamar a la función suma y mostrará en pantallas los elementos de las dos pilas y una tercera pila en donde se almacenó la suma de las dos pilas dadas como parámetros.

La suma se obtiene de la siguiente manera: Sacas el elemento del tope de la primera pila y de la segunda y los sumas los elementos y así sucesivamente hasta vaciarlas y llenar la tercera pila.

Tarea 2. Escribe un programa que pida al usuario dar el tamaño de una Fila y luego teclear los elementos de una Fila hasta llegar a su Final. Deberá de mandar llamar una función para obtener el elemento repetido de la Fila y mostrarlos en pantalla. En esta función deberás mandar llamar a una función que será sacar elementos que

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

tendrás que utilizar para verificar cual elemento es el repetidode la Fila.

Deberás especificar con comentarios en tu código fuente las instrucciones y los pasos en los cuales estás aplicando estos lineamientos.

Tarea

Instrucciones:

1. ¿Cuáles son las extensiones de los archivos fuente y el ejecutable? Y ¿cuáles son las instrucciones para compilar y ejecutar?

2. ¿Cuál es la forma sencilla para escribir un programa, qué herramienta se utiliza?

3. ¿Dónde se instala el JDK? 4. ¿Dónde se almacena la variable CLASSPATH y PATH? 5. Investiga qué es JNI y defínelo brevemente. 6. Utilizando la guía en el ejemplo de este tema instala, crea, compila y ejecutar

el programa “HelloWorldApp”. 7. Utiliza el editor de texto notepad (Windows) y crea el archivo Messenger.java 8. Añade el siguiente código:

//Messenger.java// public class Messenger { public void sayIt (String message) { System.out.println(message); } }

Nota: dentro de las líneas, se incluyen algunas que son simplemente comentarios para interpretar lo que realiza el programa de una manera más sencilla, los comentarios se identifican utilizando // ó /* ..*/)

9. Modifica tu aplicación “HelloWorldApp.java” para que utilice la clase del punto siete (7).

public class HelloWorldApp { public static void main(String[] args) { Messenger m; m = new Messenger(); m.sayIt("Hola mundo!"); //string } }

10. Compila Messenger.java y HelloWorldApp.java 11. Ejecuta HelloWorldApp utilizando: java –verbose HelloWorldApp 12. Comenta los resultados obtenidos.

Entrega la tarea a tu profesor, en formato de reporte. Integrando el archivo con el

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

código java resultante, las líneas de la compilación y de ejecución.

Tarea

Instrucciones: A continuación utilizando el concepto de análisis orientado a objetos de la tecnología Java.

1. Identifica cuales son los posibles objetos con atributos y operaciones

(métodos) para los objetos en mini_gimnasio descrito a continuación: o Alumnos, instructor, costo_clase, etc.

Utiliza el Ejemplo 1, para ayudarte a identificar los componentes. 1.2 Aplica las reglas vistas en este tema, para decidir si todos los objetos creados para resolver el punto uno, son válidos.

1.3 Elige cualquier objeto para definir una clase con la sintaxis del Ejemplo 2 como apoyo.

2. Utiliza la explicación dentro del tema de Herencia, para ayudarte a identificar los componentes y crear una clase para aves, la clase debe tener al menos dos instancias de la clase aves. Es decir, al menos dos tipos de aves diferentes.

3. Describe cada atributo y si utilizan los mismos métodos por cada especie de ave que sea incluida.

4. Aplica las reglas vistas en este tema, para decidir si todos los objetos creados para resolver el punto uno, son válidos.

5. Elige cualquier objeto para definir una clase con la sintaxis del Ejemplo 2 como apoyo, documenta tu programa con el uso de comentarios en la medida posible

Tarea

Instrucciones:

Con base en el Ejemplo 1, establece la sintaxis necesaria, de acuerdo a las siguientes pautas.

1. Nuevas clases para estufa y refrigerador. 2. Omitir uno o dos métodos y trata de compilarlos. ¿Qué tipo de error regresa? 3. Por cada nueva clase que hayas creado en el ejercicio anterior, identifica un

rango válido de valores para cada atributo (sólo donde un rango es válido). 4. Investiga, ¿qué diferencia hay entre atributos y valores?

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Tarea

Instrucciones:

1. Investiga ¿cuál es la convención (“Naming” cada lenguaje de programación tiene su propio conjunto de reglas, convenciones y sugerencias para nombrar las partes del código que son responsabilidad del programador) para codificar en Java de métodos e interfaces?

2. Investiga el uso de las palabras reservadas return, switch, default, extended,

protected. 3. Utilizando el código del Ejemplo 3, modifícalo, cambiando el valor de las

variables enteras a un valor 5 y 34. 4. Del código resultante del punto tres, aplica el uso de los tres tipos de

comentarios que se vieron en el tema, para explicar cada acción que realiza el programa.

5. La declaración del carácter y string permanecen igual. 6. Del código resultante del punto tres, aplica el uso de los tres tipos de

comentarios que se explicaron en el tema, en tu programa para explicar cada acción que realiza el programa, incluyendo los siguientes cambios.

7. Elabora un método para cambiar los valores de las variables de str1 y c. 8. Agrega estas líneas como asignación

truth = 1; z= 3.141516;

9. Compila, enlista los errores que desplegó la compilación, si hubiera, y trata de corregirlos.

Ejemplo de errores: si se asignaron directamente las líneas del punto 6, sin declarar previamente las variables y su tipo puede que haya un error asociado a esta omisión.

Tarea

Instrucciones:

1. Investiga un poco más sobre las clases y cómo comprobar el acceso a los miembros de las clases. Dicho nivel de acceso está determinado por modificadores que definen el uso particular de un campo o método desde otra clase. Ya se ha mencionado el nivel private ó public.Define cuáles son los otros tipos de acceso, los resultados que se obtiene con su uso y dónde se utilizan (también incluye la explicación más profunda de los dos que ya se han mencionado previamente).

2. Una de las razones por las que método regresa al código es porque ha terminado todos los estatutos para los que fue creado. Investiga sobre métodos, ¿cuándo regresan al código que los invoca?, ¿cómo se regresan valores desde los métodos?, define también la sintaxis que utilizan para regresar valores y por último, da un ejemplo en un fragmento de código.

3. Crear una clase pública de nombre EjercicioString2 que contenga sólo al método “main” y que muestre, por consola, el número de veces que aparece la letra "a" en la siguiente String "Cuando hayas cortado el último árbol,

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

contaminado el último río y pescado el último pez, te darás cuenta de que el dinero no se puede comer".

4. Modifica el código que hasta el momento has realizado para que se incluya al método “cuentavocal”. Este método que agregarás, recibe como valor de entrada el carácter a contar (a, o, e). Muy importante, con el cambio que se realice al código el funcionamiento del programa debe mantenerse, es decir debe dar el mismo resultado.

Entrega la tarea a tu profesor, en formato de reporte. Agrega el archivo con el código Java resultante incluyendo los mensajes de error desplegados y las acciones correctivas que realizaste.

Tarea

Instrucciones:

Utilizar el apoyo de la explicación de tema para construir la siguiente aplicación.

1. Crear el directorio banking 2. Crear la clase Account en el archivo Account.java bajo el directorio banking.

a. Declara un atributo de objeto del tipo private; este atributo almacena el balance actual de la cuenta del banco.

b. Declara un constructor del tipo public que recibe un parámetro (init_balance) que llena el atributo balance.

c. Declara el método public getBalance que regresa el balance actual. d. Declara un método public llamado deposit que acumula el valor

recibido al balance actual. e. Declara un método public llamado withdraw que retira la cantidad que

se especifica como parámetro de entrada del balance actual.

4. En el directorio banking, compilar el programa TestBanking.java. Éste provocará un efecto cascada que compila todas las clases utilizadas en el programa; por lo tanto, compilar el programa Account.java bajo el

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

directorio banking.

javac TestBanking.java

5. Ejecutar la clase TestBanking. Deberá obtener la siguiente salida:

Creating an account with a 200.00 balance. Withdraw 200.50 Deposit 145.67 Withdraw 47.62 The account has a balance of 498.55

Tarea

Instrucciones:

1. Crear una aplicación definida con un ciclo infinito. 2. Dentro de los estatutos que ejecuta, incrementará un índice con cada ciclo y

se desplegará su valor en pantalla, sólo si el índice es múltiplo de 10. 3. Cuando el índice llegue a 200, utilizar el estatuto que permite romper un

ciclo. 4. Al salir del ciclo desplegar la leyenda “Fin del programa”.

Ejemplo: 10 20 .. 200 Fin del programa

Sugerencias: crear una clase “CicloInfinito” con solo un método main. Crear un ciclo para las iteraciones utilizando do-while o for. Utiliza el operador que calcula el residuo de la división.

Tarea

Instrucciones:

1. Utiliza la alternativa corta para crear inicializar y asignar valores a un arreglo multidimensional que contiene cada mes con el número correspondiente de días por mes. Ejemplo: Enero 31, Febrero 28, Marzo 31, etc.

2. Crea un clase con un solo segmento main donde se defina el mismo arreglo del punto anterior y se imprima a pantalla el contenido del arreglo, utiliza el Ejemplo 1 como base, si se olvida la sintaxis.

3. Utiliza comentarios para documentar el proceso del programa.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Tarea

Instrucciones:

1. De manera independiente al ejercicio de los siguientes puntos. Investiga sobre el cómo invocar de manera virtual un método (Virtual Method invocation)

2. Crear una clase llamada Anfibio. Desde ésta, heredar una clase llamada Rana.

3. Poner métodos apropiados en la clase base, que es la clase Anfirbio.

4. En el método main( ), crear una Rana y hacer una conversión hacia Anfibio.

Como conversión se conoce al proceso de tratar un tipo derivado como si fuera el tipo base a esto se le llama conversión de tipos (moldeado) hacia arriba. El nombre moldear (cast) se utiliza en el sentído de moldear (convertir) un molde, y es hacia arriba siguiendo la manera en que se representa en los diagramas la herencia, con el tipo base en la parte superior y las derivadas colgando hacia abajo. Por consiguiente, hacer un moldeado (casting) a la clase base es moverse hacia arriba por el diagrama de herencias.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

5. Demostrar que todos los métodos siguen funcionando.

Dentro de cada uno de los métodos que se hayan escrito para la clase Anfibio, se despliega un mensaje que se imprime a pantalla cuando se ejecuta.

Ejemplo: Alimentarse, despliega “Clase Anfibio, método Alimentarse” Reproducirse, despliega “Clase Anfibio, método Reproducirse”

Por lo tanto para demostrar que los métodos siguen funcionando después del punto 4, se mandan ejecutar cada uno de ellos y debe de escribirse a pantalla el mensaje.

Tarea

Instrucciones:

1. Desarrolla un cuadro sinóptico donde destaquen las características y diferencias que corresponden a una clase abstracta y a una interfaz.

Jerarquía de animal y mascota

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Tomando como base el diagrama.

1. Crear la clase animal, que es la superclase abstracta de todos los animales. 2. Crear la clase pez que se extiende de la animal. 3. Sobrescribir el método animal para especificar que pez no puede caminar y

no tiene patas. 4. Crear la clase gato que se extiende de la clase animal e implementa mascota

a. Esta clase debe incluir un atributo String para almacenar el nombre de la mascota

b. Definir un constructor que toma una String como parámetro que especifica el nombre del gato. Este constructor además debe llamar al constructor de la superclase para especificar que todos los gatos tienen 4 patas.

Tarea

Instrucciones:

Las excepciones más comunes cuando se programa en Java ya están predefinidas, por

ejemplo ArithmeticException, NullPointerException y muchas más.

1. Investiga para qué se utilizan las antes mencionadas y agrega 5 excepciones más. 2. En el siguiente ejercicio se utilizarán los bloques try-catch para manejar una

excepción RuntimeException. El siguiente programa eventualmente accede fuera

del índice del arreglo.

public class TestExceptions { public static void main (String [] args) { int i = 0;

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

while (true){ i++; System.out.println(“args[“ + i + “] is ‘”+ args [i] +

“’”); } } } }

El código es implementado para que suceda el error, el propósito de éste es que se presente la excepción para que sea manejada.

3. Compilar y ejecutar el programa TestExceptions, la salida generará el siguiente

error:

Exception in thread “main”

java.lang.ArrayIndexOutOfBoundsException at

TestExceptions.main(TestExceptions.java:4)

4. Modificar el programa TestExceptions para

manejar ArrayIndexOutOfBoundsException utilizando el bloque try

5. Escribir un bloque catch que capture la excepción y escriba la salida estándar, el

objeto excepción y que avise al usuario que la aplicación terminó. 6. Volver a compilar y ejecutar el programa, la salida deberá ser similar a esta

javac TestExceptions.java

java TestExceptions one two tree

args[0] is ‘one’ . . . Exception capturada: java.lang.ArrayIndexOutOfBoundsException Programa terminando .

Tarea

Instrucciones:

1. Investiga sobre la clase StringBuffer sus condiciones de uso, describe de manera general los métodos contenidos y menciona algunos ejemplos.

2. Utiliza el ejemplo 1 como base para crear un programa que abra un archivo de texto y lea el contenido del archivo.

3. Imprime a pantalla, cada línea que lee del archivo y muestre el número de línea leída al inicio de la línea que imprime.

4. Guardar esa misma línea en un nuevo archivo, utilizando como base el ejemplo 3.

5. Al finalizar la lectura del archivo de entrada, muestra el total de líneas leídas a pantalla y también lo escribe al archivo de salida del punto 4.

6. Tener en cuenta la protección al código con manejo de excepciones en el programa. Sugerencia: recordar cerrar el archivo al finalizar las operaciones .

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

7. Se solicita documentar el programa utilizando comentarios

Tarea

Instrucciones:

1. Define con tus palabras los términos: containers, components, layout managers y cómo trabajan unidos para construir una interfaz gráfica de usuario.

2. Utiliza los conocimientos adquiridos y los pasos, para crear y compilar un programa para generar una interfaz gráfica con la forma de un mensajero sencillo.

Debe contener espacio de texto “text box”. 2 botones: enviar y terminar. 1 barra de desplazo “scroll bar” en el área de texto. Desplegar en el título de la ventana un título para el mensajero.

3. Esta práctica no es funcional en operación para el mensajero solo debe implementarse el diseño o pantalla.

Tarea

Instrucciones:

1. Con la información de este tema describe: a. Investiga sobre el manejo de eventos en AWT y el concepto de

Adaptadores de evento. b. Investiga sobre el manejo de eventos en AWT y el concepto de

gestiones múltiples (multiple listeners). 2. Desarrolla un programa que contenga dos botones, la aplicación debe

manejar los eventos en estos botones.

a. Botón Pantalla: Manda un mensaje a pantalla. b. Botón Terminar: Termina la aplicación. c. El diseño de la interfaz, queda libre para el desarrollador.

Tarea

Instrucciones:

1. Analiza y describe los componentes básicos de un applet: La clase applet y las clases incluidas.

2. Utiliza el ejemplo applet HelloWorld para desarrollar un applet que gráficamente tenga la forma de un mensajero de texto, por el momento el applet no necesita ser funcional (es decir no será necesario que establezca

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

conexiones).

Presentar la aplicación en una página HTML.

Proyecto final

Objetivos

El objetivo del proyecto integrador es utilizar cada una de las herramientas expuestas durante el curso, entre ellas: Manejo de Archivos, diseño de interfaces gráficas, manejo de eventos, arreglos, conexión a red, etc.

De manera general la aplicación a construir simulará la revisión de un inventario alojada en un servidor y una terminal o cliente solicita saber sobre la cantidad en existencia de cierta pieza.

Por lo tanto hay que construir dos programas un TerminalVenta (cliente) e InventarioGeneral (Servidor).

La terminalVenta consultará mediante la conexión al InventarioGeneral la existencia del siguiente catálogo de piezas.

NumeroPieza NombrePieza Cantidad

01234 Pistón 1 45

05689 Pistón 1/2 12

12876 Pistón 45R 1

34987 Pistón 25T 3

98456 Pistón 67 8

TerminalVenta utiliza una interfaz gráfica diseñada por el desarrollador en la que mediante el número de Pieza recibe el nombre de la pieza y la cantidad existente.

Ejemplo de interfaz gráfica de TerminalVenta.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Instrucciones

1. Desarrollo de TerminalVenta. a. TerminalVenta debe de encargarse de activar la interfaz

gráfica que contenga métodos para conectarse al servidor. b. La conexión debe contar con protección ante errores,

correcto manejo de excepciones. c. Debe haber una forma de mostrarle al usuario que la

conexión con el servidor ha sido exitosa (por ejemplo una caja de texto) y permanezca el estado de “conectado” mientras haya enlace con el servidor.

d. Una vez que se haya establecido la conexión con el servidor, el usuario deberá contar con una caja de texto para introducir el número de pieza del cuál desea saber la cantidad de piezas en existencia.

e. La petición de información se envía al servidor mediante un método “enviar”.

f. Debe haber un método para recibir información desde el servidor, dicha información es el nombre de la pieza y la cantidad en existencia.

g. Con la información recibida en el punto anterior se llenan las cajas de texto para mostrar resultados al usuario.

h. Si el usuario quiere hacer otra consulta se le facilitará un método “otra consulta” que debe borrar las cajas de texto y prepararse para recibir un nuevo número de pieza.

i. Habrá un botón para “salir” de la aplicación donde deberá avisar al servidor de que cerrará la conexión y terminar la aplicación.

2. Desarrollo de InventarioGeneral. a. El programa servidor generará un archivo de salida “log.txt”

cuya función es ser una bitácora que se abrirá y se irá

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

llenando mientras esté activa la sesión de servidor. Por cada acción se anexa una línea en el archivo y, al finalizar la aplicación el archivo se cierra con el contenido de la sesión.

b. Como ya se explicó anteriormente, esta aplicación se encarga de manipular el inventario existente,

Esta aplicación se encarga de manipular el inventario existente, los datos se leen desde un archivo de texto (Inventario.txt) con el siguiente formato:

01234, "Pistón 1", 45, 05689, "Pistón 1/2", 12, 12876, "Pistón 45R", 1, 34987, "Pistón 25T", 3, 98456, "Pistón 67", 8

El archivo al abrirse deberá ser leído línea por línea y acumulado en un arreglo multidimensional [5] [3]. Este arreglo contendrá toda la información del archivo.

c. El arreglo será la base de datos, desde donde se compare mediante alguna cláusula (if, switch, etc).que el dato que envía el cliente sea igual a algún número de pieza que se tiene en inventario.

d. Una vez que el arreglo tenga toda la información cargada, notificar por pantalla y agregar una línea a log.txt:

ACCIÓN: Base de Datos ESTADO: Listo

e. Se activa el proceso que esperará la llamada de un cliente para conexión, notificar por pantalla y a log.txt.

ACCIÓN: Espera de llamada del Cliente ESTADO: Listo

f. Cuando un cliente pide establecer conexión el servidor abre el socket y establece la conexión, notificar por pantalla y a log.txt

ACCIÓN: Petición de conexión ESTADO: Listo

g. El cliente enviará un número de pieza que se comparará contra el primer dato que se tiene del arreglo; si coincide se toman los 2 datos que restan del arreglo (nombre de pieza y cantidad) y se envían a través de la conexión a servidor, como respuesta. Se notifica por pantalla y a log.txt.

ACCIÓN: Solicitud Pieza #### ESTADO: Listo

h. Si el cliente tiene más solicitudes se atienden.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

i. Si el cliente solicita terminar la conexión, ésta se termina pero se deja activo el proceso que escucha las peticiones para volver a establecer la conexión en caso que se reciba una nueva solicitud. Se notifica por pantalla y a log.txt.

ACCIÓN: Fin de conexión ESTADO: Listo

Sugerencia: Es bueno tener un método que espere algún tipo de tecla para terminar la aplicación y así poder cerrar adecuadamente el archivo log.txt.

Entrega tu proyecto final en formato de desarrollo de proyecto.

Tarea

Instrucciones:

1. Para reforzar el tema de conexión de red, investiga sobre las clases Socket y ServerSocket que utillizan el protocol TCP/IP para comunicarse.

2. Describe el concepto de un servidor y las tareas que realiza. 3. Investiga sobre la clase HttpConnection, menciona ejemplos de los métodos

getResponseCode()

getResponseMessage()

getURL

4. Utiliza como ejemplo el código del cliente y servidor, para establecer conexión de red.

a. Cambia los mensajes de conexión, excepciones con el objetivo de personalizar el programa.

b. El programa debe tener la habilidad para solicitar el puerto por el que se va a comunicar, tanto el cliente como el servidor. El dato debe ser alimentado por teclado.

c. El programa deberá contar con un contador de tiempo de conexión se puede implementar para asegurar que las sesiones no se queden abiertas. Implementarlo para que las conexiones no duren más de 3 minutos.

d. Agrega documentación al programa utilizando comentarios

Tarea

Instrucciones:

1. Investiga el concepto de las palabras reservadas wait y notify, dentro de la tecnología Java, incluye ejemplos de su uso.

2. Investiga sobre la clase SyncStack e incluye un ejemplo.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

El siguiente ejercicio afirmará el concepto del uso de los thread. Se deberá programar que haya tres threads activos al mismo tiempo,

cada uno imprimirá su nombre. Según impriman su nombre se podrá observar el comportamiento de

ejecución. 3. Crear la clase Imprime, que implementa Runnable. En el método run(), el

ciclo dura 10 veces donde imprime el nombre del thread y se duerme – sleep() por 20 segundos, esto aplica para cada dos threads. El último tendrá un ciclo de 25 veces con un intervalo de sleep() de 2 segundos.

4. Crear el programa llamado PruebaTresThreads. a. En el método main, crear una instancia de Imprime. b. Crear tres threads utilizando el objeto Imprime. c. Dar a cada thread un nombre único utilizando el método

Nombre. d. Iniciar cada thread

5. Al terminar la vida de los threads cada uno deberá imprimir algo así:

Thread1-proceso1, fin de ciclo. Thread2-proceso2, fin de ciclo. Thread3-proceso3, fin de ciclo. Termina el programa PruebaTresThreads.

6. Compila y ejecuta el programa PruebaTresThreads.

Tarea

Instrucciones:

1. Investiga la forma de configurar mediante el uso de la interfaz gráfica de Poliy

Tool para evitar que se puedan leer los valores de las propiedades java.home. 2. Investiga los pasos para generar una llave privada (generate key)

Tarea

Instrucciones:

1. Utilizando como apoyo las clases que ya existen para el manejo de cadenas (API) desarrolla un programa:

a. Que permita la entrada de cadena de caracteres de teclado. b. Teniendo la cadena que calcule la longitud, se acumula en una suma

con cada palabra tecleada. c. De la misma cadena de entrada pasar todas las letras a mayúscula. d. Unir todas las cadenas que se tecleen hasta que el usuario ya no

teclee más.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

e. Antes de cerrar la aplicación el programa escribe en el archivo el resultado, ejemplo:

Se tecleo: un Gato Con Los Pies De trapo Archivo Salida: UN GATO CON LOS PIES DE TRAPO LONGITUD: 23

Tarea

Instrucciones:

Para reafirmar los conceptos de:

Desarrollo de interfaces gráficas AWT y / o Swing. Operadores. Manejo de eventos. Excepciones.

1. Desarrollar una interfaz gráfica que permita la conversión de la temperatura de grados Centígrados a Fahrenheit y viceversa.

2. La interfaz gráfica deberá contener un área de texto para el valor de entrada y un área de texto para el valor convertido.

3. El diseño queda a cargo del desarrollador, al igual que el uso de botones o checkbox.

4. Procurar utilizar comentarios para documentar el código, la sección de import, si es parte o no de un paquete, su clase principal, los métodos con el tipo de cada uno de ellos y alguna otra clase externa.

Entrega la tarea a tu profesor, en formato de reporte. Incluye el código de la aplicación generada, los archivos de compilación y la salida generada.

Proyecto final

Objetivos

El objetivo del proyecto integrador es utilizar cada una de las herramientas expuestas durante el curso, entre ellas: Manejo de Archivos, diseño de interfaces gráficas, manejo de eventos, arreglos, conexión a red, etc.

De manera general la aplicación a construir simulará la revisión de un inventario alojada en un servidor y una terminal o cliente solicita saber sobre la cantidad en existencia de cierta pieza.

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

Por lo tanto hay que construir dos programas un TerminalVenta (cliente) e InventarioGeneral (Servidor).

La terminalVenta consultará mediante la conexión al InventarioGeneral la existencia del siguiente catálogo de piezas.

NumeroPieza NombrePieza Cantidad

01234 Pistón 1 45

05689 Pistón 1/2 12

12876 Pistón 45R 1

34987 Pistón 25T 3

98456 Pistón 67 8

TerminalVenta utiliza una interfaz gráfica diseñada por el desarrollador en la que mediante el número de Pieza recibe el nombre de la pieza y la cantidad existente.

Ejemplo de interfaz gráfica de TerminalVenta.

Instrucciones

1. Desarrollo de TerminalVenta. a. TerminalVenta debe de encargarse de activar la interfaz

gráfica que contenga métodos para conectarse al servidor. b. La conexión debe contar con protección ante errores,

correcto manejo de excepciones. c. Debe haber una forma de mostrarle al usuario que la

conexión con el servidor ha sido exitosa (por ejemplo una caja de texto) y permanezca el estado de “conectado” mientras haya enlace con el servidor.

d. Una vez que se haya establecido la conexión con el

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

servidor, el usuario deberá contar con una caja de texto para introducir el número de pieza del cuál desea saber la cantidad de piezas en existencia.

e. La petición de información se envía al servidor mediante un método “enviar”.

f. Debe haber un método para recibir información desde el servidor, dicha información es el nombre de la pieza y la cantidad en existencia.

g. Con la información recibida en el punto anterior se llenan las cajas de texto para mostrar resultados al usuario.

h. Si el usuario quiere hacer otra consulta se le facilitará un método “otra consulta” que debe borrar las cajas de texto y prepararse para recibir un nuevo número de pieza.

i. Habrá un botón para “salir” de la aplicación donde deberá avisar al servidor de que cerrará la conexión y terminar la aplicación.

2. Desarrollo de InventarioGeneral. a. El programa servidor generará un archivo de salida “log.txt”

cuya función es ser una bitácora que se abrirá y se irá llenando mientras esté activa la sesión de servidor. Por cada acción se anexa una línea en el archivo y, al finalizar la aplicación el archivo se cierra con el contenido de la sesión.

b. Como ya se explicó anteriormente, esta aplicación se encarga de manipular el inventario existente,

Esta aplicación se encarga de manipular el inventario existente, los datos se leen desde un archivo de texto (Inventario.txt) con el siguiente formato:

01234, "Pistón 1", 45, 05689, "Pistón 1/2", 12, 12876, "Pistón 45R", 1, 34987, "Pistón 25T", 3, 98456, "Pistón 67", 8

El archivo al abrirse deberá ser leído línea por línea y acumulado en un arreglo multidimensional [5] [3]. Este arreglo contendrá toda la información del archivo.

c. El arreglo será la base de datos, desde donde se compare mediante alguna cláusula (if, switch, etc).que el dato que envía el cliente sea igual a algún número de pieza que se tiene en inventario.

d. Una vez que el arreglo tenga toda la información cargada, notificar por pantalla y agregar una línea a log.txt:

ACCIÓN: Base de Datos ESTADO: Listo

Servicio de asesoría y resolución de ejercicios [email protected]

www.maestronline.com

e. Se activa el proceso que esperará la llamada de un cliente para conexión, notificar por pantalla y a log.txt.

ACCIÓN: Espera de llamada del Cliente ESTADO: Listo

f. Cuando un cliente pide establecer conexión el servidor abre el socket y establece la conexión, notificar por pantalla y a log.txt

ACCIÓN: Petición de conexión ESTADO: Listo

g. El cliente enviará un número de pieza que se comparará contra el primer dato que se tiene del arreglo; si coincide se toman los 2 datos que restan del arreglo (nombre de pieza y cantidad) y se envían a través de la conexión a servidor, como respuesta. Se notifica por pantalla y a log.txt.

ACCIÓN: Solicitud Pieza #### ESTADO: Listo

h. Si el cliente tiene más solicitudes se atienden. i. Si el cliente solicita terminar la conexión, ésta se termina pero se

deja activo el proceso que escucha las peticiones para volver a establecer la conexión en caso que se reciba una nueva solicitud. Se notifica por pantalla y a log.txt.

ACCIÓN: Fin de conexión ESTADO: Listo

Sugerencia: Es bueno tener un método que espere algún tipo de tecla para terminar la aplicación y así poder cerrar adecuadamente el archivo log.txt.

Entrega tu proyecto final en formato de desarrollo de proyecto.

Debe incluir: Código desarrollado, Salidas de compilación, Pantallas de interfaz gráfica y Salidas de programa.