Como es la estructura de este programa?

buen día , necesito que me ayude con la estructura de este programa pero sin usar ni procedure, ni function o archivos.... Una Distribuidora de vehículos, ofrece a sus clientes una
diversidad de modelos, de los que destacan datos de importancia como:
Modelo del automóvil, el Rendimiento expresado en Km./Litro y la
Capacidad del tanque de combustible expresado en Litros. Escriba un
programa en Turbo Pascal que use arreglos unidimensionales y que
permita:
a) Determinar los kilómetros que puede recorrer cada modelo con un tanque lleno de combustible.
b) Encuentre el modelo o los modelos de mayor rendimiento.
c)
Calcule la cantidad de combustible que consumiría cada uno de los
modelos, para recorrer una cantidad de Kilómetros suministrada por el
usuario.
d) Mostrar el Rendimiento y la Capacidad del
tanque, de un modelo suministrado por el usuario. La búsqueda del modelo
debe concluir en el momento en que sea encontrado, pero si el modelo
solicitado no se encuentra, el programa debe informarlo...... Gracias de ante mano y espero su pronta respuesta ....

Respuesta
1

Te propongo la siguiente solución. No depuré la entrada de datos, como que por ejemplo la capacidad o el rendimiento sean cero, y te pueda dar datos incongruentes, pero eso lo dejo para ti.

Uses CRT;
Const
VEHÍCULOS = 3;
Type
TRegistro = Record
MODELO : String;
RENDIMIENTO : Real;
CAPACIDAD : Real;
end;
TTabla = Array [1..VEHICULOS] of TRegistro;
var
registro : Tregistro;
tabla : Ttabla;
km : real;
auxmayor : integer;
distancia : real;
i : integer;
MODEL : String;
switch : integer;
mayor : real;
Begin
{En esta primera parte, realizaremos la toma de datos por teclado}
clrscr;
switch:=0;
GotoXY(10,10); Writeln('MODELO: ');
GotoXY(10,12); Writeln('RENDIMIENTO (Km/litro): ');
GotoXY(10,14); Writeln('CAPACIDAD (litros): ');
For i:=1 to VEHÍCULOS do
begin
GoTOXY(19,10); clreol; ReadLn(tabla.modelo);
GotoXY(34,12); clreol; ReadLN(tabla.rendimiento);
GotoXY(32,14); clreol; ReadLn(tabla.capacidad);
end;
Writeln('Pulse una tecla para continuar...');
readkey;
{En esta segunda parte, determinaremos los kilómetros que recorre cada modelo con el tanque lleno.}
For i :=1 to VEHÍCULOS do
begin
GOTOXY(19,10); clreol; Writeln(tabla.modelo);
GotoXY(34,12); clreol; writeln(tabla.rendimiento:2:2);
GotoXY(32,14); clreol; writeln(tabla.capacidad:2:2);
distancia := tabla.capacidad*tabla.rendimiento;
Writeln('Este modelo puede recorrer ',distancia:2:2,' kil¢metros con el dep¢sito lleno');
readln;
end;
{En el siguiente apartado vamos a determinar el modelo o modelos de mayor rendimiento}
mayor:=tabla[1].rendimiento;
for i:=2 to vehículos do
if tabla.rendimiento > mayor then
auxmayor:=i; {guardamos s¢lo el ¡ndice del mayor para luego acceder a la tabla}
Writeln('El modelo con mayor rendimiento es el : ',TABLA[AUXMAYOR].MODELO);
writeln(' con un rendimiento de ',tabla[auxmayor].rendimiento,' km/l');
{En el siguiente apartado calcularemos cuanto consume cada modelo para recorrer un numero de km dado}
Clrscr;
Writeln('Introduzca el n£mero de kil¢metros: ');
readln(km);
for i:=1 to vehículos do
Writeln('El modelo ',tabla.modelo,' consumir¡a ',(tabla.rendimiento / km):2:2,'litros en recorrer ',km:2:2,' km.');
writeln('Pulse una tecla para continuar...');
readkey;
{En el siguiente apartado se mostrar el rendimiento y la capacidad de un modelo suministrado por el usuario}
clrscr;
Writeln('Introduzca el modelo a buscar: ');
Readln(MODEL);
For I:=1 to VEHÍCULOS do
begin
if (tabla.modelo=model) then
begin
switch:=1;
Writeln('Este modelo tiene un rendimiento de ',tabla.rendimiento,' y una capacidad de ',tabla.capacidad:2:2);
end;
end;
if switch = 0 then
writeln('El modelo que busca no se encuentra');
Writeln('Pulse una tecla para finalizar...');
readkey;
End.

Si tienes alguna otra cuestión, no dudes en volver a postear. Si no es así, por favor, finaliza la pregunta dándole la calificación que creas conveniente.

Un saludo.

buen día y gracias por la pronta respuesta , tengo una pregunta es q esta estructura del programa la necesito solo utilizando array, es decir no puedo usar archivos ni function ni procedure, es para un proyecto  q vale un 50% d la nota y tiene q correr, entonces tu lo hicistes asi no? y disculpa las molestias.

Sí, sólo utilizo una estructura de tipo registro y un array.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas