8/19/2019 Trabajo 323 (1)
1/13
UNIVERSIDAD NACIONAL ABIERTA
ÁREA DE INGENIERÍA
CARRERA INGENIERÍA DE SISTEMAS
ASIGNATURA:
CÓDIGO: 323
NOMBRE DEL ESTUDIANTE:
CÉDULA DE IDENTIDAD:
CENTRO LOCAL: Guarico
CARRERA: 236
NÚMERO DE ORIGINALES:
FIRMA Del ESTUDIANTE:
LAPSO: 2.015-2
8/19/2019 Trabajo 323 (1)
2/13
EL PROBLEMA
El turismo es un factor realmente importante para el desarrollo socio-
económico y cultural de cualquier país o región. Además es un instrumento
generador de divisas, de fuentes de trabajo y de ingresos. En virtud de esta
premisa las empresas dedicadas a estas actividades, deben tener un sistema
computariado para lograr competir en este mercado tan dinámico y atractivo.
!a agencia de viajes "#$%&'(E)* no escapa e esta situación, por lo que se
+a dado a la tarea de automatiar el proceso de venta de boletos, con el fin de
llevar el control de clientes que puedan y deseen viajar al eterior, para ello se
cuenta con la siguiente información:
)mero de pasaporte
/ec+a de epedición del pasaporte
$rigen del pasaporte:
• ( 0 (eneolano
• E 0 Etranjero
/ec+a de epedición 1el certificado de vacuna
/ec+a de epedición de la declaración de impuesto. 'i el pasaporte fue
epedido en (eneuela caducará al a2o, en caso contrario su duración es de
dos a2os. El certificado de vacuna y la declaración de impuesto son válidos por
un a2o.
3ara la automatiación del proceso de ventas de boletos se debe considerar la
siguiente información, donde se detalla el registro con las características decada cliente, la longitud y tipo 4num5rico y alfanum5rico6 de sus campos:
INFORMACIÓN LONGITUD TIPO
Apellidos y nombre 78 9
)mero de pasaporte 8 )
/ec+a de epedición ; )
$rigen del pasaporte 9
/ec+a de certificado-vacuna ; )
8/19/2019 Trabajo 323 (1)
3/13
/ec+a de declaración-impuesto ; )
ncluir,
?odificar, Eliminar, &eporte y 'alida.• (alidar los datos en línea, es decir, en el momento que se introduca el
valor del campo debe ser validado.• >ngresar por pantalla los datos correspondientes a los clientes
• $rdenar el registro de cliente por el )mero de 3asaporte.
• 3rocesar la información dada de tal manera que c+equee si los recaudos
están vigentes, en caso contrario se debe imprimir además de los datos
del cliente, el mensaje "&E
8/19/2019 Trabajo 323 (1)
4/13
Registro consltar
Apellidos y )ombres.
)umero de pasaporte
/ec+a de epedición $rigen del pasaporte
/ec+a de certificación-vacuna
/ec+a de declaración-impuesto.
Registro !o"i#icar
• Apellidos y )ombres.
)umero de pasaporte
/ec+a de epedición $rigen del pasaporte
/ec+a de certificación-vacuna
/ec+a de declaración-impuesto.
Registro eli!inar
• Apellidos y )ombres.
• )umero de pasaporte
• /ec+a de epedición• $rigen del pasaporte
• /ec+a de certificación-vacuna
E$PECIFICACIONE$ PRE%CONDICIONE$
INFORMACIÓN LONGITUD TIPO
Apellidos y nombre 78 9
)mero de pasaporte 8 )
/ec+a de epedición ; )
$rigen del pasaporte 9
/ec+a de certificado-vacuna ; )
/ec+a de declaración-impuesto ; )
PO$T%CONDICIONE$&
)mero de pasaporte
8/19/2019 Trabajo 323 (1)
5/13
$rdenar el registro de cliente por el N'!ero "e Pasaporte(
LA PARTICIÓN
1ise2o del men de mantenimiento con las opciones siguientes: Inclir)
Mo"i#icar) Eli!inar) Reporte * $ali"a(alidar los datos en línea
Inclir "atos&• Apellidos y )ombres.
• )umero de pasaporte
• /ec+a de epedición
• $rigen del pasaporte
• /ec+a de certificación-vacuna/ec+a de declaración-impuesto
Reportes
8/19/2019 Trabajo 323 (1)
6/13
assign4f,arc+ivo6 F>-G reset4f 6 F>HG if ioresult IJ 8 t+en eistearc+ivo :0 false else
begin eistearc+ivo :0 true end end
procedure eliminar 4nn : longint6 var tempo : file of elturista gf : elturista long, longK : longint begin
assign4f,arc+ivo6 F>-G reset4f 6 F>HG if ioresult IJ 8 t+en begin Lriteln Lriteln4B ErrorB6 readMey eit end else begin longK :0 8 assign4tempo,Btemporal.temB6 reLrite4tempo6 for long :0 8 to filesie4f 6 - do begin seeM4f,long6 read4f,turis6 if turis.)umeropas IJ nn t+en begin seeM4tempo,longK6
Lrite4tempo,turis6 longK :0 longK H end end close4f 6 close4tempo6 erase4f 6 rename4tempo,arc+ivo6 end end
procedure modificar 4mm : longint6 var
8/19/2019 Trabajo 323 (1)
7/13
long, longK : longint enco : boolean plt : c+ar begin assign4f,arc+ivo6
F>-G reset4f 6 F>HG if ioresult IJ 8 t+en begin Lriteln Lriteln4B ErrorB6 readMey eit end else begin longK :0 8
enco :0 false for long :0 8 to filesie4f 6 - do begin seeM4f,long6 read4f,turis6 if turis.)umeropas 0 mm t+en begin enco :0 true longK :0 long breaM end end if enco 0 true t+en begin clrscr Lriteln4B !os 1atos 'on 0 CD 0 B,turis.)umeropas,B CKD 0 B, turis.)ombreape,B CND 0 B,turis.origenpas,B COD 0 #erminaB6 Lriteln Lriteln4B Elija )umero A ?odificarB6 repeat repeat
plt :0 readMey until plt inCBB,BKB,BNB,BOBD case plt of BB : begin Lrite4B )umero 3asaporte : B6 readln4turis.)umeropas6 end BKB : begin Lrite4B )ombre Apellido : B6 readln4turis.)ombreape6 end
BNB : begin Lrite4B $rigen del pasaporte C(D(eneolano, CEDetranjero : B6
8/19/2019 Trabajo 323 (1)
8/13
readln4turis.origenpas6 end end if plt IJ BOB t+en begin
clrscr Lriteln4B !os 1atos 'on 0 CD 0 B,turis.)umeropas,B CKD 0 B, turis.)ombreape,B CND 0 B,turis.origenpas,B COD 0 #erminaB6 Lriteln Lriteln4B Elija )umero A ?odificarB6 end until plt 0 BOB seeM4f,longK6 Lrite4f,turis6 close4f 6 end
else begin Lriteln4B )umero )o Encontrado 3ulse %na #ecla B6 readMey end end end
procedure entradadatos var tec : c+ar begin clrscr Lriteln4B PPPPPP Entrada 1atos turista PPPPPPB6 Lriteln Lrite4B Entre )ombre y apellido : B6 readln4turis.)ombreape6 Lrite4B Entre )umero pasaporte : B6 readln4turis.)umeropas6 Lrite4B$rigen del pasaporte C(D(eneolano, CEDetranjero: B6
readln4turis.origenpas6 Lriteln Lriteln4B 'e @uardar !os 1atos B6 Lriteln Lriteln4B 1atos
8/19/2019 Trabajo 323 (1)
9/13
Lrite4f,turis6 close4f 6 end else begin
reLrite4f 6 seeM4f,86 Lrite4f,turis6 close4f 6 end end end
procedure busquedaQturista var
ddn : longint tt, vus : longint encon : boolean begin if eistearc+ivo 0 true t+en begin Lriteln4B Ruscar %n turista B6 Lriteln Lrite4B Entre )umero de pasaporte : B6 readln4ddn6 encon :0 false for vus :0 8 to filesie4f 6 - do begin seeM4f,vus6 read4f,turis6 if turis.numeropas 0 ddn t+en begin encon :0 true breaM end end
if encon 0 true t+en begin Lriteln4B)ombre y apellido: B,turis.)ombreape6 Lriteln4B)umero de pasaporte: B,turis.numeropas6 Lriteln4B$rigen de pasaporte :B,turis.origenpas6 end
else Lriteln4B )o se encuentran datos del turista B6 close4f 6 Lriteln
Lriteln4B 3ulse %na #eclaB6 readMey
8/19/2019 Trabajo 323 (1)
10/13
end else begin Lriteln4B Error 1e Arc+ivo $ )o Eiste 3ulse %na #eclaB6 readMey
end end procedure ordenar P/uncion que ordena los datos dentro del registroPGvar turis, E, A : elturista registros auiliares ncompletos de turistasG ar, arK : longint contadores de iteracionesG begin assign 4f, arc+ivo6 F>-Greset4f 6F>HG if ioresultIJ8 t+en
begin Lriteln4B ErrorB6 readln eit end else begin for ar :0 8 to filesie4f 6 - do begin seeM4f,ar 6
read4f,turis6begin for arK :0 ar H to filesie4f 6 - do begin seeM4f,arK6 read4f,E6 if turis.)umeropas J E.)umeropas t+en begin A :0 turis turis :0 E E :0 A
seeM4f,ar 6 Lrite4f,turis6 seeM4f,arK6 Lrite4f,E6 end end if G end end for G end end end for G
end end if G
8/19/2019 Trabajo 323 (1)
11/13
close4f 6 end
procedure mostrar P/uncion que muestra la lista de los turistasPG
var
: longint -G reset4f 6 F>HGif ioresult IJ 8 t+en
beginLritelnLriteln4B ErrorB6readMeyeit
end
elsebegin
LritelnLriteln4B JJJ &egistro de #uristas IIIB6Lritelnfor :0 8 to filesie4f 6 - do
beginseeM4f,6read4f,turis6Lriteln4B B,turis.)umeropas,B
B,turis.)ombreape6end
end for Gclose4f 6LritelnLriteln4B III 3ulse %na #ecla 3ara &egresar
JJJB6readMey
endend if G
end
procedure contador P/uncion que muestra la lista de los turistasPGvar
t : longint -G reset4f 6 F>HGif ioresult IJ 8 t+en
begin
LritelnLriteln4B ErrorB6
8/19/2019 Trabajo 323 (1)
12/13
readMeyeit
endelse
begin
vene :0 8 etra :0 8
for t :0 8 to filesie4f 6 - dobegin
seeM4f,t6read4f,turis6
if 4turis.origenpas0B(B6 t+en begin vene :0 vene H
end else begin etra :0 etra H endclrscr Lriteln4BIII 1atosJJJB6 Lriteln
Srite!n4B
8/19/2019 Trabajo 323 (1)
13/13
Lriteln4B PPPPP ?enu @eneral PPPPPB6 Lriteln Lriteln4B 0 Entrada turistaB6 Lriteln4B K 0 ?ostrar %n turistaB6 Lriteln4B N 0 ?odicar datosB6
Lriteln4B O 0 Eliminar %n turistaB6 Lriteln4B T 0 !istado ordenadoB6 Lriteln4B 7 0 >nformacion: