Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
practica 7 ejercicio B6
program HelloWorld; {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- CONST - Define las constantes para usar en tiempo de compilacion} const estrellas = 2; gases = 10; FIN = 'fin'; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- TYPE - Define los tipos creados por el usuario para usar en tiempo de compilacion} type Tnombre = string[15]; rangoGases = 0 .. gases; vector_gases = record vector : array [rangoGases] of Tnombre; DimL : rangoGases; end; estrella = record nombre : Tnombre; superficie : real; gas : vector_gases; distancia : integer; end; rangoEstrellas = 1 .. estrellas; Tvector = array [rangoEstrellas] of estrella; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- VARIABLES GLOBALES - Define variables que se podran usar por todos los modulos de ser necesarias} //var {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- LEER } procedure leer(var v: estrella); var i: rangoGases; h : Tnombre; begin randomize; readln(v.nombre); v.superficie := random(13123); v.distancia := random(12345); i:=1; readln(h); while (i <= gases)and(h <> FIN) do begin v.gas.vector[i]:= h; i:= i + 1; readln(h); end; v.gas.DimL := i-1; end; { LECTURA: _nombre _gases hasta leer fin ó llegar a 10 gases } {----------------------------------------------------------------- CARGAR VECTOR } procedure cargarVector(var v : Tvector); var i : rangoEstrellas; begin randomize; for i := 1 to estrellas do leer(v[i]); end; {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- IMPRIMIR GASES } procedure imprimirGases(v: vector_gases); var i:rangoGases; begin if v.DimL <> 0 then begin for i := 1 to v.DimL do write('------------'); writeln; for i:=1 to v.DimL-1 do write(' | ',v.vector[i]); writeln(' | ',v.vector[v.DimL],' |'); for i := 1 to v.DimL do write('------------'); writeln; end; end; {----------------------------------------------------------------- IMPRIMIR } procedure imprimir (v :estrella); begin writeln('nombre : ',v.nombre); writeln('superficie estimada : ',v.superficie:8:2); writeln('gases : '); imprimirGases(v.gas); writeln('distancia : ',v.distancia,' km'); end; {----------------------------------------------------------------- IMPRIMIR VECTOR } procedure imprimirVector(v: Tvector); var i : rangoEstrellas; begin for i := 1 to estrellas do begin imprimir(v[i]); writeln('------------------------------------------------------------------------------------------------------------------'); end; end; {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- MAX SUPERFICIE } procedure maxSup (sup : real;var nom1 : Tnombre; var nom2 : Tnombre; var m1 : real; var m2 : real;nombre : Tnombre); begin if m1 < sup then begin m2 := m1; nom2:=nom1; m1:= sup; nom1:= nombre; end else if m2 < sup then begin m2 := sup; nom2 := nombre; end; end; {----------------------------------------------------------------- CONDICION C } function condicionC (num : integer):boolean; var impar, par , dig : integer; begin par := 0; impar := 0; while num <> 0 do begin dig := num mod 10; if dig mod 2 = 0 then begin par := par + dig; end else impar := impar + dig; num := num div 10; end; condicionC := (par > impar); end; {----------------------------------------------------------------- INFORMAR } procedure informar( n1,n2:Tnombre; ea5 : integer); begin writeln('el nombre de la estrella con mayor superficie es: ', n1); writeln('el nombre de la segunda estrella con mayor superficie es: ',n2); writeln('la cantidad de estrellas con almenos 5 gases son: ',ea5); end; {----------------------------------------------------------------- RECORRER VECTOR } procedure recorrerVector(v :Tvector); var i : rangoEstrellas; m1,m2: real; // lo utilizaremos para calcular la mayor superficie n1,n2: Tnombre; // nombre de las dos estrellas con mayor superficie ea5: integer; // la cantidad de estrellas con almenos 5 gases begin ea5:=0; m1:=0; m2:=0; n1 := ' '; n2 := ' '; for i:=1 to estrellas do begin // a... maxSup(v[i].superficie,n1,n2,m1,m2,v[i].nombre); // b... if v[i].gas.DimL >= 5 then ea5 := ea5 + 1; // c... if condicionC(v[i].distancia) then writeln('informarC : ',v[i].nombre); end; informar(n1,n2,ea5); end; {-----------------------------------------------------------------------------------------------------------------------} { a : nombre de las 2 estrellas con mayor superficie. b : cantidad de estrellas con menos de 5 gases. c : nombre de la estrella tal que la suma de los digitos pares de la distancia sea mayor que la suma de los digitos impares. } {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- PROGRAMA PRINCIPAL} var v: Tvector; begin cargarVector(v); imprimirVector(v); recorrerVector(v); end. {-----------------------------------------------------------------------------------------------------------------------} // sintetizamos los requerimientos y resumimos el contexto // descomponemos el problema para formar varias soluciones reutilizables // lo escribimos en un lenguaje e implementamos su ejecucion // verificamos los resultados
run
|
edit
|
history
|
help
0
Zadanie 2
solar system 7 (update)
Ex5b20
Mostrar un arreglo ( array )
123456
pascal1
For4
Fibonacci
nombre_completo
города