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

Viewers also liked (8)

Practica repaso 4 5 2da
Practica repaso 4 5 2daPractica repaso 4 5 2da
Practica repaso 4 5 2da
 
Python04
Python04Python04
Python04
 
Inmersión en Python 3.0.11
Inmersión en Python 3.0.11Inmersión en Python 3.0.11
Inmersión en Python 3.0.11
 
Python05
Python05Python05
Python05
 
Practica repaso pilas y colas
Practica repaso pilas y colasPractica repaso pilas y colas
Practica repaso pilas y colas
 
Python02
Python02Python02
Python02
 
Curso de Nivelación de Algoritmos - Clase 2
Curso de Nivelación de Algoritmos - Clase 2Curso de Nivelación de Algoritmos - Clase 2
Curso de Nivelación de Algoritmos - Clase 2
 
Python03
Python03Python03
Python03
 

Similar to Practica repaso 1 3-2 (20)

Administracion de la produccion u2 y u3
Administracion de la produccion u2 y u3Administracion de la produccion u2 y u3
Administracion de la produccion u2 y u3
 
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
 

More from Jorge Gamez (16)

Python i
Python iPython i
Python i
 
Clase 6 excepciones
Clase 6   excepcionesClase 6   excepciones
Clase 6 excepciones
 
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 5
Practica  5Practica  5
Practica 5
 
Practica 3
Practica  3Practica  3
Practica 3
 
Practica 2
Practica  2Practica  2
Practica 2
 
Practica 1
Practica  1Practica  1
Practica 1
 
Practica repaso 1 3-2
Practica repaso 1 3-2Practica repaso 1 3-2
Practica repaso 1 3-2
 
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
 

Practica repaso 1 3-2

  • 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: