![]() |
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 |
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. Por cierto, estará bien así maestros?:confused:.:D:D:D Saludos |
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" ;) |
Hola
Me alegra verte igualmente, como siempre amigo.:) Ah, ya hiciste la tarea:D:D:D Saludos |
Cita:
Saludos |
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... |
Cita:
|
Cita:
|
Cita:
oye muchas gracias por la ayuda pero no puedo acer que me corra bien tengo esto como codigo
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. |
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, |
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
|
Cita:
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, |
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
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) |
Cita:
|
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:
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, |
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.
Y acumular el valor en donde sea necesario:
Al final del ciclo repeat o while (se puede hacer con ambos ciclos) simplemente hacer la división entera (si son enteros).
En este ejemplo yo hago la división entera entre la variable total y cantidad. Espero que ahora quede más claro. Saludos, |
Hola
Estas seguro amigo?. No se, algo me falta, por eso te lo pregunto. Saludos |
Cita:
si estoy bien ya nomas me falta traducir lo de mas |
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 |
Cita:
|
Cita:
Tal vez lo que si está faltando, y ya lo dirá tsue, es como suministrar el valor inicial y final. Saludos, |
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 |
Cita:
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
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 |
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 |
Cita:
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 |
Cita:
|
Cita:
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:
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, |
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" |
Cita:
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: |
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] |
Lo haré cuando tenga tiempo
|
Cita:
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 |
¡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: |
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: Enteroyo lo hubiera hecho con un arreglo y usando la función "mean", pero bueno.... |
// Saludos |
Cita:
|
Pues es que...
pa' que tanto ciclo, estando el camino tan derecho :D // Saludos |
Cita:
|
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