Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   programa sumador (https://www.clubdelphi.com/foros/showthread.php?t=59344)

tsue 23-08-2008 02:03:06

programa sumador
 
hola, me encargaron una tarea y la verdad no se mucho de programacion y ando desesperado si alguien me puediera ayudar.
esto es lo que tengo que hacer
como hacer un programa que calcule la media aritmetica entre el 10 y el 50 con do while y con solamente while
nota:la media aritmetica es la suma de los numeros entre el 10 y el 50 ejem 10+11+12+13.... +50

Caral 23-08-2008 02:53:55

Hola
Bienvenido al club.
Normalmente lo que se hace en el club es tratar de ayudar, eso quiere decir que también normalmente no hacemos la tarea.
Lo que te aconsejo es que nos des algo, lo que sea, pero algo del código que tengas y de ahí en adelante podremos ayudarte, pero sin hacer nosotros la tarea, después de todo si nosotros te hacemos la tarea no creo que te ayudemos, mas bien te perjudicamos.
Código Delphi [-]
while tsue.Tarea do
ayudamos
Por cierto, estará bien así maestros?:confused:.:D:D:D
Saludos

cHackAll 23-08-2008 03:03:46

Código Delphi [-]
var escuela, tarea, aplazo: Cardinal;
begin
 aplazo := 0;
 escuela := 10; // ReadLn(escuela);
 tarea := 50; // ReadLn(tarea);
 repeat Inc(aplazo, escuela);
  Inc(escuela);  
 until escuela > tarea;
 WriteLn(aplazo);
 
//...

Código Delphi [-]
 while escuela <= tarea do
  begin
   Inc(aplazo, escuela);
   Inc(escuela);  
  end;

Edito; EPA, no me di cuenta que respondiste Caral, que cuentas? yo pase un ratico por acá a hacer mi homework si no "papá pega photo" ;)

Caral 23-08-2008 03:14:20

Hola
Me alegra verte igualmente, como siempre amigo.:)
Ah, ya hiciste la tarea:D:D:D
Saludos

Robert01 23-08-2008 04:45:32

Cita:

Empezado por tsue (Mensaje 308931)
nota:la media aritmetica es la suma de los numeros entre el 10 y el 50 ejem 10+11+12+13.... +50

¡Jamás había leido algo semejante!

Saludos

ContraVeneno 23-08-2008 16:13:58


según yo (y la wiki) la media aritmética es un promedio de un conjunto de datos y no la suma de los números entre uno y otro...


cHackAll 23-08-2008 16:35:19

Cita:

Empezado por ContraVeneno (Mensaje 308970)

según yo (y la wiki) la media aritmética es un promedio de un conjunto de datos y no la suma de los números entre uno y otro...


No me vayan a decir que hice mal la tarea :o

eduarcol 23-08-2008 16:58:54

Cita:

Empezado por cHackAll (Mensaje 308975)
No me vayan a decir que hice mal la tarea :o

es que la tarea te quedo bien, pero el problema es que el alumno no entendio la clase :rolleyes:

tsue 23-08-2008 21:09:28

Cita:

Empezado por cHackAll (Mensaje 308935)
Código Delphi [-]var escuela, tarea, aplazo: Cardinal;
begin aplazo := 0; escuela := 10; // ReadLn(escuela);
tarea := 50; // ReadLn(tarea);
repeat Inc(aplazo, escuela);
Inc(escuela);
until escuela > tarea;
WriteLn(aplazo);

//...


Código Delphi [-] while escuela <= tarea do begin Inc(aplazo, escuela); Inc(escuela); end;


Edito; EPA, no me di cuenta que respondiste Caral, que cuentas? yo pase un ratico por acá a hacer mi homework si no "papá pega photo" ;)


oye muchas gracias por la ayuda pero no puedo acer que me corra bien tengo esto como codigo

Código Delphi [-]
var ninicial, nfinal, aplazo: Cardinal;
procedure TForm1.Button1Click(Sender: TObject);
begin
 aplazo := 0;
 ninicial := 10; // ReadLn(escuela);
 nfinal := 50; // ReadLn(tarea);
 repeat Inc(aplazo, ninicial);
  Inc(ninicial);
 until ninicial > nfinal;
 Application.MessageBox(aplazo,'titulo') ;
//WriteLn(aplazo);


ha, porcierto me falto agregar que la media aritmetica es la suma de los numeros dividida entre la cantidad de numeros que hay (osea el promedio)
ha tmb para caral si voy ha acer lo ke me digiste con respecto a la ayuda lo ke pasa es k ando desesperado con esta tarea me puse a estudiar delphi para ver si asi podia comprender algo.

Delphius 23-08-2008 21:17:23

Hola tsue,
Bienvenido a ClubDelphi.

Como eres nuevo, te invito a que dediques unos minutos a leer la guia de estilo.

Con respecto a la situación que se ha dado debo decirte que aquí ninguno hará tu tarea. Lo que sería oportuno es que nos indicases que estuviste probando, como y que conseguiste hasta ahora.

Algo fundamental ¿Como ingresas los datos? Necesitamos conocer más de tus avances y como estás llevando a cabo tu tarea. De este modo si te podremos ayudar.

Saludos,

tsue 23-08-2008 21:35:14

hola, si ya se que nadie va a ser mi tarea, deecho asta me puse a buscar informacion y a estudiar delphi y cambie algunas palabras y agregue un message box nomas que todavia no entiendo algunas cosas como por ejemplo kiero ke me muestre en el message box que puse lo que es la parte de aplazo pero no estoy muy seguro de como. no es para que te ofendas pero siento que ya estoy poniendolo como debiera para poder recibir ayuda, pero si no, hasmelo saber en que estoy poniendo mal

Delphius 23-08-2008 21:47:21

Cita:

Empezado por tsue (Mensaje 309033)
hola, si ya se que nadie va a ser mi tarea, deecho asta me puse a buscar informacion y a estudiar delphi y cambie algunas palabras y agregue un message box nomas que todavia no entiendo algunas cosas como por ejemplo kiero ke me muestre en el message box que puse lo que es la parte de aplazo pero no estoy muy seguro de como. no es para que te ofendas pero siento que ya estoy poniendolo como debiera para poder recibir ayuda, pero si no, hasmelo saber en que estoy poniendo mal

tsue, no es por ser malo... pero veo que estás muy perdido.

El código de muestra del compañero cHackAll no realiza la media aritmética. Simplementa incrementa una variable con el valor de otra hasta que supere un determinado valor (o variable, como es en este caso).

Para mostrar el contenido hay muchas maneras.
La más básica es ShowMessage(), por ahora es la que te aconsejo. Pero resulta ser que el parámetro que espera ShowMessage() es de tipo string, por tanto hay que convertir el tipo empleado a string.
Si es integer se usa IntToStr() si es real FloatToStr().

Repito nuevamente lo que te he dicho antes: sin conocer tus avances no te sabremos ayudar. Es necesario que nos indiques como estás trabajando.

Saludos,

tsue 23-08-2008 22:06:42

hola, bueno gracias por la ayuda.
me he dado cuenta con lo que acabas de poner que no se casi nada

"Pero resulta ser que el parámetro que espera ShowMessage() es de tipo string, por tanto hay que convertir el tipo empleado a string.
Si es integer se usa IntToStr() si es real FloatToStr()."

bueno, si sabia que el programa que me ayudaban no hacia la media aritmetica pero no estoy seguro si realiza la suma de los numeros por eso queria que me mostrara en el mensaje el valor final para ver si era la suma y ya despues buscar algo con que dividirla etre el numero de datos que hay

bueno con respecto a conocer mis avances creo que te refieres a esto

Código Delphi [-]
var ninicial, nfinal, aplazo: Cardinal;
procedure TForm1.Button1Click(Sender: TObject);
begin
 aplazo := 0;
 ninicial := 10; // ReadLn(escuela);
 nfinal := 50; // ReadLn(tarea);
 repeat Inc(aplazo, ninicial);
  Inc(ninicial);
 until ninicial > nfinal;
 Application.MessageBox(aplazo,'media aritmetca10-50') ;

lo que intento acer es que aga la suma del 10 asta el 50 y luego que los divida entre el numero que son (si es esa la media aritmetica verdad)

cHackAll 23-08-2008 22:13:50

Cita:

Empezado por Delphius (Mensaje 309034)
...El código de muestra del compañero cHackAll no realiza la media aritmética...

Disculpe profesor, ahora como va la cosa? :D

Código Delphi [-]
function MediaUntil(a, b: Cardinal): Cardinal;
asm
 xchg eax, edx
 xchg eax, ecx
 xor  eax, eax
 cmp  ecx, edx
 jb   @Exit
 sub  ecx, edx
 push ecx
@Next:inc  edx
 add  eax, edx
 loop @Next
 xor  edx, edx
 pop  ecx
 div  ecx
@Exit:
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowMessage(IntToStr(MediaUntil(8, 20)));
end;

Delphius 23-08-2008 22:22:31

Sugiero que leas un poco la ayuda sobre Application.MessageBox(), lo estás usando mal. Por empezar recibe muchos parámetros y te va enrredar más.
Te he sugerido que para comenzar el ShowMessage. Es sencillo. Un ejemplo:

Código Delphi [-]
ShowMessage('el valor a mostrar es : ' + IntToStr(50)); 
ShowMessage('el valor a mostrar es : ' + IntToStr(valor)); // valor es una variable

Sugiero que nombres a la variable aplazo de un mejor modo... ¿porqué no total? Se entiende mejor.

Veamos, como te explico la cosa sin hacerte la tarea:

1. Pedir valor inicial, guardar en la variable inicial
2. Pedir valor final, guardar en la variable final
3. Hacer que total sea cero
4. Hacer que cantidad sea cero
5. Mientras inicial sea menor a final hacer:
5.1. incrementar el total con el inicial
5.2. incrementar cantidad en 1
5.3. incrementar inicial en 1
6. dividir total con cantidad y guardarlo en promedio
7. Mostrar promedio

¿Ahora se entiende?

Tu problema es que en ningún momento llevas la cuenta de iteraciones.
Ahora es tu turno traducir esto. Intentalo.

Saludos,

Delphius 23-08-2008 22:46:54

Tal vez resulte un tanto pesado el hecho y la manera en que me he dirjido. Mi intención es más mostrar un algoritmo de como proceder y no tanto el código.

El asunto aqui es una cuestión de lógica. El algoritmo que implementa realiza un repeat más le falta hacer dos cosas:
1. llevar un contador de pasadas
2. dividor el total acumulado por dicha cantidad

Por el punto 1 se resuelve facilmente con añadir una nueva variable.

Código Delphi [-]
var cantidad: integer;

Y acumular el valor en donde sea necesario:
Código Delphi [-]
cantidad := cantidad + 1; // O bien...
inc(cantidad);// O bien
inc(cantidad,1);

Al final del ciclo repeat o while (se puede hacer con ambos ciclos) simplemente hacer la división entera (si son enteros).

Código Delphi [-]
promedio := total div cantidad;

En este ejemplo yo hago la división entera entre la variable total y cantidad.
Espero que ahora quede más claro.

Saludos,

Caral 23-08-2008 22:51:03

Hola
Estas seguro amigo?.
No se, algo me falta, por eso te lo pregunto.
Saludos

tsue 23-08-2008 22:52:01

Cita:

Empezado por Delphius (Mensaje 309039)
Sugiero que leas un poco la ayuda sobre Application.MessageBox(), lo estás usando mal. Por empezar recibe muchos parámetros y te va enrredar más.
Te he sugerido que para comenzar el ShowMessage. Es sencillo. Un ejemplo:

Código Delphi [-]ShowMessage('el valor a mostrar es : ' + IntToStr(50));
ShowMessage('el valor a mostrar es : ' + IntToStr(valor)); // valor es una variable


Sugiero que nombres a la variable aplazo de un mejor modo... ¿porqué no total? Se entiende mejor.

Veamos, como te explico la cosa sin hacerte la tarea:

1. Pedir valor inicial, guardar en la variable inicial
2. Pedir valor final, guardar en la variable final
3. Hacer que total sea cero
4. Hacer que cantidad sea cero
5. Mientras inicial sea menor a final hacer:
5.1. incrementar el total con el inicial
5.2. incrementar cantidad en 1
5.3. incrementar inicial en 1
6. dividir total con cantidad y guardarlo en promedio
7. Mostrar promedio

¿Ahora se entiende?

Tu problema es que en ningún momento llevas la cuenta de iteraciones.
Ahora es tu turno traducir esto. Intentalo.

Saludos,

ok creo k ya te entendi con lo de ShowMessage para mostrar un numero hay k poner into string(numero) (Inttostr(50))

si estoy bien ya nomas me falta traducir lo de mas

Caral 23-08-2008 23:01:47

Hola
La verdad no se a donde va todo esto, lo que creo que se necesita es hacer un ciclo con while.
Alguien me explica donde esta la ciencia?.
Saludos
Pd: pregunta de Novato:D

cHackAll 23-08-2008 23:10:57

Cita:

Empezado por Caral (Mensaje 309045)
...Alguien me explica donde esta la ciencia?...

Claro, la ciencia está en entender que sucede con el teclado de tsue que de rato en rato no le funcionan algunas teclas :rolleyes:

Delphius 23-08-2008 23:11:07

Cita:

Empezado por Caral (Mensaje 309043)
Hola
Estas seguro amigo?.
No se, algo me falta, por eso te lo pregunto.
Saludos

Disculpa Carlos, ¿me lo preguntas a mi?:confused:

Tal vez lo que si está faltando, y ya lo dirá tsue, es como suministrar el valor inicial y final.

Saludos,

Caral 23-08-2008 23:16:59

Hola
Creo, segun lo que veo, que tsue deberia empezar un par de pasos atras para tratar de entender el concepto.
Si no se sabe como trabaja un string o como se hace una traformacion string a integer creo que sera muy dificil entender el concepto de un ciclo y mucho menos saber que los datos se necesitan suministrar o por variables o por edits e incluso saber el concepto de un mensaje, como se lo as tratado de explicar.
Me parece que lo recomendable seria un buen libro.
No estoy menospreciando a tsue, lo que me parece es que quiere correr antes de caminar.
Saludos

Delphius 23-08-2008 23:36:06

Cita:

Empezado por Caral (Mensaje 309049)
Hola
Creo, segun lo que veo, que tsue deberia empezar un par de pasos atras para tratar de entender el concepto.
Si no se sabe como trabaja un string o como se hace una traformacion string a integer creo que sera muy dificil entender el concepto de un ciclo y mucho menos saber que los datos se necesitan suministrar o por variables o por edits e incluso saber el concepto de un mensaje, como se lo as tratado de explicar.
Me parece que lo recomendable seria un buen libro.
No estoy menospreciando a tsue, lo que me parece es que quiere correr antes de caminar.
Saludos

Yo también le recomendaría a tsue que leyera algún libro, tutorial o manual. En su caso le sería mejor empezar con el libro de Pascal de Luis Goyanes (no recuerdo si se escribe así, disculpen) Aguilar para que se familiarice con la sintaxis.
Perderle el miedo a presionar F1 también es necesario.

Y luego darse el paseo por el FTP para material más "avanzado".

Desconozco si se trata de algo para alguna materia en una tecnicatura, facultad, o escuela. No quisiera desmerecer al profesor de tsue, pero tras unos cuantos hilos en donde vienen los estudiantes recién iniciados noto la falta de conceptos básicos.
Me parece que en esto los profesores deberían tomar más conciencia y dedicar un poco de tiempo de la cátedra a repasos de conceptos básicos, lógicos y abstractos en vez de pedir más código. Hace falta más poder de análisis y de lógica.
Al menos esa sensación me está quedando.

Saludos,

Caral 23-08-2008 23:55:58

Hola
El ejemplo de cHackAll me parece que hace lo que necesita tsue y creo que no lo ha podido ver, me sigue pareciendo que necesita la tarea.
Bueno, como ya sabéis soy débil así que aquí esta el ejemplo de cHackAll pero traducido para Aprendiz.
Esta vez los datos los puede variar ya que uso edits, creo que le dará a tsue algo mas que pensar.;)
Saludos

Robert01 24-08-2008 00:40:11

Hola

Aquí el problema es que las variables que usa son difíciles de entender.
No se puede ver que relación hay entre escuela, tarea y aplazo.
Lo que está mal y que complica todo es el nombre que le dio a las variables.

Saludos

tsue 24-08-2008 04:09:20

Cita:

Empezado por Delphius (Mensaje 309042)
Tal vez resulte un tanto pesado el hecho y la manera en que me he dirjido. Mi intención es más mostrar un algoritmo de como proceder y no tanto el código.

El asunto aqui es una cuestión de lógica. El algoritmo que implementa realiza un repeat más le falta hacer dos cosas:
1. llevar un contador de pasadas
2. dividor el total acumulado por dicha cantidad

Por el punto 1 se resuelve facilmente con añadir una nueva variable.

Código Delphi [-]var cantidad: integer;


Y acumular el valor en donde sea necesario:
Código Delphi [-]cantidad := cantidad + 1; // O bien...
inc(cantidad);// O bien
inc(cantidad,1);


Al final del ciclo repeat o while (se puede hacer con ambos ciclos) simplemente hacer la división entera (si son enteros).

Código Delphi [-]promedio := total div cantidad;


En este ejemplo yo hago la división entera entre la variable total y cantidad.
Espero que ahora quede más claro.

Saludos,


hola, oye me intereso mucho el programa de este chavo sobre todo en la parte de

function MediaUntil(a, b: Cardinal): Cardinal;

asm
xchg eax, edx
xchg eax, ecx
xor eax, eax
cmp ecx, edx
jb @Exit
sub ecx, edx
push ecx
@Next:inc edx
add eax, edx
loop @Next
xor edx, edx
pop ecx
div ecx
@Exit:

pero no entiendo lo que kieren decir, estube leyendo en la ayuda de delphi, pero lo malo k esta en ingles, y tmb en wiky pero no encuntro todo muy claro
porcierto cuales son los comandos de suma y divicion

tsue 24-08-2008 04:35:03

Cita:

Empezado por Delphius (Mensaje 309051)
Yo también le recomendaría a tsue que leyera algún libro, tutorial o manual. En su caso le sería mejor empezar con el libro de Pascal de Luis Goyanes (no recuerdo si se escribe así, disculpen) Aguilar para que se familiarice con la sintaxis.
Perderle el miedo a presionar F1 también es necesario.

Y luego darse el paseo por el FTP para material más "avanzado".

Desconozco si se trata de algo para alguna materia en una tecnicatura, facultad, o escuela. No quisiera desmerecer al profesor de tsue, pero tras unos cuantos hilos en donde vienen los estudiantes recién iniciados noto la falta de conceptos básicos.
Me parece que en esto los profesores deberían tomar más conciencia y dedicar un poco de tiempo de la cátedra a repasos de conceptos básicos, lógicos y abstractos en vez de pedir más código. Hace falta más poder de análisis y de lógica.
Al menos esa sensación me está quedando.

Saludos,

hola, primero k nada muchas gracias por la ayuda k me estan brindando por una parte siento k me la estan regando un poco, pero bueno, por cierto la escuela es de nivel universitario, y me meti a ing en systemas, pero me toco un profe que no queria ke me tocara ya que hace todo como si lo supieramos, y para acabarla yo sali de electronico y apenas estoy biendo programacion. se k voy a batallar y voy a tener k leer libros y preguntar pues no se nace sabiendo, pero ahora ando algo preocupado pues no kiero empezar mal y estoy tratando de entender todo esto

Delphius 24-08-2008 10:53:53

Cita:

Empezado por tsue (Mensaje 309067)
hola, oye me intereso mucho el programa de este chavo sobre todo en la parte de

function MediaUntil(a, b: Cardinal): Cardinal;

asm
xchg eax, edx
xchg eax, ecx
xor eax, eax
cmp ecx, edx
jb @Exit
sub ecx, edx
push ecx
@Next:inc edx
add eax, edx
loop @Next
xor edx, edx
pop ecx
div ecx
@Exit:

pero no entiendo lo que kieren decir, estube leyendo en la ayuda de delphi, pero lo malo k esta en ingles, y tmb en wiky pero no encuntro todo muy claro
porcierto cuales son los comandos de suma y divicion

El código que ves escrito es ensamblador, o mejor conocido como lenguaje máquina. No es por ser malo pero... si no comprendes los lenguajes de mayor nivel... este menos.

A vista rápida puedo decirte que lo que hace es mover el contenido de un registro a otro, de vez en cuando hace un loop (bucle) y por el final me parece ver lo que es una división entera;). Yo de ASM no se mucho:o... pero Chackall puede explicarnos algunas cosas.

¿Comandos de suma y división? ¡No existen comandos en Delphi! A lo que tal vez te refieres es a operadores:

suma: +
resta: -
división entera: div
división: /
multiplicación: *
resto: mod

La ayuda viene en inglés... pero no hay escusa. Hay que leerla. Hay traductores de todos los gustos y sabores, tanto on-line como off-line. Nos guste o no, el que desea meterse en informática se tiene que acercar al inglés. A mi tampoco me agrada pero que se la va a hacer... hay que ser mejor que Schumacher: ¡A darle a la F1!:D

Cita:

Empezado por tsue (Mensaje 309068)
hola, primero k nada muchas gracias por la ayuda k me estan brindando por una parte siento k me la estan regando un poco, pero bueno, por cierto la escuela es de nivel universitario, y me meti a ing en systemas, pero me toco un profe que no queria ke me tocara ya que hace todo como si lo supieramos, y para acabarla yo sali de electronico y apenas estoy biendo programacion. se k voy a batallar y voy a tener k leer libros y preguntar pues no se nace sabiendo, pero ahora ando algo preocupado pues no kiero empezar mal y estoy tratando de entender todo esto

Nadie dijo que hayas nacido genio ni te ha tratado como un tonto, simplemente hice una opinión de lo parece ser la educación universitaria en general en cuestiones de la enseñanza sobre lenguajes y programación.
Si podemos apreciar que estás confundido y esto se debe a que la enseñanza ha sido pobre y/o el estudiante no pone la debida atención.

Veo que descubriste una gran verdad: hay que leer. Por algo están los libros. Y una gran verdad es que uno no debe quedarse unicamente con lo dicho en las cátedras. Mejor te lo digo ahora antes de que sea tarde: en la universidad no te enseñarán todo, te dan lo básico y suficiente para que comprendas los conceptos y tengas el conocimiento adecuado para ponerlo en la práctica.
Disculpa que haya sido duro, pero es la gran verdad. La formación universitaria no te prepara para conocer todo. Te prepara para que tu mismo lo descubras.

Por cierto, si no te es molestia ¿podrías escribir un tantito mejor? Hace un poco de daño a la vista ver demasiadas ks. Me ha costado leer y comprender tus oraciones.

Saludos,

eduarcol 24-08-2008 15:44:18

Solo por completar un poco, la mayoria de los grandes del club no tienen educación universitaria, al menos no en programación son autodidactas y mira como saben solo por ponerle amor al arte, es obvio que en los primeros años te va a costar aprender, pero luego le agarras el gusto.

Por cierto el autor que recomiendas Delphius es "Joyanes"

cHackAll 24-08-2008 23:59:13

Cita:

Empezado por Robert01 (Mensaje 309055)
Hola

Aquí el problema es que las variables que usa son difíciles de entender.
No se puede ver que relación hay entre escuela, tarea y aplazo.
Lo que está mal y que complica todo es el nombre que le dio a las variables.

Saludos

Vaya Robert1, lo que hice lo hice así porque no es mi intención hacer la tarea de nadie, talvez una guía me permití darle y en ello despertar su curiosidad. Como habrás notado en el análisis que realizaste a mis ejemplos, ninguno lo podrá presentar en su escuelita pues el primero no hace lo que el necesita y el segundo esta escrito de una manera "diferente".

Tampoco es mi obligación poner nombres "bonitos" a mis variables, cualquier programador por más inexperto que sea sabe que puede realizar un reemplazo con cualquier editor de texto, caso contrario es obvio que si realmente tiene interés hará un intento para entender que es qué.

PD; si te sientes mejor postealo tú con los nombres adecuados en lugar de realizar criticas poco constructivas.

Adios :mad:

ecfisa 25-08-2008 00:47:14

bueno, yo lo veo así, espero que te sirva.
 
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
con,sum: integer;
begin
con:= 9;
sum:= 0;
while con < 50 do
begin
inc(con);
sum:= sum + con;
end;
ShowMessage(FloatToStr(sum / 40));
end;
[/delphi]

Robert01 25-08-2008 01:25:20

Lo haré cuando tenga tiempo

Robert01 25-08-2008 01:45:25

Cita:

Empezado por tsue (Mensaje 309067)
hola, oye me intereso mucho el programa de este chavo sobre todo en la parte de

function MediaUntil(a, b: Cardinal): Cardinal;

asm
xchg eax, edx
xchg eax, ecx
xor eax, eax
cmp ecx, edx
jb @Exit
sub ecx, edx
push ecx
@Next:inc edx
add eax, edx
loop @Next
xor edx, edx
pop ecx
div ecx
@Exit:

pero no entiendo lo que kieren decir, estube leyendo en la ayuda de delphi, pero lo malo k esta en ingles, y tmb en wiky pero no encuntro todo muy claro
porcierto cuales son los comandos de suma y divicion

Con respecto a la respuesta de ChackAll:

El dice que no tiene la obligación de escribir código bonito y que quiso depertar la curiosidad del muchacho pero lo que si despertó fue la confusión, está claro ahí arriba.

Dice que no tiene la obligación de hacerle las cosas a nadie pero si nadie le había pedido que se las hiciera.

Yo solamente dije que me parecía confuso el nombre de las variables, es una opinión nada más, ¿no se puede criticar porque hay alguno que lo toma como agresión?

Saludos

Ñuño Martínez 25-08-2008 09:12:21

¡Qué malvadosos son, apañeros! El/La pobre tsue se está haciendo un lío morrocotudo. Como sigan así vamos a perder un adepto. ¡Un poco de seriedad, por favor! :mad: ¿Acaso no somos profesionales? ¿Acaso no nos encontramos, hace tiempo, en su misma situación? ¿Y los niños? ¿Por qué nadie piensa nunca en los niños? :mad::p:D

[off-topic]1999.... 1999... ¿qué hago? ¿Sucumbo al síndrome de Al? :rolleyes:

ContraVeneno 25-08-2008 15:06:11

Vamos a ver... si estás usando delphi:
En tu formulario colocas dos cajas de texto (Tedit) que vienen en la paleta standar. Al primero le llamaremos edtValorInical y al segundo edtValorFinal.

Además de esos dos TEdits, colocamos un botón y luego le das doble click a ese botón y Delphi te llevará al evento OnClick del mismo.

Ahí, la idea es hacer lo siguiente:

Código:

Variables: Contador, Sumatoria: Entero
              ValorInicial, ValorFinal: Entero
              Promedio: Real
Inicio
 Contador = 0
 Sumatoria = 0
 Promedio = 0
 ValorInicial = edtValorInicial.Text
 ValorFinal = edtValorFinal.Text
 Mientras ValorInicial <= ValorFinal hacer
  Sumatoria = Sumatoria + ValorInicial
  valorInicial = ValorInicial + 1
  Contador = Contador + 1
 Fin
 Promedio = Sumatoria / Contador;
 Mostrar(Promedio)
Fin

ya, no quería hacerte tu tarea, pero ya la hice, que los dioses del olimpo me perdonen...

yo lo hubiera hecho con un arreglo y usando la función "mean", pero bueno....

roman 25-08-2008 17:38:33

Código Delphi [-]
{
  Función para calcular el promedio de los números en un rango dado, usando
  while.
}
function Promedio(ValorInicial, ValorFinal: Integer): Double;
var
  I: Integer;

begin
  I := 0;
  while I > 0 do
    Sleep(0);

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

// Saludos

felipe88 25-08-2008 17:54:43

Cita:

Empezado por roman (Mensaje 309247)
Código Delphi [-]
{   Función para calcular el promedio de los números en un rango dado, usando   while. } 
function Promedio(ValorInicial, ValorFinal: Integer): Double; 
var   I: Integer;  
begin   I := 0;   while I > 0 do     
Sleep(0);    
Result := (ValorInicial + ValorFinal) / 2; 
end;


// Saludos

:D buenisimo...

roman 25-08-2008 17:58:14

Pues es que...

pa' que tanto ciclo, estando el camino tan derecho :D

// Saludos

ContraVeneno 25-08-2008 17:59:59

Cita:

Empezado por roman (Mensaje 309247)
Código Delphi [-]
{   Función para calcular el promedio de los números en un rango dado, usando   while. } 
function Promedio(ValorInicial, ValorFinal: Integer): Double; 
var   I: Integer;  
begin   
 I := 0;   
 while I > 0 do     
  Sleep(0);    
 Result := (ValorInicial + ValorFinal) / 2; 
end;


// Saludos

:eek: ¡Eso es abuso de poder! :D y eso me pasa a mi por pensar como programador....

Delphius 25-08-2008 18:03:10

Amigo roman, eso no se vale!:D

Saludos,


La franja horaria es GMT +2. Ahora son las 07:38:11.

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