Sobre criterios a la hora de especificar TADs

Re: Sobre criterios a la hora de especificar TADs

de Sofia Tito Virgilio Rodriguez -
Número de respuestas: 0

Hola Tomas,

No hay una forma más correcta que la otra, pero si hubiera que tomar una convención a la hora de especificar TADs sobre qué operaciones definir como procedimientos y qué operaciones definir como funciones, podría ser la siguiente: 

Si la operación modifica la estructura (constructoras/destructoras) se recomienda definirla como un procedimiento que reciba la estructura por referencia.

Si la operación no modifica la estructura (selectoras/predicados) se recomienda definirla como una función que retorna algo del tipo correspondiente.

Aunque esto no sea lo que se hace en las tareas del laboratorio.

En cuanto a las diferentes pre-condiciones, es común verse frente a esa decisión de exigir algo como precondición o permitir que no se cumpla y especificar qué sucedería si no se cumple. Esto dependerá del propósito que tengamos en mente al definir la especificación del TAD, por lo que a priori tampoco habría una más correcta que otra.

Un error podría ser no exigir que la cola no esté vacía como pre-condición, y tampoco especificar qué ocurre cuando se invoca a esa operación con una cola vacía, porque esto podría dar como resultado una especificación ambigua.

Espero haber aclarado tu duda, cualquier cosa volvé a consultar.

¡Saludos!