Sei sulla pagina 1di 4

UNIVERSIDAD DE SAN

MARTIN DE PORRES
FACULTAD DE INGENIERIA Y
ARQUITECTURA

ALGORITMO Y ESTRUCTURA DE DATOS I

EJERCICIOS

PUNTEROS
NIVELES Y MÉTODOS DE
ACCESO

ING. JUAN ALBERTO PUERTA ARCE


EJERCICIOS
1. Desarrollar un Algoritmo que le permita al usuario el ingreso de tres números
enteros (a, b y c), y luego de ello mostrar los 3 números ingresados de manera
ascendente.

Nota: Utilice tres punteros, cada uno de los cuales apuntará a las variables a, b y c
respectivamente.

2. Se desea hacer el registro del peso de 20 artículos, en el rango [5 - 18]Kg, así como
la generación aleatoria de un código de 3 cifras para cada uno de ellos (los códigos
tienen que ser diferentes).

El programa calculará el promedio de los pesos, y no dejará de hacerlo hasta que


dicho promedio este en el rango [7.4 – 10.4]Kg, de no ser así se deberá modificar el
mayor y menor peso con otros valores aleatorios en el mismo rango. (Si hay más
de un menor o más de un mayor se modificará sólo uno de ellos).

Luego de ello se deberá eliminar de los pesos resultantes aquel cuyo código sea el
mayor.

Mostrar los datos originales y los datos resultantes.

registro
int *peso
int *codigo
int c
registro( )
void registrar( )
int buscarCodigo(intx, int y )
void ordena( )
void modifica(int w, int z)
void elimina(int p)
void mostrar( )
double promedio( )
void aplicacion( )
3. Desarrollar un programa que permita simular el registro del tiempo (por hora)
utilizado por el procesador de una PC durante el transcurso del día.
Dichos tiempos serán generados de manera aleatoria en el rango [10 – 80]usg. (con
2 decimales de aproximación). Mostrar dichos tiempos.

Luego de ello se pide lo siguiente:

Seleccionar las horas en que se produjeron “picos” de tiempo, y mostrarlas en


pantalla junto con el valor de dichos tiempos.

Por ejemplo:

0.26 hora 3
0.49 hora 8
0.68 hora 15
0.34 hora 24
.
.

ANALISIS

int c
int *pos

double* registrarTiempos( )
void mostrarTiempos(double *p)
double* seleccionarTiempos( double *k)
int* seleccionarHoras( )
void mostrarResultado(double *r, int *g)

Nota: El puntero “pos” apuntará a un vector que almacenará las posiciones


de los tiempos seleccionados
4. Desarrollar un programa que permita hacer el registro del nombre y edad de las
personas que desean inscribirse a un concurso.
El usuario decidirá el momento en que ya no se permiten inscribir postulantes.
Como no se sabe cuántos postulantes habrá, se tendrá un registro inicial de tamaño
uno, el cual irá creciendo conforme aumente la cantidad de postulantes, y hasta que
el usuario decida terminar.

Mostrar el registro resultante en el formato adecuado.

Nota: Utilice punteros para la implementación; así como el método de


aumento de datos visto en clase. Puede agregar los atributos y métodos
que crea conveniente.

5. Diseñe la clase Alumno que contenga como atributos privados un nombre y dos
notas. Además; implemente un método constructor que inicialice a estos atributos,
los métodos de acceso get/set , un método que retorne la nota promedio y un método
que retorne el estado del alumno (aprobado o desaprobado)

Visualizar los datos del alumno en la función principal.

Potrebbero piacerti anche