
3.2 tema 7
Publicado por Erik (73 intervenciones) el 26/03/2014 19:30:44
hola a partir del siguiente codigo tengo que hacer lo siguente:
Partiendo del programa anterior, sin modificar los procedimientos y funciones ya codificados, introduzca un procedimiento de nombre limites que devolverá como parámetros por referencia el máximo y el mínimo de la colección.
RECORDATORIO:
A la hora de buscar el mínimo (o el máximo) dentro de una tabla se procede:
Se le da como valor inicial al mínimo, el primer valor de la tabla.
Se recorre el resto de la tabla y en cada iteración:
a) Se comprueba si el valor de la tabla es menor que mínimo. a.1) Si lo es al mínimo se le da el valor de dicho elemento.
a.2) Si es mayor no se hace nada y se pasa al siguiente elemento.
En el programa principal, la invocación deberá ser de la forma:
(*-- Variables -- *)
Var
precios1 : Coleccion;
min1, max1: real;
(*-- Programa Principal -- *)
Begin
lee_tabla(precios1, TAMCOLECCION);
imprime_tabla(precios1, TAMCOLECCION);
(* Aquí iría la invocación a limites *)
(* Presentación de resultados *)
Writeln('El maximo es ', max1:0:1, ' y el mínimo ' , min1:0:1);
End.
gracias de antemano.
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.
Partiendo del programa anterior, sin modificar los procedimientos y funciones ya codificados, introduzca un procedimiento de nombre limites que devolverá como parámetros por referencia el máximo y el mínimo de la colección.
RECORDATORIO:
A la hora de buscar el mínimo (o el máximo) dentro de una tabla se procede:
Se le da como valor inicial al mínimo, el primer valor de la tabla.
Se recorre el resto de la tabla y en cada iteración:
a) Se comprueba si el valor de la tabla es menor que mínimo. a.1) Si lo es al mínimo se le da el valor de dicho elemento.
a.2) Si es mayor no se hace nada y se pasa al siguiente elemento.
En el programa principal, la invocación deberá ser de la forma:
(*-- Variables -- *)
Var
precios1 : Coleccion;
min1, max1: real;
(*-- Programa Principal -- *)
Begin
lee_tabla(precios1, TAMCOLECCION);
imprime_tabla(precios1, TAMCOLECCION);
(* Aquí iría la invocación a limites *)
(* Presentación de resultados *)
Writeln('El maximo es ', max1:0:1, ' y el mínimo ' , min1:0:1);
End.
gracias de antemano.
Valora esta pregunta


0