Pascal/Turbo Pascal - AYUDA modificar bucle

   
Vista:

AYUDA modificar bucle

Publicado por oscar (64 intervenciones) el 29/10/2012 20:46:48
Modifique este código, que es uno de los ejemplos usados en el tema, para que en lugar de usar un bucle repeat-until se use un bucle while-do. Recuerde que la ejecución deberá ser idéntica.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
repeat
write('Introduzca el primer operando: ');
readln(a);
write('Introduzca el segundo operando: ');
readln(b);
writeln(' Opciones: S(sumar), R(restar), M(multiplicar), D(dividir)');
readln(opcion);
case (opcion) of
'S','s' : res:= a+b;
'R','r' : res:= a-b;
'M','m' : res:= a*b;
'D','d' : res:= a/b;
end;
writeln(' El resultado es ', res);
write(' Terminar (S/N)?: ');
readln(opcion);
until ((opcion ='S') or (opcion ='s')) ;


ni siquiera se como empezarlo
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

AYUDA modificar bucle

Publicado por ramon (2072 intervenciones) el 29/10/2012 21:43:09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{Mira quedaría así}
 
{repeat} while (opcion <> 'S') and (opcion <> 's') do
  begin
write('Introduzca el primer operando: ');
readln(a);
write('Introduzca el segundo operando: ');
readln(b);
writeln(' Opciones: S(sumar), R(restar), M(multiplicar), D(dividir)');
readln(opcion);
case (opcion) of
'S','s' : res:= a+b;
'R','r' : res:= a-b;
'M','m' : res:= a*b;
'D','d' : res:= a/b;
end;
writeln(' El resultado es ', res);
write(' Terminar (S/N)?: ');
readln(opcion);
{until ((opcion ='S') or (opcion ='s'))} 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

AYUDA modificar bucle

Publicado por oscar (64 intervenciones) el 29/10/2012 21:47:38
Ramon y esto de donde sale
{repeat} while (opcion <> 'S') and (opcion <> 's') do me refiero a lo q esta entre parentesis que significa? .
solo habria q cambiar el repeat por un while do y el until de abajo de todo q esta en una llamda se suprime?
si trato de compilarlo me da el siguiente en (1,15)error syntax error, "begin" expected but while found lo compile tal cual...habria q poner lo de las variables (var)? q lio....
gracias
lo puse asi
Program:bucle;
uses:crt;
var: ?
{repeat} while (opcion <> 'S') and (opcion <> 's') do
begin
write('Introduzca el primer operando: ');
readln(a);
write('Introduzca el segundo operando: ');
readln(b);
writeln(' Opciones: S(sumar), R(restar), M(multiplicar), D(dividir)');
readln(opcion);
case (opcion) of
'S','s' : res:= a+b;
'R','r' : res:= a-b;
'M','m' : res:= a*b;
'D','d' : res:= a/b;
end;
writeln(' El resultado es ', res);
write(' Terminar (S/N)?: ');
readln(opcion);
{until ((opcion ='S') or (opcion ='s'))} end;

las variables no se cuales serian....
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

AYUDA modificar bucle

Publicado por ramon (2072 intervenciones) el 29/10/2012 22:10:49
Eso es lo tuyo anulado lo que esta { }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
 opcion : char;
  s, b, res : real:
 
 begin
   while (opcion <> 'S') and (opcion <> 's') do
begin
write('Introduzca el primer operando: ');
readln(a);
write('Introduzca el segundo operando: ');
readln(b);
writeln(' Opciones: S(sumar), R(restar), M(multiplicar), D(dividir)');
readln(opcion);
case (opcion) of
'S','s' : res:= a+b;
'R','r' : res:= a-b;
'M','m' : res:= a*b;
'D','d' : res:= a/b;
end;
writeln(' El resultado es ', res);
write(' Terminar (S/N)?: ');
readln(opcion);
end;
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

AYUDA modificar bucle

Publicado por oscar (64 intervenciones) el 29/10/2012 22:17:02
pero en var q tendria q poner, a ,b,opcion?
a y b serian string y opcion ?
no entiendo nada...
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

AYUDA modificar bucle

Publicado por ramon (2072 intervenciones) el 29/10/2012 22:20:12
Hay lo tienes todo ejecutalo
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

AYUDA modificar bucle

Publicado por oscar (64 intervenciones) el 29/10/2012 22:24:30
syntax error en (1,8) "indentifier" expected but ":" found

esto es lo q puse

Program:bucle;
uses:crt;
var: opcion : char;
s, b, res : real;

begin
while (opcion <> 'S') and (opcion <> 's') do
begin
write('Introduzca el primer operando: ');
readln(a);
write('Introduzca el segundo operando: ');
readln(b);
writeln(' Opciones: S(sumar), R(restar), M(multiplicar), D(dividir)');
readln(opcion);
case (opcion) of
'S','s' : res:= a+b;
'R','r' : res:= a-b;
'M','m' : res:= a*b;
'D','d' : res:= a/b;
end;
writeln(' El resultado es ', res);
write(' Terminar (S/N)?: ');
readln(opcion);
end;
end

perdona por marearte....pero al poner las variables tp se pq no se pone a y si b...
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

AYUDA modificar bucle

Publicado por ramon (2072 intervenciones) el 29/10/2012 22:29:34
Program:bucle;

Error Program bucle;
no lleva los puntos

en end final falta el punto revisarlo bien esta privado.
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

AYUDA modificar bucle

Publicado por oscar (64 intervenciones) el 29/10/2012 22:36:17
OK he podido resolver tb otros errores, gracias ramon y perdona por hacerte perder el tiempo , de verdad q ya lo ultimo...en las variables..tb tengo q poner a? pq sino no entiendo q se ponga b
gracias
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

AYUDA modificar bucle

Publicado por ramon (2072 intervenciones) el 29/10/2012 22:39:30
Disculpado y suerte

s, b, res : real;

error mio disculpa son
a, b, res : real;

son las variables de entrada de datos para las operaciones que realizas
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