
ayuda es urgente!! respondan
Publicado por fernando (6 intervenciones) el 04/12/2013 23:44:12
Necesito hacer un programa en pascal así:
Un array de registros contiene la descripción de personas a efectos estadísticos. Cada registro tiene los campos:nombre, edad, sexo, altura, color de piel, color de ojos, nacionalidad y región. Escribir un programa que lea y almacene datos en este array, ordene el array por orden alfabético de nombres y visualice o imprima su contenido.
El programa es como el siguiente nadamas que ay que cambiar los datos y los procedimientos de manera que cumpla con las características ya mencionadas.
Ayuden porfa ay que poner el programa igual pero de manera que cumpla con las primeras caracteristicas que dije empezando. Un procedimiento puede ser el procedimiento burbuja.
Un array de registros contiene la descripción de personas a efectos estadísticos. Cada registro tiene los campos:nombre, edad, sexo, altura, color de piel, color de ojos, nacionalidad y región. Escribir un programa que lea y almacene datos en este array, ordene el array por orden alfabético de nombres y visualice o imprima su contenido.
El programa es como el siguiente nadamas que ay que cambiar los datos y los procedimientos de manera que cumpla con las características ya mencionadas.
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
Program Datos;
Uses
crt,DOS;
Type
Personales = record
NOM,AP,AM : String[15];
TEL1,TEL2,TEL3 : String[13];
CP : String[5];
CALL,CNIA : String[20];
NDOM : String[10];
AN,MN,DN : Integer;
End;
Lista = Array[1..100] of personales;
Var
Alumno : Lista;
i,u : Integer;
Op : Char;
Procedure Edad(A,M,D:word);
Var
E,GA,GM,GD,GN:word;
Begin
getdate(GA,GM,GD,GN);
E:=GA-A;
if M=GM then
if D>GD then
E:=E-1;
if M>GM then
E:=E-1;
write(E);
End;
Procedure Formato (A,M,D:integer);
var
D1,M1: string[2];
A1: string[4];
Fecha: String [15];
begin
Str(D,D1);
Str(M,M1);
Str(A,A1);
Delete(A1,1,2);
Fecha:=D1+'/'+M1+'/'+A1;
Write(Fecha);
end;
Procedure Caratula;
Begin
clrscr;
gotoxy(5,4); write('Nombre Propio');
gotoxy(25,4); write('Apellido Paterno');
gotoxy(45,4); write('Apellido Materno');
gotoxy(5,5); Write('______________________________________________________________________');
gotoxy(5,6); Write('DOMICILIO');
gotoxy(5,9); write('Calle');
gotoxy(20,9); write('Numero');
gotoxy(40,9); write('Colonia');
gotoxy(60,9); write('Codigo postal');
gotoxy(5,10); Write('______________________________________________________________________');
gotoxy(5,11); Write('TELEFONOS');
gotoxy(5,14); write('Numero de Casa');
gotoxy(25,14); write('Numero de Oficina');
gotoxy(45,14); write('Numero de Celular');
gotoxy(5,15); Write('______________________________________________________________________');
gotoxy(5,16); write('FECHA DE NACIMIENTO');
gotoxy(5,19); write('D¡a');
gotoxy(15,19); write('Mes');
gotoxy(25,19); write('A¤o');
gotoxy(35,19); write('Fecha');
gotoxy(55,19); write('A¤os Cumplidos');
gotoxy(5,20); Write('______________________________________________________________________');
End;
Procedure Captura(Var Alumno : Personales);
Begin
With Alumno do
Begin
gotoxy(5,3); readln(NOM);
gotoxy(25,3); readln(AP);
gotoxy(45,3); readln(AM);
gotoxy(5,8); readln(CALL);
gotoxy(20,8); readln(NDOM);
gotoxy(40,8); readln(CNIA);
gotoxy(60,8); readln(CP);
gotoxy(5,13); readln(TEL1);
gotoxy(25,13); readln(TEL2);
gotoxy(45,13); readln(TEL3);
gotoxy(5,18); readln(DN);
gotoxy(15,18); readln(MN);
gotoxy(25,18); readln(AN);
gotoxy(35,18); Formato(AN,MN,DN);
gotoxy(55,18); Edad(AN,MN,DN);
End
End;
Procedure Mostrar(Alumno : Personales);
Begin
gotoxy(5,3); write(Alumno.NOM);
gotoxy(25,3); write(Alumno.AP);
gotoxy(45,3); Write(Alumno.AM);
gotoxy(5,8); write(Alumno.CALL);
gotoxy(20,8); write(Alumno.NDOM);
gotoxy(40,8); write(Alumno.CNIA);
gotoxy(60,8); write(Alumno.CP);
gotoxy(5,13); write(Alumno.TEL1);
gotoxy(25,13); write(Alumno.TEL2);
gotoxy(45,13); write(Alumno.TEL3);
gotoxy(5,18); write(Alumno.DN);
gotoxy(15,18); write(Alumno.MN);
gotoxy(25,18); write(Alumno.AN);
gotoxy(35,18); Formato(Alumno.AN,Alumno.MN,Alumno.DN);
gotoxy(55,18); Edad(Alumno.AN,Alumno.MN,Alumno.DN);
End;
Begin
i:=0;
u:=0;
Caratula;
Repeat
Gotoxy (5,24); Write('[I]ngresar [E]liminar [S]iguiente [A]nterior [M]odificar [X]Salir =>');
Readln(Op);
Case Op of
'I','i' : Begin
i:=i+1;
u:=i;
Caratula;
Captura(Alumno[i]);
End;
'E','e' : Begin
if u>0 then
Begin
While u<i do
Begin
Alumno[u]:=Alumno[u+1];
u:=u+1;
End;
i:=i-1;
u:=i;
Caratula;
if u>0 then
Mostrar(Alumno[u]);
End;
End;
'S','s' : Begin
if u>0 then
Begin
u:=u+1;
if u>=i then
u:=i;
Caratula;
Mostrar(Alumno[u]);
End
Else
Caratula;
End;
'A','a' : Begin
if u>0 then
Begin
u:=u-1;
if u<=1 then
u:=1;
Caratula;
Mostrar(Alumno[u]);
End
Else
Caratula;
End;
'M','m' : Begin
if u>0 then
Captura(Alumno[u]);
End;
End;
Until Upcase(Op)='X';
End.
Ayuden porfa ay que poner el programa igual pero de manera que cumpla con las primeras caracteristicas que dije empezando. Un procedimiento puede ser el procedimiento burbuja.
Valora esta pregunta


0