Ayuda con este problema de programación

N supermercado de la construcción decide liquidar sus stocks de la temporada anterior mediante una promoción en la que venderá los pavimentos a precios asequibles, con independencia de la marca y modelo. El precio quedará fijado a partir del tipo de material y la superficie según la siguiente tabla de precios:
¿Técnica Medidas en m2 Precio por m2
cerámica Primeros 10 21?
¿Siguientes 17?
¿Gres Primeros 5 28?
de 5 a 10 23 ?
¿Siguientes 20?
¿Mármol Primeros 4 30?
¿Siguientes 25?
Completa la siguiente función en Action Script para que recibiendo el tipo de material y largo y ancho de la sala a embaldosar, devuelva el precio total. Debe tenerse en cuenta, para calcular la superficie a comprar que se prevé un 10% en menguas y que mientras el gres se vende en cajas de 1 m2, tanto la cerámica como el mármol se vende en cajas indivisibles de 2 m2.
Ejemplo: para embaldosar con mármol una habitación de 4,75 x 3,20 m los cálculos serían:
1. La superficie a embaldosar será 4,75x3, 20= 15,2 m2
2. ¿Las menguas serán de un 10%? 1,52 m2
3. El total necesario 16,72 m2
4. ¿Cómo va en cajas de 2m2 se necesitan 9 cajas? 18 m2
5. Los primeros 4m2 a 30?/m2 = 120 ?
Los restantes 14m2 a 25?/m2 = 350 ?
6. La función debe devolver 470
function valor (material, ancho, largo): Number
{
var precio:Number;
var ....
//ESCRIBE AQUÍ FALTA EL CÓDIGO
return (precio);
}
Respuesta
1
¿Cuál es el problema en programación?
Primero tendrás que resolver el problema matemático y luego me dices cual es el problema en programación.
Es que no lo entiendo... no se como empezar ya que no veo como hacerlo a nivel matématico, lo que si que tengo es el código en visual basic aunque no lo he hecho yo y tampoco tengo conocimientos de vb.
vNOTA: Me.TextBox1.Text, Me.TextBox2.Text, Me.TextBox3.Text son cajas de texto donde se ingresan (material, ancho, alto)
Public Class Material
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.TextBox4.Text = ejecutar(Me.TextBox1.Text, Me.TextBox2.Text, Me.TextBox3.Text)
End Sub
'esta es la función
Public Function ejecutar(ByVal material As String, ByVal ancho As Double, ByVal largo As Double) As Double
Dim superficie As Double = ancho * largo
'sacar el 10 %
Dim menguas As Double = superficie * 0.1
Dim totalNecesario As Double = superficie + menguas
Dim primeros As Double = 0.0
Dim restantes As Double = 0.0
Dim total As Double = 0.0
Select Case material
Case "ceramica"
Case "gres"
Case "marmol"
Dim cajasNecesariasDeMarmol As Integer = Math.Ceiling(totalNecesario / 2)
primeros = 4 * 30
If cajasNecesariasDeMarmol > 4 Then
restantes = (cajasNecesariasDeMarmol * 2 - 4) * 25
End If
End Select
total = primeros + restantes
Return total
End Function
Saludos y gracias igualmente
Tu problema es que no sabes traducir el código de visual basic a action script.
Con action script no te puedo ayudar, pero si te puedo decir lo que hace en visual basic.
Public Class Material
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
//Al pulsar sobre el botón llama a la función ejecutar
//que devuelve el resultado
Me.TextBox4.Text = ejecutar(Me.TextBox1.Text, Me.TextBox2.Text, Me.TextBox3.Text)
End Sub
'esta es la función
Public Function ejecutar(ByVal material As String, ByVal ancho As Double, ByVal largo As Double) As Double
//Declaración de variables
Dim superficie As Double = ancho * largo
'sacar el 10 %
Dim menguas As Double = superficie * 0.1
Dim totalNecesario As Double = superficie + menguas
Dim primeros As Double = 0.0
Dim restantes As Double = 0.0
Dim total As Double = 0.0
//Segun el material realizará un proceso distinto
//En este caso para los tres tipos de material está
//calculando solo para el mármol
Select Case material
Case "ceramica"
Case "gres"
Case "marmol"
//Calcula las cajas necesarias de marmol.
//Math.Ceiling -> Redondea al alta el resultado
//de totalnecesario/2
Dim cajasNecesariasDeMarmol As Integer = Math.Ceiling(totalNecesario / 2)
//Para el marmol eran los primeros 4*30 y lo guarda en la variable primeros
primeros = 4 * 30
//Si las cajasnesarias son > 4 calcula las restantes
If cajasNecesariasDeMarmol > 4 Then
restantes = (cajasNecesariasDeMarmol * 2 - 4) * 25
End If
End Select
//Calcula el total y lo devuelve
total = primeros + restantes
Return total
End Function
En tu función de action script tendrás que hacer lo mismo. Declárate las variables y haz los mismos cálculos, pero para todos los casos, porque aquí solo han puesto el del mármol.

2 respuestas más de otros expertos

Respuesta
Puedo ayudarte si me dices en que parte tienes duda pero no resuelvo proyectos de otras personas.
Respuesta
-1
NO entiendo el planteo del problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas