Pascal/Turbo Pascal - FUNCIONES Y PROCEDIMIENTOS

 
Vista:
Imágen de perfil de Marvin Daniel
Val: 8
Ha disminuido su posición en 3 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

FUNCIONES Y PROCEDIMIENTOS

Publicado por Marvin Daniel (4 intervenciones) el 12/07/2019 21:58:34
Hola amigos...... necesito ayudaaaa!

Debo resolver el siguiente ejercicio en pascal:


Debo encontrar cual chofer hizo más dinero y menos dinero respectivamente, adicionalmente se debe de mostrar en pantalla el nombre del chofer, el numero de placa y el monto mayor y el monto menor según "N" veces que el usuario digite. El primer kilómetro se paga a $100 y los demás a $80.

Todo esto se debe resolver solamente aplicando procedimientos y funciones.


Gracias!
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
Imágen de perfil de Marvin Daniel
Val: 8
Ha disminuido su posición en 3 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

FUNCIONES Y PROCEDIMIENTOS

Publicado por Marvin Daniel (4 intervenciones) el 17/07/2019 21:49:08
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
Program funcionSalario;
uses crt;
 
Var
    chofer  :   string;
    nplaca  :   string;
    Km      :   double;
    monto :  integer;
    montomayor : double;
    montomenor : double;
    chofermenor : string;
    nplacamenor : string;
    Kmmenor : double;
    opcion : string;
 
Function calmonto(km:double):double;
Begin
    if (km > 1) then
        calmonto := ((km - 1)*80)+100
    else
        calmonto := 100;
End;
 
Procedure inicio;
Var
    choferTemp, nplacaTemp :string;
    kmTemp : double;
    calculo : double;
Begin
    while opcion = 's' do
    begin
        Writeln('Digite el nombre del chofer');
        Readln(choferTemp);
        Writeln('Digite el numero de placa');
        Readln(nplacaTemp);
        Writeln('Digite la cantidad de kilometros');
        Readln(kmTemp);
       calculo := calmonto(kmTemp);
       if(montomayor < calculo) then
       begin
           montomayor := calculo;
           chofer := choferTemp;
           nplaca := nplacaTemp;
           km := kmTemp;
       end;
       if((calculo < montomenor) or (montomenor = 0)) then
       begin
           montomenor := calculo;
           chofermenor := choferTemp;
           nplacamenor := nplacaTemp;
           kmmenor := kmTemp;
       end;
       Writeln('Desea continuar con otro chofer [s/n]');
       Readln(opcion);
    end;
 
    Writeln('El chofer del monto mayor es: ', chofer, ', numero de placa: ',nplaca,' y el monto es: ', Round(montomayor));
    Writeln('El chofer del monto menor es: ', chofermenor, ', numero de placa: ',nplacamenor, ' y el monto es: ', Round(montomenor));
 
End;
 
Begin
clrscr;
monto := 0;
montomayor := 0;
montomenor := 0;
opcion := 's';
inicio;
Readln()
 
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