Advertisement
Crops

Estacionamiento

May 18th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.61 KB | None | 0 0
  1. Funcion contador <- veinticuatro(h1,m1,h2,m2)
  2. minutos = m1
  3. repetir
  4. minutos = minutos + 1
  5. contador_minutos = contador_minutos +1
  6. Hasta Que minutos = 60
  7. m2 = m2 - m1
  8. m1 = m1 + m2 + contador_minutos
  9.  
  10. si h2 < h1 entonces
  11. hora = 24 -(h1 - h2)
  12. FinSi
  13. si h2 > hr Entonces
  14. hora = 24 + (h2 - h1)
  15. FinSi
  16. hf = hora * 60
  17. mf = hf + m1
  18. hora = mf / 60
  19. Repetir
  20. hrs = hrs + 0.25
  21. Escribir hrs
  22. contador_tiempo = contador_tiempo + 1
  23. Hasta Que hrs >= hora
  24. contador = contador_tiempo
  25. FinFuncion
  26. Funcion contador <- docehoras(h1,m1,h2,m2)
  27. minutos = m1
  28. repetir
  29. minutos = minutos + 1
  30. contador_minutos = contador_minutos +1
  31. Hasta Que minutos = 60
  32. m2 = m2 - m1
  33. m1 = m1 + m2 + contador_minutos
  34. hora = h1
  35. Repetir
  36. hora = hora + 1
  37. contador_tiem = contador_tiem + 1
  38. Hasta Que hora = 12
  39. temp = contador_tiem + h2
  40. hf = temp * 60
  41. mf = hf + m1
  42. hora = mf / 60
  43. Repetir
  44. hrs = hrs + 0.25
  45. Escribir hrs
  46. contador_tiempo = contador_tiempo + 1
  47. Hasta Que hrs >= hora
  48. contador = contador_tiempo
  49. FinFuncion
  50. Funcion com <- CarroMoto()
  51. Limpiar Pantalla
  52. Escribir "Automóvil |(1)"
  53. Escribir "Moto |(2)"
  54. leer com;
  55. Mientras com < 1 o com >2 Hacer
  56. Escribir "Automóvil |(1)"
  57. Escribir "Moto |(2)"
  58. leer com;
  59. FinMientras
  60. FinFuncion
  61. Funcion hora<-qhora()
  62. Escribir "Introdusca primero Hora sin minutos";
  63. Leer hora;
  64. Mientras hora < 1 o hora >12 Hacer
  65. Escribir "Hora debe ser de 1 a 12";
  66. Leer hora;
  67. FinMientras
  68. FinFuncion
  69. Funcion minuto <-qminuto()
  70. Escribir "Introdusca los Minutos";
  71. Leer minuto;
  72. Mientras minuto < 1 o minuto > 59 hacer
  73. Escribir "¿Las horas son asi? ", "8:", minuto
  74. Escribir "Los minutos deben ser de 1 a 59";
  75. Leer minuto;
  76. FinMientras
  77. FinFuncion
  78. Funcion a <- poa()
  79. repetir
  80. Escribir "Es pm o am"
  81. leer a;
  82. Hasta Que a = "pm" o a = "am"
  83. FinFuncion
  84.  
  85. Algoritmo Parqueadero
  86. Dimension carro[11], moto[6];
  87. Dimension nombre_Carro[10], placa_carro[10],nombre_Moto[5], placa_moto[5];
  88. Dimension hora_entrada[10], min_entrada[10],hora_entrada_moto[5], min_entrada_moto[5], pmoam[10], pmoam_moto[5];
  89. carro[10]<-1;
  90. moto[5]<-1;
  91. contador = 0;
  92. salida_auto = 600;
  93. salida_moto = 300;
  94. tiempo = 0;
  95. hora24 = 0;
  96. minutos_min = 15;
  97. total_pagar = 0;
  98.  
  99. Repetir
  100. Limpiar Pantalla
  101.  
  102. Escribir "¿ingresa vehículo? |(1)";
  103. Escribir "¿Retira vehículo? |(2)";
  104. leer ior;
  105. Mientras ior < 1 o ior >3 Hacer
  106. Escribir "¿ingresa vehículo? |(1)";
  107. Escribir "¿Retira vehículo? |(2)";
  108. leer ior;
  109. FinMientras
  110. Si ior = 1 Entonces
  111. com <- CarroMoto()
  112. Si com = 1 Entonces
  113. Para i<-0 Hasta 9 Hacer
  114. Si carro[i] = 0 Entonces
  115. Limpiar Pantalla
  116. Escribir "Puesto N° ", i+1
  117. Escribir "Nombre del propietario:";
  118. leer nombre_Carro[i];
  119. Escribir "Ingrese el numero de placa de su automovíl:";
  120. Escribir "Ejemplo: CTF -657"
  121. Leer placa_carro[i];
  122. hora_entrada[i] <- qhora()
  123. min_entrada[i] <- qminuto()
  124. pmoam[i] <- poa()
  125. carro[i] <- 1;
  126. Escribir "Automóvil con placa ", placa_carro[i];
  127. Escribir "ingresa a las ", hora_entrada[i], ":", min_entrada[i], " ", pmoam[i];
  128. Escribir "Se encuentra en el puesto N° ", i+1;
  129. Esperar Tecla
  130. Limpiar Pantalla
  131. si carro[i+1] = 1 o carro[i+1] = 0 Entonces
  132. Si carro[i+1] = 0 Entonces
  133. i = 9;
  134. FinSi
  135. FinSi
  136. Sino
  137. si i = 9 y carro[i+1] = 1 Entonces
  138. Escribir "No hay mas espacio para automóviles :P"
  139. Esperar Tecla
  140. FinSi
  141. FinSi
  142. Fin Para
  143. Sino
  144. Para i<-0 Hasta 4 Hacer
  145. Si moto[i] = 0 Entonces
  146. Escribir "Puesto N° ", i+1
  147. Escribir "Nombre del propietario:";
  148. leer nombre_Moto[i];
  149. Escribir "Ingrese el numero de placa de la moto:";
  150. Escribir "Ejemplo: CTF -657"
  151. Leer placa_moto[i];
  152. hora_entrada_moto[i] <- qhora()
  153. min_entrada_moto[i] <- qminuto()
  154. pmoam_moto[i] <- poa()
  155. moto[i] <- 1;
  156. Escribir "Moto con placa ", placa_moto[i];
  157. Escribir "ingresa a las ", hora_entrada_moto[i], ":", min_entrada_moto[i], " ", pmoam_moto[i];
  158. Escribir "La moto se encuentra en el puesto N° ", i+1;
  159. Esperar Tecla
  160. Limpiar Pantalla
  161. si moto[i+1] = 1 o moto[i+1] = 0 Entonces
  162. Si moto[i+1] = 0 Entonces
  163. i = 4;
  164. FinSi
  165. FinSi
  166. Sino
  167. si i = 4 y moto[i+1] = 1 Entonces
  168. Escribir "No hay mas espacio para motos :P"
  169. Esperar Tecla
  170. FinSi
  171. FinSi
  172. Fin Para
  173. FinSi
  174. Fin Si
  175. Si ior = 2 Entonces
  176. com <- CarroMoto()
  177. Si com = 1 Entonces
  178. Limpiar Pantalla
  179. Para i<-0 Hasta 9 Hacer
  180. Si carro[i] = 1 Entonces
  181. Escribir "(",i+1,") ", placa_carro[i]," Propietario: ",nombre_Carro[i], " Estacionamiento N° ",i+1;
  182. contador = contador + 1;
  183. FinSi
  184. Fin Para
  185. Escribir " ";
  186. Si carro[0] = 0 y carro[1] = 0 y carro[2] = 0 y carro[3] = 0 y carro[4] = 0 y carro[5] = 0 y carro[6] = 0 y carro[7] = 0 y carro[8] = 0 y carro[9] = 0 Entonces
  187. Escribir "No hay autos aún"
  188. Esperar Tecla
  189. FinSi
  190. Si carro[0] = 1 o carro[1] = 1 o carro[2] = 1 o carro[3] = 1 o carro[4] = 1 o carro[5] = 1 o carro[6] = 1 o carro[7] = 1 o carro[8] = 1 o carro[9] = 1 Entonces
  191. Escribir "Digite el indicativo del automóvil"
  192. Leer num1;
  193. Mientras num1 < 1 o num1 > contador Hacer
  194. Escribir "No esta el automóvil asigando al numero: ", num1;
  195. Escribir "Digite el indicativo del automóvil";
  196. Leer num1;
  197. FinMientras
  198. num1 = num1 -1;
  199. Escribir "El auto ", placa_Carro[num1], " del señor(a)", nombre_Carro[num1]
  200. Escribir "ingreso a las ", hora_entrada[num1], ":", min_entrada[num1], " ", pmoam[num1];
  201. Escribir "Ingrese la hora de salida";
  202. hora_salida <- qhora();
  203. min_salida <- qminuto();
  204. pa <- poa();
  205. Si pmoam[num1] = pa Entonces
  206. Si hora_salida < hora_entrada[num1] o (hora_salida = hora_entrada[num1] y min_salida <= min_entrada[num1]) Entonces
  207. Escribir "Ingreso ", hora_entrada[num1], ":", min_entrada[num1], " ", pmoam[num1], " Hora actual " ,hora_salida, ":", min_salida, " ", pa;
  208. Escribir "¿Pasaron mas de 24 horas?";
  209. Escribir "Si es asi ingrese (1) si no (2)";
  210. leer hora24;
  211. Mientras hora24 < 1 o hora24 >2 Hacer
  212. Escribir "¿Pasaron mas de 24 horas?";
  213. Escribir "Si es asi ingrese (1) Si no (2)";
  214. leer hora24;
  215. FinMientras
  216. Si hora24 = 1 Entonces
  217. total <- veinticuatro(hora_entrada[num1],min_entrada[num1],hora_salida,min_salida)
  218. Para i = 0 Hasta total Hacer
  219. h = h + 0.25
  220. FinPara
  221. FinSi
  222. si hora24 = 2 Entonces
  223. Repetir
  224. Escribir "Ingrese la hora de salida correcta";
  225. Escribir "Ingreso a las ", hora_entrada[num1], ":", min_entrada[num1], " ", pmoam[num1]
  226. hora_salida <- qhora();
  227. min_salida <- qminuto();
  228. pa <- poa();
  229. Hasta Que pmoam[num1] <> pa o hora_salida > hora_entrada[num1];
  230. Si pmoam[num1] = pa Entonces
  231. hora2 = hora_salida - hora_entrada[num1]
  232. minutos = min_entrada[num1]
  233. repetir
  234. minutos = minutos + 1
  235. contador_minutos = contador_minutos +1
  236. Hasta Que minutos = 60
  237. m2 = min_salida - min_entrada[num1]
  238. m1 = min_entrada[num1] + min_salida + contador_minutos
  239. minutos = (hora2 *60) + m1
  240. h = minutos / 60
  241. Repetir
  242. hrs = hrs + 0.25
  243. contador_tiempo = contador_tiempo + 1
  244. Hasta Que hrs >= h
  245. total = contador_tiempo
  246. FinSi
  247. FinSi
  248. FinSi
  249. Sino
  250. total <- docehoras(hora_entrada[num1],min_entrada[num1],hora_salida,min_salida)
  251. Para i = 0 Hasta total Hacer
  252. h = h + 0.25
  253. FinPara
  254. FinSi
  255. total_pagar = total * 600
  256. Limpiar Pantalla
  257. Escribir "El valor por 15 min de estacionamiento es de ", salida_auto;
  258. Escribir "Ingreso ", hora_entrada[num1], ":", min_entrada[num1], " ", pmoam[num1], " Hora actual " ,hora_salida, ":", min_salida, " ", pa;
  259. Escribir "Estubo un total de ", h, " horas y de ", total, " Cuartos de hora ", total,"x600"
  260. Escribir "Debe pagar un total de $", total_pagar
  261. Escribir "Desea pagar (1) no (2)";leer paga;
  262. Mientras paga < 1 o paga >2 Hacer
  263. Escribir "Desea pagar (1) no (2)";leer paga;
  264. FinMientras
  265. si paga = 1 Entonces
  266. Escribir "Ingrese el valor a pagar $", total_pagar
  267. Leer pago_final
  268. Si pago_final > total_pagar Entonces
  269. Escribir "Cancelado se debe devolever $", (pago_final-total_pagar)
  270. carro[num1] = 0
  271. Esperar Tecla
  272. FinSi
  273. si pago_final = total_pagar Entonces
  274. Escribir "Cancelado"
  275. carro[num1] = 0
  276. Esperar Tecla
  277. FinSi
  278. si pago_final < total_pagar Entonces
  279. Escribir "Vuelva cuando tenga dinero"
  280. Esperar Tecla
  281. FinSi
  282. FinSi
  283. si paga = 2 Entonces
  284. Escribir "No se retira vehículo"
  285. Esperar Tecla
  286. FinSi
  287. FinSi
  288. Sino
  289. Limpiar Pantalla
  290. Para i<-0 Hasta 4 Hacer
  291. Si moto[i] = 1 Entonces
  292. Escribir "(",i+1,") ", placa_moto[i]," Propietario: ",nombre_moto[i], " Estacionamiento N° ",i+1;
  293. contador = contador + 1;
  294. FinSi
  295. Fin Para
  296. Escribir " ";
  297. Si moto[0] = 0 y moto[1] = 0 y moto[2] = 0 y moto[3] = 0 y moto[4] = 0 y moto[5] = 0 y moto[6] = 0 y moto[7] = 0 y moto[8] = 0 y moto[9] = 0 Entonces
  298. Escribir "No hay motos aún"
  299. Esperar Tecla
  300. FinSi
  301. Si moto[0] = 1 o moto[1] = 1 o moto[2] = 1 o moto[3] = 1 o moto[4] = 1 o moto[5] = 1 o moto[6] = 1 o moto[7] = 1 o moto[8] = 1 o moto[9] = 1 Entonces
  302. Escribir "Digite el indicativo para la moto"
  303. Leer num1;
  304. Mientras num1 < 1 o num1 > contador Hacer
  305. Escribir "No esta la moto asiganda al numero: ", num1;
  306. Escribir "Digite el indicativo de la moto";
  307. Leer num1;
  308. FinMientras
  309. num1 = num1 -1;
  310. Escribir "La moto ", placa_moto[num1], " del señor(a)", nombre_moto[num1]
  311. Escribir "ingreso a las ", hora_entrada_moto[num1], ":", min_entrada_moto[num1], " ", pmoam_moto[num1];
  312. Escribir "Ingrese la hora de salida";
  313. hora_salida <- qhora();
  314. min_salida <- qminuto();
  315. pa <- poa();
  316. Si pmoam_moto[num1] = pa Entonces
  317. Si hora_salida < hora_entrada_moto[num1] o (hora_salida = hora_entrada_moto[num1] y min_salida <= min_entrada_moto[num1]) Entonces
  318. Escribir "Ingreso ", hora_entrada_moto[num1], ":", min_entrada_moto[num1], " ", pmoam_moto[num1], " Hora actual " ,hora_salida, ":", min_salida, " ", pa;
  319. Escribir "¿Pasaron mas de 24 horas?";
  320. Escribir "Si es asi ingrese (1) si no (2)";
  321. leer hora24;
  322. Mientras hora24 < 1 o hora24 >2 Hacer
  323. Escribir "¿Pasaron mas de 24 horas?";
  324. Escribir "Si es asi ingrese (1) Si no (2)";
  325. leer hora24;
  326. FinMientras
  327. Si hora24 = 1 Entonces
  328. total <- veinticuatro(hora_entrada_moto[num1],min_entrada_moto[num1],hora_salida,min_salida)
  329. Para i = 0 Hasta total Hacer
  330. h = h + 0.25
  331. FinPara
  332. FinSi
  333. si hora24 = 2 Entonces
  334. Repetir
  335. Escribir "Ingrese la hora de salida correcta";
  336. Escribir "Ingreso a las ", hora_entrada_moto[num1], ":", min_entrada_moto[num1], " ", pmoam_moto[num1]
  337. hora_salida <- qhora();
  338. min_salida <- qminuto();
  339. pa <- poa();
  340. Hasta Que pmoam_moto[num1] <> pa o hora_salida > hora_entrada_moto[num1];
  341. Si pmoam_moto[num1] = pa Entonces
  342. hora2 = hora_salida - hora_entrada_moto[num1]
  343. minutos = min_entrada_moto[num1]
  344. repetir
  345. minutos = minutos + 1
  346. contador_minutos = contador_minutos +1
  347. Hasta Que minutos = 60
  348. m2 = min_salida - min_entrada_moto[num1]
  349. m1 = min_entrada_moto[num1] + min_salida + contador_minutos
  350. minutos = (hora2 *60) + m1
  351. h = minutos / 60
  352. Repetir
  353. hrs = hrs + 0.25
  354. contador_tiempo = contador_tiempo + 1
  355. Hasta Que hrs >= h
  356. total = contador_tiempo
  357. FinSi
  358. FinSi
  359. FinSi
  360. Sino
  361. total <- docehoras(hora_entrada_moto[num1],min_entrada_moto[num1],hora_salida,min_salida)
  362. Para i = 0 Hasta total Hacer
  363. h = h + 0.25
  364. FinPara
  365. FinSi
  366. total_pagar = total * 600
  367. Limpiar Pantalla
  368. Escribir "El valor por 15 min de estacionamiento es de ", salida_auto;
  369. Escribir "Ingreso ", hora_entrada_moto[num1], ":", min_entrada_moto[num1], " ", pmoam_moto[num1], " Hora actual " ,hora_salida, ":", min_salida, " ", pa;
  370. Escribir "Estubo un total de ", h, " horas y de ", total, " Cuartos de hora ", total,"x600"
  371. Escribir "Debe pagar un total de $", total_pagar
  372. Escribir "Desea pagar (1) no (2)";leer paga;
  373. Mientras paga < 1 o paga >2 Hacer
  374. Escribir "Desea pagar (1) no (2)";leer paga;
  375. FinMientras
  376. si paga = 1 Entonces
  377. Escribir "Ingrese el valor a pagar $", total_pagar
  378. Leer pago_final
  379. Si pago_final > total_pagar Entonces
  380. Escribir "Cancelado se debe devolever $", (pago_final-total_pagar)
  381. moto[num1] = 0
  382. Esperar Tecla
  383. FinSi
  384. si pago_final = total_pagar Entonces
  385. Escribir "Cancelado"
  386. moto[num1] = 0
  387. Esperar Tecla
  388. FinSi
  389. si pago_final < total_pagar Entonces
  390. Escribir "Vuelva cuando tenga dinero"
  391. Esperar Tecla
  392. FinSi
  393. FinSi
  394. si paga = 2 Entonces
  395. Escribir "No se retira vehículo"
  396. Esperar Tecla
  397. FinSi
  398. FinSi
  399. FinSi
  400. FinSi
  401. Hasta Que salir = "1";
  402. FinAlgoritmo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement