![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Programa delphi ciclo if
Gracias amigo si es asi...pero es que hasta ahora estoy manejando mi primer ciclo y miren el programa que me toca hacer, es una bobada pero tengo errores y me estreza....este es el programa que me piden:
Construya una aplicación que capture dos datos enteros(VyNUM) y muestre en un labe el resultado de la siguiente funcion: función: nf(V) = 100*V si NUM =1 nf(V) = 100*Vsi NUM = 2; nf(V) = 100/V si NUM = 3, para cualquier otro valor de NUM el valor de la función es 0. |
|
#2
|
||||
|
||||
|
Cita:
¿Haz estado probando? ¿En que avanzaste? ¿que errores?¿Porqué no nos mencionas dichos errores? ¿Porque no nos muestra el código?Tal como dices, es una tontera... y como recién te estas iniciando te pido que por favor tomes mas en serio esto. A modo en que pones el texto, quieriendo resaltar el problema, más no asi los errores que haz tenido... das pie que surjan malinterpretaciones. Sobre todo esta: ¡Clubdelphi no hace tareas! Por favor, te invito a leer nuevamente la guia de estilo. Saludos, |
|
#3
|
||||
|
||||
|
Codigo if delphi
Que pena delphius, pero yo tomo la seriedad de las cosas, lo que pasa es que no soy antiguo ni en el club ni soy maestro en delphi, y que pena por no haber redactado bien...y escribi el enunciado por que es una base de lo que me estan pidiendo, no para que me hagas la tares, creeme amigo no soy parasito para estar diciendole a las personas que hagan mis cosas...tratare de explicar lo que necesito....esto es lo que llevo del codigo:
Código Delphi [-]unit ufrmcuarto; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type Tfrmcuarto = class(TForm) StaticText2: TStaticText; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; StaticText1: TStaticText; procedure Edit1Change(Sender: TObject); procedure Edit2Change(Sender: TObject); procedure Label1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmcuarto: Tfrmcuarto; resultado: integer; implementation {$R *.dfm} procedure Tfrmcuarto.Edit1Change(Sender: TObject); var num : integer; begin num := strtoint(Edit1.Text); end; procedure Tfrmcuarto.Edit2Change(Sender: TObject); var v: integer; begin v := strtoint(Edit2.Text); end; procedure Tfrmcuarto.Label1Click(Sender: TObject); begin Label1.Caption := strtoint(resultado); If (strtoint(Edit1.Text) := 1) then resultado := (100) * strtoint(Edit2.Text); Else ShowMessage('prueba'); end; end. Bueno el problema es que no se como manejar bien el if, ya que solo me dieron la estructura general...el hecho es que como pueden ver en el codigo recivo los datos por medio de Edit. Me dicen que si num = 1 o num = 2 ejecuto una funcion que es esta: f(V) = 100*V si NUM =1 f(V) = 100*Vsi NUM = 2 y si num es diferente a 1 o 2 la funcion va ser 0 inmediatamente, y v es el segundo edit, ese dato lo implementa el usuario, y se ejecutara en caso de que el programa desarrolle cualquier funcion. Lo que no entiendo es que si estoy manejando mal algo en el programa me ayuden a ver que es ?....y me digan como es la forma correcta....mi problema suerge en el manejo del IF y de los edit... OBSERVACION: Tengo a resultado en una variable global tipo entero, para poderlo imprimir en el Label. |
|
#4
|
||||
|
||||
|
¿Podrías por favor editar el mensaje y usar las etiquetas [ DELPHI ] [ /DELPHI ] (sin espacios)?
Esto hará que el código sea más legible. Tengo una duda respecto al código que tienes... ¿Porqué haces que al presionar clic en el label ejecute la operación? Sería más indicado emplear el evento OnClick de un botón. Por el tema del if, sería más correcto emplear un CASE. Su sintaxis es como sigue:
Con esto ya tienes para arreglar un poco más tu código. Perdona si soy duro... es que pedimos que las personas que preguntan se interioricen y participen del problema. Dijiste que te lo tomas en serio, pero es que si te lo tomaras más en serio, hubieras expuesto los detalles y los errores en vez de esperar a que los adinivinemos. Prueba nuevamente siguiendo el case, no estás tan errado. Saludos, |
|
#5
|
||||
|
||||
|
If delphi
Ok, entiendo delphius, si se ve mas facil por el switch que utilizas, estaba pensando en hacerlo asi, y lo hare como me dijiste, pero haber si va asi la estructura, tu me escribiste esto:
que pena amigo preguntar tanto, pero es lo que no entiendo, y yo digo las cosas que no entiendo....y que tendria que modificar en mi codifo si lo hago por if, es que es un trabajo de clase, y tu me entiendes me toca seguir la rutina del profesor, ya que estamos viendo especificamente el if, pues aun no lo ha explicado pero me gusta adelantarme por mis propios medios....garcais delphius y que pena molestar tanto... ![]() |
|
#6
|
||||
|
||||
|
BuRtOn,
Respondiendo a tu duda, variable debe ser reemplaza por aquella variable que tu desees evaluar. En tu caso NUM. ¿Que va después de los dos puntos? Las sentencias que deben hacerse en caso de que variable cumpla dicho valor. por ejemplo:
El ejemplo es simple, si Nota tiene el valor 1, mostrará en pantalla un cuadro de díalogo con el mensaje Burro. En cambio si Nota tiene el valor 10, mostrará Genio, y una vez confirmado el mensaje (botón aceptar), se ejecutará la función (tema que verás más adelante) PedirBeca que recibe como parámetro la variable Nota, y guardará el resultado esperado en alguna variable Beca. Si Nota tiene cualquier otro valor que no sea 1 o 10... no se hace nada. Si te resulta cómodo usar IFs:
Notarás que es más engorroso el proceso... en fin... usa lo que te guste. El valor resultado lo estás mostrando bien. Saludos, |
|
#7
|
||||
|
||||
|
Cita:
![]() ![]() Me sorprende mucho porque un "IF" es la estructura más simple y sencilla de cualquier lenguaje de programación; si tienes problemas con un "IF", tienes muchos y muy serios problemas.O te estas equivocando de carrera, o de plano tu profe es muy malo o no se que pensar... Un libro Burton, lee un libro...
__________________
|
|
#8
|
||||
|
||||
|
Contraveneno no soy malo ni mi maestro es malo, es que usted es perfecto o que ??? osea me pregunto si alguna vez tuviste errores solo voy en 2 año de la universidad, he visto solo c++ y java, y lo que no entendia hera como iba la estructura del if, mire como mi profesor me dio la estructura del if:
y mire como despues me dice delphius que es:
me equivoque fue por que pense que la condicion iba entre parentesis, y mi maestro no coloco end al final del if y eso no lo sabia, y si men, equivocarse es de humanos , y con eso es que uno aprende o es que tu te la sabias todas cuando empesaste y nunca te equivocaste en nada ??? perdon por ser tan directo, pero pareciera que tu nunca ubieras tenido errores....y no me equivoque de carrera, si me equivoque oh no lo decido solo yo, ninguna otra persona me lo puede desir... Bueno contraveneno lo otro que me doy cuenta, es que tu como que nunca ayudas sin antes hacer sentir mal a la otra persona, he visto algunas de tus respuestas al foro, y es asi, que malo es eso, que sepas tanto y humilles mucho....lo lamento hombre....pero mira lo que me escribiste, no me aportaste nada, y si me criticaste todo, lo unico que aportaste fue, lee un libro BUrToN .......en fin contraveneno gracias... |
|
#9
|
||||
|
||||
|
BuRtOn,
No lo tomes a mal, yo también te aconsejo una sana lectura. Puedes comenzar con la Cara Oculta de Delphi que la puedes encontrar en la sección FTP. La estructura difiere porque es requisito de poner begin-end cuando se trata de varias sentencias, si se trata de una sola basta con poner como lo indicó tu profesor. El compilador así lo exije. La regla es: Cita:
Todos tenemos errores, muy seguro que ContraVeneno tuvo sus tropiezos. Pero el problema aquí es que a ti, lamentablemente te falta lectura. No lo tomes a mal, pero es que tus preguntas pasan por lo básico del lenguaje. Y ello está bien redactado tanto en la ayuda, como en libros. Mis mensajes han sido deliberadamente expuestos así para que tu mismo puedas descubrir donde estan tus fallas. La idea es que tu aprendas y razones, no que copies. Por cierto, nunca te debes quedar con lo visto en clase... recuerda y ten presente que la programación es más de LOGICA que saberse cada rincón del lenguaje. Saludos, |
|
#10
|
||||
|
||||
|
Hola
Veamos un poco este enredo: Código Delphi [-]If (condicion) then proceso1; Else proceso2; Bueno, esto no funciona, el else no puede estar precedido de un punto y coma, si no hay un principio y un fin puede brincarse el resultado a su antojo, osea el profe ![]() Código Delphi [-] if Nota = 1 then begin ShowMessage('Burro'); end else begin if Nota = 10 then begin ShowMessage('genio'); end; Aqui delphius esta haciendo una lista de If else, en este caso con dos opciones claras, como veras el else no esta precedido por un punto y coma y cada sentencia empieza y termina, esta mucho mas claro y funcional. Lo mismo seria para una sentencia simple: Código Delphi [-]if Nota = 1 then ShowMessage('Burro') // no tiene punto y coma. else ShowMessage('genio'); end; En este caso lo contrario de 1 sera genio. Ahora en esto: Cita:
Saludos Edito: no pude colocar las etiquetas, por favor si algun moderador me ayuda, gracias. |
|
#11
|
||||
|
||||
|
Cita:
En fin, en un libro es muy difícil que se equivoquen (aunque no imposible). O incluso otra mucho más fácil, presionando F1 en delphi, seguro encontrarás toda la explicación de todo relacionado con delphi, ayudas, explicaciones y hasta ejemplos de como utilizar los comandos, eso, seguro te ayuda. P.D. Por cierto, que sea "If (condición) then..." o "If condición then..." no tiene la menor importancia, es decir, si viene con paréntesis o no, no te afecta en nada al ser una condición sencilla, solo afectan si evalúas varias condiciones a la vez... 2da P.D.: Gracias Caral ![]()
__________________
Última edición por ContraVeneno fecha: 05-02-2008 a las 18:06:58. |
|
#12
|
||||
|
||||
|
Solucion problema Delphi 7.0
Gracias amigos por ayudar que pudiera entender lo de los condicionales if y el resto de cositas, que pena si los ofendi con mis comentarios, recivi la sancion, pero es que en realidad estaba estrezado y aparte de eso , me tocaba responder por ese trabajo, miren como me quedo el programa, ha contraveneno aplique todo lo que me habias dicho....mira utilizando el if y el RadioBotton...
ya voy aprendiendo...creamen que han sido de gran ayuda....y eso que lo dificil fue que empece desde 0, y ustedes me han ayudado a crecer en delphi.... ![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| AYUDA por favor!!! | Melcv | Varios | 2 | 28-06-2006 21:19:35 |
| AYUDA, por favor! | Waldo | Conexión con bases de datos | 5 | 01-11-2003 17:49:02 |
| ayuda por favor | haffo | Varios | 6 | 23-10-2003 03:50:33 |
| ayuda por favor | haffo | Varios | 2 | 14-10-2003 16:08:45 |
| Por Favor Ayuda | DML | Varios | 3 | 16-05-2003 00:44:26 |
|