
1.1 tema 8 (2)
Publicado por Erik (73 intervenciones) el 09/04/2014 15:37:13
hola tengo que corregir un codigo pascal, lo que tengo que corregir es lo siguiente:
Ve revisando todos los procedimientos para que cumplan lo que te he indicado. Mira en este: Escriba un procedimiento (lee_producto) que rellene los campos de una variable del tipo Producto, pidiendo al usuario todos los datos salvo el valor de en_cesta que pondrá siempre a TRUE, esto indicará que el producto está en la cesta de la compra.
Tu has escrito
procedure entradacesta(var c : producto); c no es un identificador significativo
¿cómo se accede a un campo de un registro? estudia los ejemplos del curso. recuerda que la notación es nombre_registro.nombre campo
1. PRIMERA CUESTIÓN: 2014-04-08 23:13:23
Dos cosas
1ª- Muy importante en programación: utilizar nombres significativos
2ª- Fíjate en el enunciado, nos lo indica en mayúsculas
UTILICE LOS NOMBRES DE TIPOS, FUNCIONES, PROCEDIMIENTOS, CONSTANTES, ETC… QUE SE INDICAN EN EL ENUNCIADO.
Mira tu has escrito:
y mira el enunciado:
El producto debe tener campos para representar: El nombre, el número de unidades solicitadas, el precio por unidad y un campo booleano para indicar si el producto continua en la cesta (si en_cesta=TRUE significa que el producto está en la cesta, si en_cesta=FALSE significa que se ha eliminado).
Por tanto lo tenemos que modificar:
este es el codigo pascal que tengo que corregir
gracias de antemano.
Ve revisando todos los procedimientos para que cumplan lo que te he indicado. Mira en este: Escriba un procedimiento (lee_producto) que rellene los campos de una variable del tipo Producto, pidiendo al usuario todos los datos salvo el valor de en_cesta que pondrá siempre a TRUE, esto indicará que el producto está en la cesta de la compra.
Tu has escrito
procedure entradacesta(var c : producto); c no es un identificador significativo
¿cómo se accede a un campo de un registro? estudia los ejemplos del curso. recuerda que la notación es nombre_registro.nombre campo
1. PRIMERA CUESTIÓN: 2014-04-08 23:13:23
Dos cosas
1ª- Muy importante en programación: utilizar nombres significativos
2ª- Fíjate en el enunciado, nos lo indica en mayúsculas
UTILICE LOS NOMBRES DE TIPOS, FUNCIONES, PROCEDIMIENTOS, CONSTANTES, ETC… QUE SE INDICAN EN EL ENUNCIADO.
Mira tu has escrito:
1
2
3
4
5
6
Producto = record
nombre : string[100]; {Nombre del ploducto}
numero : integer; {Cantidad de productos}
precio : real; {Precio por unidad del producto}
campo : boolean; {Existe producto true se anulo false}
end;
y mira el enunciado:
El producto debe tener campos para representar: El nombre, el número de unidades solicitadas, el precio por unidad y un campo booleano para indicar si el producto continua en la cesta (si en_cesta=TRUE significa que el producto está en la cesta, si en_cesta=FALSE significa que se ha eliminado).
Por tanto lo tenemos que modificar:
1
2
3
4
5
6
Producto = record
nombre : string[100]; {Nombre del ploducto}
numero busca otro nombre más significativo, por ejemplo unidades : integer; {Cantidad de productos}
precio : real; {Precio por unidad del producto}
campo en_cesta: boolean; {Existe producto true se anulo false}
end;
este es el codigo pascal que tengo que corregir
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
program respuestas;
uses
crt;
const
TAMMAXCESTA = 4;
type
Producto = record
nombre : string[100]; {Nombre del ploducto}
numero : integer; {Cantidad de productos}
precio : real; {Precio por unidad del producto}
campo : boolean; {Existe producto true se anulo false}
end;
var
cesta : array[0..TAMMAXCESTA] of producto;
cont : integer;
procedure entradacesta(var c : producto);
begin
clrscr;
writeln('**** Entrada Producto A Cesta ****');
with c do
begin
write(' Nombre Producto : ');
readln(nombre);
write(' Cantidad De Productos : ');
readln(numero);
write(' Precio Unidad Del Producto : ');
readln(precio);
campo := true;
end;
end;
procedure presentacesta(c : producto);
begin
with c do
begin
writeln(' Producto = ',nombre);
writeln(' Cantidad = ',numero);
writeln(' Precio Unidad = ',Precio:0:2);
if campo = true then
writeln(' La Cesta Esta Activa')
else
writeln(' La Cesta Esta Inactiva');
end;
writeln;
writeln(' Pulse Una Tecla');
readkey;
end;
procedure inicializa_cesta(var c : producto);
begin
with c do
begin
nombre := ' ';
numero := 0;
precio := 0.0;
campo := false;
end;
end;
procedure mostrar_producto(n : integer);
begin
with cesta[n] do
begin
writeln(' Producto = ',nombre);
writeln(' Cantidad = ',numero);
writeln(' Precio Unidad = ',Precio:0:2);
if campo = true then
writeln(' La Cesta Esta Activa')
else
writeln(' La Cesta Esta Inactiva');
end;
writeln;
writeln(' Pulse Una Tecla');
readkey;
end;
procedure mostrar_cesta(c : producto);
begin
if c.campo = true then
begin
with c do
begin
writeln(' Producto = ',nombre);
writeln(' Cantidad = ',numero);
writeln(' Precio Unidad = ',Precio:0:2);
if campo = true then
writeln(' La Cesta Esta Activa')
else
writeln(' La Cesta Esta Inactiva');
end;
writeln;
writeln(' Pulse Una Tecla');
readkey;
end;
end;
begin
cont := 1;
while cont < TAMMAXCESTA + 1 do
begin
inicializa_cesta(cesta[cont]);
entradacesta(cesta[cont]);
cont := cont + 1;
end;
clrscr;
for cont := 1 to TAMMAXCESTA do
begin
mostrar_cesta(cesta[cont]);
clrscr;
end;
end.
gracias de antemano.
Valora esta pregunta


0