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)

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 10:40:55.

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