SlideShare a Scribd company logo
1 of 4
Download to read offline
Algoritmos y Programas – Año 2012


                                Práctica de Repaso
    Objetivos:
    • Repasar los conceptos aprendidos en las Prácticas anteriores.

1) Programar en Python un algoritmo recursivo que permita hacer la división por restas
   sucesivas.

                         0 si (b > a)
       division(a, b)
                         division(a-b, b) + 1      si (b <= a)



2) Implemente una solución recursiva que permita invertir un número.
      Ejemplo: Entrada: 123 Salida: 321

                              n si   (n < 10)
      invertir(int n)
                             (n modulo10) + invertir (n : 10) x 10          si (n => 10)



3) Programar un algoritmo recursivo que permita sumar los dígitos de un número.
    Ejemplo: Entrada: 123 Resultado:6

                         n si (n == 0)
    sumar_dig (int n)
                         sumar_dig (n : 10) + (n modulo10) si (n > 0)

4) Sea:

    Algoritmo de Euclides:
       m.c.d. (a , b) = m.c.d. (b , a mod b) si b>0
       m.c.d. (a , b) = a si b=0
       Ejemplo: m.c.d. (57, 23) = m.c.d. (23, 11) = m.c.d. (1,0) = 1

    Implemente en Python una versión recursiva del Algoritmo de Euclides.

5) Provea un TAD cuya funcionalidad sea resolver para cálculos vectoriales tridimensionales,
   para ello se debe proveer las siguientes operaciones:

•   sumaVectorial: toma dos vectores y los suma elemento a elemento.
Algoritmos y Programas – Año 2012

•   productoDeUnEscalar: toma un vector y un numero escalar y retorna otro vector cuyos
    elementos son el resultado del producto del escalar por el elemento del vector original.




•   productoVectorial : toma dos vectores y calcula el producto vectorial de acuerdo al
    siguiente criterio:




•   productoEscalar: toma dos vectores y retorna un numero con el producto escalar, de
    acuerdo al siguiente criterio
Algoritmos y Programas – Año 2012


6) (A entregar) Se desea modelar una empresa, la cual posee un nombre, una breve
   descripción de la misma y un grupo de empleados.
   La empresa posee de cada empleado la siguiente información: su nombre y apellido
   completos, su DNI, su edad, su sueldo, el puesto y la antigüedad dentro de la empresa.
   Los puestos ( de mayor a menor ) pueden ser: Presidente, Gerente General, Gerente de
   Departamento, Jefe de Departamento y Empleado, de los cuales Presidente solo puede haber
   uno.
   Para este ejercicio piense con que estructuras de datos se pueden modelar la empresa y los
   empleados, y realice las funciones que al menos resuelvan los siguientes problemas:

   Para un Empleado:
      • nuevoEmpleado: Crear un nuevo empleado.
      • nombreEmpleado: Retorna el nombre completo del empleado.
      • dniEmpleado: Retorna el dni del empleado.
      • edadEmpleado: Retorna la edad del empleado.
      • sueldoEmpleado: Retorna el sueldo del empleado.
      • puestoEmpleado: Retorna el puesto del empleado.
      • antiguedadEmpleado: Retorna la antigüedad del empleado.

   Para la Empresa:
      • nuevaEmpresa: Crear una empresa nueva.
      • agregarEmpleado: Agrega un nuevo empleado a la empresa.
      • nombreEmpresa: Retorna el nombre de la empresa.
      • descripcionEmpresa: Retorna la descripción de la empresa.
      • empleadosEmpresa: Retorna los empleados de la empresa.
      • cantidadDeEmpleados: Retorna cuantos empleados tiene la empresa.
      • buscarEmpleadoPorDni: Retorna el empleado que posee ese dni.
      • buscarPresidente: Retorna el empleado que tiene el puesto de presidente.
      • buscarEmpleadoConMasAntiguedad: Retorna el empleado con la mayor
           antigüedad.
      • * buscarEmpleadosQueGananMasDelPromedio: Retorna el promedio de los
           sueldos de la empresa y una lista de empleados que ganen más que ese promedio.
      • retirarPresidente: se debe eliminar al Presidente de la nómina de empleados y
           ascender al empleado de mayor antigüedad, duplicándole el sueldo.
      • * compararEmpresas: recibe 2 empresas y retorna si la suma de los sueldos de la
           primer empresa es mayor que los de la segunda o no.
      • * fusionarEmpresas: recibe 2 empresas y crea una nueva con los empleados de las 2
           empresas y los nombres y descripciones concatenadas. Tener en cuenta que solo
           puede haber 1 solo presidente, el de mayor antigüedad, el otro pasa a ser Gerente
           General.


       Aquellos items con * son opcionales para incrementar nota.
Algoritmos y Programas – Año 2012

Gráficamente:

More Related Content

Similar to Algoritmos recursivos y estructuras de datos para modelar empresas

Similar to Algoritmos recursivos y estructuras de datos para modelar empresas (20)

Teoria de-la-produccion-y-sus-costos[1]
Teoria de-la-produccion-y-sus-costos[1]Teoria de-la-produccion-y-sus-costos[1]
Teoria de-la-produccion-y-sus-costos[1]
 
Ejercicio 3
Ejercicio 3Ejercicio 3
Ejercicio 3
 
Ejercicio 3
Ejercicio 3Ejercicio 3
Ejercicio 3
 
Ejercicio 3
Ejercicio 3Ejercicio 3
Ejercicio 3
 
Diseño algoritmosoo ciclos
Diseño algoritmosoo ciclosDiseño algoritmosoo ciclos
Diseño algoritmosoo ciclos
 
teoría de la producción.
teoría de la producción.teoría de la producción.
teoría de la producción.
 
Computación 2 sept 2012
Computación 2 sept 2012Computación 2 sept 2012
Computación 2 sept 2012
 
Guion p1a
Guion p1aGuion p1a
Guion p1a
 
Computación 2 java
Computación 2 javaComputación 2 java
Computación 2 java
 
Sesion02
Sesion02Sesion02
Sesion02
 
Computación 2 sept 2012
Computación 2 sept 2012Computación 2 sept 2012
Computación 2 sept 2012
 
Computación
ComputaciónComputación
Computación
 
Trabajo de arreglo
Trabajo de arregloTrabajo de arreglo
Trabajo de arreglo
 
Interes Simple y Compuesto
Interes Simple y CompuestoInteres Simple y Compuesto
Interes Simple y Compuesto
 
Repaso de matematicas
Repaso de matematicasRepaso de matematicas
Repaso de matematicas
 
2a Y 3a Clase G.O.Ust
2a Y 3a Clase G.O.Ust2a Y 3a Clase G.O.Ust
2a Y 3a Clase G.O.Ust
 
2esoquincena1
2esoquincena12esoquincena1
2esoquincena1
 
Practicas de excel
Practicas de excelPracticas de excel
Practicas de excel
 
Libro excel
Libro excelLibro excel
Libro excel
 
Excel nivell mig
Excel nivell migExcel nivell mig
Excel nivell mig
 

More from Jorge Gamez

More from Jorge Gamez (19)

Python i
Python iPython i
Python i
 
Clase 6 excepciones
Clase 6   excepcionesClase 6   excepciones
Clase 6 excepciones
 
Practica repaso 4 5 2da
Practica repaso 4 5 2daPractica repaso 4 5 2da
Practica repaso 4 5 2da
 
Practica repaso 1 3-2
Practica repaso 1 3-2Practica repaso 1 3-2
Practica repaso 1 3-2
 
Practica repaso pilas y colas con archivos
Practica repaso pilas y colas   con archivosPractica repaso pilas y colas   con archivos
Practica repaso pilas y colas con archivos
 
Practica repaso pilas y colas
Practica repaso pilas y colasPractica repaso pilas y colas
Practica repaso pilas y colas
 
Practica 5
Practica  5Practica  5
Practica 5
 
Practica 4
Practica  4Practica  4
Practica 4
 
Practica 3
Practica  3Practica  3
Practica 3
 
Practica 2
Practica  2Practica  2
Practica 2
 
Practica 1
Practica  1Practica  1
Practica 1
 
Clase5
Clase5Clase5
Clase5
 
Clase4
Clase4Clase4
Clase4
 
Clase3
Clase3Clase3
Clase3
 
Clase2
Clase2Clase2
Clase2
 
Clase1
Clase1Clase1
Clase1
 
Clase archivos
Clase   archivosClase   archivos
Clase archivos
 
2 da clase la ingeniería
2 da clase  la ingeniería2 da clase  la ingeniería
2 da clase la ingeniería
 
Presentación clase 3
Presentación clase 3Presentación clase 3
Presentación clase 3
 

Algoritmos recursivos y estructuras de datos para modelar empresas

  • 1. Algoritmos y Programas – Año 2012 Práctica de Repaso Objetivos: • Repasar los conceptos aprendidos en las Prácticas anteriores. 1) Programar en Python un algoritmo recursivo que permita hacer la división por restas sucesivas. 0 si (b > a) division(a, b) division(a-b, b) + 1 si (b <= a) 2) Implemente una solución recursiva que permita invertir un número. Ejemplo: Entrada: 123 Salida: 321 n si (n < 10) invertir(int n) (n modulo10) + invertir (n : 10) x 10 si (n => 10) 3) Programar un algoritmo recursivo que permita sumar los dígitos de un número. Ejemplo: Entrada: 123 Resultado:6 n si (n == 0) sumar_dig (int n) sumar_dig (n : 10) + (n modulo10) si (n > 0) 4) Sea: Algoritmo de Euclides: m.c.d. (a , b) = m.c.d. (b , a mod b) si b>0 m.c.d. (a , b) = a si b=0 Ejemplo: m.c.d. (57, 23) = m.c.d. (23, 11) = m.c.d. (1,0) = 1 Implemente en Python una versión recursiva del Algoritmo de Euclides. 5) Provea un TAD cuya funcionalidad sea resolver para cálculos vectoriales tridimensionales, para ello se debe proveer las siguientes operaciones: • sumaVectorial: toma dos vectores y los suma elemento a elemento.
  • 2. Algoritmos y Programas – Año 2012 • productoDeUnEscalar: toma un vector y un numero escalar y retorna otro vector cuyos elementos son el resultado del producto del escalar por el elemento del vector original. • productoVectorial : toma dos vectores y calcula el producto vectorial de acuerdo al siguiente criterio: • productoEscalar: toma dos vectores y retorna un numero con el producto escalar, de acuerdo al siguiente criterio
  • 3. Algoritmos y Programas – Año 2012 6) (A entregar) Se desea modelar una empresa, la cual posee un nombre, una breve descripción de la misma y un grupo de empleados. La empresa posee de cada empleado la siguiente información: su nombre y apellido completos, su DNI, su edad, su sueldo, el puesto y la antigüedad dentro de la empresa. Los puestos ( de mayor a menor ) pueden ser: Presidente, Gerente General, Gerente de Departamento, Jefe de Departamento y Empleado, de los cuales Presidente solo puede haber uno. Para este ejercicio piense con que estructuras de datos se pueden modelar la empresa y los empleados, y realice las funciones que al menos resuelvan los siguientes problemas: Para un Empleado: • nuevoEmpleado: Crear un nuevo empleado. • nombreEmpleado: Retorna el nombre completo del empleado. • dniEmpleado: Retorna el dni del empleado. • edadEmpleado: Retorna la edad del empleado. • sueldoEmpleado: Retorna el sueldo del empleado. • puestoEmpleado: Retorna el puesto del empleado. • antiguedadEmpleado: Retorna la antigüedad del empleado. Para la Empresa: • nuevaEmpresa: Crear una empresa nueva. • agregarEmpleado: Agrega un nuevo empleado a la empresa. • nombreEmpresa: Retorna el nombre de la empresa. • descripcionEmpresa: Retorna la descripción de la empresa. • empleadosEmpresa: Retorna los empleados de la empresa. • cantidadDeEmpleados: Retorna cuantos empleados tiene la empresa. • buscarEmpleadoPorDni: Retorna el empleado que posee ese dni. • buscarPresidente: Retorna el empleado que tiene el puesto de presidente. • buscarEmpleadoConMasAntiguedad: Retorna el empleado con la mayor antigüedad. • * buscarEmpleadosQueGananMasDelPromedio: Retorna el promedio de los sueldos de la empresa y una lista de empleados que ganen más que ese promedio. • retirarPresidente: se debe eliminar al Presidente de la nómina de empleados y ascender al empleado de mayor antigüedad, duplicándole el sueldo. • * compararEmpresas: recibe 2 empresas y retorna si la suma de los sueldos de la primer empresa es mayor que los de la segunda o no. • * fusionarEmpresas: recibe 2 empresas y crea una nueva con los empleados de las 2 empresas y los nombres y descripciones concatenadas. Tener en cuenta que solo puede haber 1 solo presidente, el de mayor antigüedad, el otro pasa a ser Gerente General. Aquellos items con * son opcionales para incrementar nota.
  • 4. Algoritmos y Programas – Año 2012 Gráficamente: