Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Practica. Arreglos y Operaciones, Ejercicios de Programación Java

Ejercicios de programación. Arreglos unidimensionales.

Tipo: Ejercicios

2019/2020

Subido el 16/09/2020

omar-padron-capote
omar-padron-capote 🇨🇺

1 documento

1 / 12

Toggle sidebar

Documentos relacionados


Vista previa parcial del texto

¡Descarga Practica. Arreglos y Operaciones y más Ejercicios en PDF de Programación Java solo en Docsity! UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN Facultad de Ingeniería E.A.P. Ingeniería en Informática y Sistemas PRÁCTICA Nº 1: ARREGLOS Y OPERACIONES CON ARREGLOS OBJETIVOS  Implementar algoritmos de búsqueda, ordenación, inserción y eliminación en arreglos unidimensionales. FUNDAMENTO TEÓRICO OPERACIONES BÁSICAS CON ARREGLOS. 1. Búsqueda. La búsqueda consiste en encontrar un determinado valor dentro de un conjunto de datos, para recuperar alguna información asociada con el valor buscado. Existen diferentes formas de realizar esta operación; en otras palabras hay distintos métodos o técnicas para realizar búsqueda en vectores.  Búsqueda secuencial o lineal.  Búsqueda Binaria.  Búsqueda Hash.  Arboles de búsqueda. 2. Ordenación La ordenación se refiere a la operación de organizar los elementos de un vector en algún orden dado: ascendente o descendente. Existen diferentes métodos o técnicas para organizar los elementos de un arreglo. Los más comunes son:  Método de burbuja  Método de burbuja mejorado.  Ordenación por selección  Inserción o método de la baraja  Shell  Binsort o por urnas  Por montículos o heapsort  Por mezcla o mergesot  Método de la sacudida o shackersort  Rapid sort o quick sort  Por árboles. 3. Inserción Esta operación consiste en adicionar un nuevo elemento al arreglo. Se debe tener en cuenta: 1. Que no sobrepase el tamaño máximo declarado para el vector. 2. La operación puede darse para un arreglo ordenado o desordenado. 3. Si el arreglo está desordenado, se incrementa en uno el número de elementos y en esa posición N + 1 se inserta el nuevo elemento, 4. Si el arreglo está ordenado hay que o 4-1 Buscar el lugar dentro del arreglo donde se debe inserta el nuevo valor para que continúe el vector ordenado. o 4-2 Correr todos los elementos del vector una posición a la derecha, para abrirle espacio al nuevo elemento, a partir del lugar donde debe insertarse el nuevo dato. o 4-3 Insertar el nuevo elemento del vector en el espacio que le corresponde. UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN Facultad de Ingeniería E.A.P. Ingeniería en Informática y Sistemas 4. Eliminación Consiste en eliminar un elemento del arreglo, puede darse cuando el arreglo está desordenado u ordenado. El proceso de eliminación sigue los pasos que se describen a continuación:  Verificar que el arreglo no esté vacío.  Buscar la posición donde se encuentra el elemento a borrar.  Correr los elementos una posición a la izquierda, a partir de la posición siguiente donde se encuentra el valor a borrar.  Disminuir el número de elementos del vector en uno.  Enviar un mensaje en caso de que el elemento a borrar no esté dentro del arreglo. PORQUE USAR ARREGLOS Caso de ejemplo: Se tiene las calificaciones de un grupo de 30 alumnos. Se requiere saber cuántos alumnos tienen un promedio de notas superior al promedio del grupo. ¿Cuál sería el algoritmo para resolver este problema, haciendo uso sólo de datos simples? Solución por Doble lectura: i y Cont son variables enteras, AC, Promedio y Nota son reales UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN Facultad de Ingeniería E.A.P. Ingeniería en Informática y Sistemas INICIO SI Nota30>Promedio Cont=Cont+1 Escribir Cont FIN AC=0 Para i=1 to 30 Leer Nota[i] AC=AC+Nota[i] Promedio=AC/30 Para i=1 to 30 V F El ejemplo anterior muestra los inconvenientes que se encuentran al hacer uso sólo de datos simples. En el primer caso se debe efectuar una doble lectura de datos y en el segundo caso se requieren muchas variables para evitar la doble lectura. Cuando la solución de problemas haciendo uso sólo de datos simples es muy compleja, se recurre al uso de datos estructurados. Para la solución del problema anterior hicimos uso de Arreglos Unidimensionales. Operaciones con Arreglos Desordenados 1. Crear un programa que permita realizar todas las operaciones con arreglos desordenados: (Lectura, Escritura, Insertar, Buscar, Eliminar, Modificar y Ordenar los elementos del Arreglo). Mostrar el Número de Elementos y el Mayor de todos ellos. Inserción: SI n<100 n=n+1 Error: el arreglo está lleno V[n]=y V F Eliminación UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN Facultad de Ingeniería E.A.P. Ingeniería en Informática y Sistemas SI n>=1 Cen=0 MIENTRAS i<=n y Cen=0 SI V[i]=x Cen=1 X no está en el arreglo V F SI Cen=0 i=1 Error: Arreglo esta vacio V n=n+1 Para k=1->n V[k]=v[k+1] Modificación: UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN Facultad de Ingeniería E.A.P. Ingeniería en Informática y Sistemas SI n>=1 Cen=0 MIENTRAS i<=n y Cen=0 SI V[i]=x X no está en el arreglo V F SI Cen=0 i=1 Error: Arreglo esta vacio V V[i]=x Cen=1 i=i+1 V F Operaciones con Datos Ordenados 2. Crear un programa que permita realizar todas las operaciones con arreglos Desordenados: (Lectura, Escritura, Insertar, Buscar, Eliminar y Modificar los elementos del arreglo). Mostrar el número de elementos y el máximo índice. Búsqueda UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN Facultad de Ingeniería E.A.P. Ingeniería en Informática y Sistemas SI n>0 Buscar Recibe: x,n,w Devuelve: pos Error: El arreglo esta vacio SI Pos<0 Elemento w no existe n=n+1 Para i=pos  n V[i]=v[i+1] V F Modificación SI n>0 Buscar Recibe: x,n,w Devuelve: pos Error: El arreglo esta vacio SI Pos<0 Elemento w no existe V[pos]=w V F UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN Facultad de Ingeniería E.A.P. Ingeniería en Informática y Sistemas EJERCICIOS PROPUESTOS 1. Realice un programa que lea 20 números enteros cada uno de los cuales éste entre 10 y 100. Conforme cada número sea leído, imprima sólo si no es un duplicado de un número leído anteriormente. 2. Escriba un programa en C que simule el lanzamiento de dos dados. El programa deberá utilizar la función rand para el lanzamiento de los dados, entonces la suma de los dados debe ser calculada. Nota: en vista de que cada dado puede mostrar valores del 1 al 6, la suma de los dados deberá estar comprendida entre 2 o 12, siendo la suma más frecuente 7 y la menos frecuente 2 a 12. Su programa deberá realizar 36000 lanzamientos. Utilice un arreglo para contar el número de veces que aparece cada suma posible. Imprima los resultados en forma tabular y determine el porcentaje de veces que salió un 7, un 2 o un 12. 3. Una pequeña aerolínea acaba de adquirir una computadora para un sistemas automatizado de reservaciones. El presidente le ha solicitado a usted que programa el nuevo sistema en C. Usted debe escribir un programa que asigne asientos en cada vuelo del único avión de la aerolínea (capacidad 10 asientos). Su programa deberá mostrar el siguiente menú de alternativas. Ingrese 1 para Fumadores. Ingrese 2 para No fumadores. 4. Si la persona escribe 1, entonces su programa deberá asignar un asiento en la sección de fumar (asientos del 1 al 5) si la persona escribe 2, entonces su programa deberá asignar un asiento en la sección de no fumar (asientos del 6 al 10). Si el programa a continuación deberá imprimir un pase de abordaje, indicando el número de asiento de la persona y si está en la sección de fumar o no fumar del avión. Su programa no deberá, naturalmente, asignar nunca un asiento que ya haya sido asignado. Cuando esté llena la sección de fumar, su programa deberá solicitar a la persona, si le parece ser colocada en la sección de no fumar (o viceversa). Si dice que sí, entonces efectúe la asignación apropiada de asiento. Si dice que no, entonces imprima el mensaje “Siguiente Avión disponible en 3 Horas”. 5. Imagine una tortuga que camina por la habitación bajo un programa en C. La tortuga sujeta una pluma dos posiciones posibles, arriba o abajo. Cuando la pluma está abajo, la tortuga traza formas conforme mueve; cuando la pluma está arriba, la tortuga se mueve libremente, sin escribir nada. En este problema simularemos la operación de la tortuga. Utilice un arreglo de 50 por 50 de nombre Piso que inicializa a ceros. Lea los comandos partiendo de un arreglo que los contenga. Lleve control en todo momento de la posición actual de la tortuga, así como de si la pluma en ese momento está arriba o abajo. Suponga que la tortuga siempre empieza a partir de la posición 0,0 en el piso, con su pluma arriba. El conjunto de comandos de la tortuga que se programa debe procesar, son como sigue: Comando Significado 1 Pluma Arriba 2 Pluma Abajo 3 Giro a la Derecha 4 Giro a la Izquierda 5,10 Moverse hacia adelante 10 espacios (u otro número distinto a 10) 6 Imprimir el arreglo 50 x 50 9 Fin de los datos (ver centinela) Suponga que la tortuga está en algún logar cerca del centro del piso. El siguiente “programa” dibujaría e imprimiría un cuadrado 12 por 12: 2 5,12 3 5,12 3 5,12 3 5,12 1 6 9 Conforme la tortuga se mueve con la pluma abajo, defina los elementos apropiados del arreglo Piso, al valor 1. Cuando se da el comando 6 (imprimir), siempre que exista en el arreglo un 1, despliegue un asterisco, o cualquier otro carácter que seleccione. Siempre que aparezca un 0, despliegue un espacio vacío. Escriba UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN Facultad de Ingeniería E.A.P. Ingeniería en Informática y Sistemas un programa en C para poner en operación las capacidades gráficas de la tortuga discutidas aquí.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved