Pascal/Turbo Pascal - Realizar un programa que lea información de las piezas utilizadas en la fabricación de un automóvil

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 3 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Realizar un programa que lea información de las piezas utilizadas en la fabricación de un automóvil

Publicado por sanjk (1 intervención) el 26/04/2020 22:37:36
Me darían una ayudita? hay que usar IF o FOR o REPEAT ANTIL O WHILE (basico tiene que ser)

Realizar un programa que lea información de las piezas utilizadas en la fabricación de un automóvil, de
cada pieza se conoce: código de pieza, código del modelo del automóvil, stock actual, stock mínimo,
peso y precio.

Informar:
● Cantidad de piezas necesarias para la fabricación del automóvil con código de modelo 20 y si es
posible fabricarlo (hay stock de todas su piezas).
● Cantidad de piezas cuyo stock actual supera al stock mínimo en un 10%.
● Porcentaje de piezas cuyo peso es inferior a 10kg y su precio no supera los $10000.
● El código de pieza en el que la fábrica tiene más plata invertida.

Nota: la lectura de las piezas finaliza cuando se lee la pieza con código de pieza 0, que debe
procesarse. Los códigos de piezas no se repiten
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil
Val: 128
Oro
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Realizar un programa que lea información de las piezas utilizadas en la fabricación de un automóvil

Publicado por David (37 intervenciones) el 14/05/2020 04:54:45
El ejercicio me gusta, no obstante a estas alturas imagino que ya tendrás la solución, respondo igualmente (con posibilidad a equivocarme).

Yo crearía un record con las siguientes variables:

cod, codauto, stock, stockmin : integer;
peso, precio : real; // si quieres decimales, si no pues integer

Definiría en las variables un array llamada pieza o piezas de ese tipo record.
Una variable boolean para codigoExiste
Una variable integer para el bucle for, por ejemplo x
Una variable integer para indicar el código de la pieza que más plata tiene invertida.
Una variable contador para cada una de estas cosas:
- Cantidad de piezas introducidas (lo detallo después).
- Cantidad de piezas necesarias para el coche con modelo 20
- Cantidad de piezas que supera en un 10% el stock minimo.
- Piezas cuyo peso es inferior a 10kg y su precio no supera los $10000.

Usaría un while para pedir:
- Código de pieza
- Aquí tienes que hacer un for, recorrer el array buscando si ese código existe y si es así mostrar un aviso y pedir un código distinto. Puede hacerlo con un Repeat until (hasta que) la variable codigoExiste sea false.
- Código de modelo del automovil
- Stock actual
- Stock mínimo
- peso
- precio
- PlataInvertida := precio * stock actual

Cada vez que se introduce una pieza podrías tener un contador (hay otras maneras).
Mientras el código de pieza no sea 0 el while se repetirá.

Una vez finalizado esto, imaginate que tienes 20 piezas, contador vale 20
Tienes que recorrerlas una a una para inspeccionarlas y ver si cumplen con la casuística.
Haces un for que vaya de 0 a contador-1 (no recuerdo si los indices empiezan empiezan en 0 o 1), con cada entrada en el bucle compruebas:

- Condicional, si el codigo del modelo del automovil para el indice X es igual a 20, si es así, al contador de piezas le añades 1
- Condicional, si stock para ese indice es mayor o igual que stockmin*1.10 para ese mismo indice (habría que revisar si 1,10 va con coma o punto).
- Condicional doble (AND):
- Peso del indice (x) es menor que 10
- Precio del indice (x) es <= 10000
- Comprobaría si el valor PlataInvertida para ese indice supera el de la variable PiezaConMasPlataInvertida, y lo reemplazaría si procede.

Al finalizar el bucle for con todo lo anterior ya deberías tener los datos que necesitas para mostrarlos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar