Aprendizaje didáctico en ingeniería, Metodología y Proceso MIGUEL CARRASCO Profesor Asistente. Facultad de Ingeniería y Ciencias Universidad Adolfo Ibañez. UAI 15 de Enero 2016, Santiago Mano del Desierto, Atacama, Chile intervención diagnóstico estrategia CONTEXTO resultados Mano del Desierto, Atacama, Chile Contexto Preliminar El curso de Programación de Computadores es una asignatura que presenta tres desa6os únicos, no compar9dos con otras asignaturas tradicionales (Física, algebra, cálculo) ‣ Gran diversidad de lenguajes de programación ‣ Falta de mo9vación por parte de los estudiantes ‣ Percepción de los estudiantes de que aprenden un lenguaje poco ú9l. 3 Contexto Desa+os Ofrecer una gama de lenguajes de programación. Dis9ntas secciones aprenden dis9ntos lenguajes de programación (más empleados actualmente) en emprendimientos Los alumnos deciden qué lenguaje de programación aprender. Uno de los aspectos claves de la mo9vación intrínseca reside en la posibilidad de decidir el propio aprendizaje Lenguajes que permitan el desarrollo rápido de aplicaciones. Lenguajes que permitan desarrollar aplicaciones reales dentro de las restricciones temporales de la asignatura. 4 Contexto Estrategia La asignatura de Programación de Computadores se imparte el primer semestre de cada año a los alumnos de todas las carreras de Ingeniería Civil (Bioingeniería, Energía y Medio Ambiente, Industrial, Informá9ca, Minería y Obras Civiles) de la Universidad. 200 alumnos 400 alumnos 12 secciones coordinadas 5 Contexto Estrategia La asignatura de Programación de Computadores se imparte el primer semestre de cada año a los alumnos de todas las carreras de Ingeniería Civil (Bioingeniería, Energía y Medio Ambiente, Industrial, Informá9ca, Minería y Obras Civiles) de la Universidad. ‣ Programación de aplicaciones móviles ‣ Programación de si9os WEB ‣ Programación sensorial ‣ Programación de VideoJuegos 6 Contexto Resultados ‣ Altos niveles de reprobación en sabores Sensorial y VideoJuegos ‣ Bajos niveles de interés (3.4 promedio) Escala 1-­‐5 Especialización Secciones Promedio Reprobación Móviles 4 4,3 23% Web 3 4,5 22% Sensorial 3 4,3 31% VideoJuegos 2 4,2 30% 7 Mano del Desierto, Atacama, Chile intervención diagnóstico estrategia CONTEXTO resultados Mano del Desierto, Atacama, Chile Diagnóstico Programación sensorial 2do semestre ‣ ‣ ‣ ‣ P2 No dediqué el :empo suficiente para estudiar P3 Aunque haga un esfuerzo, me es di+cil entender los contenidos del curso. P6 Las clases no me ayudaron a resolver mis dudas. P10 El profesor no explica con claridad cómo resolver problemas 30 26 24 22 P2 18 P3 16 12 12 P10 P6 6 4 1 0 5 P1 6 4 3 0 P2 P3 P4 P5 0 P6 P7 P8 P9 P10 P11 4 0 P12 P13 P14 Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial. 9 Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial. Programación sensorial 2do semestre Mis hábitos de estudio son deficientes Me cuesta concentrarme y enfocarme en la solución de un problema 16 20 16 12 15 Me es di+cil programar mi :empo para estudiar 20 17 15 16 11 8 14 8 10 4 5 0 0 Totalmente de acuerdo 12 10 6 5 5 0 Indiferente Totalmente en desacuerdo 10 Programación sensorial 2do semestre Tengo problemas en mi casa/ familia/pareja que me impiden estudiar No estoy feliz en la carrera, desearía cambiarme Me desconecto con facilidad (respecto al modo de trabajar) 30 30 20 22,5 22,5 15 21 15 10 7,5 0 20 21 15 10 7,5 5 6 4 8 0 Totalmente de acuerdo 11 4 0 Indiferente Totalmente en desacuerdo 11 Programación sensorial 2do semestre En términos de estudio, cuanta horas a la semana dedicaste a estudiar programación el semestre pasado 25,7% 2,9% Entre 0 y 2 horas a la semana Entre 2 y 4 horas a la semana Entre 4 y 6 horas a la semana Entre 6 y 8 horas a la semana Más de 8 horas a la semana Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial. 71,4% 12 Programación sensorial 2do semestre Qué puntaje asignarías en términos de responsabilidad respecto a mi reprobación del curso al profesor Qué puntaje asignarías en términos de responsabilidad respecto a mi reprobación del curso al alumno 15 15 12 12 9 4 3 0 9 8 6 2 0 2 2 5 5 3 14 8 6 5 4 3 0 2 0 0 (donde 1 es sin responsabilidad, y 10 extremadamente responsable) 2 0 3 1 13 Diagnóstico Programación sensorial 2do semestre ‣ ‣ ‣ ‣ ‣ ‣ ‣ ¿Qué caracterís:cas debiera tener el curso durante el semestre para aprender en forma efec:va y eficiente? P2 P3 P7 P9 P11 P14 P16 Hacer más ejercicios en clases Trabajar en forma personal Tener clases más interacMvas (yo programo y profesor me ayuda) Realizar acMvidades más didácMcas Enseñar habilidades para estudiar Disponer de videos para estudiar la materia Hacer ejercicios todos los días (fuera del horario de clases) 20 19 16 13 12 8 10 11 10 8 7 4 0 P2 P3 P7 P9 P11 P14 P16 Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial. 14 Diagnóstico Programación sensorial 2do semestre ¿Qué me hace falta para aprender a programar? Motivación 14 Ganas 7 Interés 8 Dedicación 22 Perseverancia 19 Resiliencia 10 Inteligencia 4 Suerte 2 Persistencia 12 Tiempo 7 0 5 10 15 20 25 30 Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial. 15 Mano del Desierto, Atacama, Chile intervención diagnóstico estrategia CONTEXTO resultados Mano del Desierto, Atacama, Chile Intervención CADE Gracias a la ayuda del Centro de Asesoramiento y Desarrollo Estudian9l, bajo la coordinación de Ps. Priscilla Harcha, fue posible efectuar un estudio más detallado de los alumnos. Ac9vidades a desarrollar 1. Toma de encuesta del CADE, 36 alumnos evaluados 77.7%masculino, 22.2% femenino 2. Charla de hábitos de estudio, manejo del 9empo, apoyo del CADE para enfocar a los alumnos. 17 Intervención Test de habilidades de estudio Resultados de Ps. Pricilla Harcha Lectura de textos Bajo 30 debe mejorar 24,5 Toma de apuntes Bajo 20 debe mejorar 15,1 Memoria Bajo 30 debe mejorar 34,9 Preparación de pruebas Bajo 40 debe mejorar 42,1 Concentración Bajo 35 debe mejorar 34,9 Manejo del tiempo Bajo 20 debe mejorar 13,3 0 5 10 15 20 25 30 35 40 45 50 18 Intervención Inventario de ansiedad ante las pruebas Resultados de Ps. Pricilla Harcha Las principales fuentes de ansiedad son: preocupaciones por su autoimagen, por la imagen que tendrán los demás si ellos rinden mal; por no sen9rse bien preparados para rendir pruebas y por su seguridad a futuro. ‣ P1 Preocupaciones sobre cómo te verán los otros, si te va mal 5,0 4,3 3,6 ‣ P2 Preocupaciones sobre tu propia imagen de : mismo 2,9 2,1 2,7 2,8 2,2 2,4 1,4 0,7 0 P1 P2 P3 P4 ‣ P3 Preocupaciones sobre tu seguridad a futuro ‣ P4 Preocupaciones sobre no estar preparado para una prueba (A mayor promedio, mayor preocupación) 19 Intervención Inventario de ansiedad ante las pruebas Resultados de Ps. Pricilla Harcha La ansiedad de los estudiantes evaluados se expresa principalmente en pensamientos disrup:vos al estudiar, en una sensación de ansiedad generalizada y en reacciones corporales al rendir sus evaluaciones. ‣ P1 Reacciones corporales 5,0 ‣ P2 Pensamientos disrup9vos 4,3 4,2 3,6 ‣ P3 Ansiedad generalizada ante las pruebas 2,9 2,1 1,4 2,2 1,5 0,7 0 P1 P2 P3 (A mayor promedio, mayor preocupación) 20 Intervención Inventario de ansiedad ante las pruebas Resultados de Ps. Pricilla Harcha La ansiedad de los estudiantes evaluados se expresa principalmente en pensamientos disrup:vos al estudiar, en una sensación de ansiedad generalizada y en reacciones corporales al rendir sus evaluaciones. ‣ P1 Reacciones corporales ‣ P2 Pensamientos disrup9vos ‣ P3 Ansiedad generalizada ante las pruebas 21 Intervención Inventario de ansiedad ante las pruebas Resultados de Ps. Pricilla Harcha La ansiedad de los estudiantes evaluados se expresa principalmente en pensamientos disrup:vos al estudiar, en una sensación de ansiedad generalizada y en reacciones corporales al rendir sus evaluaciones. ‣ P1 Reacciones corporales ‣ P2 Pensamientos disrup9vos ‣ P3 Ansiedad generalizada ante las pruebas 21 Intervención Inventario de ansiedad ante las pruebas Resultados de Ps. Pricilla Harcha La ansiedad de los estudiantes evaluados se expresa principalmente en pensamientos disrup:vos al estudiar, en una sensación de ansiedad generalizada y en reacciones corporales al rendir sus evaluaciones. ‣ P1 Reacciones corporales ‣ P2 Pensamientos disrup9vos ‣ P3 Ansiedad generalizada ante las pruebas 21 Mano del Desierto, Atacama, Chile intervención diagnóstico estrategia CONTEXTO resultados Mano del Desierto, Atacama, Chile Estrategia Metodología ‣ ‣ ‣ ‣ ‣ ☑‣ ‣ P2 P3 P7 P9 P11 P14 P16 Hacer más ejercicios en clases Trabajar en forma personal Tener clases más interacMvas (yo programo y profesor me ayuda) Realizar acMvidades más didácMcas Enseñar habilidades para estudiar Disponer de videos para estudiar la materia Hacer ejercicios todos los días (fuera del horario de clases) Preparación Clases flipeadas > de 30 videos preparados 23 Estrategia Metodología ☑‣ P2 Hacer más ejercicios en clases ☑‣ P3 Trabajar en forma personal ‣ ‣ ‣ ☑‣ ‣ P7 P9 P11 P14 P16 Tener clases más interacMvas (yo programo y profesor me ayuda) Realizar acMvidades más didácMcas Enseñar habilidades para estudiar Disponer de videos para estudiar la materia Hacer ejercicios todos los días (fuera del horario de clases) Preparación Módulo 1 Clases flipeadas Test RAT Discusión del error 24 Estrategia Metodología ☑‣ ☑‣ ☑‣ ☑‣ ☑‣ ☑‣ P2 P3 P7 P9 P11 P14 ‣ P16 Hacer más ejercicios en clases Trabajar en forma personal Tener clases más interacMvas (yo programo y profesor me ayuda) Realizar acMvidades más didácMcas Enseñar habilidades para estudiar Disponer de videos para estudiar la materia Hacer ejercicios todos los días (fuera del horario de clases) Módulo 1 Módulo 2 Test RAT Discusión del error Actividad de aprendizaje activo Activar funcionamiento cognitivo Activar cuerpo Discusión Trabajo en equipo Puntajes por ejercicios resueltos 25 Estrategia Módulo 2 Actividad de aprendizaje activo Activar funcionamiento cognitivo Activar cuerpo Discusión Trabajo en equipo Clase 2. [Del enunciado a la solución] Integrantes : 3 personas Preliminar : Pegar en la pared cartulinas numeradas 1. Dibujar en la hoja una línea horizontal al medio de la cartulina 2. [Ejercicio] En la parte superior escribir un enunciado de un problema (solo variables y figuras) [10 minutos] 3. [Evaluación a pares] Hacer un recuadro en la parte inferior y rotar los grupos. Cada grupo evalúa el enunciado de sus compañeros. Una vez que todos los grupos rotaron tenemos evaluaciones donde es el número de grupos. Calcular el promedio. 4. [Evaluación Individual] Cada grupo coloca el promedio que sus compañeros pusieron.[5 minutos] 5. [Ejercicio] Ahora en la mitad inferior debe mejorar su problema y describir un nuevo problema.[10 minutos] 6. [Programación] Cada grupo debe resolver el problema en un computador. [20 minutos] 26 Estrategia Módulo 2 Actividad de aprendizaje activo Activar funcionamiento cognitivo Activar cuerpo Discusión Trabajo en equipo Clase 3. [De las herramientas a la solución] Integrantes : 3 personas Preliminar : Pegar en la pared cartulinas numeradas 1. Dibujar en la hoja una línea horizontal al medio de la cartulina 2. Cada grupo recibe una hoja con frases inconexas de control de flujo e instrucciones (solo instrucciones). En la parte inferior hay figuras desde muy simples a complejas. La idea es que reciben herramientas sin ningún propósito. 3. [Ejercicio] Cada grupo debe seleccionar TRES figuras de la parte inferior, y pegarlas en la cartulina en la parte inferior. 4. [Ejercicio] Cada grupo debe buscar las instrucciones necesarias para crear dichas figuras. El programa crea una figura a la vez, según el resultado del control de flujo. Cada programa debe tener al menos tres variables, 1 IF-ELSE y 1 IF. Dependiendo del valor de la variable al inicio del programa se genera una figura. 5. [Prueba] Se rotan los grupos, y el nuevo grupo debe descubrir el valor que debe ir en la variable para que se generen las figuras respectivas. Debe escribir esto en el papel. 6. [Evaluación] El grupo vuelve a su cartulina y evalúa si era lo correcto. 27 Estrategia Módulo 2 Actividad de aprendizaje activo Activar funcionamiento cognitivo Activar cuerpo Discusión Trabajo en equipo Clase 4. [Control de Flujo]. 2da Actividad. Integrantes : 6 personas Preliminar : Seleccionar a 6 alumnos al azar de la sala y situarlos al frente de la sala. 1. Se entrega a cada alumno una hoja con un código (for(), {,}, etc. El alumno no sabe que código tiene, pero sus compañeros que están al frente pueden ver todo el programa. 2. [Ejercicio ] El profesor solicita al curso analizar qué hace el programa y luego les pregunta el resultado. 3. [Ejercicio] El profesor pregunta, ¿qué es el control del programa? 4. [Actividad] El profesor actúa como si el fuera el control del programa. Esto permite al alumno entender cómo se ejecuta el programa en el computador. 28 Estrategia Módulo 2 Actividad de aprendizaje activo Activar funcionamiento cognitivo Activar cuerpo Discusión Trabajo en equipo Clase 5. [Trabajo en Competencia] Integrantes : 4 personas. Formar 2 parejas Preliminar : Cada pareja recibe una hoja en blanco. Las parejas deben estar enfrentadas (una al frente de la otra). Cada pareja debe anotar sus nombres en la parte superior, y el ayudante escribe una letra para identificar los competidores. 1. [Ejercicio. // 1ra ronda]. Cada pareja debe escribir un problema que NO utilice funciones en la hoja en blanco. Solo dispone de [5 minutos] para escribir el enunciado del problema. 2. [Competencia]. Cada pareja tiene 10 minutos para resolver el problema planteado por el otro equipo (la pareja que está al frente). El equipo que resuelva primero el problema gana 5 puntos. El equipo perderdor no gana puntaje. Se escribe en la hoja del grupo ganador +5pts y se tacha al equipo perdedor. 3. [Ejercicio. // 2da ronda]. Cada pareja debe escribir un problema que UTILICE una función. Tiene [5 minutos] para escribir el enunciado 4. [Competencia]. Cada pareja tiene [15 minutos] para resolver el problema planteado por el otro equipo (la pareja que está al frente). El equipo que resuelva primero el problema gana 10 puntos 29 Estrategia Módulo 2 Actividad de aprendizaje activo Activar funcionamiento cognitivo Activar cuerpo Discusión Trabajo en equipo Clase 6. [Trabajo cooperativo] Integrantes : 2 personas Preliminar : Cada alumno recibe una hoja en blanco. Se presenta en la pizarra una lista de áreas temáticas que se han discutido durante el semestre. ‣ ‣ ‣ ‣ ‣ ‣ Funciones Ciclos (While, For) Condiciones (If, if-else) Operaciones con variables Operaciones matemáticas Operaciones lógicas 1. [Actividad]. Dibujar en la hoja una línea horizontal. En la mitad superior escoger una temática que tenga dominio, y en la parte inferior un tema que no tenga dominio. 2. [Actividad]. Agrupar a dos alumnos en un tema. El alumno que tenga dominio en un área debe explicar un problema a uno que no tenga dominio (20 minutos). Debe emplear la hoja para tomar apuntes. 3. Una vez confirmado lo anterior, se ejecuta el mismo sistema y se repite nuevamente. El alumno que no sabe de un área debe explicar a otro. 30 Estrategia Módulo 2 Actividad de aprendizaje activo Activar funcionamiento cognitivo Activar cuerpo Discusión Trabajo en equipo Clase 7. [Análisis de problemas] Integrantes: Trabajo Individual 1. Algoritmo para calcular raíces cuadradas! 1. Algoritmo para calcular raíces cuadradas! Una de las fórmulaciones más famosas para estimar raíces cuadráticas, formulada por Isaac Newton, se conoce como Método de Newpton-Raphson. La fórmula es iterativa y recurrente, de tal forma que los resultados de una iteración sirven para la siguiente. Para simplificar la formulación, se ha desarrollado la siguiente fórmula,! Una de las fórmulaciones más famosas para estimar raíces cuadráticas, formulada por Isaac Newton, se conoce como Método de Newpton-Raphson. La fórmula es iterativa y recurrente, de tal forma que los resultados de una iteración sirven para la siguiente. Para simplificar la formulación, se ha desarrollado la siguiente fórmula,! ! ! ! 2 n x +r xn+1 = xn ! 2 " xn donde x0 corresponde a un valor estimado inicialmente de la raíz (cualquier valor), y r a la raíz buscada, n corresponde a la itertación actual. Mientras mayor sea n, más se aproxima la raíz.! ! 2 n x +r xn+1 = xn ! 2 " xn Iteración! Raíz buscada! Valor actual! donde x0 corresponde a un valor estimado inicialmente de la raíz (cualquier valor), y r a la raíz buscada, n corresponde a la itertación actual. Mientras mayor sea n, más se aproxima la raíz.! 31 Estrategia Metodología ☑‣ ☑‣ ☑‣ ☑‣ ☑‣ ☑‣ ☑‣ P2 P3 P7 P9 P11 P14 P16 Hacer más ejercicios en clases Trabajar en forma personal Tener clases más interacMvas (yo programo y profesor me ayuda) Realizar acMvidades más didácMcas Enseñar habilidades para estudiar Disponer de videos para estudiar la materia Hacer ejercicios todos los días (fuera del horario de clases) Trabajo en casa Problemas resueltos con niveles de complejidad y temática > de 80 ejercicios > Autocontenidas con material de estudio > Grabar videos con explicaciones y subirlo 32 Estrategia GUIA 09 TRABAJO GUIADO PROCESSING // ARDUINO GUIA 00 INTRODUCCIÓN PROCESSING 27-08-2015 5. Implemente un programa dada una coordenada !!! !! con una posición aleatoria y radio 5px, genere un círculo centrado en dicha posición. Además genere cinco líneas con posición inicial el centro del círculo, y como posición final, genere rotación de 60 grados respecto al centro del círculo. PrintWriter output; output = createWriter("datos.txt"); size(600,600); //coordenadas float x=random(width); float y=random(height); float largo=100; ellipse(x,y,10,10); fibonacci[0]=0; fibonacci[1]=1; cos(radians(60))*largo+y); cos(radians(120))*largo+y); cos(radians(180))*largo+y); cos(radians(240))*largo+y); cos(radians(300))*largo+y); for (int n=2; n<limite; n++){ fibonacci[n]=fibonacci[n-1]+fibonacci[n-2]; } println("El valor Fibonacci "+limite+" es "+fibonacci[limite-1]); exit(); Implemente un progama que dibuje cuatro círculos que toquen tangencialmente uno al otro y que entre ellos formen una estructura circular. Usted debe definir el radio adecuado para generar esta figura. size(600,600); // el radio corresponde a la mitad del radio de un triángulo // equilátero. Note que la coordenada (y) de los circulos superiores // e inferiores corresponde a la altura h de un triangulo equilátero float float float float float float float ancho alto delta lado diametro esq_sup esq_inf = = = = = = = 7. height/2, diametro, diametro); height/2, diametro, diametro); esq_inf, diametro, diametro); esq_sup, diametro, diametro); 39. Implemente un programa que escriba dos columnas con 100 valores aleatorios en un archivo ("datos.txt"). El rango de valores es entre 0 y 500. Los datos entre columnas están separados por un espacio en blanco. PrintWriter output; output = createWriter("datos.txt"); 400; 400; (width-ancho)/2; ancho/2; lado; height/2-(lado/2)*sqrt(3); height/2+(lado/2)*sqrt(3); ellipse(ancho/4+delta, ellipse(ancho*3/4+delta, ellipse(ancho/2+delta, ellipse(ancho/2+delta, // abrimos el archivo para escribir en el int limite = 50; double fibonacci[]= new double [limite]; line(x,y,sin(radians(60)) *largo+x, line(x,y,sin(radians(120))*largo+x, line(x,y,sin(radians(180))*largo+x, line(x,y,sin(radians(240))*largo+x, line(x,y,sin(radians(300))*largo+x, 6. 38. Implemente un programa que escriba la serie de Fibonacci hasta un número ingresado como parámetro en el programa. Los valores deben ser almacenados en un archivo ("datos.txt"). La serie de Fibonacci es recursiva y tiene la siguiente expresion: !! ! !!!! ! !!!! donde !! ! ! y !! ! ! for (int i=1; i<=100; i++){ output.print(random(0,500)); output.print(" "); output.println(random(0,500)); // escribe en el archivo } // circulo izquierda // circulo derecha //circulo inferior //circulo superior output.close(); exit(); Implemente un programa que calcule y la dibuje la altura de un triángulo cuyos extremos se sitúan en la posición media de la ventana. La esquina superior/inferior del triángulo se genera en una coordenada aleatoria. La altura debe ser desplegada en el programa. 40. Implemente un programa que escriba dos columnas con 360 valores de funciones seno y coseno en un archivo ("datos.txt"). Los valores deben comenzar en en ángulo 0 y terminar en 360. size(300, 300); PrintWriter output; output = createWriter("datos.txt"); float middle_x = random(width-100); float middle_y = random(height-100); float altura = abs(height/2-middle_y); triangle(0, height/2, middle_x, middle_y, width, height/2); for (int //linea que dibuja la altura stroke(100); line(middle_x, height/2, middle_x, middle_y); text(altura, middle_x, middle_y); } PROGRAMACIÓN SENSORIAL. 2015. M. CARRASCO // abrimos el archivo para escribir en el //abrimos el archivo para escribir en el i=1; i<=100; i++){ output.print(sin(radians(i))); // escribe en el archivo output.print(" "); output.println(cos(radians(i))); output.close(); exit(); 2 33 Estrategia GUIA 06 ARDUINO GUIA 04 ARDUINO PROGRAMACIÓN // FUNCIONES PROGRAMACIÓN 27-10-2015 27-10-2015 PROBLEMA 3 Desarrolle un programa que despliegue el nivel de intensidad de la luz mediante tres LEDS con colores verde, amarillo y rojo. El nivel de luz es medido con una resistencia fotovoltaica. El funcionamiento es el siguiente, a medida que aumenta el nivel de luz detectado por la fotoresistencia, se van encenciendo leds en forma progresiva OBJETIVO Este guía contiene problemas de vectores y funciones en Arduino, diseñados para preparar la segunda prueba de programación. Antes de comenzar a resolver los problemas, revise el código preliminar de tal forma de aclarar conceptos y definiciones. Pruebe sus propias modificaciones, para buscar errores en el código. PRELIMINAR Materiales 3 LED 3 resistencias 220 Ohms 1 resistencia 10kOhms 1 Fotoresistencia 1) Crear un vector con 20 espacios int vector[20]; // crea un vector con 20 espacios void setup(){} void loop(){} 2) Almacenar valores directamente en un vector int vector[]={2,3,4,5,6,7}; void setup(){} void loop(){} 3) Pasar un arreglo como argumento a una función (largo del vector es indicado como parámetro) PROBLEMA 4 Desarrolle un programa que encienda un LED de color verde cuando un botón sea presionado, y encienda un LED amarillo cuando el botón sea liberado (no presionado) // creamos un vector con 3 elementos void setup () { Serial.begin(9600); } // inicializamos la comunicación serial void loop() { int resultado; resultado = minimo(vector, 3); // invocamos a la función <minimo> Serial.println(resultado); // despliegue de resultado para verificar en el monitor } Materiales 2 LED 2 resistencias 220 Ohms 1 resistencia 10kOhms 1 botón PROGRAMACIÓN SENSORIAL. 2015. M. CARRASCO int vector[] = {3,2,35}; // Mis funciones int minimo(int vector[], int largo) // <tipo de datos> <nombre función> (<parametros>) { int i, m = 32767; // definimos variables internas a la función for (i = 0; i < largo; i++) // creamos un ciclo para que recorra el vector { // la función <min> retorna el valor minimo entre dos m = min(m, vector[i]); // números. Esta funcionalidad es parte de las funciones de // Arduino. } return m; //retornamos el resultado con return (<variable>) } !!!!!!!!!! 2 34 Mano del Desierto, Atacama, Chile intervención diagnóstico estrategia CONTEXTO resultados Mano del Desierto, Atacama, Chile Resultados Prueba 1 ‣ Sábado 25 de SepMembre. Rinden la prueba 48 alumnos. Tres preguntas con alternaMvas. Prueba revisada por otros tres profesores de la asignatura. 15 11,25 12 7,5 12 8 3,75 3 0 3 0 1 Prueba 1 1 2 3 4 5 6 7 36 Resultados Prueba 2 ‣ Sábado 7 de Noviembre. Rinden la prueba 37 alumnos. Tres preguntas con alternaMvas. Prueba revisada por otros tres profesores de la asignatura. 15 11,25 12 7,5 8 8 3,75 0 3 2 0 4 Prueba 1 1 2 3 4 5 6 7 37 Proyectos metrónomo digital buzzer, leds, botones, interfaz gráfica 38 Proyectos PSU test buzzer, leds, botones, interfaz gráfica 39 Proyectos Detector de Alcohol Sensor de Alcohol, arduino, interfaz gráfica. 40 Rendimiento del curso 7,0! asiste regularmente 6,0! 20% reprobado 5,0! 4,0! no asiste 3,0! 2,0! 1,0! 0,0! 1! 2! 3! 4! 5! 6! 7! 8! 9! 10! 11! 12! 13! 14! 15! 16! 17! 18! 19! 20! 21! 22! 23! 24! 25! 26! 27! 28! 29! 30! 31! 32! 33! 34! 35! 36! 37! 38! 39! 40! 41! 42! 43! 44! 41