Diferencia entre revisiones de «Curso Python DGA 2011/inmersion python/ejercicios clase/ejercicios poo»
De WikiEducator
| Línea 14: | Línea 14: | ||
# Crea una clase '''Alumno_en_practicas''' que herede de alumno y tenga además el atributo de la '''empresa''' en la que hace las prácticas. | # Crea una clase '''Alumno_en_practicas''' que herede de alumno y tenga además el atributo de la '''empresa''' en la que hace las prácticas. | ||
#* Modifica su método '''imprime_ficha''' para que imprima también el nombre de la empresa donde hace/hará las prácticas. | #* Modifica su método '''imprime_ficha''' para que imprima también el nombre de la empresa donde hace/hará las prácticas. | ||
| + | }} | ||
| + | |||
| + | {{Actividad| | ||
| + | Title=Ejercicios con '''graphics'''| | ||
| + | tip=Documentación de Graphics: [[Curso_Python_DGA_2011/inmersion_python/ayuda_graphics]] | | ||
| + | Actividad basada en [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/assignments/ 6-189-a-gentle-introduction-to-programming-using-python] | ||
| + | <ol> | ||
| + | <li> | ||
| + | Revisa la plantilla que crea una rueda. | ||
| + | </li> | ||
| + | <li>Añade el método '''animate''': | ||
| + | <source lang="python"> | ||
| + | class Wheel: | ||
| + | def animate(self, win, dx, dy, n): | ||
| + | if n > 0: | ||
| + | self.move(dx, dy) | ||
| + | win.after(100, self.animate, win, dx, dy, n-1) | ||
| + | </source> | ||
| + | El método tiene 4 parámetros: | ||
| + | * un objeto ventana | ||
| + | * las unidades a donde mover el objeto en las direcciones x e y | ||
| + | * el número de veces que hay que llamar al método '''animate''' | ||
| + | *: El primer parámetro de '''animate''' son los milisegundos que hay que esperar entre llamadas. | ||
| + | </li> | ||
| + | <li> | ||
| + | Escribe un programa que use la nueva clase Wheel y cree un objeto rueda y lo mueva 1 unidad en la dirección x 100 veces. | ||
| + | <br/> | ||
| + | Recuerda que tienes que dibujar la rueda antes de moverla | ||
| + | </li> | ||
| + | <li>Crea un archivo coche.py con el siguiente contenido: | ||
| + | <source lang="python"> | ||
| + | from graphics import * | ||
| + | new_win = GraphWin("A Car", 300, 300) | ||
| + | rect = Rectangle( Point( 10,10), Point(200, 100 ) ) | ||
| + | rect.setFill( "blue" ) | ||
| + | rect.draw( new_win ) | ||
| + | new_win.mainloop() | ||
| + | </source> | ||
| + | </li> | ||
| + | <li>Crea una clase '''Car''' que haga posible que funcione el siguiente código: | ||
| + | <source lang="python"> | ||
| + | new_win = GraphWin(’A Car’, 700, 300) | ||
| + | # create a car object | ||
| + | # 1st wheel centered at 50,50 with radius 15 | ||
| + | # 2nd wheel centered at 100,50 with radius 15 | ||
| + | # rectangle with a height of 40 | ||
| + | |||
| + | car1 = Car(Point(50, 50), 15, Point(100,50), 15, 40) | ||
| + | car1.draw( new_win ) | ||
| + | # color the wheels grey with black tires, and the body pink | ||
| + | car1.set_color(’black’, ’grey’, ’pink’ ) | ||
| + | # make the car move on the screen | ||
| + | car1.animate(new_win, 1, 0, 400) | ||
| + | new_win.mainloop() | ||
| + | </source> | ||
| + | </li> | ||
| + | </ol> | ||
}} | }} | ||
Revisión de 15:46 15 ago 2011
|
|
Actividad basada en 6-189-a-gentle-introduction-to-programming-using-python
Tip: Documentación de Graphics: Curso_Python_DGA_2011/inmersion_python/ayuda_graphics
|