Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.28 KB | None | 0 0
  1. program TP5;
  2.  
  3. uses
  4. CRT,math;
  5. const
  6. //variables constantes para los modelos de celulares
  7. k1='Motorola';
  8. k2='Nokia';
  9. k3='Samsung';
  10. k4='LG';
  11. k5='Alcatel';
  12. k6='Huawei';
  13. //variables para la camara
  14. h1=2 ;
  15. h2=5 ;
  16. h3=8 ;
  17. h4=12 ;
  18. h5=16 ;
  19. h6=21;
  20. //variables para el tamaño del celular
  21. m1='4 pulgadas';
  22. m2='4,5 pulgadas';
  23. m3='5 pulgadas';
  24. m4='5,5 pulgadas';
  25. //variables de la resolucion del display
  26. n1='400x600';
  27. n2='720x1200';
  28. n3='720x1900';
  29. n4='1100x2100';
  30. type
  31. cadena= string[30];
  32. Celulares = record
  33. serie:cadena;
  34. marca:cadena;
  35. modelo:cadena;
  36. precio:real;
  37. procesador:cadena;
  38. CamaraPrincipal:integer;
  39. CamaraFrontal:integer;
  40. TamanioDisplay:cadena;
  41. ResolucionDisplay:cadena;
  42. MemoriaInterna:integer;
  43. MemoriaExternaMaxima:Integer;
  44. SitemaOperativo:cadena;
  45. CapacidadBateria:integer;
  46. Estado:boolean;
  47. end;
  48. Tvector=array[1..100]of Celulares;
  49. var
  50. v:Tvector;
  51. pos,interna,externa,opc,n:integer;
  52. //**************funcion buscar posicion***************
  53.  
  54. function buscar(v: Tvector; var n: integer; x: cadena): boolean;
  55. var
  56. i: integer;
  57. encontrado:boolean;
  58. begin
  59. encontrado:=false;
  60. for i:= 1 to n do
  61. begin
  62. if(v[i].serie = x)then
  63. encontrado:=true;
  64. end;
  65. buscar:=encontrado;
  66.  
  67. end;
  68. //*******Validar marca*******
  69. procedure ValidarMarca( var v:Tvector; var n:integer);
  70. var
  71. z:integer;
  72. begin
  73. repeat
  74. write('Elija la Marca: 1: ',k1,' 2: ',k2,' 3: ',k3,' 4: ',k4,' 5: ',k5,' 6: ',k6);
  75. readln(z);
  76. case z of
  77. 1: v[n].marca:=k1;
  78. 2: v[n].marca:=k2;
  79. 3: v[n].marca:=k3;
  80. 4: v[n].marca:=k4;
  81. 5: v[n].marca:=k5;
  82. 6: v[n].marca:=k6;
  83. else writeln('elija una opcion valida');
  84. end;
  85. until (z=1) or (z=2) or (z=3) or (z=4) or (z=5) or (z=6);
  86. end;
  87. //**************Validar Las Camaras Rrincipal-Frontal***********
  88. procedure ValidarCamaraPrincipal(var v: Tvector; var n:integer);
  89. var
  90. z:integer;
  91. begin
  92. repeat
  93. write('Elija la camara principal del celular: 1: ',h2,'megapixeles 2: ',h3,'megapixeles 3: ',h4,'megapixeles 4: ',h5,'megapixeles 5: ',h6,'megapixeles');
  94. readln(z);
  95. case z of
  96. 1: v[n].CamaraPrincipal:=h2;
  97. 2: v[n].CamaraPrincipal:=h3;
  98. 3: v[n].CamaraPrincipal:=h4;
  99. 4: v[n].CamaraPrincipal:=h5;
  100. 5: v[n].CamaraPrincipal:=h6;
  101. else writeln('elija una opcion valida');
  102. end;
  103.  
  104. until (z=1) or (z=2) or (z=3) or (z=4) or (z=5);
  105. end;
  106.  
  107. procedure ValidarCamaraFrontal(var v: Tvector; var n:integer);
  108. var
  109. z:integer;
  110. begin
  111. repeat
  112. write('Elija la camara Frontal del celular: 1: ',h1,'megapixeles 2: ',h2,'megapixeles 3: ',h3,'megapixeles');
  113. readln(z);
  114. case z of
  115. 1: v[n].CamaraFrontal:=h1;
  116. 2: v[n].CamaraFrontal:=h2;
  117. 3: v[n].CamaraFrontal:=h3;
  118. else writeln('elija una opcion valida');
  119. end;
  120.  
  121. until (z=1) or (z=2) or (z=3);
  122. end;
  123.  
  124. //*************Tamaño del display***********
  125. procedure ValidarTamanioDisplay(var v:Tvector;n:integer);
  126. var
  127. z:integer;
  128. begin
  129. repeat
  130. write('Elija tamaño del display: 1: ',m1,' 2: ',m2,' 3: ',m3,' 4: ',m4);
  131. readln(z);
  132. case z of
  133. 1: v[n].TamanioDisplay:=m1;
  134. 2: v[n].TamanioDisplay:=m2;
  135. 3: v[n].TamanioDisplay:=m3;
  136. 4: v[n].TamanioDisplay:=m4;
  137. else writeln('elija una opcion valida');
  138. end;
  139.  
  140. until (z=1) or (z=2) or (z=3) or (z=4);
  141.  
  142. end;
  143.  
  144. procedure ValidarResolucionDisplay(var v: Tvector;n:integer);
  145. var
  146. z:integer;
  147. begin
  148. repeat
  149. write('Elija la camara principal del celular: 1: ',n1,' 2: ',n2,' 3: ',n3,' 4: ',n4);
  150. readln(z);
  151. case z of
  152. 1: v[n].ResolucionDisplay:=n1;
  153. 2: v[n].ResolucionDisplay:=n2;
  154. 3: v[n].ResolucionDisplay:=n3;
  155. 4: v[n].ResolucionDisplay:=n4;
  156. else writeln('elija una opcion valida');
  157. end;
  158.  
  159. until (z=1) or (z=2) or (z=3) or (z=4);
  160. end;
  161.  
  162. //*********Validar memoria***************
  163. function ValidarMemoria(var v:TVector;n:integer;Aux:integer):boolean;
  164. var
  165. i:integer;
  166. band:boolean;
  167. begin
  168. i:=-1;
  169. band:=false;
  170. repeat
  171. i:=i+1;
  172. if(aux = power(2,i))then
  173. begin
  174. band:=true;
  175. end;
  176. until i=7;
  177.  
  178. ValidarMemoria:=Band;
  179. if (ValidarMemoria=false)then
  180. writeln('ingrese un numero de memoria valida');
  181. end;
  182.  
  183. //*************CARGAR VECTOR****************
  184. procedure CargarCelulares(var v:Tvector;var n:integer);
  185. var
  186. aux:cadena;
  187. i:integer;
  188. resp:char;
  189. band:boolean;
  190. begin
  191. clrscr;
  192. i:=0;
  193. band:=true;
  194. repeat
  195. writeln('Ingrese los datos del Celular');
  196. if band then
  197. begin
  198. n:=n+1;
  199. with v[n] do
  200. begin
  201. write('Numero de serie: '); readln(serie);
  202. ValidarMarca(v,n);
  203. write('Modelo: ');readln(modelo);
  204. write('Precio: ');readln(precio);
  205. write('Procesador');readln(procesador);
  206. ValidarCamaraPrincipal(v,n);
  207. ValidarCamaraFrontal(v,n);
  208. ValidarTamanioDisplay(v,n);
  209. ValidarResolucionDisplay(v,n);
  210. repeat
  211. write('Memoria interna: ');readln(interna);
  212. until ValidarMemoria(v,n,interna) = true;
  213. MemoriaInterna:=interna;
  214. repeat
  215. write('Memoria externa MAXIMA: ');readln(Externa);
  216. until ValidarMemoria(v,n,externa)=true;
  217. MemoriaExternaMaxima:=externa;
  218. write('Sitema Operativo: ');readln(SitemaOperativo);
  219. write('Capacidad de bateria: ');readln(CapacidadBateria);
  220. estado:=true;
  221. end;
  222. band:=false;
  223. end
  224. else
  225. begin
  226. write('Numero de serie: '); readln(aux);
  227. if(buscar(v,n,aux)=true)then
  228. writeln('el numero de serie ya existe')
  229. else
  230. begin
  231. n:=n+1;
  232. with v[n] do
  233. begin
  234. serie:=aux;
  235. ValidarMarca(v,n);
  236. write('Modelo: ');readln(modelo);
  237. write('Precio: ');readln(precio);
  238. write('Procesador');readln(procesador);
  239. ValidarCamaraPrincipal(v,n);
  240. ValidarCamaraFrontal(v,n);
  241. ValidarTamanioDisplay(v,n);
  242. ValidarResolucionDisplay(v,n);
  243. repeat
  244. write('Memoria interna: ');readln(interna);
  245. until ValidarMemoria(v,n,interna) = true;
  246. MemoriaInterna:=interna;
  247. repeat
  248. write('Memoria externa MAXIMA: ');readln(Externa);
  249. until ValidarMemoria(v,n,externa)=true;
  250. MemoriaExternaMaxima:=externa;
  251. write('Sitema Operativo: ');readln(SitemaOperativo);
  252. write('Capacidad de bateria: ');readln(CapacidadBateria);
  253. estado:=true;
  254. end;
  255. end;
  256. end;
  257.  
  258. writeln('desea ingresar mas datos ??..s/n');
  259. readln(resp);
  260. until (resp = 'n') or (resp = 'N');
  261.  
  262. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement