0% encontró este documento útil (0 votos)
12 vistas31 páginas

Pascal Problema

Ejercicio de Pascal
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas31 páginas

Pascal Problema

Ejercicio de Pascal
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal

Iniciar sesión Crear cuenta

Documentación y Recursos Foros y Consultas Programadores Programas Otros


Cursos y Manuales Foros de Consulta Programadores Programas/Utilidades Utilidades
Biblioteca de Temas Chats de prog. Ofertas de Trabajo Nuestros Programas Colaboradores
Código Fuente Tablón de Notas Iconos y Cursores Encuestas/Estadísticas
Comunidad de Programadores Noticias/Artículos Diccionario informático Preguntas/Respuestas Contactar
PDFs de programación

LWP » Foros » Pascal/Turbo Pascal » programa en turbo pascal


Turbo Pascal Program Pascal Free Pascal

Pascal/Turbo Pascal - programa en turbo pascal

Buscar Nuevo Tema Volver

<< >>

Vista: arbol
miguel (01/03/2020 05:22:29)

(+1) programa en turbo pascal


dario (06/03/2020 09:10:34)

programa en turbo pascal


miguel (07/03/2020 03:36:31)

programa en turbo pascal


miguel (08/03/2020 23:22:35)

programa en turbo pascal


miguel (10/03/2020 04:15:09)

programa en turbo pascal


Publicado por miguel (7 intervenciones) el 28/02/2020 05:02:45

Pos: 11
Val: 21

Buenas amigos me gustaria que me pudiesen ayudar con este programa en pascal que debo crear y me esta dando bastantes quebraderos de
cabeza

Se me pide crear un programa que permita ingresar el nombre y el salario de los trabajadores de una empresa. asi como tambien poder
consultarlos.

ya este paso esta hecho como mostrare en el archivo que adjuntrare creado en notepad++

1 program ACME;
2
3 type
4 tipoPersona = record
5 nombre: string;
6 salario: integer;
7

9 end;
10
11 const
12 capacidad = 1000;
13

14 var
15 tra: array[1..capacidad] of tipoPersona;
16 cantidad: integer;
17 opcion: integer;
18 i: integer;
19 textoBuscar: string;
20 encontrado: boolean;
21 sal_anu, sal_anual, sal_men, sal_mensual: integer;
22 utili, utilidades, vaca, vacaciones: integer;
23 bono: real;
24

25 {Cuerpo del programa principal}


26 begin
27 cantidad := 0;
28 repeat
29 WriteLn('***BIENVENIDO A ACME***');
30 WriteLn;
31 WriteLn('1 Agregar Trabajador');
[Link] Pascal - programa en turbo [Link] 1/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
31 WriteLn( 1- Agregar Trabajador );
32 WriteLn('2- Todos los trabajadores');
33 WriteLn('3- Buscar a un trabajador');
34 WriteLn('0- Salir');
35 Write('Escoja una opcionn: ');
36 ReadLn(opcion);
37 WriteLn;
38
39 case opcion of
40 1: { Agregar trabajador }
41 if (cantidad < capacidad) then
42 begin
43 inc(cantidad);
44 WriteLn('Introduciendo al trabajador ', cantidad);
45
46 Write('Introduzca el nombre: ');
47 ReadLn(tra[cantidad].nombre);
48

49 Write('Introduzca Salario: ');


50 ReadLn(tra[cantidad].salario);
51
52 WriteLn;
53 end
54 else
55 WriteLn('Base de datos llena');
56
57 2: { Todos los trabajadores }
58 begin
59 if cantidad = 0 then
60 WriteLn('No hay datos')
61 else
62 for i := 1 to cantidad do
63 WriteLn(i, ' ', tra[i].nombre, tra[i] salario);
64 WriteLn;
65 end;
66

67 3: { Buscar a un trabajador }
68 begin
69 Write('Escriba el nombre del trabajador ');
70 ReadLn( textoBuscar );
71 encontrado := false;
72 for i := 1 to cantidad do
73 if pos (textoBuscar, tra[i].nombre) > 0 then
74 begin
75 encontrado := true;
76 WriteLn( i,' - Nombre: ', tra[i].nombre,
77 ', Salario: ', tra[i].salario;
78 end;
79 if not encontrado then
80 WriteLn('No se ha encontrado.');
81 WriteLn;
82 end;
83

84 0: { salir }
85 begin
86 WriteLn;
87 WriteLn('Saliendo...');
88 WriteLn;
89 end;
90

91 else
92 begin
93 WriteLn;
94 WriteLn('Opción incorrecta!');
95 WriteLn;
96 end;
97 end; { Fin de "case" }
98

99 until opcion = 0;
100 end.

mi quebradero de cabeza es cuando se me pide realizar ciertos calculo en base al salario de los trabajadores, como por ejemplo utilidades,

[Link] Pascal - programa en turbo [Link] 2/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
vacaciones, bonos, etc.

1 begin
2 for i:=0 to cantidad do
3 if tra[i].salario > 15 then
4 tra[i].bono:=tra[i].salario*0.1;
5 utilidades:=tra[i].salario*2;
6 vacaciones:=tra[i].salario;
7 tra[i].sal_mensual:=tra[i].salario+tra[i]bono;
8 tra[i].sal_anual:=tra[i].sal_mensual*12+vacaciones+utilidades;
9 else
10 cesta:=20;
11 vaca:=tra[i].salario;
12 utili:=tra[i].salario*4;
13 tra[i].sal_men:=tra[i].salario+cesta;
14 tra[i].sal_anu:=tra[i].sal_men*12+vaca;
15 end;

me gustaria que los revisaran para saber si estan correctos y como introducirlos en el codigo

esperando su pronta respuesta

muchas gracias

Valora esta pregunta 0 Responder

programa en turbo pascal


Publicado por miguel (7 intervenciones) el 29/02/2020 06:24:54

Pos: 11
Val: 21

Buenas chicos he logrado hacer varias modificaciones al codigo de pascal

1 program ACME;
2

3 type
4 tipoPersona = record
5 nombre: string;
6 salario: real;
7 sal_anu: integer;
8 sal_anual: integer;
9 sal_men: integer;
10 sal_mensual: integer;
11 utili, utilidades, vaca, vacaciones: integer;
12 bono: real;
13

14 end;
15
16 const
17 capacidad = 1000;
18
19 var
20 tra: array[1..capacidad] of tipoPersona;
21 cantidad: integer;
22 opcion: integer;
23 i: integer;
24 textoBuscar: string;
25 encontrado: boolean;
26 bono: real;
27 cesta: integer;
28
29

30
31 {Cuerpo del programa principal}
32 begin
33 cantidad := 0;
34 repeat
35 WriteLn('***BIENVENIDO A ACME***');
36 WriteLn;
37 WriteLn('1- Agregar Trabajador');
38 WriteLn('2- Todos los trabajadores');
[Link] Pascal - programa en turbo [Link] 3/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
( j );
39 WriteLn('3- Buscar a un trabajador');
40 WriteLn('4- Reporte 1');
41 WriteLn('5- Reporte 2');
42 WriteLn('0- Salir');
43 Write('Escoja una opcion: ');
44 ReadLn(opcion);
45 WriteLn;
46
47 case opcion of
48 1: { Agregar trabajador }
49 if (cantidad < capacidad) then
50 begin
51 inc(cantidad);
52 WriteLn('Introduciendo al trabajador ', cantidad);
53

54 Write('Introduzca el nombre: ');


55 ReadLn(tra[cantidad].nombre);
56

57 Write('Introduzca Salario: ');


58 ReadLn(tra[cantidad].salario);
59
60 for i:=1 to cantidad do
61 begin
62 if tra[i].salario > 1500 then
63 tra[i].bono:=tra[i].salario*0.1;
64 tra[i].utilidades:=tra[i].salario*2;
65 tra[i].vacaciones:=tra[i].salario;
66 tra[i].sal_mensual:=tra[i].salario+tra[i].bono;
67 tra[i].sal_anual:=tra[i].sal_mensual*12+tra.[i].vacaciones+tra[i].utilidades;
68 end;
69 if tra[i].salario <= 1500 then
70 begin
71 cesta:=20;
72 tra[i].vaca:=tra[i].salario;
73 tra[i].utili:=tra[i].salario*4;
74 tra[i].sal_men:=tra[i].salario+cesta;
75 tra[i].sal_anu:=tra[i].sal_men*12+tra.[i]vaca;
76 end;
77 end;
78
79

80 2: { Todos los trabajadores }


81 begin
82 if cantidad = 0 then
83 WriteLn('No hay datos')
84 else
85 for i := 1 to cantidad do
86 WriteLn(i, ' ', tra[i].nombre, tra[i].salario);
87 WriteLn;
88 end;
89
90

91 3: { Buscar a un trabajador }
92 begin
93 Write('Escriba el nombre del trabajador ');
94 ReadLn( textoBuscar );
95 encontrado := false;
96 for i := 1 to cantidad do
97 if pos (textoBuscar, tra[i].nombre) > 0 then
98 begin
99 encontrado := true;
100 WriteLn( i,' - Nombre: ', tra[i].nombre,
101 ', Salario: ', tra[i].salario);
102 end;
103 if not encontrado then
104 WriteLn('No se ha encontrado.');
105 WriteLn;
106 end;
107
108 4: { Reporte 1 }
109 for i := 1 to cantidad do
110 begin
111 if tra[i] salario > 15 then
[Link] Pascal - programa en turbo [Link] 4/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
111 if tra[i].salario > 15 then
112 begin
113 writeln('Nombre del trabajador: ', tra[i].nombre);
114 WriteLn('Salario: ', tra[i].salario);
115 WriteLn('Bono: ', tra[i].bono);
116 WriteLn('Total: ', tra[i].sal_mensual);
117 end;
118 end;
119

120 5: { Reporte 2 }
121 for i := 1 to cantidad do
122 begin
123 if tra[i].salario <= 15 then
124 begin
125 writeln('Nombre del trabajador: ', tra[i].nombre);
126 WriteLn('Salario: ', tra[i].salario);
127 WriteLn('Cestaticket: ', cesta);
128 WriteLn('Total: ', tra[i].sal_men);
129 end;
130 end;
131
132 0: { salir }
133 begin
134 ;
135 WriteLn;
136 WriteLn('Saliendo...');
137 WriteLn;
138 end;
139
140 else
141 begin
142 WriteLn;
143 WriteLn('Opción incorrecta!');
144 WriteLn;
145 end;
146 end; { Fin de "case" }
147
148 until opcion = 0;
149 end.

pero aparecen varios errores que no logro decifrar

[Link](64,41) Error: Incompatible types: got "Real" expected "SmallInt"


[Link](65,30) Error: Incompatible types: got "Real" expected "SmallInt"
[Link](66,42) Error: Incompatible types: got "Real" expected "SmallInt"
[Link](67,52) Error: Illegal qualifier
[Link](67,52) Fatal: Syntax error, "identifier" expected but "[" found
Fatal: Compilation aborted

me gustaria que me indicaran a que se deben estos errores y como poder solucionarlos

esperando su pronta respuesta

muchas gracias

Valora esta respuesta 0 Comentar

programa en turbo pascal


Publicado por dario (23 intervenciones) el 29/02/2020 15:04:20

Pos: 1
Val: 69

Hola, tu mismo codigo arreglado.


Pruebalo y me avisas.
Saludos.

1 program ACME;
2

3 type
4 tipoPersona = record
5 nombre: string;

[Link] Pascal - programa en turbo [Link] 5/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
6 salario: real;
7 sal_anu: real;
8 sal_anual: real;
9 sal_men: real;
10 sal_mensual: real;
11 utili, utilidades, vaca, vacaciones: real;
12 bono: real;
13

14 end;
15

16 const
17 capacidad = 1000;
18

19 var
20 tra: array[1..capacidad] of tipoPersona;
21 cantidad: integer;
22 opcion: integer;
23 i: integer;
24 textoBuscar: string;
25 encontrado: boolean;
26 bono: real;
27 cesta: integer;
28

29
30

31 {Cuerpo del programa principal}


32 begin
33 cantidad := 0;
34 repeat
35 WriteLn('***BIENVENIDO A ACME***');
36 WriteLn;
37 WriteLn('1- Agregar Trabajador');
38 WriteLn('2- Todos los trabajadores');
39 WriteLn('3- Buscar a un trabajador');
40 WriteLn('4- Reporte 1');
41 WriteLn('5- Reporte 2');
42 WriteLn('0- Salir');
43 Write('Escoja una opcion: ');
44 ReadLn(opcion);
45 WriteLn;
46

47 case opcion of
48 1: { Agregar trabajador }
49 if (cantidad < capacidad) then
50 begin
51 inc(cantidad);
52 WriteLn('Introduciendo al trabajador ', cantidad);
53

54 Write('Introduzca el nombre: ');


55 ReadLn(tra[cantidad].nombre);
56

57 Write('Introduzca Salario: ');


58 ReadLn(tra[cantidad].salario);
59

60 for i:=1 to cantidad do


61 begin
62 if tra[i].salario > 1500 then begin
63 tra[i].bono:=tra[i].salario*0.1;
64 tra[i].utilidades:=tra[i].salario*2;
65 tra[i].vacaciones:=tra[i].salario;
66 tra[i].sal_mensual:=tra[i].salario+tra[i].bono;
67 tra[i].sal_anual:=tra[i].sal_mensual*12+tra[i].vacaciones+tra[i].utilidades;
68 end;
69 if tra[i].salario <= 1500 then
70 begin
71 cesta:=20;
72 tra[i].vaca:=tra[i].salario;
73 tra[i].utili:=tra[i].salario*4;
74 tra[i].sal_men:=tra[i].salario+cesta;
75 tra[i].sal_anu:=tra[i].sal_men*12+tra[i].vaca;
76 end;
77 end;
78 end;

[Link] Pascal - programa en turbo [Link] 6/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal

79

80 2: begin {Todos los trabajadores}


81 if cantidad = 0 then
82 WriteLn('No hay datos')
83 else
84 for i := 1 to cantidad do
85 WriteLn(i, ' ', tra[i].nombre, tra[i].salario:4:2);
86 WriteLn;
87 end;
88

89 3: {Buscar a un trabajador}
90 begin
91 Write('Escriba el nombre del trabajador ');
92 ReadLn( textoBuscar );
93 encontrado := false;
94 for i := 1 to cantidad do
95 if pos (textoBuscar, tra[i].nombre) > 0 then
96 begin
97 encontrado := true;
98 WriteLn( i,' - Nombre: ', tra[i].nombre,
99 ', Salario: ', tra[i].salario:4:2);
100 end;
101 if not encontrado then
102 WriteLn('No se ha encontrado.');
103 WriteLn;
104 end;
105

106 4: {Reporte 1 }
107 for i := 1 to cantidad do
108 begin
109 if tra[i].salario > 15 then
110 begin
111 writeln('Nombre del trabajador: ', tra[i].nombre);
112 WriteLn('Salario: ', tra[i].salario:4:2);
113 WriteLn('Bono: ', tra[i].bono:4:2);
114 WriteLn('Total: ', tra[i].sal_mensual:4:2);
115 end;
116 end;
117

118 5: { Reporte 2}
119 for i := 1 to cantidad do
120 begin
121 if tra[i].salario <= 15 then
122 begin
123 writeln('Nombre del trabajador: ', tra[i].nombre);
124 WriteLn('Salario: ', tra[i].salario:4:2);
125 WriteLn('Cestaticket: ', cesta);
126 WriteLn('Total: ', tra[i].sal_men:4:2);
127 end;
128 end;
129
130 0: { salir}
131 begin
132 ;
133 WriteLn;
134 WriteLn('Saliendo...');
135 WriteLn;
136 end;
137

138 else
139 begin
140 WriteLn;
141 WriteLn('Opción incorrecta!');
142 WriteLn;
143 end;
144 end; { Fin de "case" }
145
146 until opcion = 0;
147 end.

Valora esta respuesta 1 Comentar

[Link] Pascal - programa en turbo [Link] 7/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal

programa en turbo pascal


Publicado por miguel (7 intervenciones) el 01/03/2020 05:22:29

Pos: 11
Val: 21

Muchas gracias por tu pronta respuesta. Ha compilado correctamente muchisimas gracias.

pero tengo problema y es a la hora de insertar un codigo para eliminar a un trabajador de la lista

el codigo deberia poder borrar el nombre, el salario, los bonos y demas de dicho trabajador

he ingresado el siguiente codigo que deberia eliminar al trabajador

1 begin
2
3 seBorro := false;
4
5 for i := 1 to capacidad do
6
7 ReadLn(tra[cantidad].nombre);
8
9 if pos (textoBuscar, tra[cantidad].nombre) = tra[i].nombre then
10
11 begin
12
13 seBorro := true;
14
15 fillchar(tra[i].salario, tra[i].sal_anu, tra[i].sal_anual, tra[i].sal_men, tra[i].sal_mensual, tra[i].util
16
17 end;
18
19 if seBorro = true then
20
21 writeln('El Trabajador indicado se ha borrado con exito')
22
23 end;

siendo esta la opcion 6 en el menu

1 program ACME;
2
3

4
5 type
6
7 tipoPersona = record
8
9 nombre: string;
10
11 salario: real;
12
13 sal_anu: real;
14
15 sal_anual: real;
16
17 sal_men: real;
18
19 sal_mensual: real;
20
21 utili, utilidades, vaca, vacaciones: real;
22

23 bono: real;
24
25

26

27 end;
28
29

30

31 const
32
[Link] Pascal - programa en turbo [Link] 8/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
32
33 capacidad = 1000;
34
35
36
37 var
38
39 tra: array[1..capacidad] of tipoPersona;
40
41 cantidad: integer;
42
43 opcion: integer;
44
45 i: integer;
46
47 textoBuscar: string;
48

49 encontrado: boolean;
50

51 bono: real;
52

53 cesta: integer;
54

55 seBorro:boolean;
56

57
58

59 {Cuerpo del programa principal}


60

61 begin
62

63 cantidad := 0;
64

65 repeat
66

67 WriteLn('***BIENVENIDO A ACME***');
68

69 WriteLn;
70

71 WriteLn('1- Agregar Trabajador');


72

73 WriteLn('2- Todos los trabajadores');


74

75 WriteLn('3- Buscar a un trabajador');


76
77 WriteLn('4- Reporte 1');
78
79 WriteLn('5- Reporte 2');
80
81 WriteLn('6- Eliminar Trabajador');
82
83 WriteLn('0- Salir');
84
85 Write('Escoja una opcion: ');
86
87 ReadLn(opcion);
88
89 WriteLn;
90
91

92
93 case opcion of
94
95 1: { Agregar trabajador }
96

97 if (cantidad < capacidad) then


98

99 begin
100

101 inc(cantidad);
102

103 WriteLn('Introduciendo al trabajador ', cantidad);


104

[Link] Pascal - programa en turbo [Link] 9/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
105
106

107 Write('Introduzca el nombre: ');


108

109 ReadLn(tra[cantidad].nombre);
110

111

112

113 Write('Introduzca Salario: ');


114

115 ReadLn(tra[cantidad].salario);
116

117

118
119 for i:=1 to cantidad do
120

121 begin
122
123 if tra[i].salario > 1500 then begin
124

125 tra[i].bono:=tra[i].salario*0.1;
126
127 tra[i].utilidades:=tra[i].salario*2;
128

129 tra[i].vacaciones:=tra[i].salario;
130
131 tra[i].sal_mensual:=tra[i].salario+tra[i].bono;
132

133 tra[i].sal_anual:=tra[i].sal_mensual*12+tra[i].vacaciones+tra[i].utilidades;
134
135 end;
136

137 if tra[i].salario <= 1500 then


138
139 begin
140

141 cesta:=20;
142
143 tra[i].vaca:=tra[i].salario;
144

145 tra[i].utili:=tra[i].salario*4;
146
147 tra[i].sal_men:=tra[i].salario+cesta;
148

149 tra[i].sal_anu:=tra[i].sal_men*12+tra[i].vaca;
150
151 end;
152

153 end;
154
155 end;
156

157

158
159 2: begin {Todos los trabajadores}
160

161 if cantidad = 0 then


162

163 WriteLn('No hay datos')


164

165 else
166

167 for i := 1 to cantidad do


168

169 WriteLn(i, ' ', tra[i].nombre, tra[i].salario:4:2);


170

171 WriteLn;
172

173 end;
174

175
176

177 3: {Buscar a un trabajador}


[Link] Pascal - programa en turbo [Link] 10/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal

178

179 begin
180

181 Write('Escriba el nombre del trabajador ');


182

183 ReadLn( textoBuscar );


184

185 encontrado := false;


186

187 for i := 1 to cantidad do


188

189 if pos (textoBuscar, tra[i].nombre) > 0 then


190
191 begin
192
193 encontrado := true;
194

195 WriteLn( i,' - Nombre: ', tra[i].nombre,


196

197 ', Salario: ', tra[i].salario:4:2);


198
199 end;
200
201 if not encontrado then
202

203 WriteLn('No se ha encontrado.');


204

205 WriteLn;
206
207 end;
208
209

210
211 4: {Reporte 1 }
212

213 for i := 1 to cantidad do


214
215 begin
216
217 if tra[i].salario > 1500 then
218
219 begin
220

221 writeln('Nombre del trabajador: ', tra[i].nombre);


222
223 WriteLn('Salario: ', tra[i].salario:4:2);
224
225 WriteLn('Bono: ', tra[i].bono:4:2);
226
227 WriteLn('Total: ', tra[i].sal_mensual:4:2);
228

229 end;
230
231 end;
232
233

234
235 5: { Reporte 2}
236

237 for i := 1 to cantidad do


238
239 begin
240
241 if tra[i].salario <= 1500 then
242
243 begin
244

245 writeln('Nombre del trabajador: ', tra[i].nombre);


246

247 WriteLn('Salario: ', tra[i].salario:4:2);


248
249 WriteLn('Cestaticket: ', cesta);
250
[Link] Pascal - programa en turbo [Link] 11/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
250
251 WriteLn('Total: ', tra[i].sal_men:4:2);
252

253 end;
254

255 end;
256
257 6: { Eliminar trabajador }
258
259 begin
260

261 seBorro := false;


262

263 for i := 1 to capacidad do


264
265 ReadLn(tra[cantidad].nombre);
266
267 if pos (textoBuscar, tra[cantidad].nombre) = tra[i].nombre then
268

269 begin
270

271 seBorro := true;


272
273 fillchar(tra[i].salario, tra[i].sal_anu, tra[i].sal_anual, tra[i].sal_men, tra[i].sal_mens
274
275 end;
276

277 if seBorro = true then


278

279 writeln('El Trabajador indicado se ha borrado con exito')


280
281 end;
282
283
284 0: { salir}
285
286 begin
287
288 ;
289

290 WriteLn;
291

292 WriteLn('Saliendo...');
293
294 WriteLn;
295
296 end;
297

298
299

300 else
301
302 begin
303
304 WriteLn;
305

306 WriteLn('Opción incorrecta!');


307

308 WriteLn;
309
310 end;
311
312 end; { Fin de "case" }
313

314
315

316 until opcion = 0;


317
318 end.

el problema surge que al compilar me arroja los errores:

[Link] Pascal - programa en turbo [Link] 12/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
[Link](267,10) Error: Incompatible types: got "LongInt" expected "ShortString"
[Link](273,177) Fatal: Syntax error, ")" expected but ";" found
Fatal: Compilation aborted
Ha fallado la compilación.

Creo que estoy haciendo algo mal ya que no creo que esa sea la forma para borrar la informacion

Esperando su pronta respuesta muchas gracias

Valora esta respuesta 0 Comentar

programa en turbo pascal


Publicado por dario (23 intervenciones) el 06/03/2020 09:10:34

Pos: 1
Val: 69

Hola, pruebalo ahora.


Salu2.

1 program ACME;
2 type
3 tipoPersona = record
4 nombre: string;
5 salario: real;
6 sal_anu: real;
7 sal_anual: real;
8 sal_men: real;
9 sal_mensual: real;
10 utili, utilidades, vaca, vacaciones: real;
11 bono: real;
12 end;
13 const
14 capacidad = 1000;
15 var
16 tra: array[1..capacidad] of tipoPersona;
17 cantidad: integer;
18 opcion: integer;
19 i: integer;
20 textoBuscar: string;
21 encontrado: boolean;
22 bono: real;
23 cesta: integer;
24 seBorro:boolean;
25

26 {Cuerpo del programa principal}


27 begin
28 cantidad := 0;
29 repeat
30 WriteLn('***BIENVENIDO A ACME***');
31 WriteLn;
32 WriteLn('1- Agregar Trabajador');
33 WriteLn('2- Todos los trabajadores');
34 WriteLn('3- Buscar a un trabajador');
35 WriteLn('4- Reporte 1');
36 WriteLn('5- Reporte 2');
37 WriteLn('6- Eliminar trabajador');
38 WriteLn('0- Salir');
39 Write('Escoja una opcion: ');
40 ReadLn(opcion);
41 WriteLn;
42

43 case opcion of
44 1: { Agregar trabajador }
45 if (cantidad < capacidad) then
46 begin
47 inc(cantidad);
48 WriteLn('Introduciendo al trabajador ', cantidad);
49 Write('Introduzca el nombre: ');
50 ReadLn(tra[cantidad].nombre);
51 Write('Introduzca Salario: ');
52 ReadLn(tra[cantidad].salario);

[Link] Pascal - programa en turbo [Link] 13/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
53 for i:=1 to cantidad do
54 begin
55 if tra[i].salario > 1500 then begin
56 with tra[i] do begin
57 bono:=tra[i].salario*0.1;
58 utilidades:=tra[i].salario*2;
59 vacaciones:=tra[i].salario;
60 sal_mensual:=tra[i].salario+tra[i].bono;
61 sal_anual:=tra[i].sal_mensual*12+tra[i].vacaciones+tra[i].utilidades;
62 end;
63 end;
64 if tra[i].salario <= 1500 then
65 begin
66 cesta:=20;
67 with tra[i] do begin
68 vaca:=salario;
69 utili:=salario*4;
70 sal_men:=salario+cesta;
71 sal_anu:=sal_men*12+tra[i].vaca;
72 end;
73 end;
74 end;
75 end;
76 2: begin {Todos los trabajadores}
77 if cantidad = 0 then
78 WriteLn('No hay datos')
79 else
80 for i := 1 to cantidad do
81 WriteLn(i, ' ', tra[i].nombre, tra[i].salario:4:2);
82 WriteLn;
83 end;
84 3: {Buscar a un trabajador}
85 begin
86 Write('Escriba el nombre del trabajador ');
87 ReadLn( textoBuscar );
88 encontrado := false;
89 for i := 1 to cantidad do
90 if pos (textoBuscar, tra[i].nombre) > 0 then
91 begin
92 encontrado := true;
93 WriteLn( i,' - Nombre: ', tra[i].nombre,', Salario: ', tra[i].salario:4:2);
94 end;
95 if not encontrado then
96 WriteLn('No se ha encontrado.');
97 WriteLn;
98 end;
99 4: {Reporte 1 }
100 for i := 1 to cantidad do
101 begin
102 if tra[i].salario > 15 then
103 begin
104 writeln('Nombre del trabajador: ', tra[i].nombre);
105 WriteLn('Salario: ', tra[i].salario:4:2);
106 WriteLn('Bono: ', tra[i].bono:4:2);
107 WriteLn('Total: ', tra[i].sal_mensual:4:2);
108 end;
109 end;
110 5: { Reporte 2}
111 for i := 1 to cantidad do
112 begin
113 if tra[i].salario <= 15 then
114 begin
115 writeln('Nombre del trabajador: ', tra[i].nombre);
116 WriteLn('Salario: ', tra[i].salario:4:2);
117 WriteLn('Cestaticket: ', cesta);
118 WriteLn('Total: ', tra[i].sal_men:4:2);
119 end;
120 end;
121 6: {Borra un trabajador}
122 begin
123 write('Nombre a buscar: ');
124 readln(textoBuscar);
125 seBorro := false;
[Link] Pascal - programa en turbo [Link] 14/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
125 seBorro : false;
126 for i := 1 to capacidad do begin
127 {ReadLn(tra[cantidad].nombre);}
128 if (textoBuscar = tra[i].nombre) then
129 begin
130 seBorro := true;
131 with tra[i] do begin
132 nombre:='';
133 salario:=0;
134 sal_anu:=0.0;
135 sal_anual:=0.0;
136 sal_men:=0.0;
137 sal_mensual:=0.0;
138 utili:=0;
139 utilidades:=0;
140 vaca:=0;
141 vacaciones:=0;
142 bono:=0;
143 end;
144 end;
145 end;
146 if seBorro = true then
147 writeln('El Trabajador indicado se ha borrado con exito')
148 end;
149 0: { salir}
150 begin
151 WriteLn;
152 WriteLn('Saliendo...');
153 WriteLn;
154 end;
155 else
156 begin
157 WriteLn;
158 WriteLn('Opción incorrecta!');
159 WriteLn;
160 end;
161 end; { Fin de "case" }
162 until opcion = 0;
163 end.

Valora esta respuesta 1 Comentar

programa en turbo pascal


Publicado por miguel (7 intervenciones) el 07/03/2020 03:36:31

Pos: 11
Val: 21

Muchas gracias por tu ayuda a logrado compilar exitosamente el programa

sigo agregandole mas cosas a este

1 7: {Promedio Nomina Mayor}


2
3 begin
4

5 for i := 1 to capacidad do begin


6

7 if tra[i].salario > 1500 then


8

9 begin
10

11 acum := acum+ tra[i].sal_anual:4:2;


12

13 end;
14

15 writeln('Promedio Nomina Mayor es: ' acum/tra[cantidad].nombre:4:2);


16 end;
17 end;

esto me permite crear un promedio entre los trabajadores que ganan mas de 1500

[Link] Pascal - programa en turbo [Link] 15/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
1 8: {Promedio Nomina Menor}
2

3 begin
4

5 for i := 1 to capacidad do begin


6
7 if tra[i].salario <= 15 then
8

9 begin
10

11 acum := acum+ tra[i].sal_anu:4:2;


12

13 end;
14

15 writeln('Promedio Nomina Menor es: ' acum/tra[cantidad].nombre:4:2)

este me permite crear un promedio entre los trabajadores que ganan menos o igual a 1500

1 9: {Promedio general}
2

3 begin
4

5 for i := 1 to capacidad do begin


6

7 begin
8

9 sum := acum2+ acum;


10

11 end;
12
13 writeln('Promedio general es: ' sum/tra[cantidad].nombre:4:2);
14

15 end;

y este me permite crear un promedio entre todos los trabajadores.

el problema es que no me deja compilar ya que me aparecen estos errores:

Compiling [Link]
[Link](309,5) Error: Label used but not defined "7"
[Link](309,5) Fatal: Syntax error, ";" expected but "BEGIN" found
Fatal: Compilation aborted

me gustaria saber porque sigue apareciendo este error y como solucionarlo ya que no me deja compilar el resto del codigo.

ademas me gustaria saber si estoy haciendo los calculos adecuadamente

y tambien como ordenarlos para que aparezca que trabajador de la nomina menor gana mas que uno de la nomina mayor

aqui escribo el codigo completo

1 program ACME;
2

3 type
4
5 tipoPersona = record
6

7 nombre: string;
8

9 salario: real;
10
11 sal_anu: real;
12

13 sal_anual: real;
14

15 sal_men: real;
16
17 sal_mensual: real;
18

19 utili, utilidades, vaca, vacaciones: real;


20

21 bono: real;
22

23 cedula :integer;
24
[Link] Pascal - programa en turbo [Link] 16/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
24

25 end;
26

27 const
28

29 capacidad = 1000;
30

31 var
32

33 tra: array[1..capacidad] of tipoPersona;


34

35 cantidad: integer;
36
37 opcion: integer;
38

39 i: integer;
40

41 textoBuscar: string;
42
43 encontrado: boolean;
44

45 bono: real;
46

47 cesta: integer;
48

49 seBorro:boolean;
50

51 acum :real;
52

53 acum2 :real;
54

55 sum : real;
56

57

58

59

60

61 {Cuerpo del programa principal}


62

63 begin
64

65 cantidad := 0;
66

67 repeat
68
69 WriteLn('***BIENVENIDO A ACME***');
70

71 WriteLn;
72

73 WriteLn('1- Agregar Trabajador');


74
75 WriteLn('2- Todos los trabajadores');
76

77 WriteLn('3- Buscar a un trabajador');


78

79 WriteLn('4- Reporte 1');


80

81 WriteLn('5- Reporte 2');


82

83 WriteLn('6- Eliminar trabajador');


84

85 WriteLn('7- Promedio Nomina Mayor');


86

87 WriteLn('8- Promedio Nomina Menor');


88

89 WriteLn('9- Promedio General');


90

91 WriteLn('0- Salir');
92

93 Write('Escoja una opcion: ');


94
95 ReadLn(opcion);
96

[Link] Pascal - programa en turbo [Link] 17/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
97 WriteLn;
98

99

100
101 case opcion of
102

103 1: { Agregar trabajador }


104

105 if (cantidad < capacidad) then


106
107 begin
108

109 inc(cantidad);
110

111 WriteLn('Introduciendo al trabajador ', cantidad);


112

113 Write('Introduzca el nombre: ');


114

115 ReadLn(tra[cantidad].nombre);
116

117 Write('Introduzca Salario: ');


118

119 ReadLn(tra[cantidad].salario);
120

121 for i:=1 to cantidad do


122

123 begin
124

125 if tra[i].salario > 1500 then begin


126
127 with tra[i] do begin
128

129 bono:=tra[i].salario*0.1;
130

131 utilidades:=tra[i].salario*2;
132
133 vacaciones:=tra[i].salario;
134

135 sal_mensual:=tra[i].salario+tra[i].bono;
136

137 sal_anual:=tra[i].sal_mensual*12+tra[i].vacaciones+tra[i].utilidades;
138

139 end;
140

141 end;
142

143 if tra[i].salario <= 1500 then


144

145 begin
146

147 cesta:=20;
148

149 with tra[i] do begin


150

151 vaca:=salario;
152

153 utili:=salario*4;
154

155 sal_men:=salario+cesta;
156

157 sal_anu:=sal_men*12+tra[i].vaca;
158
159 end;
160

161 end;
162

163 end;
164
165 end;
166

167 2: begin {Todos los trabajadores}


168

169 if cantidad = 0 then


[Link] Pascal - programa en turbo [Link] 18/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal

170

171 WriteLn('No hay datos')


172

173 else
174

175 for i := 1 to cantidad do


176

177 WriteLn(i, ' ', tra[i].nombre, tra[i].salario:4:2);


178

179 WriteLn;
180

181 end;
182

183 3: {Buscar a un trabajador}


184
185 begin
186

187 Write('Escriba el nombre del trabajador ');


188

189 ReadLn( textoBuscar );


190
191 encontrado := false;
192

193 for i := 1 to cantidad do


194

195 if pos (textoBuscar, tra[i].nombre) > 0 then


196
197 begin
198

199 encontrado := true;


200

201 WriteLn( i,' - Nombre: ', tra[i].nombre,', Salario: ', tra[i].salario:4:2);


202

203 end;
204

205 if not encontrado then


206

207 WriteLn('No se ha encontrado.');


208

209 WriteLn;
210

211 end;
212

213 4: {Reporte 1 }
214

215 for i := 1 to cantidad do


216
217 begin
218

219 if tra[i].salario > 1500 then


220

221 begin
222
223 writeln('Nombre del trabajador: ', tra[i].nombre);
224

225 WriteLn('Salario: ', tra[i].salario:4:2);


226

227 WriteLn('Bono: ', tra[i].bono:4:2);


228

229 WriteLn('Total: ', tra[i].sal_mensual:4:2);


230

231 end;
232

233 end;
234

235 5: { Reporte 2}
236

237 for i := 1 to cantidad do


238

239 begin
240

241 if tra[i].salario <= 1500 then


242
[Link] Pascal - programa en turbo [Link] 19/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
242

243 begin
244

245 writeln('Nombre del trabajador: ', tra[i].nombre);


246

247 WriteLn('Salario: ', tra[i].salario:4:2);


248
249 WriteLn('Cestaticket: ', cesta);
250

251 WriteLn('Total: ', tra[i].sal_men:4:2);


252

253 end;
254
255 end;
256

257 6: {Borra un trabajador}


258

259 begin
260

261 write('Nombre a buscar: ');


262

263 readln(textoBuscar);
264

265 seBorro := false;


266

267 for i := 1 to capacidad do begin


268

269 {ReadLn(tra[cantidad].nombre);}
270

271 if (textoBuscar = tra[i].nombre) then


272

273 begin
274
275 seBorro := true;
276

277 with tra[i] do begin


278

279 nombre:='';
280
281 salario:=0;
282

283 sal_anu:=0.0;
284

285 sal_anual:=0.0;
286
287 sal_men:=0.0;
288

289 sal_mensual:=0.0;
290

291 utili:=0;
292

293 utilidades:=0;
294

295 vaca:=0;
296

297 vacaciones:=0;
298

299 bono:=0;
300

301 end;
302

303 end;
304

305 end;
306
307 7: {Promedio Nomina Mayor}
308

309 begin
310

311 for i := 1 to capacidad do begin


312
313 if tra[i].salario > 1500 then
314

[Link] Pascal - programa en turbo [Link] 20/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
315 begin
316

317 acum := acum+ tra[i].sal_anual:4:2;


318

319 end;
320

321 writeln('Promedio Nomina Mayor es: ' acum/tra[cantidad].nombre:4:2);


322 end;
323 end;
324

325 8: {Promedio Nomina Menor}


326

327 begin
328

329 for i := 1 to capacidad do begin


330

331 if tra[i].salario <= 1500 then


332

333 begin
334

335 acum := acum+ tra[i].sal_anu:4:2;


336

337 end;
338
339 writeln('Promedio Nomina Menor es: ' acum/tra[cantidad].nombre:4:2)
340

341 9: {Promedio general}


342

343 begin
344
345 for i := 1 to capacidad do begin
346

347 begin
348

349 sum := acum2+ acum;


350

351 end;
352

353 writeln('Promedio general es: ' sum/tra[cantidad].nombre:4:2);


354

355 end;
356

357 0: { salir}
358

359 begin
360

361 WriteLn;
362

363 WriteLn('Saliendo...');
364
365 WriteLn;
366

367 end;
368

369 else
370
371 begin
372

373 WriteLn;
374

375 WriteLn('Opción incorrecta!');


376
377 WriteLn;
378

379 end;
380
381 end; { Fin de "case" }
382

383 until opcion = 0;


384

385 end.

[Link] Pascal - programa en turbo [Link] 21/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal

Esperando su pronta respuesta

muchisimas gracias

Valora esta respuesta 0 Comentar

programa en turbo pascal


Publicado por miguel (7 intervenciones) el 08/03/2020 23:22:35

Pos: 11
Val: 21

he logrado resolver los errores de compilacion antes mencionados pero al compilar los codigos para el promedio de la nomina mayor y
menor

1 7: {Promedio Nomina Mayor}


2

3 begin
4

5 for i := 1 to capacidad do begin


6

7 if tra[i].salario > 1500 then


8

9 begin
10

11 acum:=0;
12

13 acum:=acum+tra[i].sal_anual;
14

15 writeln('Promedio Nomina Mayor es:');


16

17 writeln('tra[i].acum/tra:4.2');
18

19 end;
20

21 end;
22

23 end;
24

25 8: {Promedio Nomina Menor}


26

27 begin
28

29 for i := 1 to capacidad do begin


30

31 if tra[i].salario <= 1500 then


32

33 begin
34

35 acum2:= acum+ tra[i].sal_anu;


36

37 writeln('Promedio Nomina Menor es:');


38
39 writeln('tra[i].acum2/tra:4:2');
40

41 end;
42

43 end;
44

45 end;

y el promedio general

[Link] Pascal - programa en turbo [Link] 22/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
1 9: {Promedio general}
2

3 begin
4

5 for i := 1 to capacidad do begin


6

7 begin
8

9 sum:=0;
10

11 sum:=acum2+ acum;
12

13 writeln('Promedio general es:');


14

15 writeln('tra[i].sum/tra:4:2');
16
17 end;
18

19 end;
20

21 end;

me aparecen las siguientes notas:

Compiling [Link]
[Link](45,2) Note: Local variable "bono" not used
[Link](49,2) Note: Local variable "seBorro" is assigned but never used
[Link](55,2) Note: Local variable "sum" is assigned but never used
Linking [Link]
405 lines compiled, 0.5 sec, 44928 bytes code, 3332 bytes data
3 note(s) issued
La compilación ha terminado con éxito.

no entiendo porque aparecen ademas al ejecutar el programa cuando eligo las opciones de los promedios me aparece lo siguiente

me gustaria saber porque no me esta dando los promedios

esperando su pronta respuesta muchas gracias

Valora esta respuesta 0 Comentar

programa en turbo pascal


Publicado por miguel (7 intervenciones) el 10/03/2020 04:15:09

Pos: 11
Val: 21

ya he logrado resolver el problema de los promedios aunque me gustaria que los pudieses revisar.

[Link] Pascal - programa en turbo [Link] 23/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
estos son los enunciados para los cuales el programa es creado

tambien le he cambiado algunas cosas al codigo como agregarle la cedula de identidad al trabajador pero me surge una duda

uno de los puntos es que el programa deberia escribir que trabajador de la nomina menor gana mas que uno de la nomina mayor
(salario anual).

he incluido el numero de cedula de identidad ya que la profesora me ha sugerido para resolver este problema usar el metodo de
ordenamiento de la burbuja

he investigado algo por internet y los ejemplos que aprecen son para las listas y no para arrays como el del programa.

mi pregunta seria si seria igual o hay que hacer algo extra

muchisimas gracias por tu ayuda aqui dejo el codigo hasta ahora

P.D: la cedula es el numero de identificacion personal en mi pais y la cestaticket es un bono de alimentacion que se le da a cada
trabajador.

1 program ACME;
2
3 type
4
5 tipoPersona = record
6
7 nombre: string;
8
9 salario: real;
10
11 sal_anu: real;
12
13 sal_anual: real;
14
15 sal_men: real;
16
17 sal_mensual: real;
[Link] Pascal - programa en turbo [Link] 24/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal

18
19 utili, utilidades, vaca, vacaciones: real;
20
21 bono: real;
22
23 cedula :string;
24
25 end;
26
27 const
28
29 capacidad = 1000;
30
31 var
32
33 tra: array[1..capacidad] of tipoPersona;
34
35 cantidad: integer;
36
37 opcion: integer;
38
39 i: integer;
40
41 textoBuscar: string;
42
43 encontrado: boolean;
44
45 bono: real;
46
47 cesta: integer;
48

49 seBorro:boolean;
50

51 acumMedia :real;
52

53 contMedia: integer;
54

55
56

57
58

59 {Cuerpo del programa principal}


60

61 begin
62

63 cantidad := 0;
64

65 repeat
66

67 WriteLn('***BIENVENIDO A ACME***');
68

69 WriteLn;
70

71 WriteLn('1- Agregar Trabajador');


72

73 WriteLn('2- Todos los trabajadores');


74

75 WriteLn('3- Buscar a un trabajador');


76
77 WriteLn('4- Reporte 1');
78

79 WriteLn('5- Reporte 2');


80
81 WriteLn('6- Eliminar trabajador');
82

83 WriteLn('7- Promedio Nomina Mayor');


84
85 WriteLn('8- Promedio Nomina Menor');
86

87 WriteLn('9- Promedio General');


88
89 WriteLn('0- Salir');
90
[Link] Pascal - programa en turbo [Link] 25/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
90
91 Write('Escoja una opcion: ');
92
93 ReadLn(opcion);
94
95 WriteLn;
96

97
98

99 case opcion of
100

101 1: { Agregar trabajador }


102

103 if (cantidad < capacidad) then


104

105 begin
106

107 inc(cantidad);
108

109 WriteLn('Introduciendo al trabajador ', cantidad);


110

111 Write('Introduzca Cedula del trabajador: ');


112

113 ReadLn(tra[cantidad].cedula);
114

115 Write('Introduzca el nombre del trabajador: ');


116

117 ReadLn(tra[cantidad].nombre);
118
119 Write('Introduzca Salario: ');
120

121 ReadLn(tra[cantidad].salario);
122
123 for i:=1 to cantidad do
124

125 begin
126
127 if tra[i].salario > 1500 then begin
128

129 with tra[i] do begin


130
131 bono:=tra[i].salario*0.1;
132

133 utilidades:=tra[i].salario*2;
134
135 vacaciones:=tra[i].salario;
136

137 sal_mensual:=tra[i].salario+tra[i].bono;
138
139 sal_anual:=tra[i].sal_mensual*12+tra[i].vacaciones+tra[i].utilidades;
140

141 end;
142
143 end;
144

145 if tra[i].salario <= 1500 then


146
147 begin
148

149 cesta:=20;
150
151 with tra[i] do begin
152

153 vaca:=salario;
154
155 utili:=salario*4;
156

157 sal_men:=salario+cesta;
158
159 sal_anu:=sal_men*12+tra[i].vaca;
160

161 end;
162

[Link] Pascal - programa en turbo [Link] 26/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
163 end;
164

165 end;
166

167 end;
168

169 2: begin {Todos los trabajadores}


170

171 if cantidad = 0 then


172

173 WriteLn('No hay datos')


174

175 else
176

177 for i := 1 to cantidad do


178

179 WriteLn(i, ' ',tra[i].cedula, tra[i].nombre, tra[i].salario:4:2);


180

181 WriteLn;
182

183 end;
184

185 3: {Buscar a un trabajador}


186

187 begin
188

189 Write('Escriba cedula del trabajador ');


190
191 ReadLn( textoBuscar );
192
193 encontrado := false;
194

195 for i := 1 to cantidad do


196

197 if pos (textoBuscar, tra[i].cedula) > 0 then


198
199 begin
200
201 encontrado := true;
202

203 WriteLn( i,' - Cedula: ', tra[i].cedula,',Nombre: ', tra[i].nombre,', Salari


204

205 end;
206
207 if not encontrado then
208
209 WriteLn('No se ha encontrado.');
210
211 WriteLn;
212

213 end;
214
215 4: {Reporte 1 }
216
217 for i := 1 to cantidad do
218
219 begin
220

221 if tra[i].salario > 1500 then


222
223 begin
224
225 writeln('Nombre del trabajador: ', tra[i].nombre);
226
227 WriteLn('Salario: ', tra[i].salario:4:2);
228

229 WriteLn('Bono: ', tra[i].bono:4:2);


230
231 WriteLn('Total: ', tra[i].sal_mensual:4:2);
232
233 end;
234
235 end;
[Link] Pascal - programa en turbo [Link] 27/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
;
236

237 5: { Reporte 2}
238
239 for i := 1 to cantidad do
240
241 begin
242
243 if tra[i].salario <= 1500 then
244

245 begin
246

247 writeln('Nombre del trabajador: ', tra[i].nombre);


248
249 WriteLn('Salario: ', tra[i].salario:4:2);
250
251 WriteLn('Cestaticket: ', cesta);
252

253 WriteLn('Total: ', tra[i].sal_men:4:2);


254

255 end;
256
257 end;
258
259 6: {Borra un trabajador}
260

261 begin
262

263 write('Nombre a buscar: ');


264
265 readln(textoBuscar);
266
267 seBorro := false;
268

269 for i := 1 to cantidad do begin


270

271 {ReadLn(tra[cantidad].nombre);}
272
273 if (textoBuscar = tra[i].nombre) then
274
275 begin
276

277 seBorro := true;


278 dec(cantidad);
279
280 with tra[i] do begin
281

282 nombre:='';
283
284 salario:=0;
285
286 sal_anu:=0.0;
287
288 sal_anual:=0.0;
289

290 sal_men:=0.0;
291

292 sal_mensual:=0.0;
293
294 utili:=0;
295
296 utilidades:=0;
297

298 vaca:=0;
299

300 vacaciones:=0;
301
302 bono:=0;
303
304 end;
305

306 end;
307

308 end;
[Link] Pascal - programa en turbo [Link] 28/31
21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
308 end;
309 end;
310

311 7: {Promedio Nomina Mayor}


312
313 begin
314
315 acumMedia:= 0;
316
317 contMedia:= 0;
318

319 for i := 1 to cantidad do


320
321 if tra[i].salario > 1500 then
322
323 begin
324
325 acumMedia := acumMedia + tra[i].salario;
326

327 inc(contMedia);
328
329 end;
330
331 if (contMedia = 0) then
332
333 writeln('No hay empleados con salario mayor de 1500')
334

335 else
336

337 writeln('Promedio Nomina Mayor es: ', acumMedia/contMedia:4:2);


338 end;
339

340 8: {Promedio Nomina Menor}


341
342 begin
343
344 acumMedia:= 0;
345
346 contMedia:= 0;
347

348 for i := 1 to cantidad do


349
350 if tra[i].salario <= 1500 then
351
352 begin
353
354 acumMedia := acumMedia + tra[i].salario;
355

356 inc(contMedia);
357
358 end;
359
360 if (contMedia = 0) then
361
362 writeln('No hay empleados con salario menor o igual a 1500')
363

364 else
365
366 writeln('Promedio Nomina Menor es: ', acumMedia/contMedia:4:2);
367 end;
368

369 9: {Promedio general}


370
371 begin
372
373 if (cantidad = 0) then
374
375 writeln('No hay trabajadores registrados')
376

377 else
378
379 begin
380

[Link] Pascal - programa en turbo [Link] 29/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal
381 acumMedia:= 0;
382

383 contMedia:= 0;
384
385 for i := 1 to cantidad do
386

387 begin
388

389 acumMedia := acumMedia + tra[i].salario;


390
391 inc(contMedia);
392

393 end;
394
395 writeln('Promedio general es: ', acumMedia/contMedia:4:2);
396

397 end;
398 end;
399

400 0: { salir}
401

402 begin
403
404 WriteLn;
405

406 WriteLn('Saliendo...');
407

408 WriteLn;
409

410 end;
411

412 else
413
414 begin
415

416 WriteLn;
417

418 WriteLn('Opción incorrecta!');


419
420 WriteLn;
421

422 end;
423
424 end; { Fin de "case" }
425

426 until opcion = 0;


427

428 end.

muchas gracias

Valora esta respuesta 0 Comentar

Cálculos con trabajadores Contar cuántas veces se repite una palabra en un string

PDFs de Programación para descargar

[Link] Pascal - programa en turbo [Link] 30/31


21/4/2020 Pascal/Turbo Pascal - programa en turbo pascal

El Forth de Spectrum Guía de usuario GNOME Pruebas SQL, NoSQL y


Multidispositivo

41 paginas 134 paginas 14 paginas


Creado hace 8a (11/10/2011) Creado hace 18a (21/07/2001) Creado hace 4a (21/12/2015)

Información y Recursos Foros y Consultas Programadores Programas Otros


Cursos y Manuales Foros de Consulta Programadores Programas/Utilidades Utilidades
Biblioteca de Temas Chats de programación Ofertas de Trabajo Nuestros Programas Colaboradores
Código Fuente Tablón de Notas Iconos y Cursores Encuestas
Noticias/Artículos Diccionario Preguntas/Respuestas Contactar
PDFs de programación

Copyright © 2000-2020 Interactive Programmers Community - Todos los derechos reservados


Aviso legal - Política de privacidad - Política de cookies - Política de publicidad

[Link] Pascal - programa en turbo [Link] 31/31

También podría gustarte