Ver Mensaje Individual
  #8  
Antiguo 06-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes poner aquí el código, no hace falta un un archivo adjunto. Lo copio y lo pego:

Código Delphi [-]
 program eix4s13VERSIONOK; 
 
{$APPTYPE CONSOLE} 
 
uses 
  SysUtils; 
 
CONST 
     nMAx = 100; 
     marca = -1; 
     nominalMax=10000; 
TYPE 
 
    tnumMostres = 1..nMax; 
    tmostres = ARRAY[tnumMostres] OF REAL; 
    tMostradia =  RECORD 
                    nCont: 0..nMax; 
                    dades: tMostres; 
 
                     END; 
    Tindex=1..nominalMax; 
    tLlista=ARRAY [TIndex]of REAL ; 
 
 
 VAR 
      mevaLlista: tMostradia; 
      miLlista:TLlista; 
     tolerancia,max, min: REAL; 
      numNominal:TLlista; 
   // ----------------------------------------- 
    PROCEDURE LlegirLlista( OUT unaLlista:tMostradia); 
     VAR 
            mostres, i: integer; 
      BEGIN 
       i:=0 ; 
           REPEAT 
            Write('- Entri una mostra i premi ENTER: ',i+1:3,'= '); 
            Readln(mostres); 
              IF mostres <> marca 
               THEN 
                BEGIN 
                  i:= i+1; 
                  unaLlista.dades[i]:= mostres; 
                END; 
           UNTIL (mostres = marca) OR (i=nMAx); 
           unaLlista.nCont:=i; 
            writeln('>  Memoria llena presione ENTER   <'); readln; 
 
      END; 
    // ------------------------------------------- 
    PROCEDURE MostrarLlista (unaLlista: tMostradia); 
      VAR i:INTEGER; 
        BEGIN 
           i:=1; 
        FOR i:=1 TO mevaLlista.nCont 
             DO 
               BEGIN 
                    Writeln('Mostra ', i:3, '=', mevaLlista.dades[i]:6:2); 
 
               END; 
               i:= i +1  ; 
 
        END; 
    // --------------------------------------------- 
       FUNCTION fPromig(unaLlista:tMostradia): REAL; 
           VAR 
        i: INTEGER; 
        s: REAL; 
          BEGIN 
            i:=1; 
            s:=0; 
          FOR i:=1 TO unaLlista.nCont 
            DO 
 
             s:= s + unaLlista.dades[i]; 
 
 
            i:=i+1; 
 
           RESULT:=(s/unaLlista.nCont); 
 
    END; 
 
    // --------------------------------------------- 
       PROCEDURE pMaxMin(unaLlista:tMostradia; OUT unMAX, unMIN: REAL); 
          VAR 
            i:INTEGER; 
 
         BEGIN 
            i:=1; 
 
          FOR i:=1 TO unaLlista.nCont 
          DO 
            BEGIN 
             IF unaLlista.dades[i] < unMIN 
            THEN 
              unMIN:= unaLlista.dades[i] 
            ELSE 
             IF unaLlista.dades[i] > unMAX 
              THEN 
               unMAX:= unaLlista.dades[i]; 
 
             END; 
             i:= i+1 ; 
        END; 
 
    // ------------------------------------------ 
 
        FUNCTION fTolerancia (unaLlista:tMostradia):real; 
        var 
          tol, tolmax,tolmin,max,min:real; 
 
 
 
          begin 
 
          pMaxMin(unaLlista,max,min); 
          tolmax:=abs(unaresist-max); 
          tolmin:=abs(unaresist-min); 
          if tolmax > tolmin 
           THEN 
           tol:=tolmax 
           else 
            tol:=tolmin; 
            fTolerancia:=tol; 
            end; 
 
    // --------------------------------------------- 
 // REeordar que "mevaLlista" és una variable GLOBAL (MEVA !!!) 
 
begin 
  Writeln('ALUMNO:CESAR ZAPATA'); 
  Writeln('PROFESOR : FERRAN VIRGOS'); 
  Writeln('GRUPO : T44'); 
  Writeln('                                '); 
  Writeln('Programa que registra muestras y  '); 
  Writeln('da el calculo  promedio, un  maxim i un minimo'); 
  writeln; 
  Writeln('# Introduce las muestras hasta un maximo de ',nMAx,' registros #'); 
  Writeln('# Para finalizar la introduccion de notas poner una nota con el valor: ',marca,' #'); 
  writeln; 
 
  LlegirLlista ( mevaLlista ); 
 
  Writeln; Writeln ('MUESTRAS') ; 
 
  MostrarLlista (  mevaLlista ); 
 
 
  // aqui deixem espai per les crides a funció fpromig i PROCEDURE pMinMax 
 
  Writeln; Writeln('el promedio  es: ' ,fPromig(mevaLlista):6:2); 
 
  pMaxMin(mevaLlista, max, min); 
 
  Writeln ('El Max es: ', max:6:2,' i el Min es: ', min:6:2); 
   
 
   tolerancia:=(ftolerancia(mevaLlista))/100; 
 
  Writeln('Y para finalizar mostramos la tolerancia :',tolerancia:8:4); 
 
 
  // ------------------------------------------ 
 
//  FINAL  ---------------------------------------------------------- 
    Writeln; 
    Writeln; 
    Writeln('GRACIAS POR USAR ESTE PROGRAMA '); Writeln; 
    Write('Prem ENTER per sortir'); 
    Readln; 
end.
Responder Con Cita