Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program TP5;
- uses
- CRT,math;
- const
- //variables constantes para los modelos de celulares
- k1='Motorola';
- k2='Nokia';
- k3='Samsung';
- k4='LG';
- k5='Alcatel';
- k6='Huawei';
- //variables para la camara
- h1=2 ;
- h2=5 ;
- h3=8 ;
- h4=12 ;
- h5=16 ;
- h6=21;
- //variables para el tamaño del celular
- m1='4 pulgadas';
- m2='4,5 pulgadas';
- m3='5 pulgadas';
- m4='5,5 pulgadas';
- //variables de la resolucion del display
- n1='400x600';
- n2='720x1200';
- n3='720x1900';
- n4='1100x2100';
- type
- cadena= string[30];
- Celulares = record
- serie:cadena;
- marca:cadena;
- modelo:cadena;
- precio:real;
- procesador:cadena;
- CamaraPrincipal:integer;
- CamaraFrontal:integer;
- TamanioDisplay:cadena;
- ResolucionDisplay:cadena;
- MemoriaInterna:integer;
- MemoriaExternaMaxima:Integer;
- SitemaOperativo:cadena;
- CapacidadBateria:integer;
- Estado:boolean;
- end;
- Tvector=array[1..100]of Celulares;
- var
- v:Tvector;
- pos,interna,externa,opc,n:integer;
- //**************funcion buscar posicion***************
- function buscar(v: Tvector; var n: integer; x: cadena): boolean;
- var
- i: integer;
- encontrado:boolean;
- begin
- encontrado:=false;
- for i:= 1 to n do
- begin
- if(v[i].serie = x)then
- encontrado:=true;
- end;
- buscar:=encontrado;
- end;
- //*******Validar marca*******
- procedure ValidarMarca( var v:Tvector; var n:integer);
- var
- z:integer;
- begin
- repeat
- write('Elija la Marca: 1: ',k1,' 2: ',k2,' 3: ',k3,' 4: ',k4,' 5: ',k5,' 6: ',k6);
- readln(z);
- case z of
- 1: v[n].marca:=k1;
- 2: v[n].marca:=k2;
- 3: v[n].marca:=k3;
- 4: v[n].marca:=k4;
- 5: v[n].marca:=k5;
- 6: v[n].marca:=k6;
- else writeln('elija una opcion valida');
- end;
- until (z=1) or (z=2) or (z=3) or (z=4) or (z=5) or (z=6);
- end;
- //**************Validar Las Camaras Rrincipal-Frontal***********
- procedure ValidarCamaraPrincipal(var v: Tvector; var n:integer);
- var
- z:integer;
- begin
- repeat
- write('Elija la camara principal del celular: 1: ',h2,'megapixeles 2: ',h3,'megapixeles 3: ',h4,'megapixeles 4: ',h5,'megapixeles 5: ',h6,'megapixeles');
- readln(z);
- case z of
- 1: v[n].CamaraPrincipal:=h2;
- 2: v[n].CamaraPrincipal:=h3;
- 3: v[n].CamaraPrincipal:=h4;
- 4: v[n].CamaraPrincipal:=h5;
- 5: v[n].CamaraPrincipal:=h6;
- else writeln('elija una opcion valida');
- end;
- until (z=1) or (z=2) or (z=3) or (z=4) or (z=5);
- end;
- procedure ValidarCamaraFrontal(var v: Tvector; var n:integer);
- var
- z:integer;
- begin
- repeat
- write('Elija la camara Frontal del celular: 1: ',h1,'megapixeles 2: ',h2,'megapixeles 3: ',h3,'megapixeles');
- readln(z);
- case z of
- 1: v[n].CamaraFrontal:=h1;
- 2: v[n].CamaraFrontal:=h2;
- 3: v[n].CamaraFrontal:=h3;
- else writeln('elija una opcion valida');
- end;
- until (z=1) or (z=2) or (z=3);
- end;
- //*************Tamaño del display***********
- procedure ValidarTamanioDisplay(var v:Tvector;n:integer);
- var
- z:integer;
- begin
- repeat
- write('Elija tamaño del display: 1: ',m1,' 2: ',m2,' 3: ',m3,' 4: ',m4);
- readln(z);
- case z of
- 1: v[n].TamanioDisplay:=m1;
- 2: v[n].TamanioDisplay:=m2;
- 3: v[n].TamanioDisplay:=m3;
- 4: v[n].TamanioDisplay:=m4;
- else writeln('elija una opcion valida');
- end;
- until (z=1) or (z=2) or (z=3) or (z=4);
- end;
- procedure ValidarResolucionDisplay(var v: Tvector;n:integer);
- var
- z:integer;
- begin
- repeat
- write('Elija la camara principal del celular: 1: ',n1,' 2: ',n2,' 3: ',n3,' 4: ',n4);
- readln(z);
- case z of
- 1: v[n].ResolucionDisplay:=n1;
- 2: v[n].ResolucionDisplay:=n2;
- 3: v[n].ResolucionDisplay:=n3;
- 4: v[n].ResolucionDisplay:=n4;
- else writeln('elija una opcion valida');
- end;
- until (z=1) or (z=2) or (z=3) or (z=4);
- end;
- //*********Validar memoria***************
- function ValidarMemoria(var v:TVector;n:integer;Aux:integer):boolean;
- var
- i:integer;
- band:boolean;
- begin
- i:=-1;
- band:=false;
- repeat
- i:=i+1;
- if(aux = power(2,i))then
- begin
- band:=true;
- end;
- until i=7;
- ValidarMemoria:=Band;
- if (ValidarMemoria=false)then
- writeln('ingrese un numero de memoria valida');
- end;
- //*************CARGAR VECTOR****************
- procedure CargarCelulares(var v:Tvector;var n:integer);
- var
- aux:cadena;
- i:integer;
- resp:char;
- band:boolean;
- begin
- clrscr;
- i:=0;
- band:=true;
- repeat
- writeln('Ingrese los datos del Celular');
- if band then
- begin
- n:=n+1;
- with v[n] do
- begin
- write('Numero de serie: '); readln(serie);
- ValidarMarca(v,n);
- write('Modelo: ');readln(modelo);
- write('Precio: ');readln(precio);
- write('Procesador');readln(procesador);
- ValidarCamaraPrincipal(v,n);
- ValidarCamaraFrontal(v,n);
- ValidarTamanioDisplay(v,n);
- ValidarResolucionDisplay(v,n);
- repeat
- write('Memoria interna: ');readln(interna);
- until ValidarMemoria(v,n,interna) = true;
- MemoriaInterna:=interna;
- repeat
- write('Memoria externa MAXIMA: ');readln(Externa);
- until ValidarMemoria(v,n,externa)=true;
- MemoriaExternaMaxima:=externa;
- write('Sitema Operativo: ');readln(SitemaOperativo);
- write('Capacidad de bateria: ');readln(CapacidadBateria);
- estado:=true;
- end;
- band:=false;
- end
- else
- begin
- write('Numero de serie: '); readln(aux);
- if(buscar(v,n,aux)=true)then
- writeln('el numero de serie ya existe')
- else
- begin
- n:=n+1;
- with v[n] do
- begin
- serie:=aux;
- ValidarMarca(v,n);
- write('Modelo: ');readln(modelo);
- write('Precio: ');readln(precio);
- write('Procesador');readln(procesador);
- ValidarCamaraPrincipal(v,n);
- ValidarCamaraFrontal(v,n);
- ValidarTamanioDisplay(v,n);
- ValidarResolucionDisplay(v,n);
- repeat
- write('Memoria interna: ');readln(interna);
- until ValidarMemoria(v,n,interna) = true;
- MemoriaInterna:=interna;
- repeat
- write('Memoria externa MAXIMA: ');readln(Externa);
- until ValidarMemoria(v,n,externa)=true;
- MemoriaExternaMaxima:=externa;
- write('Sitema Operativo: ');readln(SitemaOperativo);
- write('Capacidad de bateria: ');readln(CapacidadBateria);
- estado:=true;
- end;
- end;
- end;
- writeln('desea ingresar mas datos ??..s/n');
- readln(resp);
- until (resp = 'n') or (resp = 'N');
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement