Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-01-2013
cesar.zapata cesar.zapata is offline
Registrado
NULL
 
Registrado: oct 2012
Posts: 7
Poder: 0
cesar.zapata Va por buen camino
La consulta es que el profesor nos ha pedido que cuando introducimos los datos sean en datos de STRING y cuando estos datos sean validados se conviertan el NUMEROS REALES
seria como una procedure pero no cuando hago la procedure no me responde el programa. Algun consejo ?
Responder Con Cita
  #2  
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.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pon el código fuente, que lo veamos.
Responder Con Cita
  #3  
Antiguo 06-01-2013
cesar.zapata cesar.zapata is offline
Registrado
NULL
 
Registrado: oct 2012
Posts: 7
Poder: 0
cesar.zapata Va por buen camino
Esto es lo que tengo avanzado ..
pero aun tengo q organizar lo del tema de la entrada de datos por STRING
En definitiva, es tracta de fer una memòria on s’inclogui:
1. Disseny de l’estructura de dades
2. Definir un tipus tDadesQualitat que ha d’incloure totes del dades de la setmana.
3. Dissenyar i escriure accions per tal de:
a. Inicialitzar l’estructura cada setmana, admeten “quantes” resistències
s’examinaran aquesta setmana (entre 1 i 5) i els seus valors. Acció en forma de
procedure pInicialitzaEstructura. Aquest procediment també inicialitzarà a
zero els comptadors de dades entrades de cada resistència.
b. Acció en forma de procedure per afegir a l’estructura global un valor mesurat**
d’un tipus de resistència**i un dia (per exemple valor nominal = 4,7./ dia = 3/
valor mesurat = 4,9). Si el valor nominal no existeix hauria de donar un MSG
d’error. Es tracta del procedure pAfegirDada
c. Acció en forma de procedure**que rep una estructura, un dia i un valor nominal
i torna el**valor max, min i promig. Procedure pDadesDia.
d. Acció en forma de funció que donat un dia i un valor nominal de resistència,
crida a pDadesDia i torna la tolerància d’aquella resistència en aquell dia.
fToleranciaDia.
PD NO PIDO QUE ME HAGAIS EL DPR , SOLO QUE SI TENEIS TIEMPO ME HECHEIS UNA MANO CON LO DE INTRODUCIR LOS DATOS CON STRINGS.
GRACIAS
Archivos Adjuntos
Tipo de Archivo: zip 1.zip (1,5 KB, 2 visitas)
Responder Con Cita
  #4  
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.107
Poder: 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
  #5  
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.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
La verdad es que no he entendido el problema que tienes con lo de "introducir los datos con strings"
Responder Con Cita
  #6  
Antiguo 07-01-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
cesar.zapata,

Cita:
Empezado por cesar.zapata
La consulta es que el profesor nos ha pedido que cuando introducimos los datos sean en datos de STRING y cuando estos datos sean validados se conviertan el NUMEROS REALES
Cita:
Empezado por cesar.zapata
NO PIDO QUE ME HAGAIS EL DPR , SOLO QUE SI TENEIS TIEMPO ME HECHEIS UNA MANO CON LO DE INTRODUCIR LOS DATOS CON STRINGS
Revisa este código:
Código Delphi [-]
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils, Dialogs;

type
   TData = record
      Fecha : Integer;
      Data1 : String;
      Data2 : Integer;
      Data3 : Double;
   end;

var
   Data : Array of TData;
   Input : String;
   CountData : Integer;
   i : Integer;

procedure LoadData;
begin

   Write('Cantidad de Datos a Ingresar: ');
   Readln(Input);
   CountData := StrToInt(Input);

   SetLength(Data,CountData);

   for i := 0 to CountData-1 do
   begin

      Write('Input Fecha en formato AAAAMMDD: ');
      Readln(Input);
      Data[i].Fecha := StrToInt(Input);

      Write('Input Data1 (String): ');
      Readln(Input);
      Data[i].Data1 := Input;

      Write('Input Data2 (Integer): ');
      Readln(Input);
      Data[i].Data2 := StrToInt(Input);

      Write('Input Data3 (Float): ');
      Readln(Input);
      Data[i].Data3 := StrToFloat(Input);

   end;

end;

begin
   LoadData;
end.
El código anterior permite cargar N datos por medio de una variable String y posteriormente asignar dichos valores a variables en un arreglo de registros con sus tipos correspondientes por medio de funciones de conversión. Quizás puedas aplicar la idea general a tu proyecto.

Revisa estos links:
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 07-01-2013 a las 00:40:36.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda Con Un Programa darnnezt Varios 8 16-03-2011 11:33:50
Ayuda con Programa en C++ yelian C++ Builder 34 15-11-2008 01:37:57
Ayuda con un programa kanedor Varios 6 14-05-2008 17:48:53
Ayuda con programa jorgegetafe Varios 4 07-12-2007 12:38:33
Ayuda con programa de C megadanzig C++ Builder 7 19-03-2004 19:26:48


La franja horaria es GMT +2. Ahora son las 11:34:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi