Pascal/Turbo Pascal - ejercicios de turbo pascal AYUDA

   
Vista:

ejercicios de turbo pascal AYUDA

Publicado por MARIANNY SALAZAR (2 intervenciones) el 30/01/2013 21:25:34
Hola necesito ayuda con este ejercicio en turbo pascal... La empresa inversiones, tiene en su nomina un total de 30 empleados y necesita elaborar un algoritmo que le permita leer los datos de cada uno de ellos y mostrar al final ciertas estadísticas a partir de los siguientes datos:
Nombre, edad, estado civil(Soltero, Casado, Viudo), sexo y sueldo. el sueldo debe indicarse de la siguiente forma:
a) sueldo menor a 3.500
b) sueldo entre 3.500 y 5.800
c) sueldo mayor a 5.800.
las características a mostrar son:
*total de hombres casados que ganan mas de 5.800
*total de mujeres viudas que ganan mas de 3.500
*edad promedio de los empleados de la empresa
*porcentaje de mujeres entre 18 y 20 años. entre 21 y 28 años y mayores de 28 años
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

ejercicios de turbo pascal AYUDA

Publicado por ramon (2072 intervenciones) el 31/01/2013 16:41:05
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
{Algo como esto te sirve}
 
program empresa;
 uses
   crt;
    const
       maximo = 30;
       estad_civil : array[1..3] of string[7] = (
       'Soltero', 'Casado', 'Viudo');
    type
 
      datosempleado = record
          nombre : string[150];
          edad   : integer;
          estado : string[7];
          sexo   : char;
          sueldo : real;
         end;
 
    var
       emplea : array[1..maximo] of datosempleado;
       cont : integer;
 
 
   procedure entrada_datos(n : integer);
   var
     tec : char;
   begin
      clrscr;
      writeln('  Entre Datos De Empleado ');
      writeln;
      write('  Nombre : ');
      readln(emplea[n].nombre);
      write('  Edad   : ');
      readln(emplea[n].edad);
      writeln('  1 = Soltero  2 = Casado  3 = Viudo');
      repeat
          tec := readkey;
      until tec in[#49..#51];
   case tec of
  #49 : emplea[n].estado := estad_civil[1];
  #50 : emplea[n].estado := estad_civil[2];
  #51 : emplea[n].estado := estad_civil[3];
   end;
      writeln('  Estado : ',emplea[n].estado);
      write('   Sexo   : ');
      repeat
         tec := upcase(readkey);
      until tec in['F','M'];
      write(tec);
      emplea[n].sexo := tec;
      writeln('  Salario : ');
      writeln('  1 = sueldo menor a 3.500   2 = sueldo entre 3.500 y 5.800',
              '   3 = sueldo mayor a 5.800');
      repeat
      tec := readkey;
      until tec in[#49..#51];
   case tec of
  #49 : emplea[n].sueldo := 3499;
  #50 : emplea[n].sueldo := 3500;
  #51 : emplea[n].sueldo := 5800;
   end;
 end;
 
 procedure presenta_datos;
 var
   t : integer;
   casa58, viud, edap : integer;
   ed1, ed2, ed3 : integer;
 begin
    writeln('   Datos Del Trabajador ');
    writeln;
    casa58 := 0;
    viud := 0;
    edap := 0;
    ed1 := 0;
    ed2 := 0;
    ed3 := 0;
    for t := 1 to 30 do
    begin
    if (emplea[t].sueldo = 5800) and (emplea[t].sexo = 'M') and
                 (emplea[t].estado = estad_civil[2]) then
     casa58 := casa58 + 1;
     if (emplea[t].sueldo = 3500) and (emplea[t].sexo = 'F') and
                 (emplea[t].estado = estad_civil[3]) then
     viud := viud + 1;
     edap := edap + emplea[t].edad;
     if (emplea[t].sexo = 'F') and (emplea[t].edad in[18..20]) then
     ed1 := ed1 + 1;
     if (emplea[t].sexo = 'F') and (emplea[t].edad in[21..28]) then
     ed2 := ed2 + 1;
     if (emplea[t].sexo = 'F') and (emplea[t].edad > 28) then
     ed3 := ed3 + 1;
     end;
    clrscr;
    if casa58 > 0 then
    writeln(' total de hombres casados que ganan mas de 5.800 = ',casa58);
    if viud > 0 then
    writeln(' total de mujeres viudas que ganan mas de 3.500  = ',viud);
    if cont > 2 then
    writeln(' edad promedio de los empleados de la empresa    = ',edap div 2)
  else
    writeln(' edad promedio de los empleados de la empresa    = ',edap);
    if ed1 > 0 then
    writeln(' mujeres entre 18 y 20 a¤os                      = ',ed1);
    if ed2 > 0 then
    writeln(' mujeres entre 21 y 28 a¤os                      = ',ed2);
    if ed3 > 0 then
    writeln(' mujeres mayores 28 a¤os                         = ',ed3);
    writeln;
    writeln('   Pulse [Enter]');
    readln;
 end;
 
 procedure menu;
 var
   tecl : char;
   sal : boolean;
  begin
      sal := false;
    repeat
       clrscr;
       writeln('       **** Menu General ****');
       writeln;
       writeln('     1 = Entrada Datos ');
       writeln('     2 = Presenta Datos ');
       writeln('     3 = Salir ');
       writeln;
       writeln('     >>>> Elija Opcion <<<<');
       repeat
       tecl := readkey;
       until tecl in[#49,#50,#51];
    case tecl of
  #49 : begin
          clrscr;
          entrada_datos(cont);
          cont := cont + 1;
          if cont > maximo then
          cont := maximo;
         end;
  #50 : begin clrscr; presenta_datos; end;
  #51 : sal := true;
    end;
    until sal = true;
  end;
 
 
 begin
     clrscr;
     cont := 1;
     menu;
 end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

ejercicios de turbo pascal AYUDA

Publicado por Luis Elias (4 intervenciones) el 03/02/2013 23:16:25
Necesito ayuda con estos 3 ejercicios

1. Crear una estructura capaz de gestionar las cuentas corrientes de los clientes de un banco, sabiendo que como máximo puede haber 1000 clientes y tener cada cliente tres cuentas como máximo. La información que deberá contener será: Código cliente, Titular, Nº de cuenta (8 dígitos) y Saldo. Además se deberán crear un procedimiento Modificar que dados la estructura anterior, el código, el nº de cuenta y una cantidad, permita actualizar el saldo respecto a la cantidad indicada y a la cuenta de ese cliente. Al finalizar el año, cada cuenta recibe un incremento del 0,5% del saldo de la cuenta en concepto de intereses, por lo que habrá que realizar un módulo Intereses que actualice toda la estructura anterior y devuelva los costos (gasto total) que tendrá que asumir el banco en concepto de intereses.

2. Desarrollar un programa que controle la demanda de textos en una biblioteca, para ello se registrara cada libro, el titulo del libro, cantidad de ejemplares en la biblioteca y el numero de veces que fue prestado en el mes. Considerando que el numero de textos a estudiar no exceden de 250, codifique el programa para que además permita generar un listado de forma descendente de acuerdo al numero de ejemplares. Los cuales deben almacenarse en un archivo de tipo datos. En el cual podrán realizarse modificaciones recibiendo como parámetro el código del libro así como la generación de un archivo donde se almacene un reporte mensual de los prestamos realizados en la biblioteca el cual contendrá el código del libro, titulo, autor, cantidad de veces prestados y nombre de las personas que lo usaron.

3. 2 puntos de ventas han vendido una cierta cantidad de productos. Estas ventas han sido registradas en los archivos de registros ’punto1.dat’ y ’punto2.dat’, donde cada archivo tiene la lista de productos vendidos. Cada registro de ambos archivos tiene la siguiente estructura: producto = RECORD identificador : integer; {1,2,3,4,5,6,7,8,9,10} precio : real; end; Existen 10 tipos de productos. Se pide leer ambos archivos, mostrar ganancias percibidas y mencionar cuál es el producto mas vendido, ambas cosas para cada punto de venta.
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

ejercicios de turbo pascal AYUDA

Publicado por Jean (1 intervención) el 24/06/2016 02:31:36
Necesito ayuda con los siguientes ejercicios de turbo pascal..

los Ejercicios son los Siguientes:

1.- El banco las cuatos esquina cancela el 12% de interes anual, los clientes desean saber lo siguiente:

a.- Cuanto dinero se genere mensualmente por concepto de inteses sobre el capital de la cuenta de ahorro
b.- Cual es la cantidad de dinero que gana el cliente anualmente sobre el capital de su cuenta de ahorro
c.- imprimir la cantidad de dinero generado mensual y anual por concepto de intereses sobre el capital


2.- Un vendedor recibe un sueldo base mas un 10% entra por comision de sus ventas, el vendedor desea saber:

a.- cuanto dinero obtendra por concepto de comisiones por las tres ventas que realiza al mes
b.- cual es el total de dinero que recibira en el mes tomando en cuenta el sueldo base y comisiones
c.- imprimir la cantidad de dinero generado por concepto de comisiones de sus ventas y el total de dinero que recibe en el mes
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

ejercicios de turbo pascal AYUDA

Publicado por ramon (2072 intervenciones) el 24/06/2016 17:40:02
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
{Esto Serbia}
 
 program banco;
  uses
     crt;
   const
      interes = 12;  {al a¤o}
      comision = 10;
      sueldo = 1200;
 
   var
      vent, capital : real;
 
 
 
   function interesmensual(imp : real) : real;
   begin
     interesmensual := imp * (interes / 12) / 100;
   end;
 
   function capitalanual(imp : real) : real;
   begin
      capitalanual := interesmensual(imp) * 12;
   end;
 
   procedure presentaresultados(int : real);
   begin
      clrscr;
      writeln('    Los Resultados Son');
      writeln;
      writeln('   Dinero Generado Mensual = ',interesmensual(int):0:2);
      writeln;
      writeln('   Dinero Generado Anual    = ',capitalanual(int):0:2);
      writeln;
      writeln('   Pulse Una Tecla');
      readkey;
   end;
 
   function comisionventas(imp : real) : real;
   begin
      comisionventas := (imp * comision) / 100;
   end;
 
   function dinerosmensuales(im : real) : real;
   begin
      dinerosmensuales := sueldo + comisionventas(im);
   end;
 
   procedure presentasueldo(ik : real);
   begin
       writeln('   Salario Vendedor');
       writeln;
       writeln('   Por Concepto De Comisiones = ',comisionventas(ik):0:2);
       writeln;
       writeln('   Total Recibe En El Mes     = ',dinerosmensuales(ik):0:2);
       writeln;
       writeln('   Pulse Una Tecla');
       readkey;
   end;
 
 
   begin
     clrscr;
     write('   Entre El Capital : ');
     readln(capital);
     presentaresultados(capital);
     writeln;
     write('   Entre Importe De Las 3 Ventas : ');
     readln(vent);
     writeln;
     presentasueldo(vent);
   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