Pascal/Turbo Pascal - Ayuda...

   
Vista:

Ayuda...

Publicado por Sheik (9 intervenciones) el 05/09/2009 22:25:05
k onda mucha !! de casualidad alguien me puede ayudar lo que apasa es que nesecito aser la apariencia de una calculadora obiamente en pascal pero yo la ize pero no era asi y asto donde yo se puedo usar un for pero nesecito ayuda profesional de antemano gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda...

Publicado por Willy (181 intervenciones) el 06/09/2009 09:08:49
Hola Sheik.
Por casualidad tenía una calculadora sencilla por ahí. Pero dices que lo que necesitas es hacer la "apariencia" de la calculadora, o sea solo el dibujito. Esto es relativamente fácil.

Por si no es este el caso, ya que dices que la hiciste pero no era así, te dejo el código de una calculadora simple. Puedes usar números con decimales. Suerte!

Program calcu;
Uses Crt;
Var
Num1 : real;
Num2 : real;
Resultado : real;
Opcion : string;

Procedure Repita;
Begin
ClrScr; TextColor(10);
writeLn(' <<<<<< CALCULADORA. (Everest32.com) >>>>>>');
Writeln ('1: Sumar');
Writeln ('2: Restar');
Writeln ('3: Multiplicar');
Writeln ('4: Dividir');
Writeln ('5: Decimal a binario');
Writeln;
Writeln ('Escriba su opcion: '); writeln;
End;

Procedure Suma;
Begin
Write ('Ingrese primer numero: ');
Readln(Num1);
Write ('Ingrese segundo numero: ');
Readln(Num2) ;
Resultado :=(Num1 + Num2);
TextColor(6); writeln; writeln('Resultado: ', Resultado:0:8);
End;

Procedure Resta;
Begin
Write ('Ingrese primer numero: ');
Readln(Num1);
Write ('Ingrese segundo numero: ');
Readln(Num2);
Resultado := (Num1 - Num2);
TextColor(6); writeln; writeln('Resultado: ', Resultado:0:8);
End ;

Procedure Multiplica;
Begin
Write ('Ingrese primer numero: ');
Readln(Num1);
Write ('Ingrese segundo numero: ');
Readln(Num2);
Resultado := (Num1 * Num2);
TextColor(6); writeln; writeln('Resultado: ', Resultado:0:8);
End ;

Procedure Divide;
Begin
Write ('Ingrese primer numero: ');
Readln(Num1);
Write ('Ingrese segundo numero: ');
Readln(Num2);
Resultado := (Num1 / Num2);
TextColor(6); writeln; writeln('Resultado: ', Resultado:0:8);
End ;

Procedure Dec_a_Bin;
var I, Cociente, Contador: integer;
NumeroBin: array[1..16] of integer;
CadenaBin,CadenaTemp: string;
Begin
Contador := 1; CadenaBin := '';
For I := 1 to 16 do NumeroBin[I] := 0;
Write ('Ingrese numero a convertir: ');
Readln(Cociente);
Repeat
NumeroBin[Contador] := Cociente mod 2;
Contador := Contador + 1;
Cociente := Cociente div 2;
Until Cociente < 1;

TextColor(6); writeln; writeln('Resultado: ');
For I := 16 downto 1 do write(NumeroBin[I]);

End;

Begin

Repeat
Repita;
Readln(opcion); writeln;
If opcion = '1' then Suma;
If opcion = '2' then Resta;
If opcion = '3' then Multiplica;
If opcion = '4' then Divide;
if opcion = '5' then Dec_a_Bin;
TextColor(10); Writeln; Writeln('¨Desea continuar? (s/n)');
Readln(opcion);
until (opcion = 'n') or (opcion = 'N');
End.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: a Willy

Publicado por edin (9 intervenciones) el 10/09/2009 01:03:59
Hola Willy ...
como te va compa mira el problema este yo el codigo ya lo tengo... pero lo que yo necesito es la apariencia de una calculadora para poder yo meter asi todos los comandos pero no se como aser lo por ejemplo te dejo est codigo para ver si tu lo puedes terminar jejejej porfa buena onda .....

que tenga la forma de la calculadora con el teclado numerico pero ojo no te estoy pidiendo que lo termines ya que yo ya lo hise pero aunque no me locreas no se como aser del todo bien el for bueno espero que ayudes buen bye........

program calculadora_cientifica;
uses crt;
var
total,tecla,uve:char;

{este forward nos sirve para movilizarnos en los demas sub programas}

procedure pantalla; forward;
{aqui empieza el procedimiento de la pantalla}
procedure pantalla;
var
x:integer;
begin
textcolor(2);
clrscr;
textbackground(5);
gotoxy(25,05); writeln('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');

gotoxy(25,20); writeln('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
for x:= 6 to 75 do
begin
gotoxy(25,6); writeln('Û');
end;
end;

begin
clrscr;
pantalla;
readkey;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: a Willy

Publicado por Willy (181 intervenciones) el 12/09/2009 04:53:00
Hola edin. Bueno, dices qué no quieres que lo termine y que no sabes hacer lo del for.
Lo del for sería así:

program calculadora_cientifica;
uses crt;
var
total,tecla,uve:char;

{este forward nos sirve para movilizarnos en los demas sub programas}

procedure pantalla; forward;
{aqui empieza el procedimiento de la pantalla}
procedure pantalla;
var
y:integer;
begin
textcolor(2);
clrscr;
textbackground(5);
gotoxy(25,05); writeln('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');

gotoxy(25,20); writeln('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
for y:= 6 to 19 do
begin
gotoxy(25,y); writeln('Û');
gotoxy(48,y); writeln('Û');
end;
end;

begin
clrscr;
pantalla;
readkey;
end.
--------------------------------------------------------------------------------------------------------------
Aunque yo te recomiendo hacerlo en modo gráfico para que quede mejor. Vuelve a postear si quieres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: a Willy

Publicado por edin (9 intervenciones) el 12/09/2009 17:58:29
K onda!! compa y lo del modo grafico como seria ?? ya que por lo que eh. escuchado es bien complicado pero si me podes ayudar te lo agradecira bastante jeejej pero tengo una duda un amigo mio ya abia echo la calculadora pero en mi pascal no me corre ... el dice que el pascal que yo tengo no soporte el modo grafico o algo por el estilo... por eso no me corre en la maquina y e clavo es este (yo no puedo cambiarle cosas xq es el mismo que nos dejaron en el colegio ) bueno si me ayudas buena onda mano !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: a Willy

Publicado por Willy (181 intervenciones) el 13/09/2009 06:12:26
Ok. Edin.
Voy a intentar hacerte una calculadora en modo gráfico (solo el dibujo) pero antes me tenés que decir si debe ser normal o científica, si es en Turbo Pascal (porque no uso el Free), si vas a usar el mouse o con el teclado. Bueno, de todas formas el código solo te va a servir para saber cómo hacer vos el dibujito y cómo inicializar las gráficas es fácil.

Es probable que el programa de tu amigo no te corre porque está en modo gráfico. Muchas veces da el error: division by zero (muy conocido). Se supone que ocurre en computadoras de más de 266 MHz (o sea en todas jeje) pero existe un parche que te arregla el problema, lo puedes descargar de la página de DriverOp:

http://www.driverop.com.ar/pascal.php#2

Espero tu respuesta.
PD. Hablás como si fueras centroamericano, yo lo soy.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: a Willy

Publicado por Diego Romero (997 intervenciones) el 13/09/2009 06:29:16
Deberías indicar por qué no te corre, qué mensaje de error (si es que hay alguno) o qué comportamiento manifiesta cuando ejecutas tal programa.

Si estás usando Windows XP o VIsta, lo más probable es que sea Windows el que no te deje ejecutar tal programa porque las bibliotecas gráficas de Turbo Pascal (como todo en Turbo Pascal) pretenden acceder al hardware directamente (para inicializar la tarjeta de video) pero Windows no permite el acceso directo a hardware.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: a Willy

Publicado por edin (9 intervenciones) el 15/09/2009 07:29:12
ok.... mejor pasame tu correo y yo te mando el codigo de la calcu grafica y es mas rapido por que supesta mente ya esta terminada y solo es de cambiarle de color al teclado entre otras cosas........"!!!! .... bueno hay al rato
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: a Willy

Publicado por edin (9 intervenciones) el 18/09/2009 03:34:07
k onda compa !! disculpa pero me puedes orientar por que el error que me tira es de windows.tpu o algo asi y por eso no me corre el programa dime que es lo que me tengo que bajar para que mi pascal lo corra de antemano gracias cuas......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar