[ Foro de Pascal ]

NECESITO "AYUDA" URGENTE CON ESTE PROGRAMA Q HACE DIAS ME ESTA ROMPIENDO LA CABEZA!

10-Jun-2009 04:28
Analia Marquez
4 Respuestas

HOLAA!! NECESITO "AYUDA" URGENTE CON ESTE PROGRAMA QUE HACE DIAS ME ESTA ROMPIENDO LA CABEZA! DESDE YA MUCHAS GRACIAS, SI PUEDES RESPONDER ANTES DEL LUNES BUENISIMO! GRACIAS Y GRACIAS!! Enunciado: La verdulería “La naranja mecánica” ha incorporado un lector de código de barra y necesita un programa para probar cómo funciona y decidir si lo adquieren definitivamente o no. En el manual de lector de códigos de barra viene la siguiente información: 1.- Quiet zone. Se le llama así a la zona libre de impresión que rodea al código y permite al lector óptico distinguir entre el código y el resto de información contenida en el documento o en la etiqueta del producto. 2.- Caracteres de inicio y terminación. Son marcas predefinidas de barras y espacios específicos para cada simbología. Como su nombre lo indica, marcan el inicio y terminación de un código. El lector por defecto las traduce a un asterisco (*). 3.- Caracteres de datos. Contienen los números o letras particulares del símbolo. 4.- Checksum. Es una referencia incluida en el símbolo, cuyo valor es calculado de forma matemática con la información de los otros caracteres del mismo código. Se utiliza para validar que el código se correcto. -Diseñar un programa en Pascal que dado un código de barra de 5 caracteres, muestre en pantalla el nombre del producto y su precio. El código ingresado debe ser validado. La validación (checksum) se hará sumando todos los códigos ASCII de los caracteres hasta obtener un solo dígito. El programa debe estar correctamente modularizado utilizando, adecuadamente procedimientos y/o funciones. Ejemplo: (Aqui deberia mostrate la imagen del codigo de barra de cada producto q te voy a poner a continuacion) Palta (u.)......$4.35 Correcto! Tomate (kg)......$5.50 Correcto! Error, Producto desconocido. Código Incorrecto!, checksum debería ser 9. GRACIASSS!! Y ESPERO UNA RESPUESTA :D!!
10-Jun-2009 17:26
alfredo mercado

hola,analia!me ayudaria mucho tener tu version de tu programa para ver en lo que te estas equivocando!dame mas informacion,le es permitido usar,registros?archivos?por lo que sea mandamelo al mail. salu2!
11-Jun-2009 09:39
Nacho Cabanes (+84)

Mi impresión es que casi toda la información que te dan es innecesaria y que tienes que centrarte en esta frase "Diseñar un programa en Pascal que dado un código de barra de 5 caracteres, muestre en pantalla el nombre del producto y su precio"

En principio, necesitas un registro ("record") para cada producto, que contenga el código, el nombre y el precio. A su vez, como tienes varios productos, todos ellos estarían almacenados en un "array de registros" o en un "fichero de registros".

Deberías tener funciones (o procedimientos) como

- IntroducirNuevoProducto
- ComprobarSiExisteProducto( codigo )
- ComprobarChecksum( codigo )
- MostrarProducto( codigo )

Una cosa que no me queda clara de tu enunciado es cómo se almacena el checksum: no sé si sería un dato aparte (otro campo del "record") o si sería parte del código. Lo primero parece lo más natural, si te dicen que sumes códigos ASCII.

Entonces para los tomates tendrías una ficha como:

- Código: 123
- Nombre: Tomates
- Precio: 5.50
- Checksum: 150
(porque los códigos ASCII de los símbolos "1" ,"2" y "3" son 49, 50 y 51, que suman 150).


(Tienes los conceptos sobre "array" y sobre "record" en el apartado 2.2 del curso).


30-Oct-2014 04:57
Invitado (Anonimo)

Hola! estaria necesitando que me ayuden a hacer un programa para el registro de productos de una fruteria y verduleria, usando procedure, array, record, etc


30-Oct-2014 13:51
Nacho Cabanes (+84)

En este apartado del curso tienes un ejemplo de agenda, desarrollada utilizando un "array de records". Con muy pocos cambios podrás convertirla en lo que necesitas. Pregunta aquí si tienes dudas.

http://www.aprendeaprogramar.com/mod/resource/view.php?id=555







(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)