Академический Документы
Профессиональный Документы
Культура Документы
Práctica 1
a) Una de las actividades que realiza la Coordinación de Ingeniería Electrónica, es llevar el archivo
de los libros de tesis y pasantías larga que son parte de los requisitos para optar al título de
Ingeniero Electrónico. Además de llevar un control, se provee a los estudiantes de esta carrera
de una biblioteca que puede ser consultada con fines académicos. Se desea que usted realice un
programa que permita controlar la entrada de libros y los préstamos de los mismos.
Especificaciones de entrada:
o Para cada libro, se solicita
Tipo (tesis o pasantía), título, fecha, autor(es)
o Para cada estudiante que hace un préstamo, se solicita
Carnet, Nombre y apellido, Título de libro, autor(es), fecha del préstamo, fecha de
devolución
o Los nombres, títulos y autores tienen formato texto
o Las fechas tienen formato dd/mm/aa, donde dd está en el rango 1-31, mm en el rango 1-
12, y aa en el rango 1970
o El carnet es formato numérico
o El tipo (tesis o pasantía) puede ser un caracter o un booleano
Especificaciones de salida:
Se pueden producir los siguientes reportes
o Lista de Tesis o pasantías ordenadas por mes y año. El cual contiene título, autor(es) y
fecha
o Lista de estudiantes con préstamos activos ordenados por fecha del préstamo. El cual
contiene: fecha del préstamo, carnet y nombre del estudiante, fecha de devolución, si
está o no moroso.
o Cada reporte debe llevar el logo de la universidad y el nombre de la coordinación de
Ingeniería Electrónica como encabezado.
o Los reportes deben tener salida por pantalla, por impresora o enviarlo a alguna dirección
email
b) Usted es un fanático de beisbol y desea llevar un registro de todos los eventos ocurridos en las
finales de la liga nacional e internacional. Para ello se plantea hacer un programa que
simplifique este registro.
Especificaciones de entrada:
o Se almacenarán datos de los equipos, los jugadores y los encuentros
o Para cada jugador, se solicita
Nombre Jugador, posición que juega, fecha en que entró al equipo, average, hits
conectados, etc.
o Para cada equipo, se solicita
Nombre del equipo, localidad o estado al que pertenece, liga (nacional o internacional),
logo, número de jugadores activos, lista de patrocinantes, etc
o Para cada encuentro, se solicita
Equipos participantes, lugar y fecha del encuentro, número de entradas vendidas, etc.
o Los nombres, lugares y posición tienen formato texto
1
o Las fechas tienen formato dd/mm/aa, donde dd está en el rango 1-31, mm en el rango 1-
12, y aa en el rango 1970
o Los demás campos son formato numérico
o El logo es un archivo gráfico
Especificaciones de salida:
Se pueden producir los siguientes reportes
o Lista de jugadores por equipos ordenados por average. El cual contiene nombre del
jugador, posición y average. En este reporte debe ir el logo del equipo.
o Lista de patrocinantes por equipo. En este reporte debe ir el logo del equipo.
o Lista de equipos por liga. El cual contiene: la liga, los nombres de los equipos y sus
localidades, número de jugadores por equipo.
o Dado el mes y año, lista de encuentros, en la cual se detalla, la fecha del encuentro, el
lugar y los equipos participantes
o Los reportes deben tener salida por pantalla, por impresora o enviarlo a alguna dirección
email
2. Diseñe un algoritmo para resolver cada uno de los siguientes problemas, indique entradas,
salidas
Algoritmo:
Si b=0
Escribir “no existe división por cero”
Fin
Si el resto de dividir a entre b es cero
Resultado = si
En caso contrario
Resultado = no
Algoritmo:
Si A es cero (la ecuación es de primer grado)
raiz1=0 y raiz2=(-C)/B
En caso contrario: Se calcula B2-4AC
Si el resultado es negativo
Escribir “las raíces son complejas”
Si el resultado es cero
raiz1=raiz2=(-B)/(2A)
Si el resultado es mayor que cero
raiz1=(-B)+(B2-4AC) y raiz2=(-B)-(B2-4AC)
2
Salidas: resultado (lógico: si o no)
Algoritmo:
N = longitud(pal)
Si N=0
Escribir “Cadena vacia”
Fin
En caso contrario
Hacer desde i=0 hasta N/2
Si la posición i de pal es diferente a la posición N-i
resultado=no
Fin
Si todos son iguales
resultado=si
3. Dadas las siguientes secuencias de pasos, decir si son o no algoritmos (justifique). En caso de
que no sean indique si se pueden modificar para obtener un algoritmo y realice los cambios
pertinentes.
El paso (iii) es ambiguo, por lo cual no puede ser un algoritmo. Debe ser más preciso, por ejemplo,
“espere una hora”. Este si es preciso, pero no garantiza que la torta esté cocida, ¿cómo podemos
hacerlo?
4.- Escriba algoritmos para los siguientes problemas. Utilice como formas de representación
diagramas de flujo y pseudocódigo
a) Dados tres números naturales, calcular el máximo y el mínimo de esos números
Ingresar a
Ingresar número a
Ingresar b Ingresar número b
Si a > b entonces
a>b max = a
min = b
maxa maxb Sino
minb mina max = b
min = a
FinSi
Devolver
max,min
3
b) Dados dos vectores A y B calcular su suma de ellos
En pseudocódigo:
Ingresar tamaño N
Ingresar vectores A,B
Inicializar k en 1
Mientras kN hacer
SkAk+Bk
kk+1
FinMientras
En diagramas de flujo:
Ingresar tamaño N
Ingresar vectores A y B
K0
no Devolver
k Vector S
N
si
SkAk+Bk
kk+1