Robot recíproco Pitágoras

[color=#999999]Esta actividad pertenece al [i]libro de GeoGebra[/i] [url=https://www.geogebra.org/m/btjysbzp]Autómatas[/url][/color].[br][br]Hasta ahora, el comportamiento de los robots quedaba determinado por vectores definidos a partir de los otros puntos. En este último apartado, crearemos robots que antes de emprender un movimiento [b]husmeen [/b]qué sucede a su alrededor y, basándose en los valores obtenidos, tomen una decisión.[br][br][b]Proyecto 2D[/b]: [i]crear demostraciones dinámicas automáticas[/i].[br][br]En este ejemplo, queremos demostrar el recíproco del teorema de Pitágoras. [br][br]Partimos de un [b]triángulo [/b]ABC y llamamos [b]dif [/b]la expresión abs(a²+b²-c²). Nuestro objetivo es que dif valga 0.[br]Creamos un deslizador t que va a servirnos para animar el vértice C (al que hemos activado el rastro), de forma que varíe con bastante frecuencia, por ejemplo, entre 0 y 1 con paso 0.01.[br][br]Otro deslizador inc, entre 0 y 0.1, nos servirá para establecer el avance en cada paso. En principio, el valor de inc será 0.1. [br][br]Finalmente, creamos dos objetos auxiliares: [b]C0[/b]=(0,0) y [b]dif0[/b]=0 que valdrán para mantener, respectivamente, los valores actuales de C y dif.[br][br]Ahora escribimos el programa de nuestro robot. Cada vez que se actualice el valor de t, se ejecutará el siguiente [b]guión [/b]de instrucciones (el símbolo # sirve para añadir comentarios): [br][br][color=#ff0000]# Fijamos los valores de partida dif0 y C0:[/color][br]Valor(dif0, dif)[br]Valor(C0, C)[br][br][color=#ff0000]# Variamos C y comparamos la dif yendo hacia el NE con dif0:[/color][br]Valor(C, C + (inc, inc))[br]Valor(C, Si(dif# [Repetimos estas tres instrucciones para los movimientos hacia el E, SE, S, SO, O, NO y N, es decir, (inc, 0), (inc, -inc), (0, -inc), (-inc, -inc), (-inc, 0), (-inc, inc) y (0, inc).][br][br][color=#ff0000]# Si la diferencia no se reduce, incrementamos la precisión dividiendo inc entre 10:[/color][br]Valor(inc, Si(dif==dif0, inc/10, inc))[br][br][color=#ff0000]# Cuando la diferencia sea nula, detenemos la animación (además, se mostrará el mensaje “proceso terminado”):[/color][br]Si(dif==0, IniciaAnimación(false))[br][br]Ya solo nos queda animar el deslizador t.[br][br]Nota: Si queremos volver a repetir el experimento, debemos recordar devolver inc al valor 0.1.
[color=#999999]Autor de la actividad y construcción GeoGebra: [url=https://www.geogebra.org/u/rafael]Rafael Losada[/url].[/color]

Information: Robot recíproco Pitágoras