Advertisement
r_russo

Números aleatorios

Sep 28th, 2021
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.31 KB | None | 0 0
  1. {
  2.     Escribir un programa que permita, mediante el uso de un menú:
  3.         1) Generar números aleatorios entre dos números arbitrarios
  4.         ingresados por teclado y guardarlos en un archivo 'datos.txt'.
  5.         La cantidad de números generados se ingresa también por teclado.
  6.         2) Calcular la suma de los números almacenados en el archivo
  7.         'datos.txt'.
  8.  
  9.     El menú debe reiterarse hasta que el usuario desee salir.
  10. }
  11.  
  12. program numeros;
  13.  
  14. var
  15.     opcion: Char;
  16.     cota_sup, cota_inf, num: Integer;
  17.     suma: LongInt;
  18.     n, i: Word;
  19.     archivo: Text;
  20.  
  21. begin
  22. {
  23.     repeat
  24.         writeln('Elija una opción:');
  25.         writeln('1) Generar números aleatorios entre dos números arbitrarios');
  26.         writeln('2) Calcular la suma de los números almacenados');
  27.         writeln('s) Salir');
  28.         readln(opcion);
  29.        
  30.         if (opcion <> 's') then
  31.         begin
  32.             case opcion of
  33.                 '1':
  34.                 begin
  35.                 end;
  36.                 '2':
  37.                 begin
  38.                 end;
  39.             else
  40.                 writeln('Opción no es válida');
  41.             end;
  42.         end;
  43.     until opcion = 's';
  44. }
  45.  
  46.     writeln('Elija una opción:');
  47.     writeln('1) Generar N números aleatorios entre dos números arbitrarios');
  48.     writeln('2) Calcular la suma de los números almacenados');
  49.     writeln('s) Salir');
  50.     readln(opcion);
  51.    
  52.     while (opcion <> 's') do
  53.     begin
  54.         case opcion of
  55.             '1':
  56.             begin
  57.                 write('Ingrese la cantidad de números aleatorios a generar: ');
  58.                 readln(n);
  59.                 write('Ingrese cota inferior: ');
  60.                 readln(cota_inf);
  61.                 write('Ingrese cota superior: ');
  62.                 readln(cota_sup);
  63.                
  64.                 assign(archivo, 'datos.txt');
  65.                 rewrite(archivo);
  66.                 for i := 1 to n do
  67.                 begin
  68.                     {
  69.                     entre k y l
  70.                     Random(l - k + 1) + k
  71.                     entre -10 y 5
  72.                     Random(5 - (-10) + 1) + (-10)
  73.                     Random(16) - 10
  74.                     }
  75.                     num := Random(cota_sup - cota_inf + 1);   // Random(n) genera n aleatorios entre 0 y n (no inclusive)
  76.                     num := num + cota_inf;
  77.                     writeln(archivo, num);
  78.                 end;
  79.                 close(archivo);
  80.             end;
  81.             '2':
  82.             begin
  83.                 assign(archivo, 'datos.txt');
  84.                 reset(archivo);
  85.                
  86.                 suma := 0;
  87.                 while not eof(archivo) do
  88.                 begin
  89.                     readln(archivo, num);
  90.                     suma := suma + num;
  91.                 end;
  92.                
  93.                 close(archivo);
  94.                
  95.                 writeln('La suma de los números en el archivo es de ', suma);
  96.             end;
  97.             else
  98.                 writeln('Opción no es válida');
  99.         end;
  100.        
  101.         writeln('Elija una opción:');
  102.         writeln('1) Generar N números aleatorios entre dos números arbitrarios');
  103.         writeln('2) Calcular la suma de los números almacenados');
  104.         writeln('s) Salir');
  105.         readln(opcion);
  106.     end;    
  107. end.
  108.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement