Versión Completa : Problema es Free pascal
Alejandro_N12
agosto 7, 2006, 01:35
hola una pregunta me gustaria hacer una pequeña calculadora que sume, reste mulriplique y divida, pero porque no me deja compilar esto ???
program Calculadora;
var i, j: integer;
x: char;
begin
writeln ('Ingrese el primer numero a operar');
readln (i);
writeln ('Ingrese la operacion que desea realizar, si desea sumar +, si desea restar -, si desea multiplicar *, si desea dividir / ');
readln (x);
writeln ('Ingrese el otro numero a operar');
readln (j);
writeln ('El resultado de la cuenta es: ');
writeln (ixj);
readln;
end.
me aparece error en el ultimo writeln
®-Diegoي
agosto 7, 2006, 02:38
writeln ('El resultado de la cuenta es: ');
writeln (ixj);
readln;
end.
me aparece error en el ultimo writeln
Por qué no pruebas con writeln (i*x*j);? Yo no sé nada de PASCAL pero pues se me hace algo casi que obvio. Si no es así, mil disculpas.
SAludos!
Alejandro_N12
agosto 7, 2006, 02:52
mmmm... no, me sigue sin anda este caracter en pascal es el de multiplicar *
®-Diegoي
agosto 7, 2006, 03:08
mmmm... no, me sigue sin anda este caracter en pascal es el de multiplicar *
Ahhh no, ahora si entendí. Confieso que no había leido el código con detenimiento.
Lo que tienes que hacer es una comparación de los caracteres que recibiste en x para saber que ingresó el usuario. No sé como sea en PASCAL pero en C++ se puede hacer con un switch.
switch(x){
case 'x':
printf("%f",i*j);
break;
case '+':
printf("%f",i+j);
break;
case '-':
printf("%f",i-j);
break;
case '/':
printf("%f",i/j);
break;
}
Si llego a saber como es en PASCAL lo posteo.
SAludos!
®-Diegoي
agosto 7, 2006, 03:22
Bueno, estuve leyendo y en PASCAL sería más o menos así. Si hay algún error disculparán:
Case(x) of
'x':begin
writeln(i*j);
end;
'/':begin
writeln(i/j);
end;
'+':begin
writeln(i+j);
end;
'-':begin
writeln(i-j);
end;
end;
No sé si los caracteres de los case vayan con ' ' o no, así que pruébalo.
SAludos
Alejandro_N12
agosto 7, 2006, 03:45
y eso en que parte del codigo lo introduzco ? como quedaria en final ?
®-Diegoي
agosto 7, 2006, 03:55
No hermano cómo así? Pues justo después de "El resultado de la cuenta es" elimina la línea que que le marca error y coloca lo que le dije.
Entonces estoy comenzando a pensar que no tiene ni idea de lo que está haciendo.
Alejandro_N12
agosto 7, 2006, 04:02
y la verdad tiene razon xD, nose programar estoy aprendiendo tengo 15 años que queres
edit:
ya anda gracias por la ayuda =)
®-Diegoي
agosto 7, 2006, 04:22
Pues ya lo probé y si funciona, exactamente como lo coloqué.
Veee, todos los días estoy aprendiendo algo nuevo, ahora por ponerme a ayudar, me descargué el IDE y me puse a cacharrearle a PASCAL un rato. Todo conocimiento nuevo es bienvenido.
SAludos
y la verdad tiene razon xD, nose programar estoy aprendiendo tengo 15 años que queres
edit:
ya anda gracias por la ayuda =)
Y aprendiendo con pascal?
No seria mejor algo como C++?
®-Diegoي
agosto 7, 2006, 07:27
Y aprendiendo con pascal?
No seria mejor algo como C++?
Pues en ese sentido no le veo mucha diferencia. Si lo que quiere aprender es la lógica de la programación está bien. De hecho son lenguajes con muchas cosas similares y ya todos sabemos que la decisión del lenguaje no es lo que hace un buen programador.
SAludos!
Sip es verdad, pero me parece mejor que aprenda de una ves con un lenguaje que se use hoy en dia, aunque lo que dices es verdad, de los lenguajes mas usados es el C++ y no veo para que tener que cambiar despues de lenguaje y reacomodarse a otro.
Alejandro_N12
agosto 7, 2006, 11:52
lo que pasa es que voy a una escuela y me hacen aprender con turbo pascal. Si la escuela es mala las computadoras no anda ni Windows y en las que andan nos hacen usar word... para que ? nose pero bueh que le voy a hacer...
igual me interesaria C++... es lo mismo que C ?
si me podrian explicar un poquito cada uno les agradeceria lo unico que se es que esta el pascal y delphi que es la version grafica
---------------------------------------------------------------------------------------------------------
porque me aparece asi la division ??? tengo un libro de computacion y probe modificando el writeln (i/j); por un ABS (i/j); y no cambia nada el libro dice que el ABS muestra el valor absoluto del numero, tambien probe con otras variantes ademas de ABS pero me sigue dando asi la division
http://www.laneros.com/attachment.php?attachmentid=54596&stc=1&d=1155015353
®-Diegoي
agosto 8, 2006, 09:07
http://www.laneros.com/attachment.php?attachmentid=54596&stc=1&d=1155015353
En todo lado he encontrado que ese es el formato por defecto de la función writeln para imprimir, pero no dicen como cambiarlo :S. Si alguien sabe, pues bacano que despejaran la duda.
SALudos!
Alejandro_N12
agosto 8, 2006, 09:35
bueno si pero dentro de todo esa operacion de bien pero la estuve probando y me sale con esto, aca ya le erra en el resultado
http://www.laneros.com/attachment.php?attachmentid=54728&stc=1&d=1155090828
osea no le erra pero esto ya no esta bien
®-Diegoي
agosto 8, 2006, 10:01
bueno si pero dentro de todo esa operacion de bien pero la estuve probando y me sale con esto, aca ya le erra en el resultado
http://www.laneros.com/attachment.php?attachmentid=54728&stc=1&d=1155090828
osea no le erra pero esto ya no esta bien
jejeje, no la erra. La operación está bien ya que la está poniendo en notación científica 5.000E01 es lo mismo que 50!!!
Espero que la duda te quede resuelta!
SAludos
Alejandro_N12
agosto 8, 2006, 10:35
sisi abajo de la foto puse que no le erra pero no se puede poner bien ?
®-Diegoي
agosto 9, 2006, 10:21
sisi abajo de la foto puse que no le erra pero no se puede poner bien ?
Pues esa es la misma pregunta que ya habías puesto antes. Esperar a que algún corazón caritativo nos responda.
cperc
noviembre 8, 2006, 09:48
hola. alguien me podria guiar con este problema: tengo que escribir un programa en freepascal y estoy trancado en una parte del desarrollo y es esta: tengo que leer un texto de entrada, caracter por caracter, y contar cuantas veces se repite el mismo caracter de forma seguida es decir: ejemplo de entrada OOOp98999:
serian tres ceros, una p, un ocho, tres nueves. Si alguien me puede dar una mano mil gracias.
Alejandro_N12
noviembre 12, 2006, 10:15
si para mostrar que no te lo mueste cientificamente tenes que pones :2:2
el primer dos puntos es de la parte entera los que queres que te muestre y los otros de la parte decimal
vBulletin®, Copyright ©2000-2008, Jelsoft Enterprises Ltd.