Pascal/Turbo Pascal - 5.2 tema 7

 
Vista:
sin imagen de perfil

5.2 tema 7

Publicado por Erik (73 intervenciones) el 28/03/2014 17:43:36
Hola, tengo que hacer lo siguiente. Tiene que ser un programa completo de pascal.

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;

Partiendo del programa anterior, (el codigo de arriba) 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.

gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

5.2 tema 7

Publicado por Diego (98 intervenciones) el 29/03/2014 13:41:38
Lo que tenés que hacer es crear otro modulo que realize una busqueda e impresion; como este arreglo es sin ningun orden se tiene que recorer completamente;

luego la inicializacion del parametro de busqueda tiene que ser fuera del módulo; además este tiene que ser solicitado hasta que se ingrese el 0 como parametro de búsqueda.

algo así: claro está que tenés que acomodarlo dentro de tu programa;

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
procedure busca_precio(var arreglo: colección; price : real);
  var
    indice : integer;
    cant : integer;
  begin
    cant := 0;
    for indice := 1 to TAMCOLECCION do
        begin
            if (arreglo[indice] = price) then
              begin
                writeln('Cuadro n° ', indice, ': $', price);
                cant := cant +1; {para verificar si se encontró algún cuadro en la colección}
              end;
        end;
    if (cant = 0) then
      writeln('La búsqueda no obtuvo ningún resultado');
  end;
 
 
var
    precio : real;
begin
    write('Ingrese el precio a buscar: ');
    read(precio);
    while (precio <> 0) do
      begin
         busca_precio({el nombre del arreglo}, precio)
         write('Ingrese el precio a buscar: ');
         read(precio);
      end;
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