
5.2 tema 7 (2)
Publicado por Erik (73 intervenciones) el 02/04/2014 17:20:40
Hola tengo que hacer lo siguiente a partir de los siguientes codigos pascal:
Partiendo del programa anterior, sin modificar los procedimientos y funciones ya codificados, el alumno deberá añadir un procedimiento de nombre busca_precio para un cliente que desea gastar una cantidad exacta (ni más ni menos).
Este procedimiento recibe como parámetro (entre otros) la cantidad a buscar en la tabla. Es decir que esta cantidad deberá ser pedida al usuario fuera del procedimiento, en este caso en el módulo principal.
Presentará por pantalla un mensaje cada vez que al recorrer la tabla encuentre un cuadro con el precio buscado, indicando su precio y su número. Si no encuentra ningún libro, deberá presentar un único mensaje al final del procedimiento indicando tal circunstancia.
Además el alumno deberá incluir en el módulo principal, la petición de búsqueda en un bucle que solicite la petición del precio a buscar hasta que el usuario introduzca el valor cero.
estos son los codigos de las anteriores cuestiones:
cuestion 1:
cuestion 2:
cuestion 3:
cuestion 4:
ahora con estos codigos tengo que crear el de la cuestion 5 que es el descrito anteriormente (arriba del todo).
gracias de antemano.
Partiendo del programa anterior, sin modificar los procedimientos y funciones ya codificados, el alumno deberá añadir un procedimiento de nombre busca_precio para un cliente que desea gastar una cantidad exacta (ni más ni menos).
Este procedimiento recibe como parámetro (entre otros) la cantidad a buscar en la tabla. Es decir que esta cantidad deberá ser pedida al usuario fuera del procedimiento, en este caso en el módulo principal.
Presentará por pantalla un mensaje cada vez que al recorrer la tabla encuentre un cuadro con el precio buscado, indicando su precio y su número. Si no encuentra ningún libro, deberá presentar un único mensaje al final del procedimiento indicando tal circunstancia.
Además el alumno deberá incluir en el módulo principal, la petición de búsqueda en un bucle que solicite la petición del precio a buscar hasta que el usuario introduzca el valor cero.
estos son los codigos de las anteriores cuestiones:
cuestion 1:
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
Program Galeria;
uses
crt;
(*-- Constantes globales al programa -- *)
Const
TAMCOLECCION = 4;
(*-- Tipos globales al programa -- *)
Type
coleccion = array[1..tamcoleccion] of real;
(*-- Variables del módulo principal -- *)
Var
precios : Coleccion;
(*-- Funciones y procedimientos -- *)
procedure lee_tabla(var t : coleccion; n : integer);
var
i : integer;
begin
i := 1;
writeln(' Entre Precio Cuadro ');
while i < n + 1 do
begin
write(' Numero ',i,' : ');
readln(t[i]);
i := i + 1;
end;
end;
procedure imprime_tabla(t : coleccion; n : integer);
var
i : integer;
begin
i := 1;
writeln(' Los Resultados Son ');
writeln;
while i < n + 1 do
begin
writeln(' Num. : ',i,' Precio : ',t[i]:0:2);
i := i + 1;
end;
end;
(*-- Programa Principal -- *)
Begin
clrscr;
lee_tabla(precios, TAMCOLECCION);
clrscr;
imprime_tabla(precios, TAMCOLECCION);
readln;
End.
cuestion 2:
1
2
3
4
5
6
7
8
9
10
11
function sumar_arreglo( var arreglo : coleccion) : real;
var
indice : integer;
acumulador : real;
begin
for indice := 1 to TAMCOLECCION do
begin
acumulador := acumulador + arreglo[indice];
end;
sumar_arreglo := acumulador;
end;
cuestion 3:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure limites( var arreglo : coleccion; var min: real; var max : real); {Podrían venir inicializados desde el progama principal}
var
indice : integer;
begin
max := -20;
min := 99999;
for indice := 1 to TAMCOLECCION do
begin
if (arreglo[indice] > max) then
max := arreglo[indice];
if (arreglo[indice] < min) then
min := arreglo[indice];
end;
end;
cuestion 4:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure limites( var arreglo : coleccion; var min: real; var max : real; var posMax: integer; var posMin : integer);
var
indice : integer;
begin
max := -20;
min := 99999;
posMax := -1; {se inicializan con un valor que no podría ser para una verificación; de ser necesaria}
posMin := -1;
for indice := 1 to TAMCOLECCION do
begin
if (arreglo[indice] > max) then
begin
max := arreglo[indice];
posMax := indice;
end;
if (arreglo[indice] < min) then
begin
min := arreglo[indice];
posMin := indice;
end;
end;
end;
ahora con estos codigos tengo que crear el de la cuestion 5 que es el descrito anteriormente (arriba del todo).
gracias de antemano.
Valora esta pregunta


0