Edición de «AED2 resumen 2C-17»
De Cuba-Wiki
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 3: | Línea 3: | ||
=== a === | === a === | ||
duplicar: secu(α) → secu(α) | duplicar: secu(α)→secu(α) | ||
duplicar(s) ≡ if vacía?(s) then ⟨⟩ else prim(s) • prim(s) • duplicar(fin(s)) fi | duplicar(s)≡if vacía?(s) then ⟨⟩ else prim(s)•prim(s)•duplicar(fin(s)) fi | ||
=== b === | === b === | ||
Línea 11: | Línea 11: | ||
•≤•: secu(α) x secu(α) → bool | •≤•: secu(α) x secu(α) → bool | ||
s ≤ t ≡ if ¬(vacía?(s) ∨ vacía?(t)) then prim(s) < prim(t) ∨ (prim(s) = prim(t) ∧ fin(s) ≤ fin(t)) else vacía?(s) fi | s ≤ t ≡ if ¬(vacía?(s) ∨ vacía?(t)) then prim(s) < prim(t) ∨ (prim(s)=prim(t) ∧ fin(s)≤fin(t)) else vacía?(s) fi | ||
=== c === | === c === | ||
Línea 151: | Línea 151: | ||
ntn: conj(secu(α)) x secu(α) → conj(secu(α)) | ntn: conj(secu(α)) x secu(α) → conj(secu(α)) | ||
blablabla | |||
== Ejercicio 5 == | == Ejercicio 5 == | ||
Línea 171: | Línea 162: | ||
=== b === | === b === | ||
blablabla | |||
== Ejercicio 6 == | == Ejercicio 6 == | ||
Línea 194: | Línea 169: | ||
=== a === | === a === | ||
altura: rosetree(α) → nat | |||
altura(rose(r,⟨⟩)) ≡ 1 | |||
altura(rose(r,e • s)) ≡ 1 + altura(masAlta(r,e • s)) | |||
masAlta: α x secu(rosetree(α)) → rosetree(α) | |||
masAlta(a,s) ≡ if vacía?(s) then rose(a,⟨⟩) else if altura(prim(s)) > altura(masAlta(a,fin(s))) then prim(s) else masAlta(a,fin(s)) fi fi | |||
=== b === | === b === | ||
cantHojas: rosetree(α) → nat | |||
cantHojas(r) ≡ if esHoja?(r) then 1 else sumarHojas(hijos(r)) fi | |||
esHoja?: rosetree(α) → bool | |||
esHoja?(r) ≡ vacía?(hijos(r)) | |||
sumarHojas: secu(rosetree(α)) → nat | |||
sumarHojas(s) ≡ if vacía?(s) then 0 else cantHojas(prim(s)) + sumarHojas(fin(s)) fi | |||
=== c === | === c === | ||
podar: rosetree(α) a → rosetree(α) {¬esHoja?(a)} | |||
podar(r) ≡ rose(raíz(r),podadora(hijos(r))) | |||
podadora: secu(rosetree(α)) → secu(rosetree(α)) | |||
podadora(s) ≡ if vacía?(s) then s else if esHoja?(prim(s)) then podadora(fin(s)) else podar(prim(s)) • podadora(fin(s)) fi fi | |||
=== d === | === d === | ||
obtenerRamas: rosetree(α) → secu(secu((α)) | |||
obtenerRamas(r) ≡ if esHoja?(r) then (raíz(r) • ⟨⟩) • ⟨⟩ else if long(hijos(r)) = 1 then insertarTodos(raíz(r),obtenerRamas(prim(hijos(r)))) else insertarTodos(raíz(r),obtenerRamas(prim(hijos(r)))) & obtenerRamas(rose(raíz(r),fin(hijos(r)))) fi fi | |||
insertarTodos: α x secu(secu(α)) → secu(secu(α)) | |||
insertarTodos(a,s) ≡ if vacía(s) then ⟨⟩ else (a • prim(s)) • insertarTodos(a,fin(s)) fi | |||
=== e === | === e === |