PILAS: 3- Cierto número de usuarios, n, envían simultáneamente un documento a la impresora común, la cual debe determinar su orden de impresión.Las longitudes de los documentos enviados son l1...ln, siendo li la longitud del documento enviado por el usuario i (la numeración de los usuarios es arbitraria). Suponiendo que el tiempo que se tarda en imprimir un documento es proporcional a su longitud, Escribir el algoritmo (Pseudocódigo) que indique el orden óptimo en que se deben imprimir de manera que se minimice el tiempo medio de espera de cada usuario. El tiempo de espera del usuario i-ésimo vendrá dado por el orden que haya establecido la impresora para su documento. Si su documento es el j-ésimo en imprimirse, su tiempo de espera será la suma de los tiempos de impresión de la j primeros documentos según ese orden (se incluye el suyo en la suma). Los usuarios deben estar enterados del tiempo que les tomará esperar. PSEUDOCODIGO: Tamaño, tope -1, lon, t, k 0 Mensaje: “Ingrese el número de usuarios: " Mientras (k = 0) { Mensaje: “Elija la operación a realizar:1-Mandar.2-Salir” Si (op = 1) { Si (tope >= tamaño - 1) { T0 Mensaje:"--- PILA LLENA ---" } Caso contrario { Mensaje: “Ingrese el nombre del doc: " Mensaje: “Ingrese la long del doc: " Tope tope + 1 Pila [tope] doc Longitud [tope] lon T0 Para (i = 0; i <= tope; i++) { T t + longitud[i] Mensaje: “longitud[i] + t + pila[i] " } } s= (T). (String nulo). i++) { Si (pila[i] = ')’) { p++ } Si (pila[i] = '( ') { p-} Si (pila[i] = ']') { c++ } Si (pila[i] = '[') { .Dados los caracteres (). s= TU en donde T y U son cadenas balanceadas (en otras palabras. PSEUDOCODIGO: Mensaje: “Ingrese el tamaño de la expresión:" Para (i=0. s esta balanceada si tiene algunos de estos formatos... i<=tamaño-1. llave o corchete abierto existe un carácter de cierre respectivamente). s=””. Ejemplo {(a+b) [(c-d) ^2]}. Escribir el algoritmo que use una pila para ver si es balanceada. s= {T}. i++) { Mensaje: “Ingrese el dato "+ i+”:" Pila[i] dato } P0 C0 L0 Com 0 Para (i=0. i<=tamaño-1. para cada paréntesis. [].." K1 } Caso contrario { Mensaje: “Opción incorrecta. s= [T]." } } 4.} Si no (op = 2) { Mensaje: “Gracias. {} y una cadena s.. ” } Caso contrario { Mensaje: "Expresión no balanceada.” } 5. Contemplar la posibilidad de eliminar un dato de cualquier pila. lo que provoca incrementar la lista de disponibles. topea -1. pero el tamaño del arreglo no variará. PSEUDOCODIGO: Tamaño.c-} Si (pila[i] = '}') { l++ } Si (pila[i] = '{') { l-} Si (pila[i] = '"') { com++ } Si (pila[i] = '"') { com-} } Si (c = 0 && p = 0 && l = 0 && com = 0) { Mensaje: “Expresión balanceada. B y C) en un solo arreglo implementado como lista enlazada. si las 3 pilas completan los 15 lugares entonces se manda un mensaje de pila llena. topec -1 .. Las pilas pueden decrecer o crecer en cada momento..Escribir el algoritmo (Pseudocódigo) que maneje tres pilas de DATOS (A. Al ingresar un dato se deberá leer además el nombre de pila donde se desea colocarla... Si una pila necesita más espacio solo tiene que tomarlo del arreglo que tiene 15 lugares en función a su lista de disponibles. topeb -1. k 0 Mensaje: “Ingrese el tamaño del arreglo: " . 3-Pila C” Si (ope = 1) { Mensaje: “Ingrese dato:" Si (topec != topeb){ aux2 null Para (i=topeb+1.i<=topec+1.PILA LLENA --------" } Caso contrario { Mensaje: “Elija la pila a usar: 1-Pila A.2-Sacar. i<=topeb+1.Mientras (k = 0) { Mensaje: “Elija la operación a realizar: 1-Meter. i++){ aux pila[i] Pila[i] aux2 aux2 aux } } Topeb topeb+1 Topea topea+1 Pila [topea] dato } Sino (ope = 2) { Mensaje: “Ingrese dato:” Si (topec != topeb){ aux2 null Para (i=topeb+1.i++){ aux pila[i] Pila[i] aux2 aux2 aux } } Topec topec+1 Si (topeb!= topea) { aux2 null Para (i=topea+1.2-Pila B.3-Salir Si (op= 1) { Si (topea >= tamaño-1 | topeb >= tamaño-1 | topec >= tamaño-1) { Mensaje:"-------. i++) { aux pila[i] Pila[i] aux2 . i<=topec+1. .2-Pila B.3-Pila C" Si (operación = 1) { Si (topea = -1) { Mensaje:"------.i<=topeb. i<=topec..PILA 'A' VACIA -----" } Caso contrario { Pila [topea] null Si (topeb != topea){ Para (i=topea+1.PILA VACIA --------" } Caso contrario { Mensaje: “Elija la pila a sacar: 1-Pila A.” } } } Sino (op = 2) { Si (topea = -1 && topeb = -1 && topec = -1) { Mensaje:"-------.i++){ Pila [i-1] pila[i] } Pila [topeb] null } Topeb topeb-1 Si (topec!= topeb) { Para (i=topeb+1.i++){ Pila [i-1] pila[i] } .aux2 aux } } Topec topec+1 Topeb topeb+1 Pila [topeb] dato } Sino (ope = 3) { Mensaje:” Ingrese dato:" Topec topec+1 Pila [topec] dato } Caso contrario { Mensaje: “Opción incorrecta. ” } ..PILA 'C' VACIA -----" } Caso contrario { Pila [topec] null topec topec-1 } } Caso contrario { Mensaje: “Opción incorrecta. i++) { Pila [i-1] pila[i] } Pila [topec] null } Topec topec-1 topeb topeb-1 } } Sino (operación = 3) { Si (topec = -1) { Mensaje:"------.” K1 } Caso contrario { Mensaje: “Opción incorrecta..” } } } Sino (op = 3) { Mensaje: “Gracias...Pila [topec] null } Topec topec-1 Topea topea-1 } } Sino (operación=2) { Si (topeb =-1) { Mensaje:"------..PILA 'B' VACIA -----" } Caso contrario { Pila [topeb] null Si (topec!= topeb) { Para (i=topeb+1.. i<=topec. La acción puede ser. la avioneta espera hasta que quede una plaza libre. La salida de una avioneta supone que las demás se muevan hacia adelante.2-Sacar de cola.Un estacionamiento de las avionetas de un aeródromo es en línea. PSEUDOCODIGO: Tamaño 12 fin -1.} COLAS: 5. Cuando llega un piloto a recoger su avioneta.3-Salir” Si (op = 1) { Si (fin = tamaño-1) { Mensaje:"--. con una capacidad hasta 12 avionetas. o hasta que se dé la orden de retirada (salida).k 0 cont 0.frente -1. de tal forma que los espacios libres del estacionamiento estén por la parte izquierda. sacar la suya y las retiradas colocadas de nuevo en el mismo orden en que estaban. so esta no está justamente en el extremo de salida (derecho).aux2 0 Mientras (k = 0) { Mensaje: “Ingrese la operación que desea hacer: 1-Meter a cola. Las avionetas llegan por el extremo izquierdo y salen por el extremo derecho. y la matrícula de la avioneta. si es así. En la llegada puede ocurrir que el estacionamiento este lleno. aux. Escriba el algoritmo (pseudocódigo) para emular este estacionamiento tiene como entrada un carácter que indica una acción sobre la avioneta.COLA LLENA ---" } Caso contrario { Mensaje: “Ingrese el número de matrícula" Fin fin+1 Cola [fin] matricula Si (frente = -1) { Frente 0 } cont++ } } Si (op = 2) { . todas las avionetas a su derecha han de ser retiradas. llegada (E) o salida (S) de avioneta. .Si (cont = 0) { Mensaje:"--.COLA VACIA ---" } Caso contrario { Mensaje: “Que número de placa quiere retirar?:" Pos -1 Para (i=frente.i++){ Si (cola[i] = placa) { Pos i } } Si (pos = -1) { Mensaje: “Avioneta Nº:"+placa+". i++){ Cola [i-1] cola[i] } Frente frente-1 Fin fin-1 Mensaje:"**Datos del último vuelo: Avioneta Nº:"+placa” cont-} } } Si (op = 3) { K1 } } .” } Caso contrario { Matri cola [pos]. i<=pos. i<=fin. Para (i=frente.i<=fin. i++){ Aux cola[i] Cola[i] aux2 aux2 aux } Cola [frente] cola [pos] Frente frente+1 para ( i=frente.. no encontrada.