Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2011, 18:08
Foxaurus
 
Fecha de Ingreso: noviembre-2009
Mensajes: 76
Antigüedad: 15 años, 1 mes
Puntos: 2
Ayuda pseudocodigo

Hola , necesito ayuda con un ejercicio que tengo que hacer , es para confirmar si esta bien , o se podria añadir algo mas , gracias de antemano.

3. Comenta los posibles errores del siguiente código en pseudocódigo:

Código:
 function lServicios()

     String ini

     i = 0

      num = 1

      SQL = "Select * from Tbl_Servicio"

     Tabla = BDConn.obtenerTabla(SQL)

   

      while i<Tabla.longitud

          texto = texto & "<li>" & Tabla.registro(num).campo("Nom_Ame") & "</li>"

         num = num + 1

     Wend

 

     Tabla.cerrar

     return texto

 end function

Nota: Se da por entendido que no existe ningún error léxico ni sintáctico.



Este código es un pseudocódigo, que quiere decir que no está hecho en un lenguaje determinado por lo que no hay errores léxicos ni sintácticos. Lo que queremos saber de este pseudocódigo son 3 cosas:

- Objetivo del pseudocódigo: qué está intentado hacer

- Errores: errores que crees que tiene el pseudocódigo, no errores léxicos ni sintácticos, sino conceptuales

- Mejoras: mejoras que crees que podrías aplicar a este pseudocódigo


Lo que yo he respondido es lo siguiente , si alguien considera necesario añadir algo mas que me lo diga porfavor.

Analisis de funcionamiento:
En el codigo podemos apreciar una funcion en la qual tenemos una consulta a la tabla Servicios y luego un "while" que compara la longitud con "0" creando una condicion. Despues los registros se van almacenando en una variable "texto" para al acabar el buckle ser mostrados.

Errores:
A mi parecer hay un error en la condicion del "while" y es que si para romper el buckle la longitud de la tabla debe ser menor que "0" este nunca se romperia.

Mejoras:
Considero que usar la forma de buckle while ... wend no es la mas apropiada ya que es una forma muy antigua y obsoleta , creo mas recomendable usar otras formas como podrian ser while ... loop , do ... until , do until ... loop .

Agradeceria cualquier consejo gracias.