Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones...
Transcript of Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones...
![Page 1: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/1.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 1
Ciclos
RepitiendoinstruccionesenPython
Ing.RobertoMartínezRomá[email protected]
1
Ciclos controlados por contador
� Elciclofor seutilizaparahaceriteraciones(repeticiones).
� Elciclofor recorrecadaunodeloselementosdeunacolección.Unoalavez.
� Serepitetantasvecescomodatostengalacolección.
� Elnúmerodevecesqueserepiteelcicloesconocidoconanterioridad.
Ing.RobertoMartínezRomán- [email protected]
Iteraciones Visitaelementosdeunacolección
Sepuedeconocerelnúmerodeiteraciones
2
![Page 2: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/2.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 2
for
for variable in colección:instrucciones
Normalmente,lacolección esunasecuenciadevaloresquegeneralafunciónrange.
range(4),generalasecuencia[0,1,2,3]range(10),generalasecuencia[0,1,2,3,4,5,6,7,8,9]range(n),generalasecuencia[0,1,2…..,n-1]
Ing.RobertoMartínezRomán- [email protected]
3
Demo
Ing.RobertoMartínezRomán- [email protected]
4
![Page 3: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/3.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 3
Ejemplos
Pruebaenelshell dePython lassiguientesexpresiones
list(range(10))list(range(5))list(range(21))list(range(2))list(range(1))list(range(0))
Ing.RobertoMartínezRomán- [email protected]
5
La función range
� Estafuncióntienealgunasvariaciones.
� range(5) [0,1,2,3,4]
� range(3,6) [3,4,5]
� range(20,46,5) [20,25,30,35,40,45]
� range(20,50,5) [20,25,30,35,40,45]
Ing.RobertoMartínezRomán- [email protected]
6
![Page 4: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/4.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 4
Demo
Ing.RobertoMartínezRomán- [email protected]
7
Ejercicio
� Escribeciclosfor enPython paragenerarlassiguientesseriesdevalores.
� 2,4,6,8,10,12� 1,3,5,7,9,11,13,15� 50,40,30,20,10� -5,-6,-7,-8,-9� -2,-1,0,1,2
Ing.RobertoMartínezRomán- [email protected]
8
![Page 5: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/5.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 5
Ejercicio
� Escribeunprogramaquemuestraunalistadevaloresde1a20ylosclasificacomoparesoimpares.
01 impar02 par03 impar04 par… …20 par
Ing.RobertoMartínezRomán- [email protected]
9
Ejercicio
� Escribeunafunciónquedibujalasiguientecuadricula.UsaPIL.Laseparaciónentrelíneasesde20px.500x500
Ing.RobertoMartínezRomán- [email protected]
10
![Page 6: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/6.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 6
Ejercicio
� Escribeunprogramaquemuestraunalistadevaloresde1alimite ylosclasificacomoparesoimpares.
� limite lotecleaelusuario.
Ing.RobertoMartínezRomán- [email protected]
11
Ejercicio
� Escribeunafunciónqueimprimelatablademultiplicardelnúmero7.
� Escribeunafunciónqueimprimelatablademultiplicardeunnúmeroquellegacomoparámetro.� Agregacódigoparapreguntarlealusuarioelnúmerodelatablaquequierevereimprímelaenpantalla.
� EscribeunafunciónqueimprimeTODASlastablasdemultiplicar,de1a10.
Ing.RobertoMartínezRomán- [email protected]
12
![Page 7: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/7.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 7
Contadores
� Uncontador esunavariabledetipoenteroque"cuenta"oregistrasucesosqueocurrendentrodelprograma;lasoperacionesprincipalesson:
� Inicializar elcontador.Normalmentealiniciodelprogramaolafunción.• contador=0
� Contar.Generalmentedentrodeunacondiciónoenellugardondequeremosregistrarelsuceso.• contador=contador+1
Ing.RobertoMartínezRomán- [email protected]
13
Ejemplo de contador
� Escribeunprogramaquelea10valoresenterosdesdeelteclado,yqueimprimaelnúmerodevaloresnegativosleídos.
� Escribeunprogramaquelee5calificacioneseimprimeelnúmerodecalificacionesaprobatorias.
Ing.RobertoMartínezRomán- [email protected]
14
![Page 8: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/8.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 8
Acumuladores
� Unacumuladoresunavariableespecialquealmacenasumasoproductostotales.Agregaaunvalorinicialotrosvalores.Lasoperacionesprincipalesson:� Inicializar elacumulador.• acumulador=0 #Cuandoalmacenasumas• acumulador=1 #Cuandoalmacenaproductos
� Acumular.Agregaunvaloraltotal• acumulador=acumulador+valor• acumulador=acumulador*valor
Ing.RobertoMartínezRomán- [email protected]
15
Ejemplo
� Escribeunprogramaquelee5calificacioneseimprimeelpromediosólodelascalificacionesaprobatorias.
Ing.RobertoMartínezRomán- [email protected]
16
![Page 9: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/9.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 9
Comandos de ImageDraw
� Dibujarunalínea.� canvas.line( (50,50) + (450,450), "blue")
� canvas.line( [50, 50, 450, 450], (0,0,255))
� Dibujararcos.� canvas.arc( (200,200) + (300,300), 0, 180, "red")
� Dibujaelipses.� canvas.ellipse( (300,300) + (400,350), "red", "blue")
Ing.RobertoMartínezRomán- [email protected]
Puntoinicial
Puntofinal Color
RGB
Cuadroquecontieneelarco
Anguloinicial
Angulofnal
Color derelleno
Colorlínea
18
Comandos de ImageDraw
� Dibujarunrectángulo.� canvas.rectangle( (250,100) + (350,200), "blue")
� Dibujarmultilíneas.� canvas.line( (300,450) + (500,450) + (400, 300) + (300,450), "pink")
� Dibujarpolígonos.� canvas.polygon( (100,450) + (300,450) + (200, 300), "green")
Ing.RobertoMartínezRomán- [email protected]
Puedenagregarunparámetroparaindicarel
colordelalínea
19
![Page 10: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/10.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 10
Comandos de ImageDraw
� Dibujarrebanadasdepastel.� canvas.pieslice( (50, 100) + (250, 300), 0, 90, "yellow")
� Dibujarpixeles(puntos).� canvas.point( (150,200), "black")
� Dibujartexto.� canvas.text( (50,100), "ImageDraw", "orange")
Ing.RobertoMartínezRomán- [email protected]
https://pillow.readthedocs.io/en/3.0.x/reference/ImageDraw.html
20
Ejercicios
Ing.RobertoMartínezRomán- [email protected]
21
![Page 11: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/11.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 11
Ing.RobertoMartínezRomán- [email protected]
� Escribefuncionesquegenerenestasfiguras
22
Aproximando PI
� ExistendiferentesalgoritmosquenospermitenobtenerunabuenaaproximaciónalvalordelaconstantePI,unodeelloseselAlgoritmodeGottfriedWilhem vonLeibniz:
𝜋 𝑛 = 411−13+15−17+19−⋯
1𝑛
� Entremayorseaellímitedelaserie(n),esmáscercanalaaproximaciónqueseobtiene.
� ImplementalafunciónaproximarPI,querecibeellímiten delaserieparacalcularyregresarunaaproximacióndePI.
Ing.RobertoMartínezRomán- [email protected]
23
![Page 12: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/12.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 12
Ciclos anidados
� Sonciclosqueestándentrodeotrosciclos.
for i in range(5):for j in range(3):
print("i=", i, ", j=", j)
Ing.RobertoMartínezRomán- [email protected]
Pruebaestecódigo en:www.pythontutor.com/
25
Ejercicio
Ing.RobertoMartínezRomán- [email protected]
Escribeunafunción querecibalaalturadelasiguienteescalerayladibujeusandopygame.Lalongituddecadacuadroes50.
26
![Page 13: Ciclos€¦ · Ciclos controlados por contador El ciclo forse utiliza para hacer iteraciones (repeticiones). El ciclo forrecorre cada uno de los elementos de una colección. Uno a](https://reader034.fdocuments.ec/reader034/viewer/2022043002/5f7ea10a4e26996b1232fe6a/html5/thumbnails/13.jpg)
22/04/20
Ing. Roberto Martínez Román [email protected] 13
Ejercicio
� Escribeciclosparagenerarlasiguienteimagen.Sololoqueestáenelrecuadro:
Ing.RobertoMartínezRomán- [email protected]
27