Está en la página 1de 5

FACULTAD DE INGENIERÍA

Escuela Profesional de Ingeniería de Sistemas e Informática

ESTRUCTURA DE DATOS

SEMANA 05

LAB Ejercicios caso Examen 1era Unidad

N° Apellidos y Nombres Código de Matricula


1 Aguilar Villanfana Juan José 202114011
2 Dueñas Blas Joseph Ali Ricardo 202114029
3 Hurtado Ramos Ronald Fabrizio 202114034
4 Muñoz Rojas Rodrigo Kevin 202114043
5 Palomino Totimura Ayrton Shizuo 202114045

Instrucciones
Resolver de acuerdo con lo solicitado en cada pregunta. Adjuntar Excel y
Proyecto JAVA. Nombre del archivo: Apellido.rar (ej. Grau-Bolognesi-
Ugarte.rar)

Nuevo Chimbote, marzo 09 de 2021


NOTA
1.- Tiene el siguiente pseudocódigo del algoritmo de ordenamiento Cocktail Sort, agregar
contadores de comparaciones e intercambios. Se debe imprimir el arreglo inicial que se
encuentra desordenado y al final el arreglo ordenado con los resultados de las comparaciones e
intercambios. Probar el método con los siguientes juegos de valores:
(a) {10, 30, 50, 70, 90}, (b) {90, 10, 30, 50, 70}, (c) {90, 70, 50, 30, 10} y (d) {30, 10, 90, 70, 50}, debe
decir cual juego de valores es el mejor caso y cual es el peor caso.

INICIO
entero comp = 0, inter = 0;
entero a[] = {1, 3,5, 7, 9};
booleano cambio = verdadero;
entero inicio = 0, final = a.longitud;
Imprimir("Array Desordenado");
Llamar imprimirArray(a);
mientras (cambio == verdadero) hacer
cambio = falso;
desde (entero i = inicio; i < final - 1; ++i) hacer
si (a[i] > a[i + 1]) entonces
entero temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
cambio = verdadero;
fin_si
fin_desde_i
si (cambio == falso) entonces
Quebrar;
fin_si
cambio = falso;
final = final - 1;
desde (entero i = final - 1; i >= inicio; i--) hacer
si (a[i] > a[i + 1]) entonces
entero temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
cambio = verdadero;
fin_si
fin_desde_i
inicio = inicio + 1;
fin_mientras
Imprimir("Array Ordenado");
Llamar imprimirArray(a);
Llamar imprimirResultados();
FIN
il Sort, agregar
o inicial que se
comparaciones e

90, 70, 50}, debe


2.- Trabaja en un centro recreacional, y tiene que subir pasajeros a los botes ñiños NOTA.- Para mejor
acompañados de un adulto. Escriba el método en pseudocódigo que haga el Ejemplo:
recorrido a la siguiente lista enlazada que contiene las edades de los pasajeros
que quieren pasear, y solo permita subir pasajeros a cada bote con un adulto
mayor de 25 años; además debe reportar el número de pasajeros y la edad
promedio que lleva cada bote. START = 3.
(5 puntos)
Índice 0 1 2 3 4 5 6 7 8 9 10 11 Rpta.
EDAD 11 41 7 6 12 8 29 38 9 11 10 9
ENLACE 7 8 10 11 1 9 3 2 5 6 4 0

INICIO          
Entero EDAD[]={11,41,7,6,12,8,29,38,9,11,10,9}      
Entero Enlace[]={7,0,10,11,1,9,3,2,5,6,4,0}    
Entero START=3;    
int PTR=0;      
PTR=START      
Entero cont1=0      
Entero cont2=0      

Hacer      
cont1++
cont2=cont2+edad[PTR]
si (edad[PTR]>25)  entonces
Imprimir "La cantidad de pasajeros en este bote es de: " +cont1
Imprimir "La edad promedio de pasajeros en este bote es: " +cont2/cont1
cont1=0
cont2=0
Finsi  
PTR=Enlace[PTR]
mientras(PTR<>START)        

FIN

      
NOTA.- Para mejor comprensión, el pseudocódigo debe estar indentado
Ejemplo:
si (condición) entonces
sentencia 1
sentencia 2

fin_si

También podría gustarte