• No se han encontrado resultados

Prototipo de visualización de técnicas de diseño de algoritmos

N/A
N/A
Protected

Academic year: 2021

Share "Prototipo de visualización de técnicas de diseño de algoritmos"

Copied!
7
0
0

Texto completo

(1)

1 Departamento de Visualización y Documentación Electrónica (VIDO)

Prototipo de visualización de

técnicas de diseño de algoritmos

Antonio Pérez Carrasco

Prototipo de visualización de técnicas de diseño de algoritmos - Antonio Pérez Carrasco

0. Índice

• 1. ¿Qué es?

• 2. Objetivos

• 3. Casos de uso

• 4. Arquitectura y funcionamiento

• 5. Ejemplo de procesado

• 6. Demostración

(2)

3 Departamento de Visualización y Documentación Electrónica (VIDO)

1. ¿Qué es?

Programa .java

Método Parámetros

Opciones Formato

Prototipo de visualización de técnicas de diseño de algoritmos - Antonio Pérez Carrasco

1. ¿Qué es?

• Visualiza algoritmos en función de la técnica de diseño

– Backtracking

– Divide y vencerás

– Programación dinámica

– Algoritmos voraces

(3)

5 Departamento de Visualización y Documentación Electrónica (VIDO)

2. Objetivos

• Reducir esfuerzo de generación de ejemplos para profesores

• Facilitar la comprensión de los algoritmos a los estudiantes:

mediante

animaciones cambios en configuración

dónde

en clase en casa

Prototipo de visualización de técnicas de diseño de algoritmos - Antonio Pérez Carrasco

3. Casos de uso

Ver código Generar

visualización

Cargar visualización

Guardar visualización

Configurar visualización

Inicio de visualización

Atrás en visualización

Adelante en visualización Final de

visualización Activar

animación Detener

animación Visualización

múltiple

(4)

7 Departamento de Visualización y Documentación Electrónica (VIDO)

4. Arquitectura y funcionamiento

Visualizador FactoriaVentana

Ventana

VentanaArbol VentanaInducción

FactoríaCelda

Celda Traza

RegistroActivacion

Estado CeldaNodo CeldaFlecha

Factoría para creación de ventanas

Representación (común) Modelo (datos)

PanelVentana

Prototipo de visualización de técnicas de diseño de algoritmos - Antonio Pérez Carrasco

4. Arquitectura y funcionamiento

Traza

Código Java orig.

Repr. XML código or.

Repr. XML código tr.

Código Java tr.

Aplicación

Gestor procesado

Parser Java-XML

Transformador ad-hoc

Generador Java

Árbol DOM (memoria)

(5)

9 Departamento de Visualización y Documentación Electrónica (VIDO)

5. Ejemplo de procesado

• Generación de ficheros y procesado

.java

.xml

.class

Árbol DOM (memoria)

.java .class

La aplicación solicita método y valores para los parámetros. Ejecutamos y Visualizamos.

Prototipo de visualización de técnicas de diseño de algoritmos - Antonio Pérez Carrasco

5. Ejemplo de procesado

• Clase java original

class Fibbonaci {

public static int fibbonaci (int n) {

int resultado = 0;

if (n==1)

resultado = 1;

else if (n==2) resultado = 1;

else

resultado = fibbonaci(n-1)+fibbonaci(n-2);

return resultado;

} }

(6)

11 Departamento de Visualización y Documentación Electrónica (VIDO)

5. Ejemplo de procesado

• Clase java generada

class Fibbonaci {

public static int fibbonaci (int n) {

Object pppppp01[] = new Object[1];

pppppp01[0]=n;

Traza.singleton().anadirEntrada(new Estado(pppppp01));

int resultado = 0;

if (n==1)

resultado = 1;

else if (n==2) resultado = 1;

else

resultado = fibbonaci(n-1)+fibbonaci(n-2);

int zzzzzz01 = resultado;

Object rrrrrr01[] = new Object[1];

rrrrrr01[0]=zzzzzz01;

Traza.singleton().anadirSalida(new Estado(rrrrrr01));

return zzzzzz01;

} }

Prototipo de visualización de técnicas de diseño de algoritmos - Antonio Pérez Carrasco

5. Ejemplo de procesado

• Representación XML

<java-class-file>

<class name="Fibbonaci" visibility="protected">

<method name="fibbonaci" visibility="public" static="true">

<type primitive="true" name="int"/>

<formal-arguments>

<formal-argument name="n">

<type primitive="true" name="int"/>

</formal-argument>

</formal-arguments>

<block>

<local-variable name="resultado">

<type primitive="true" name="int"/>

<literal-number kind="int" value="0"/>

</local-variable>

<if>

<test>

<binary-expr op="==">

<var-ref name="n"/>

<literal-number kind="int" value="1"/>

</binary-expr>

</test>

<true-case>

...

(7)

13 Departamento de Visualización y Documentación Electrónica (VIDO)

6. Demostración

• Se verá:

– Ejemplo básico de visualización

• Avances/retrocesos manuales/animados

• Cambios de configuración y formato

– Algunas de las posibilidades que ofrece

• Generación aleatoria de valores

• Carga/almacenamiento de trazas

Referencias

Documento similar

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

En la base de datos de seguridad combinados de IMFINZI en monoterapia, se produjo insuficiencia suprarrenal inmunomediada en 14 (0,5%) pacientes, incluido Grado 3 en 3

En este ensayo de 24 semanas, las exacerbaciones del asma (definidas por el aumento temporal de la dosis administrada de corticosteroide oral durante un mínimo de 3 días) se

En un estudio clínico en niños y adolescentes de 10-24 años de edad con diabetes mellitus tipo 2, 39 pacientes fueron aleatorizados a dapagliflozina 10 mg y 33 a placebo,

• Descripción de los riesgos importantes de enfermedad pulmonar intersticial/neumonitis asociados al uso de trastuzumab deruxtecán. • Descripción de los principales signos

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción