-
Lenguaje
Java usando Swing
-
Descripción
Los ingenieros civiles requieren una calculadora específica para cada tipo de obra y así puedan estimar la cantidad de materiales. Para éste caso se le solicita que elabore un algoritmo que permita calcular el N° de ladrillos huecos por metro cuadrado para losa aligerada.
La fórmula que se aplica es:
Cantidad_Ladrillo = 1/((a+v)*l)
Donde:
(a) Ancho del ladrillo hueco.
(v) Ancho de la vigueta.
(l) Longitud del ladrillo colocado.
Nota: Todas las medidas se ingresan en metros.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CalculadoraParaCadaTipoDeObra extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JTextField field_ancho_de_la_vigueta, field_ancho_del_ladrillo, field_longitud_del_ladrillo;
private JLabel label_cantidad_ladrillos;
private JButton button;
public Algoritmo() {
field_ancho_de_la_vigueta = new JTextField(4);
field_ancho_del_ladrillo = new JTextField(4);
field_longitud_del_ladrillo = new JTextField(4);
label_cantidad_ladrillos = new JLabel("", JLabel.RIGHT);
button = new JButton("Procesar");
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
JPanel panel, subpanel;
panel = new JPanel(new BorderLayout());
subpanel = new JPanel(new GridLayout(3, 1));
subpanel.add(new JLabel("Ingresa el valor de ancho de la vigueta:"));
subpanel.add(new JLabel("Ingresa el valor de ancho del ladrillo:"));
subpanel.add(new JLabel("Ingresa el valor de longitud del ladrillo:"));
panel.add(subpanel, BorderLayout.WEST);
subpanel = new JPanel(new GridLayout(3, 1));
subpanel.add(field_ancho_de_la_vigueta);
subpanel.add(field_ancho_del_ladrillo);
subpanel.add(field_longitud_del_ladrillo);
panel.add(subpanel);
pane.add(panel, BorderLayout.NORTH);
panel = new JPanel(new FlowLayout());
panel.add(button);
pane.add(panel);
panel = new JPanel(new BorderLayout());
subpanel = new JPanel(new GridLayout(1, 1));
subpanel.add(new JLabel("Valor de cantidad ladrillos:"));
panel.add(subpanel, BorderLayout.WEST);
subpanel = new JPanel(new GridLayout(1, 1));
subpanel.add(label_cantidad_ladrillos);
panel.add(subpanel);
pane.add(panel, BorderLayout.SOUTH);
button.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null);
}
@Override
public void actionPerformed(ActionEvent actionEvent) {
double ancho_de_la_vigueta, ancho_del_ladrillo, cantidad_ladrillos, longitud_del_ladrillo;
try {
ancho_de_la_vigueta = Double.parseDouble(field_ancho_de_la_vigueta.getText());
ancho_del_ladrillo = Double.parseDouble(field_ancho_del_ladrillo.getText());
longitud_del_ladrillo = Double.parseDouble(field_longitud_del_ladrillo.getText());
} catch (NumberFormatException numberFormatException) {
return;
}
cantidad_ladrillos=1.0/((ancho_del_ladrillo+ancho_de_la_vigueta)*longitud_del_ladrillo);
label_cantidad_ladrillos.setText(String.valueOf(cantidad_ladrillos));
pack();
}
public static void main(String[] args) {
new Algoritmo().setVisible(true);
}
}
import java.awt.event.*;
import javax.swing.*;
public class CalculadoraParaCadaTipoDeObra extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JTextField field_ancho_de_la_vigueta, field_ancho_del_ladrillo, field_longitud_del_ladrillo;
private JLabel label_cantidad_ladrillos;
private JButton button;
public Algoritmo() {
field_ancho_de_la_vigueta = new JTextField(4);
field_ancho_del_ladrillo = new JTextField(4);
field_longitud_del_ladrillo = new JTextField(4);
label_cantidad_ladrillos = new JLabel("", JLabel.RIGHT);
button = new JButton("Procesar");
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
JPanel panel, subpanel;
panel = new JPanel(new BorderLayout());
subpanel = new JPanel(new GridLayout(3, 1));
subpanel.add(new JLabel("Ingresa el valor de ancho de la vigueta:"));
subpanel.add(new JLabel("Ingresa el valor de ancho del ladrillo:"));
subpanel.add(new JLabel("Ingresa el valor de longitud del ladrillo:"));
panel.add(subpanel, BorderLayout.WEST);
subpanel = new JPanel(new GridLayout(3, 1));
subpanel.add(field_ancho_de_la_vigueta);
subpanel.add(field_ancho_del_ladrillo);
subpanel.add(field_longitud_del_ladrillo);
panel.add(subpanel);
pane.add(panel, BorderLayout.NORTH);
panel = new JPanel(new FlowLayout());
panel.add(button);
pane.add(panel);
panel = new JPanel(new BorderLayout());
subpanel = new JPanel(new GridLayout(1, 1));
subpanel.add(new JLabel("Valor de cantidad ladrillos:"));
panel.add(subpanel, BorderLayout.WEST);
subpanel = new JPanel(new GridLayout(1, 1));
subpanel.add(label_cantidad_ladrillos);
panel.add(subpanel);
pane.add(panel, BorderLayout.SOUTH);
button.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null);
}
@Override
public void actionPerformed(ActionEvent actionEvent) {
double ancho_de_la_vigueta, ancho_del_ladrillo, cantidad_ladrillos, longitud_del_ladrillo;
try {
ancho_de_la_vigueta = Double.parseDouble(field_ancho_de_la_vigueta.getText());
ancho_del_ladrillo = Double.parseDouble(field_ancho_del_ladrillo.getText());
longitud_del_ladrillo = Double.parseDouble(field_longitud_del_ladrillo.getText());
} catch (NumberFormatException numberFormatException) {
return;
}
cantidad_ladrillos=1.0/((ancho_del_ladrillo+ancho_de_la_vigueta)*longitud_del_ladrillo);
label_cantidad_ladrillos.setText(String.valueOf(cantidad_ladrillos));
pack();
}
public static void main(String[] args) {
new Algoritmo().setVisible(true);
}
}