Está en la página 1de 30

INSTITUTO TECNOLOGICO SUPERIOR DE

TAMAZUNCHALE

REPORTE DE ACTIVIDADES 1

NOMBRE DE LOS ALUMNOS:


PABLO ISAAC HERNÁNDEZ MARTINEZ 22ISC071
ALAN EDUARDO MARTÍNEZ MARCOS 22ISC031
JORGE LUIS AHUMADA HERNÁNDEZ 22ISC084
MAURICIO FRANCISCO HERNÁNDEZ 22ISC067

DOCENTE: ING. MIGUEL ANGEL ESTRADA ZUÑIGA

MATERIA: ESTRUCTURA DE DATOS

CARRERA: INGENIERÍA EN SISTEMAS COMPUTACIONALES


AULA: E4 TERCER SEMESTRE TURNO: MATUTINO1
FECHA DE ENTREGA: 01/09/2023
INDICE
INTRODUCCION ................................................................................................................................... 1
ACTIVIDAD 1: VENTANAS EMERGENTES ............................................................................................. 2
ACTIVIDAD 2: SUMA ............................................................................................................................ 5
ACTIVIDAD 3: MULTIPLICACION .......................................................................................................... 7
ACTIVIDAD 4: RESTA ............................................................................................................................ 9
ACTIVIDAD 5: DIVISION ..................................................................................................................... 11
ACTIVIDAD 6: SUMA MEJORADO ...................................................................................................... 13
ACTIVIDAD 8: ARREGLOS ................................................................................................................... 21
CONCLUSIONES ................................................................................................................................. 25
INTRODUCCION
Durante esta unidad, nos adentramos en el fascinante mundo de las estructuras de
datos, explorando conceptos fundamentales como los tipos abstractos de datos, la
complejidad algorítmica y las operaciones básicas que podemos realizar sobre
estas estructuras.
Nuestro principal objetivo en esta unidad fue comprender la importancia de las
estructuras de datos en la resolución eficiente de problemas, aprendiendo a
seleccionar y utilizar la estructura adecuada para cada situación. Para lograrlo,
participamos en diversas actividades prácticas que nos permitieron aplicar los
conocimientos teóricos adquiridos en situaciones reales.
Una de las actividades más destacadas fue la implementación de diferentes
estructuras de datos en java. A través de ejercicios y desafíos, aprendimos a
desarrollar y utilizar listas enlazadas, pilas, colas, árboles y grafos, entre otras
estructuras. Además, pudimos evaluar y comparar la eficiencia de cada estructura
en diferentes escenarios, comprendiendo así la importancia de elegir la estructura
adecuada según las necesidades de nuestro programa.

1
ACTIVIDAD 1: VENTANAS EMERGENTES
Esta actividad consiste realizar un programa que genere cuatro mensajes, pero con
diferentes ventanas emergentes, es decir nuestra ventana mostrara un icono o tipo
de mensaje que queremos presentar, si es de información, error, advertencia o
confirmación.

Materiales:

• Computadora Portátil
• Netbeans
• Jdk

Desarrollo:

En esta práctica realizamos un programa en donde se muestren algunos tipos de


ventanas emergentes que hay en java. Le agregamos como un menú de opciones
para que seleccione la opción que desea y pueda ver los diferentes tipos de
mensajes.

package U1;

import javax.swing.JOptionPane;

public class Mensajes {

public static void main(String[] args) {

JOptionPane.showMessageDialog(null, "MENSAJE DE
ERROR","ERROR",0);

JOptionPane.showMessageDialog(null, "MENSAJE DE
INFORMACION","INFORMACION",1);

2
JOptionPane.showMessageDialog(null, "MENSAJE DE
ADVERTENCIA","ADVERTENCIA",2);

JOptionPane.showMessageDialog(null, "MENSAJE DE
CONFIRMACION","CONFIRMACION",3);

Función:

Cuando se copila el programa de manera automáticamente nos aparecerá la


primera ventana, que nos muestra el mensaje e icono de error.

Si le damos en el botón de “OK” nos aparecerá una ventana con un texto e icono de
Información.

Y si seguimos presionando el boten de “OK” nos aparecerá otra ventana con el texto
e icono de Advertencia.

3
Y por último tendremos el mensaje de que este se utiliza para la confirmación

4
ACTIVIDAD 2: SUMA
Esta actividad consiste en realizar un simple programa de suma de dos números.

Materiales:

• Computadora Portátil
• Espacio suficiente en la memoria
• Netbeans

Desarrollo:

En el programa de una suma es utilizar tres variables, una para pedir el primer
número, otra para pedir el siguiente número y el tercero es para poder guardar el
resultado.

En este código utilizamos el JOptionPane para poder pedir los números mediante
una ventanita y no por consola.

package U1;

import javax.swing.JOptionPane;

public class Suma {

public static void main(String[] args) {

double val1, val2, Res;

val1 = Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor


1"));

val2 = Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor


2"));

Res = val1 + val2;

JOptionPane.showMessageDialog(null, "La suma de " + val1 + " + " + val2


+ " = " + Res);

5
}

Función:

Al momento de ejecutar el programa de la suma automáticamente nos mostrara una


ventanita donde nos pedirá el primer número, el espacio en blanco debemos de
escribir el primer número que desea sumar.

Al darle Ok se abrirá otra ventanita en donde se pide el siguiente a sumar

Una vez que se ha ingresado los dos números a sumar nos mostrara una nueva
ventana en la cual nos mostrara el resultado de la suma.

6
ACTIVIDAD 3: MULTIPLICACION
Esta actividad consiste en programar un programa donde podamos realizar la
multiplicación de dos números y muestre el resultado de dicha operación.

Materiales:

• Computadora Portátil
• Espacio suficiente en la memoria
• Netbeans

Desarrollo:

Mostramos el código del programa en donde declaramos tres variables de tipo


doublé, con el fin de poder multiplicar números decimales. Una variable es para
guardar el primer número, la segunda variable es para guardar el segundo número
y la última variable se utiliza para guardar el resultado de la multiplicación.

package U1;

import javax.swing.JOptionPane;

public class Multiplicacion {

public static void main(String[] args) {

double val1, val2, Res;

val1 = Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor


1"));

val2 = Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor


2"));

Res = val1 * val2;

JOptionPane.showMessageDialog(null, "La multiplicacion de " + val1 + "


* " + val2 + " = " + Res);

7
}

Función:

Al momento de ejecutar el programa nos abrirá una ventanita donde nos pedirá el
que se escriba el primer número, una vez que se ha escribido el número
presionamos la opción Ok.

Una vez que se haya guardo el primer número, se abrirá otra ventanita en la cual
se debe de ingresar el segundo número.

Cuando ya se han ingresado los dos números a multiplicar, este programa


automáticamente nos dará el resultado correcto de dicha operación

8
ACTIVIDAD 4: RESTA
Para llevar a cabo esta actividad se realizó un programa con la finalidad de que se
logre restar dos valores y nos dé a conocer su resultado.
Materiales:

• Computadora Portátil
• Espacio suficiente en la memoria
• Netbeans

Desarrollo:

En el programa de una resta es utilizar tres variables, con la finalidad de pedir el


primer número, otra para pedir el siguiente número y el tercero es para poder
guardar el resultado.

En este código utilizamos el JOptionPane para poder pedir los números mediante
una ventanita y no por consola.

package U1;

import javax.swing.JOptionPane;

public class resta

public static void main(String[] args)

int v1 , v2 , R;

v1 = Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor
1"));

v2 = Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor
2"));

9
R = v1 - v2 ;

JOptionPane.showMessageDialog( null, "La Resta de" + v1 + "+ " + v2 +


"=" + R);

Función:
Al compilar el programa nos pedirá ingresar el primer valor una vez ingresado el
valor 1 procedemos a oprimir la opción “ok”.

Para continuar no solicitara el valor 2 el cual ingresaremos en el recuadro y


volveremos a oprimir “ok”

Para finalizar obtenemos el resultado de la operación, concluimos oprimiendo “ok”


y tenemos un con un programa funcional.

10
ACTIVIDAD 5: DIVISION
Para llevar a cabo esta actividad se realizó un programa con la finalidad de que se
logre dividir dos valores y nos dé a conocer su resultado.
Materiales:

• Computadora Portátil
• Espacio suficiente en la memoria
• Netbeans

Desarrollo:

Para el programa de división es necesario utilizar tres variables, con la finalidad de


pedir el primer número, otra para pedir el siguiente número y el tercero es para poder
guardar el resultado.

En este código utilizamos el JOptionPane para poder pedir los números mediante
una ventanita y no por consola.

package U1;

import javax.swing.JOptionPane;

public class division

public static void main(String[] args)

int v1 , v2 , R;

v1 = Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor
1"));

v2 = Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor
2"));

11
R = v1 / v2 ;

JOptionPane.showMessageDialog( null, "La Divicion de" + v1 + "+ " + v2


+ "=" + R);

Función:
Colocamos el primer valor en el apartado correspondiente de programa y a
continuación oprimimos “ok” para el siguiente paso.

Siguiendo mas adelante colocamos el segundo valor a dividir y con esto tenemos
dos valores para ejecutar el programa, continuamos con “ok”.

Procedemos a finalizar obteniendo el resultado de la división para volver al menú


volvemos a oprimir “ok”.

12
ACTIVIDAD 6: SUMA MEJORADO
Esta actividad consiste realizar un programa de la suma de dos números, pero con
la finalidad de utilizar menos espacio en la memoria, es decir, solo utilizaremos una
variable

Materiales:

• Computadora Portátil
• Netbeans
• Jdk

Desarrollo:

A continuación, se muestra el código del programa donde podremos realizar una


suma con solo una variable, de tal forma que ocupemos poco espacio de memoria.

package U1;

import javax.swing.JOptionPane;

public class Suma_Mojorada {

public static void main(String[] args) {

float num1;

num1 = Float.parseFloat(JOptionPane.showInputDialog("Ingrese el
primer numero"));

num1 = num1 + Float.parseFloat(JOptionPane.showInputDialog("Ingrese


el segundo numero"));

JOptionPane.showMessageDialog(null, "La division es: "+num1);

13
Para este programa utilizamos el tipo de dato float, por dos razones importantes; la
primera es que para hacer sumas no solo podemos sumar enteros, también
podemos sumar decimales, por lo que el float nos permite sumar decimales y
enteros, la otra es que ocupa muy poco espacio en la memoria y trabaja igual que
las demás.

Función:

1. Al momento de ejecutar el programa funciona correctamente, por lo que nos


aparece la primera ventana donde nos pide ingresar el primer número.

2. Una vez que hemos ingresado el número, el programa automáticamente nos


pedirá el segundo número.

3. Cuando ya hemos ingresado los dos números y damos en la opción de OK se


nos abrirá la nueva ventana donde nos mostrará el resultado de la suma.

14
ACTIVIDAD 7: CALCULADORA
Esta actividad consiste en realizar un programa de una calculadora el cual tiene
contraseña y se implementa lo visto anteriormente.
Materiales:

• Computadora Portátil
• Netbeans
• Jdk

Desarrollo:

A continuación, mostraremos el código del programa donde podremos


realizar la calculadora, de tal forma se implementará diversos aprendisajes
anteriores
package U1;
import javax.swing.JOptionPane;
public class calculadora
{
static int Resp = 0;
public static void main(String[] args)
{
if(!login())
Resp = 5;
while(Resp != 5)
{
try
{
Resp = Integer.parseInt(JOptionPane.showInputDialog("===
M E N U ===\n1.- SUMA.\n2.- RESTA.\n3.- MULTIPLICACIÓN.\n4.-
DIVISIÓN.\n5.- SALIR."));
}

15
catch (Exception e)
{
Resp = 0;
}
switch(Resp)
{
case 1:
Suma();
break;
case 2:
Resta();
break;
case 3:
Multi();
break;
case 4:
Divi();
break;
case 5:
//Salir();
break;
default:
JOptionPane.showMessageDialog(null, "Opción NO válida,
ingresar del 1 al 5.", "E R R O R", 0);
break;
}
}
}
static double ingresa_valor(int no_valor)
{

16
double valor =
Double.parseDouble(JOptionPane.showInputDialog("INGRESA EL
VALOR " + no_valor));
return valor;
}
static void imprime_resultado(double resultado)
{
switch(Resp)
{
case 1:
JOptionPane.showMessageDialog(null, "La Suma es: " +
resultado);
break;
case 2:
JOptionPane.showMessageDialog(null, "La Resta es: " +
resultado);
break;
case 3:
JOptionPane.showMessageDialog(null, "La Multiplicación es:
" + resultado);
break;
case 4:
JOptionPane.showMessageDialog(null, "La División es: " +
resultado);
break;
}
}
static void Suma()
{
double Valor1 = ingresa_valor(1);

17
double Valor2 = ingresa_valor(2);
imprime_resultado(Valor1 + Valor2);
}
static void Resta()
{
double Valor1 = ingresa_valor(1);
double Valor2 = ingresa_valor(2);
imprime_resultado(Valor1 - Valor2);
}
static void Multi()
{
double Valor1 = ingresa_valor(1);
double Valor2 = ingresa_valor(2);
imprime_resultado(Valor1 * Valor2);
}
static void Divi()
{
double Valor1 = ingresa_valor(1);
double Valor2 = ingresa_valor(2);
imprime_resultado(Valor1 / Valor2);
}
static boolean login()
{
String nip = "Jefe123";
return nip.equals(JOptionPane.showInputDialog("Escribe la
Contraseña:"));
}

18
FUNCION

1. Al momento de que ejecutemos el código nos aparecerá una ventana que


nos pedirá una contraseña, si introducimos mal la contraseña o una que no
es, la ventana se cierra de manera automática.

2. Al introducir correctamente la contraseña nos dejara ver el menú que


tendremos, en el cual esta: suma, multiplicación y división, así como una
opción de salir.

3. Al darle en la operación que necesitemos realizar aparecerán otras ventana


pidiendo los valores

19
4. Después de darle “OK” el resultado aparece en otra ventana

5. Después de darle “OK” nos regresara el menú principal, de igual manera


repetimos los mismos patrones pero con la operación dese, y para salir de la
venta solo elegimos la opción de salir y “OK”.

20
ACTIVIDAD 8: ARREGLOS
Esta actividad consiste realizar un programa de una tiendita de ropa utilizando
arreglos, donde pondremos el producto, precio y cantidad, además se estará
manejando como una pequeña base de datos para ir registrando las ventas de los
productos.

Materiales:

• Computadora Portátil
• Netbeans
• Jdk

Desarrollo:

A continuación, se muestra el código del programa de la tiendita de ropa donde


podremos observar detalladamente cada parte del código.

package U1;

import javax.swing.JOptionPane;

public class ARREGLOS

public static void main(String[] args) {

String productos[] = {"Pantalon", "Camisa", "Blusa", "Falda", "Short"};

int cantidad[] = {10, 6, 7, 5, 10};

double precios[] = {199.99, 250, 200, 150, 250};

int op = 0;

while (op != productos.length + 1) {

mostrarInventario(productos, cantidad, precios);

21
String menu = "=== VENTAS ===\n";

for (int i = 0; i < productos.length; i++) {

menu += (i + 1) + ". " + productos[i] + " - $" + precios[i] + "\n";

menu += (productos.length + 1) + ". SALIR";

try {

op = Integer.parseInt(JOptionPane.showInputDialog(null, menu));

if (op >= 1 && op <= productos.length) {

int indiceProducto = op - 1;

if (cantidad[indiceProducto] > 0) {

cantidad[indiceProducto]--;

JOptionPane.showMessageDialog(null, "Venta realizada: " +


productos[indiceProducto], "VENTA",
JOptionPane.INFORMATION_MESSAGE);

} else {

JOptionPane.showMessageDialog(null, "Producto agotado: " +


productos[indiceProducto], "AGOTADO",
JOptionPane.WARNING_MESSAGE);

} else if (op == productos.length + 1) {

System.out.println("FIN DE VENTAS");

} else {

22
JOptionPane.showMessageDialog(null, "Opción Incorrecta...",
"ERROR", JOptionPane.ERROR_MESSAGE);

} catch (NumberFormatException e) {

JOptionPane.showMessageDialog(null, "Entrada no válida. Ingrese


un número.", "ERROR", JOptionPane.ERROR_MESSAGE);

static void mostrarInventario(String[] productos, int[] cantidad, double[]


precios) {

String inventario = "=== INVENTARIO ===\n";

inventario += "| PRODUCTO\t | PRECIO | CANTIDAD |\n";

inventario += "---------------------------------\n";

for (int i = 0; i < productos.length; i++) {

inventario += "| " + productos[i] + "\t| $" + precios[i] + "\t| " + cantidad[i]
+ " unidades |\n";

System.out.println(inventario);

23
FUNCION:

1. Al momento de ejecutar el programa nos aparecerá una venta que nos dará
los productos y precios, así como también una lista de las unidades
disponibles de cada producto

2. Al momento de darle en alguno de los productos, en el otro apartado se irán restando


las unidades

3. Después de darle en “OK” nos aparecerá una ventana que dice “Venta
realizada”

4. Después de darme en “OK” nos aparece una lista actualizada de las unidades
disponibles de cada producto

24
CONCLUSIONES
Resumen de lo aprendido de cada código de estructura de datos.

Durante el recorrido de la unidad 1 navegamos en diversos temas como la


clasificación de las estructuras de datos, ejemplos de TDA`s, manejo de la memoria,
análisis de algoritmos, etc.

Primeramente, aprendimos a utilizar pantallas emergentes, las cuales muestran


iconos de error, información, advertencias, y confirmación. Esto con la finalidad de
aplicarlo en los programas futuros y tener un buen diseño.

Con base al estudio de los temas obtuvimos conocimientos de como utilizar la


opción de JOpcionPane la cual despliega una ventana que contiene parámetros de
manera sencilla pero eficientes, uno de los primeros programas que pusimos a
prueba con esta opción fue el programa de suma un ejemplo sencillo pero muy
bueno para explicar una introducción hacia donde queríamos llegar.

A continuación, procedimos a realizar las siguientes operaciones, así como la suma


la resta, división y multiplicación. Para lograr que nuestro programa realice la acción
de restar en lugar de sumar cambiamos el signo en el código en lugar de que el
valor 1 y 2 sumen “+” los programamos para que resten “-”, para llegar a la división
se usó el mismo procedimiento, solo que nos olvidamos de los signos de suma y
resta en su lugar utilizamos el signo de división “÷, /” así mismo para la
multiplicación solo realizamos el cambio de signo “x,*”. Cabe destacar que se
remplazaron la forma de dar el resultado, cuando realizábamos una división
obteníamos la respuesta con la palabra división al igual que la suma la resta y
multiplicación.

Más adelante realizamos un programa con el nombre de suma mejorada para este
programa nuestro objetivo era reducir el espacio en la memoria al momento de que
se ejecute el programa el dato float fue indispensable en este programa ya que
permite colocar decimales y números enteros así mismo reduce en gran cantidad el
espacio en la memoria.

25
Continuando con las sesiones ahora realizamos un programa llamado calculadora,
y como su nombre lo dice tenía que realizar diversas operaciones, así como las
antes mencionadas, al intentar acceder a esta calculadora ya nos pedía una
contraseña la cual se programó para dar acceso o denegarlo dependiendo si la
clave es correcta o incorrecta, esta calculadora enumeraba las opciones a ejecutar
del 1 al 5,apartir de este programa ya utilizamos diversos recursos que aprendimos
con los primeros programas tanto pantallas emergentes como operaciones básicas
y el float reunimos estos recursos para ejecutar la calculadora.

Llegando a la parte final y poniendo en práctica los conocimientos anteriores


realizamos una tiendita la cual cuenta con productos precio y cantidad hasta una
pequeña base de datos la cual registra la disminución de un producto al momento
que nota su ausencia, en este caso cuando se realiza la venta. En el código se
utilizó JOpcionPane, float, while, for, if, entre otros tipos de datos con la finalidad de
ejecutar un programa eficiente presentable y funcional.

MAURICIO FRANCISCO HERNANDEZ

En conclusión, hacer un programa para hacer sumas con una variable puede ser
una tarea bastante sencilla y útil. Un programa de este tipo permitiría al usuario
ingresar un número y luego realizar diversas operaciones matemáticas con dicho
número, como sumarle otra cantidad determinada. Este tipo de programas son
beneficiosos porque permiten automatizar tareas repetitivas y evitar errores
humanos al realizar sumas manualmente. Además, son fáciles de implementar, ya
que solo se requiere un conocimiento básico de programación y el uso de algunas
estructuras de control. Un programa bien diseñado y ejecutado puede proporcionar
resultados precisos y rápidos, lo que ayuda a los usuarios a ahorrar tiempo y
minimizar errores. Además, un programa de este tipo puede ser personalizable para
adaptarse a diferentes necesidades y preferencias del usuario. Por lo tanto,
desarrollar un programa de divisiones puede ser una opción valiosa tanto para
estudiantes, profesionales y cualquier persona que necesite realizar cálculos de
división de manera frecuente. El programa de calculadora que he utilizado ha sido

26
muy útil y eficiente. Ha cumplido con todas mis expectativas y necesidades al
realizar operaciones matemáticas básicas de manera rápida y precisa. Desde el
principio, me gustó su interfaz sencilla y fácil de entender, lo cual facilitó su uso.
Además, las funciones de suma, resta, multiplicación y división fueron muy precisas
y me proporcionaron los resultados correctos en todo momento. Al hacer un
programa que abra ventanas con mensajes puede ser una forma efectiva de
comunicarse con los usuarios y brindar información importante de manera clara y
concisa. Este tipo de programa puede ser útil en diferentes contextos, como en
aplicaciones de escritorio, páginas web o incluso en dispositivos móviles. En
resumen, pude comprender mejor las distintas variables que se pueden utilizar, así
como también como poder hacer menos líneas de código para así poner tener más
memoria, se que en futras tareas o proyectos todo esto me servirá de mucho

JORGE LUIS AHUMADA HERNÁNDEZ

En conclusión, la unidad 1 de la estructura de datos ha sido fundamental para


adquirir los conocimientos necesarios y comprender cómo se organizan y manipulan
los datos en un programa. Durante esta unidad, hemos aprendido diferentes formas
de hacer un código quede más compactado y utilice menos memoria, así como y
también realizar una calculadora con operaciones básicas, varios consejos que el
docente nos dios para cuando empecemos a programar en futuras materias y
empleos.

En resumen, esta unidad me ha proporcionado una base sólida para comprender y


utilizar eficientemente las diferentes variables y hacer un programa de manera más
eficiente. Para finalizar con mi conclusión, todo lo que aprendí de esta unidad me
servirá de una manera u otra para futuras tareas o proyectos que realice, de igual
manera la forma en la que el docente nos enseño los distintos temas y códigos de
la unida fue muy efectiva, ya que pude entender y mejorar ala hora de realizar los
programas

ALAN EDUARDO MARTINEZ MARCOS

27
En programación, los códigos de suma, resta, división y multiplicación son
fundamentales para realizar operaciones matemáticas básicas. Estos códigos se
utilizan comúnmente en una variedad de aplicaciones y proyectos de programación.
En resumen, los códigos de suma, resta, división y multiplicación son componentes
esenciales en programación, utilizados para realizar operaciones matemáticas
básicas. La estructura suma mejorada y la estructura m1 pueden ser útiles según
su diseño y contexto de aplicación específicos, pero su utilidad y eficacia dependen
en gran medida de cómo se implementen y de los requisitos del programa en el que
se utilicen. estos códigos representan diferentes aspectos de la programación,
desde el cálculo matemático eficiente hasta la comunicación entre partes de un
programa o sistemas. Cada uno de ellos puede enseñar conceptos valiosos a los
programadores y se utiliza en una variedad de contextos en la programación y la
informática en general.

PABLO ISAAC HERMANDEZ MARTINEZ

28

También podría gustarte