Você está na página 1de 7

Facultad de Ingeniera de Sistemas e Informtica - UNMSM

REGISTROS Y
ARCHIVOS

EJERCICIOS RESUELTOS

Responsable : Ing. John Ledgard Trujillo Trejo

Algortmica I 2016-I Ing. John Ledgard Trujillo Trejo


Facultad de Ingeniera de Sistemas e Informtica - UNMSM
Tenemos un archivo con datos de alumnos clasificados por curso y nmero de
alumno, teniendo en cuenta que los alumnos se empiezan a numerar por 1.
La informacin por alumno es curso, nmero, nombre y nota. Determinar
cuantos alumnos aprobados hay en cada curso.

Algoritmo Alumnos
Tipo
registro: ralumno
entero: curso
entero: num_al
cadena: nombre
real: nota
fin_registro
archivo_S de ralumno: arch_alumno

var
arch_alumno: a_alumno
ralumno: r_al
entero: aprobados
entero: cur

Algortmica I 2016-I Ing. John Ledgard Trujillo Trejo


Facultad de Ingeniera de Sistemas e Informtica - UNMSM

Inicio
abrir (a_alumno, L, alumnos.dat)
leer (a_alumno, ,r_al)
mientras (no eof (a_alumno)) hacer
aprobados 0
cur r_al.curso
mientras (cur = r_al.curso) hacer
si ((r_al.nota >= 11) y (no eof(a_alumno))) entonces
aprobados aprobados + 1
fin_si
leer (a_alumno, r_al)
fin_mientras
escribir (En el curso, cur, han aprobado, aprobados)
fin_mientras
cerrar (a_alumno)
fin I 2016-I
Algortmica Ing. John Ledgard Trujillo Trejo
Facultad de Ingeniera de Sistemas e Informtica - UNMSM
Tenemos un fichero de empleados clasificado por el nmero de empleado y un
fichero de bajas no clasificado que contiene los nmeros de los empleados que
se han dado de baja. Obtener un tercer fichero que contenga a los empleados
que realmente hay en la empresa.

Algoritmo Empleados_baja
Tipo
registro: empleado
entero: num_emp
cadena: nombre
real: sueldo
Fin registro
Archivo_S de empleado: fichero
Archivo_S de entero: ficherobaja

var
fichero: fempleado1, fempleado2
ficherobaja: fbaja
empleado: rempleado,
entero: r_b

Algortmica I 2016-I Ing. John Ledgard Trujillo Trejo


Facultad de Ingeniera de Sistemas e Informtica - UNMSM

inicio
crear (fempleado2, empleado2.dat)
abrir (fempleado1, L, empleado1.dat)
abrir (fempleado2, E, empleado2.dat)
leer (fempleado1, rempleado)
mientras (no eof (fempleado1)) hacer
abrir (fbajas, L, bajas.dat)
leer (fbajas, r_b)
mientras ((r_b <> rempleado.num_emp) y no eof (fbajas)) hacer
Leer (fbajas, r_b)
fin_mientras
si (eof (fbajas)) entonces
escribir (fempleado2, rempleado)
fin_si
cerrar (fbajas)
leer (fempleado1, rempleado)
fin_mientras
cerrar (fempleado1)
cerrar (fempleado2)
fin
Algortmica I 2016-I Ing. John Ledgard Trujillo Trejo
Facultad de Ingeniera de Sistemas e Informtica - UNMSM
Tenemos un fichero de ventas que tiene el nmero de venta, total de venta y
nmero de vendedor, sabemos que en nuestra empresa trabajan 5 vendedores
numerados del 1 al 5. Queremos saber el total vendido por cada vendedor.

Algoritmo ventas
tipo
registro: ventas
entero: cod_venta
real: total
entero: vendedor
fin_registro
archivo_S de ventas: fichero
arreglo [1..5] de real: aventas

var
fichero: fventas
ventas: rventas
aventas: vendedor
entero: i

Algortmica I 2016-I Ing. John Ledgard Trujillo Trejo


Facultad de Ingeniera de Sistemas e Informtica - UNMSM

inicio
desde( (i = 1 hasta 5) hacer // Inicializacion del arreglo
vendedor[i] 0
fin_desde
abrir (fventas, L, ventas.dat)
leer (fventas, rventas)
mientras (no eof (fventas)) hacer
vendedor[rventas.vendedor] vendedor[rventas.vendedor] + rventas.total
leer (fventas, rventas)
fin_mientras
cerrar (fventas)
para (i de 1 a 5) hacer
escribir (El vendedor, i, ha vendido, vendedor[i])
fin_para
fin
Algortmica I 2016-I Ing. John Ledgard Trujillo Trejo