Un supermercado que hace reparto a domicilio dispone de una secuencia de datos para llevar el control de los pedidos . Cada pedido tiene una secuencia con el siguiente formato:
< idProd1 quantity1 price1 fridge1 idProd2 quantity2 price2 fridge2 . .. idProdn quantityn prices fridgen END > , donde:
• idProdi es un entero positivo de 5 dígitos que representa el código del producto
• Price es un real que indica el precio del producto
• Cantidad es un entero positivo que representa el número de elementos de este producto
• fridgen es un carácter con el valor 'S' si este producto necesita nevera, 'N' contrario
• END es la marca final de secuencia y vale -1
Nos dicen que cada código de producto aparecerá sólo una vez en la secuencia y que una secuencia contendrá , como mínimo , la marca final .
Partiendo de una secuencia con los datos de un pedido que entrarán por el canal estándar , se nos pide que diseñamos una acción que calcule el precio final del pedido sabiendo que :
• El precio del reparto depende del precio final del pedido : Si el precio total es menor a 70 euros el reparto tiene un coste adicional de 6 euros , sino si el precio total es mayor o igual a 70 euros y menor a 120 euros el coste del reparto es de 4 euros . En caso de que el precio sea superior a 120 euros , el reparto es gratuito .
• Algunos productos tienen una oferta especial : comprando dos , el segundo tiene un 50 % de descuento . Estos productos están señalados mediante el identificador de producto : si empieza con el dígito 9 .
Se debe imprimir por pantalla el precio final del pedido ( con los descuentos y el coste de reparto incluidos) , el coste del reparto y el total de descuentos obtenidos .
Lo del precio lo hago:
si (subtotal<70) llavors
rep = 6.0;
fsi
si (subtotal>=70 i <120) llavors
rep = 4.0;
sino
rep=0.0;
fsi
¿cómo haríais lo del descuento?
GRACIAS
< idProd1 quantity1 price1 fridge1 idProd2 quantity2 price2 fridge2 . .. idProdn quantityn prices fridgen END > , donde:
• idProdi es un entero positivo de 5 dígitos que representa el código del producto
• Price es un real que indica el precio del producto
• Cantidad es un entero positivo que representa el número de elementos de este producto
• fridgen es un carácter con el valor 'S' si este producto necesita nevera, 'N' contrario
• END es la marca final de secuencia y vale -1
Nos dicen que cada código de producto aparecerá sólo una vez en la secuencia y que una secuencia contendrá , como mínimo , la marca final .
Partiendo de una secuencia con los datos de un pedido que entrarán por el canal estándar , se nos pide que diseñamos una acción que calcule el precio final del pedido sabiendo que :
• El precio del reparto depende del precio final del pedido : Si el precio total es menor a 70 euros el reparto tiene un coste adicional de 6 euros , sino si el precio total es mayor o igual a 70 euros y menor a 120 euros el coste del reparto es de 4 euros . En caso de que el precio sea superior a 120 euros , el reparto es gratuito .
• Algunos productos tienen una oferta especial : comprando dos , el segundo tiene un 50 % de descuento . Estos productos están señalados mediante el identificador de producto : si empieza con el dígito 9 .
Se debe imprimir por pantalla el precio final del pedido ( con los descuentos y el coste de reparto incluidos) , el coste del reparto y el total de descuentos obtenidos .
Lo del precio lo hago:
si (subtotal<70) llavors
rep = 6.0;
fsi
si (subtotal>=70 i <120) llavors
rep = 4.0;
sino
rep=0.0;
fsi
¿cómo haríais lo del descuento?
GRACIAS