Está en la página 1de 9

UNIVERSIDAD RÓMULO GALLEGOS

AREA DE ING DE SISTEMAS


ESCUELA ING INFORMÁTICA
UNIDAD CURRICULAR: ALGORITMO I
PROFESOR (A): GABRIEL DÍAZ
GUIA DE ESTUDIO 3 CORTE

UNIDAD III 1ERA PARTE:”SUB_ALGORITMOS”


“EJERCICIOS TERCER NIVEL”

1) El Restaurante Rizoto´s Boss es especialista en preparar diversas paellas, utilizando


exclusivamente arroz y vegetales salteados. En su deseo de automatizar su sistema actual,
han solicitado el desarrollo de un programa que permita atender el desconocido número de
pedidos que diariamente reciben en dicho restaurante. Para ello, se creara un algoritmo
principal que solicite al usuario el número de comensales para la paella y el precio por kilo de
los ingredientes, es decir, por arroz y por vegetales; teniendo en consideración la siguiente
carta del Menú:

*Combo 1: ½ Kilo de Arroz y ¼ Kilo de vegetales para 4 personas.


*Combo 2: 1,5 kilos de arroz y 1, 25 kilos de vegetales para 5 personas.
*Combo 3: 2,5 kilos de arroz y 2,25 kilos de vegetales para 7 personas.
*Combo 4: 4,5 de Arroz y 4,25 de vegetales para 10 personas.
*Combo 5: 6,5 de Arroz y 5,5 kilos de vegetales para 13 personas.
*Combo 6: 8,25 de arroz y 10, 5 de vegetales para 16 personas.

Por medio de un procedimiento llamado Menú, haga los cálculos correspondientes y por
medio de otro procedimiento llamado factura, genere la respectiva factura que permita al usuario ver el
combo seleccionado, las cantidades de ingredientes necesarios dependiendo del combo seleccionado
por el cliente y el costo de la misma en lo que respecta al arroz, a los vegetales y el costo total.

Algoritmo Restaurante Boss


Inicio
Var c, comb: Entero, pa, pv, csa, csv, cst: Real, r: carácter;
Repetir

1
Mostrar<<”Bienvenido a Nuestro Restaurante”;
Mostrar<<”Por Favor Indique Cuantos Son Los Comensales”;
Leer>>c;
Mostrar<<”Escriba el Precio Por Kilo del Arroz”;
Leer>>pa;
Mostrar<<” Escriba el Precio Por Kilo de los Vegetales”;
Leer>>pv;
Mostrar<<”Seleccione la Opción de su Preferencia”;
Mostrar<<”Combo 1: ½ kilo de Arroz y ¼ de vegetales para 4 Personas”;
Mostrar<<”Combo 2: 1,5 kilos de Arroz y 1,25 de vegetales para 5 Personas”;
Mostrar<<”Combo 3: 2,5 kilos de Arroz y 2,25 de vegetales para 7 Personas”;
Mostrar<<”Combo 4: 4,5 kilos de Arroz y 4,25 de vegetales para 10 Personas”;
Mostrar<<”Combo 5: 6,5 kilos de Arroz y 5,5 de vegetales para 13 Personas”;
Mostrar<<”Combo 6: 8,25 kilos de Arroz y 10,5 de vegetales para 16 Personas”;
Leer>>comb;
Mientras (comb>= 1 And Comb<=6) Hacer;
Menu (c, comb, ca, cv);
Fin_Mientras
csa= ca*pa;
csv= cv*pv;
cst= csa+csv;
Factura (Comb, ca, cv, csa, csv, cst);
Mostrar<<”Su Factura:…..”, Factura;
Mostrar<<” ¿Desea Realizar Otro Pedido? s/n”;
Leer>>r;
Hasta (r=´n´ or r=´N´);
Fin_Repetir
Fin

Procedimiento Menu (E: c, comb: Entero, S: ca, cv: Real);


Inicio
En caso (Comb > 0) Sea;
Caso (comb = 1);
ca= (c * 0,5) / 4;
2
cv= (c * 0,25) / 4;
Caso (comb = 2);
ca= (c * 1,5) / 5;
cv= (c * 1,25) / 5
Caso (comb = 3);
ca= (c * 2,5) / 7;
cv= (c * 2,25) / 7;
Caso (comb = 4);
ca= (c * 4,5) / 10;
cv= (c * 4,25) / 10;
Caso (comb = 5);
ca= (c * 6,5) / 13;
cv= (c * 5,5) / 13;
Otro Caso
ca= (c * 8,25) / 16;
cv= (c * 10,5) / 16;
Fin_Caso
Fin_Procedimiento

Procedimiento Factura (E/S: comb: Entero, ca, cv, csa, csv, cst: Real);
Inicio
Mostrar<<” Datos Totales Del Pedido”;
Mostrar<<” Combo Seleccionado:…..”, comb;
Mostrar<<” Cantidad De Arroz:…..”, ca;
Mostrar<<” Cantidad De Vegetales:…..”, cv;
Mostrar<<” Costo De Arroz:…..”, csa;
Mostrar<<” Costo De Vegetales:…..”, csv;
Mostrar<<” Costo Total de la Paella:…..”, cst;
Fin_Procedimiento

2) La empresa R.M.C es una compañía automotriz encargada de beneficiar económicamente a


aquellas líneas de transporte con un mayor rendimiento. En este caso, se disputa una
bonificación de 70 % a aquella línea que posee un mayor número de usuarios registrados al

3
momento del cierre de caja. Para ello tenemos la línea Carmix, que labora en la parte norte de
la región, la línea Veloxcar, que labora en la parte sur de la región, la línea Rapicar, que labora
en la parte este de la región y por último la línea Seguromix que labora en la parte oeste de la
región; Destacando que todas las líneas cobran en Dólares. En lo que respecta a la
bonificación, se establece un Monto de 100.000 $ para cada línea, pero aquella que obtenga el
mayor desenvolvimiento recibirá dicho Monto más una bonificación del 70 % del Monto
Establecido.

Se necesita elaborar un sistema, que mediante el uso de sub_algoritmos, permita


automatizar dichos procesos, tomando en consideración las siguientes especificaciones:

a. Total de kilómetros recorridos, Precio de la gasolina por litro, Dinero de la gasolina gastado
en el viaje y el tiempo que se ha tardado (En Horas y Minutos) para cada línea de transporte;
datos que se pedirán por teclado.

b. Consumo de la gasolina (En Litros y Dólares) por cada kilómetro y velocidad media en Km/H
y M/S, para cada línea.

c. Consumo de la gasolina (En Litros y Dólares): Línea Norte: Por cada 100 Km, Línea Sur: Por
cada 300 Km, Línea Este: Por cada 500 Km y Línea Oeste: Por cada 800 Km

Se destaca que el número de usuarios es desconocido y que se deben realizar los cálculos
pertinentes y mostrar dichas facturas con los mismos; así como al Final generar la Factura con la
Línea ganadora, reflejando el Monto y la Bonificación Recibida.

Algoritmo R.M.C Level 4


Inicio
Var km, precio, dinero, horas, minutos, litros, litroskm, dinerokm, horastotal, kmh, ms, tlitros100,
tlitros300, tlitros500, tlitros800, tdolares100, tdolares300, tdolares500, tdolares800: Real,
línea, car=0, velox=0, Rapi=0, Seguro=0: Entero, Bono, S: Real, R: Carácter, B: Cadena;
Repetir
Menu ();
Mostrar<<Menu;
Leer>>Linea;
4
Captacion (Km, Precio, Dinero, Horas, Minutos);
En caso (Linea>=1 and Linea <=4) Sea;

Caso (Linea=1);
Mostrar<<Captacion;
Transporte (Km, Precio, Dinero, Horas, Minutos, Litros, Litroskm, DineroKm, Horastotal,
Kmh, Ms);
Tlitros100= Litroskm*100;
Tdolares100= Dinerokm*100;
Mostrar<<”Linea Carmix Factura lo siguiente:…”;
Mostrar<<”Consumo de Gasolina cada 100 km:”;
Mostrar<<”En Litros:…”, tlitros100;
Mostrar<<”En Dolares:…”, tdolares100;
Factura (Litroskm, Dinerokm, Kmh, Ms);
Mostrar<<Factura;
Car= Car + 1;

Caso (Linea=2);
Mostrar<<Captacion;
Transporte (Km, Precio, Dinero, Horas, Minutos, Litros, Litroskm, DineroKm, Horastotal,
Kmh, Ms);
Tlitros300= Litroskm*300;
Tdolares300= Dinerokm*300;
Mostrar<<”Linea Veloxcar Factura lo siguiente:…”;
Mostrar<<”Consumo de Gasolina cada 300 km:”;
Mostrar<<”En Litros:…”, tlitros300;
Mostrar<<”En Dolares:…”, tdolares300;
Factura (Litroskm, Dinerokm, Kmh, Ms);
Mostrar<<Factura;
Velox= Velox + 1;

Caso (Linea=3);
Mostrar<<Captacion;

5
Transporte (Km, Precio, Dinero, Horas, Minutos, Litros, Litroskm, DineroKm, Horastotal,
Kmh, Ms);
Tlitros500= Litroskm*500;
Tdolares500= Dinerokm*500;
Mostrar<<”Linea Rapicar Factura lo siguiente:…”;
Mostrar<<”Consumo de Gasolina cada 500 km:”;
Mostrar<<”En Litros:…”, tlitros500;
Mostrar<<”En Dolares:…”, tdolares500;
Factura (Litroskm, Dinerokm, Kmh, Ms);
Mostrar<<Factura;
Rapi= Rapi + 1;

Caso (Linea=4);
Mostrar<<Captacion;
Transporte (Km, Precio, Dinero, Horas, Minutos, Litros, Litroskm, DineroKm, Horastotal,
Kmh, Ms);
Tlitros800= Litroskm*800;
Tdolares800= Dinerokm*800;
Mostrar<<”Linea SeguroMix Factura lo siguiente:…”;
Mostrar<<”Consumo de Gasolina cada 800 km:”;
Mostrar<<”En Litros:…”, tlitros800;
Mostrar<<”En Dolares:…”, tdolares800;
Factura (Litroskm, Dinerokm, Kmh, Ms);
Mostrar<<Factura;
Seguro= Seguro + 1;
Otro Caso
Mostrar<<”La Línea Seleccionada es Invalida”;
Fin_Caso
Mostrar<<” ¿Desea Realizar Otro Registro? s/n”;
Leer>>R;
Hasta (r=´n´ or r=´N´);
Fin_Repetir
Bono= 100.000 + (100.000*0,70);

6
S=100.000;
Usuarios (Car, Velox, Rapi, Seguro);
Mostrar<<Usuarios;
Mostrar<<”Se Asigna para Cada Línea:…”, S;
B= Bonificacion (Car, Velox, Rapi, Seguro);
Mostrar<<”La Bonificacion:…”, Bono;
Mostrar<<”El Resultado de la Evaluacion:…”, B;
Fin

Procedimiento Menu ( );
Inicio
Mostrar<<”La Empresa R.M.C Les Da La Bienvenida”;
Mostrar<<”Por Favor Elija la Línea De Transporte De Su Preferencia”;
Mostrar<<”1: Línea Carmix: Carreras en la Parte Norte”;
Mostrar<<”2: Línea Veloxcar: Carreras en la Parte Sur”;
Mostrar<<”3: Línea Rapicar: Carreras en la Parte Este”;
Mostrar<<”4: Línea Seguromix: Carreras en la Parte Oeste”;
Fin_Procedimiento

Procedimiento Captacion (E/S: Km, Precio, Dinero, Horas, Minutos: Real);


Inicio
Mostrar<<”Escriba el total de kilómetros Recorridos”;
Leer>>km;
Mostrar<<”Precio de la gasolina por litro”;
Leer>>Precio;
Mostrar<<”Dinero de la gasolina gastado”;
Leer>>dinero;
Mostrar<<”Tiempo tardado en horas”;
Leer>>horas;
Mostrar<<”Tiempo tardado en minutos”;
Leer>>minutos;
Fin_Procedimiento

7
Procedimiento Transporte (E: Km, Precio, Dinero, Horas, Minutos: Real, S: Litros, Litroskm,
Dinerokm, Horastotal, Kmh, Ms: Real);
Inicio
Litros= Dinero/Precio;
Litroskm= Litros/km;
Dinerokm= Dinero/km;
HorasTotal= (Horas+Minutos)/60;
Kmh= Km/Horastotal;
Ms= [(km*1000) / (Horastotal*3600)];
Fin_Procedimiento

Procedimiento Factura (E/S: Litroskm, Dinerokm, Kmh, Ms: Real);


Inicio
Mostrar<<”Consumo de Gasolina por cada km:”;
Mostrar<<”En Litros:…”, litroskm;
Mostrar<<”En Dolares:…”, dinerokm;
Mostrar<<”Velocidad Media:”;
Mostrar<<”En Kilómetros Por Hora:…”, kmh;
Mostrar<<”En Metros Por Segundo:…”, ms;
Fin_Procedimiento

Procedimiento Usuarios (E/S: Car, Velox, Rapi, Seguro: Entero);


Inicio
Mostrar<<”Total de Usuarios De Cada Linea…:”;
Mostrar<<”1: Carmix:…”, Car;
Mostrar<<”2: Veloxcar:…”, Velox;
Mostrar<<”3: Rapicar:…:”, Rapi;
Mostrar<<”4: Seguromix:…”, Seguro;
Fin_Procedimiento

Funcion Bonificacion (Car, Velox, Rapi, Seguro: Entero): Cadena;


Inicio
Resultado: Cadena;

8
En Caso (Car, Velox, Rapi, Seguro>=0) Sea;
Caso (Car> Velox, Rapi, Seguro);
Resultado= “Bonificacion Para Carmix:…”;
Caso (Velox> Car, Rapi, Seguro);
Resultado= “Bonificacion Para Veloxcar:…”;
Caso (Rapi> Car, Velox, Seguro);
Resultado= “Bonificacion Para Rapicar:…”;
Caso (Seguro> Car, Velox, Rapi);
Resultado= “Bonificacion Para Seguromix:…”;
Otro Caso
Resultado= “Por lo Menos 2 Líneas Empataron, No Hay Bonificación”;
Fin_Caso
Devolver (Resultado);
Fin_Funcion.

También podría gustarte