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
  #41  
Antiguo 25-08-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Por que no vale? Usa un while ¿no? Si prefieren así:

Código Delphi [-]
function Promedio(ValorInicial, ValorFinal: Integer): Double;
begin
  {$HINTS OFF}
  while false do
    ;
  {$HINTS ON}

  Result := (ValorInicial + ValorFinal) / 2;
end;



// Saludos
Responder Con Cita
  #42  
Antiguo 25-08-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Cita:
Empezado por roman Ver Mensaje
¿Por que no vale? Usa un while ¿no?
__________________

Responder Con Cita
  #43  
Antiguo 25-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por ContraVeneno Ver Mensaje
No pude evitar reirme con esa animación ¿De donde las sacas?

Por cierto, tampoco es necesario llevar la cuenta de elementos entre un número y otro. Si se hiciera uso del while y se recorriera los números en un rango, pues ¿que no es que basta con dividir la suma con la diferencia entre el máximo y el mínimo?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #44  
Antiguo 25-08-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
No pude evitar reirme con esa animación ¿De donde las sacas?
...¿que no es que basta con dividir la suma con la diferencia entre el máximo y el mínimo?
Las obtengo de gamereplays.org.... sobre la imagen, dale click con el botón derecho y luego en "Copiar dirección de la imagen" y así es como las puedo poner.

y respecto a tu segunda pregunta, creo que te hace falta leer el primer mensaje de Román en este hilo, eso fue precisamente lo que él hizo, por eso dije que era abuso de poder de conocimiento (que no todos tenemos). Y puse que "eso me pasa por pensar como programador" porque hice lo que pidieron, sin pensar que hay caminos mucho más fáciles.
__________________


Última edición por ContraVeneno fecha: 25-08-2008 a las 19:09:24.
Responder Con Cita
  #45  
Antiguo 25-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por ContraVeneno Ver Mensaje
Las obtengo de gamereplays.org.... sobre la imagen, dale click con el botón derecho y luego en "Copiar dirección de la imagen" y así es como las puedo poner.

y respecto a tu segunda pregunta, creo que te hace falta leer el primer mensaje de Román en este hilo, eso fue precisamente lo que él hizo, por eso dije que era abuso de poder de conocimiento (que no todos tenemos). Y puse que "eso me pasa por pensar como programador" porque hice lo que pidieron, sin pensar que hay caminos mucho más fáciles.
Gracias por el dato,
No se porque no se me pasó por la cabeza lo del botón secundario. Ando en otra nube

A ver, creo que no se me entendió. A lo que voy es que si se emplease un ciclo para ir desde el elemento inicial hasta el final para llevar la suma y la cuenta... pues, como que hacemos una operación al vicio. ¿De que sirve contar los elementos si sabemos cuantos son?

(10 + 11 + ... + 49 + 50)/41 = 30

(10 + 11 + ... + 49 + 50)/((50-40) + 1) = 30

¿Se entiende?

Ya se que es lo mismo sumar los extremos directamente y dividirlos por la mitad. Yo hacía referencia a ese paso innecesario de contar los elementos.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #46  
Antiguo 25-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Voy a hacer una apuesta:
A que tsue pregunta como se usa la función de Roman.
Si no supo como hacerlo con el ejemplo sencillo de cHackAll, vamos a ver si puede con la función.
No se valen mensajes.
Yo apuesto a que pregunta.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #47  
Antiguo 25-08-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Delphius Ver Mensaje
Gracias por el dato,
No se porque no se me pasó por la cabeza lo del botón secundario. Ando en otra nube

A ver, creo que no se me entendió. A lo que voy es que si se emplease un ciclo para ir desde el elemento inicial hasta el final para llevar la suma y la cuenta... pues, como que hacemos una operación al vicio. ¿De que sirve contar los elementos si sabemos cuantos son?

(10 + 11 + ... + 49 + 50)/41 = 30

(10 + 11 + ... + 49 + 50)/((50-40) + 1) = 30

¿Se entiende?

Ya se que es lo mismo sumar los extremos directamente y dividirlos por la mitad. Yo hacía referencia a ese paso innecesario de contar los elementos.

Saludos,
Pues eso mismo y como dice roman, para que tanto brinco estando el piso tan parejo.

Cita:
10+50=60/2=30
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #48  
Antiguo 25-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por egostar Ver Mensaje
Pues eso mismo y como dice roman, para que tanto brinco estando el piso tan parejo.


Salud OS
Eso lo sabemos amigo, pero si recuerdas a tsue le pidieron que lo realice implementando el ciclo while. Por ello va mi comentario: es al vicio ir contando, si inicialmente de partida ya sabemos cuantos elementos hay desde uno hacia otro con una simple resta.

Calculo que el objetivo del profesor de tsue es practicar el uso de ciclos, y le pidió que calcule promedios.

¿Tanto embrollo hicimos por esto?

Código Delphi [-]
function Promedio(Inicial, Final: integer): double;
var suma, Ini: integer;
begin
  suma: integer;
  Ini: inicial;
  while Ini <= final do
    begin
      suma := suma + Ini;
      inc(Ini);
    end;
   result := suma / (Final - Inicial + 1);   
end;

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #49  
Antiguo 25-08-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Corrigiendo un par de errores de Delphius:

Código Delphi [-]
function Promedio(Inicial, Final: integer): double;
var
  suma, Ini: integer;

begin
  suma := 0;
  Ini := inicial;
  while Ini <= final do
  begin
    suma := suma + Ini;
    inc(Ini)
  end;
  result := suma / (Final - Inicial + 1)
end;


Saludos...
Responder Con Cita
  #50  
Antiguo 25-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por maeyanes Ver Mensaje
Corrigiendo un par de errores de Delphius:

Código Delphi [-]function Promedio(Inicial, Final: integer): double; var suma, Ini: integer; begin suma := 0; Ini := inicial; while Ini <= final do begin suma := suma + Ini; inc(Ini) end; result := suma / (Final - Inicial + 1) end;



Saludos...
¡Auch! Eso dolió

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #51  
Antiguo 25-08-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No sé si el profesor se tomará a mal esto:

Código Delphi [-]
function Promedio(ValorInicial, ValorFinal: Integer): Double;
var
  BeStupid: Boolean;

begin
  Result := 0;
  BeStupid := true;

  while BeStupid do
  begin
    Result := (ValorInicial + ValorFinal) / 2;
    BeStupid := false;
  end;
end;

// Saludos
Responder Con Cita
  #52  
Antiguo 25-08-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
jejejeje... tal vez ya sería demasiado...

Delphius, cierto, cierto, ya veo el punto al que te refieres y sí tienes razón.
__________________

Responder Con Cita
  #53  
Antiguo 26-08-2008
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
Me pregunto:

¿Que va a pasar si hay alguno que no está atento y trata de calcular la media de una serie de datos cualquiera aplicando la función propuesta?

10,11, 10, 15, 12,15, 15,10, 14,20

Saludos
Responder Con Cita
  #54  
Antiguo 26-08-2008
tsue tsue is offline
Registrado
 
Registrado: ago 2008
Posts: 8
Poder: 0
tsue Va por buen camino
muchas gracias por toda la ayuda que me hab brindado, logre terminar el programa desde el domingo pero como era para el lunes no iba a postearlo asta que pasara la entrega de tarea ya que alguien podia piratearlo y luego tendria problemas con el profe bueno este es el codigo que hice me base mucho en el codigo de caral y en el lenguaje ensamblador
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit3: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var numinicial, numfinal, numactual, cantidad, total: integer;
begin
   numactual := 0;
   cantidad := 0;
   numinicial := 10;
   numfinal := 50;
   while numinicial <= numfinal do
   begin
   Inc(numactual, numinicial);
   Inc(numinicial);
   Inc(cantidad);
   end;
   total:= numactual div cantidad;
   Edit3.Text:= IntToStr(Total);
end;

procedure TForm1.Button2Click(Sender: TObject);
var numinicial, numfinal, numactual, cantidad, total: integer;
begin
   numactual := 0;
   cantidad := 0;
   numinicial := strToint(Edit4.Text);
   numfinal := strToint(Edit5.Text);
   while numinicial <= numfinal do
   begin
   Inc(numactual, numinicial);
   Inc(numinicial);
   Inc(cantidad);
   end;
   total:= numactual div cantidad;
   Edit6.Text:= IntToStr(Total);
end;

end.
Responder Con Cita
  #55  
Antiguo 26-08-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por Robert01 Ver Mensaje
....pero lo que si despertó fue la confusión, está claro ahí arriba....
Cita:
Empezado por tsue Ver Mensaje
...me base mucho en el codigo de caral y en el lenguaje ensamblador
Ja, siempre se aprende algo nuevo y de esta historia solo me queda dar la razon a Robert01, al parecer si lo he confundido un poquito al muchacho pero es para mi un consuelo:

Cita:
Empezado por Robert01 Ver Mensaje
Lo haré cuando tenga tiempo
Saber que algún dia las críticas se convertiran en algo más util para la comunidad.

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #56  
Antiguo 26-08-2008
Mya Mya is offline
Miembro
 
Registrado: ago 2008
Posts: 11
Poder: 0
Mya Va por buen camino
Cita:
Empezado por tsue Ver Mensaje
muchas gracias por toda la ayuda que me hab brindado, logre terminar el programa desde el domingo pero como era para el lunes no iba a postearlo asta que pasara la entrega de tarea ya que alguien podia piratearlo y luego tendria problemas con el profe bueno este es el codigo que hice me base mucho en el codigo de caral y en el lenguaje ensamblador
Código Delphi [-]unit Unit1;

interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm)
Edit3: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private { Private declarations } public { Public declarations } end;

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
var numinicial, numfinal, numactual, cantidad, total: integer;
begin numactual := 0; cantidad := 0; numinicial := 10; numfinal := 50; while numinicial <= numfinal do begin Inc(numactual, numinicial); Inc(numinicial); Inc(cantidad); end;
total:= numactual div cantidad;
Edit3.Text:= IntToStr(Total);
end;

procedure TForm1.Button2Click(Sender: TObject);
var numinicial, numfinal, numactual, cantidad, total: integer;
begin numactual := 0; cantidad := 0; numinicial := strToint(Edit4.Text); numfinal := strToint(Edit5.Text); while numinicial <= numfinal do begin Inc(numactual, numinicial); Inc(numinicial); Inc(cantidad); end;
total:= numactual div cantidad;
Edit6.Text:= IntToStr(Total);
end;

end.
porcierto me puse a leer los mensajes y creo que perdiste la apuesta caral.
Responder Con Cita
  #57  
Antiguo 26-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Claro que no perdí la apuesta, nunca pregunto por la función, por eso me da la razón en pensar que nunca la entendió (ni yo).
Me gusto la parte en la que mezclo el código de cHackAll, humildemente modificado por mi con el código ensamblador, que por cierto esta tan bien logrado que lo escondió dentro del código delphi.
Maestros han creado a un genio sin saberlo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #58  
Antiguo 26-08-2008
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
Ese código en ensamblador está realmente bueno.
Responder Con Cita
  #59  
Antiguo 26-08-2008
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
Lo siento, parece que le di dos veces al botón de enviar
Responder Con Cita
  #60  
Antiguo 26-08-2008
Mya Mya is offline
Miembro
 
Registrado: ago 2008
Posts: 11
Poder: 0
Mya Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Claro que no perdí la apuesta, nunca pregunto por la función, por eso me da la razón en pensar que nunca la entendió (ni yo).
Me gusto la parte en la que mezclo el código de cHackAll, humildemente modificado por mi con el código ensamblador, que por cierto esta tan bien logrado que lo escondió dentro del código delphi.
Maestros han creado a un genio sin saberlo.
Saludos
no se si te burlas de el o le estas dando un punto bueno, mejor aclara no valla a ser que piense lo mismo
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
Con que programa se programa y compila en Java David JAVA 5 15-01-2007 01:41:03
programa para ver en que direccion del registro de windows escribe un programa? JuanErasmo Varios 1 09-11-2006 20:42:05
Lanzar programa desde mi programa Pablo Carlos API de Windows 32 09-09-2004 13:56:26
Ejecutar un programa externo desde un programa de Delphi Roger_Fernandez Varios 3 02-09-2004 18:05:36
Ejecutar un programa DENTRO de otro programa seduerey Varios 8 12-11-2003 13:56:20


La franja horaria es GMT +2. Ahora son las 22:53:50.


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