Pascal/Turbo Pascal - ejercicio de turbo pascal !ayuda!

 
Vista:

ejercicio de turbo pascal !ayuda!

Publicado por nelson casaña (2 intervenciones) el 11/04/2014 20:36:29
hola, programadores y programadoras de este foro tan util tengo el siguiente problema y quiero resolverlo

me iden que ejecute un programa en turbo pascal con las siguientes caracteristicas:



en una cafeteria venden empanadas
si un cliente compra 2 empanadas se obsequia refresco
si un cliente compra 3 empanadas se le obsequia 2 refrescos
si un cliente compra mas de 4 empanadas se le obsequia un redresco y un cafe

espero me puedan ayudar, se los sabre agradecer.
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
sin imagen de perfil

ejercicio de turbo pascal !ayuda!

Publicado por Diego (98 intervenciones) el 12/04/2014 00:08:07
Jeje, me parece que faltan un poco de detalles, ¿o es que el enunciado dice exactamente eso?,

Una posible resolucion seria la siguiente:
preguntar cuantas empanadas quiere comprar(con un write);
luego ingresar desde teclado la cantidad de empanadas (con un readln o read);
después hacer una anidación de if
------si en número ingresado es 2 entonces
----------escribir "se ha echo acrededor de un refresco gratis" (con writeln);
------sino
---------¿el numero ingresado es 3?
---------si: escribir "se ha echo acrededor de dos refrescos gratis" (con writeln);
---------no: escribir "se ha echo acrededor de un refresco y un café gratis" (con writeln);


funcionaria casi igual con un case en vez de un if anidado.
Pero aún así no está claro que tenés que hacer con esas descripciones.
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

ejercicio de turbo pascal !ayuda!

Publicado por nelson casaña (2 intervenciones) el 02/05/2014 15:35:03
si de todas maneras muchas gracias eso me servirá de discusión con el profesor, el coloco esos parametros para el ejercicio...........

gracias son muy buenos en esto......
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
sin imagen de perfil

ejercicio de turbo pascal !ayuda!

Publicado por David (224 intervenciones) el 13/04/2014 21:50:45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Uses CRT;
 
 
var
  COMPRA : Byte;
 
begin
  Repeat
    Clrscr;
    Writeln('¨Cuántas empanadas desea?');
    readln(COMPRA);
 
  Until compra>0;
      Case compra of
      2 : Writeln('Le obsequiamos con un refresco');
      3 : Writeln('Le obsequiamos con dos refrescos');
      4..255 : Writeln('Le obsequiamos con un refresco y un café');
    end;
  readln;
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
sin imagen de perfil

ejercicio de turbo pascal !ayuda!

Publicado por Diego (98 intervenciones) el 14/04/2014 03:25:06
Um... creo que el until debería ir al final del case, ya que sino lo único que hace es limpiar la pantalla y preguntar por la cantidad de empanada, pero la opción del case siempre será 0m y debido a que no hay un case else seguirá de largo y terminará o lanzará un error(dudo lo del error, me inclino más al pasarse el case);
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
sin imagen de perfil

ejercicio de turbo pascal !ayuda!

Publicado por David (224 intervenciones) el 16/04/2014 16:04:57
Pues sí, y no. Me explico:

Con ese repeat no se trata de repetir pedidos sino de que no se introduzca una cantidad menor que cero, ya que no tendría sentido que alguien pidiera, por ejemplo, -2 empanadas. Lo que sí podrías hacer es utilizar otra estructura repetitiva para que se ejecutara esa parte mientras no se cumpla una condición. Por ejemplo, mientras el número de empanadas no sea igual a cero. Una forma de resolverlo sería por ejemplo la siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
uses CRT;
 
 
var
  COMPRA : Byte;
 
begin
  compra:=2;
  While compra>0 do
  begin
  Repeat
    Clrscr;
    Writeln('¨Cuántas empanadas desea?');
    readln(COMPRA);
 
  Until compra>=0;
      Case compra of
      2 : Writeln('Le obsequiamos con un refresco');
      3 : Writeln('Le obsequiamos con dos refrescos');
      4..255 : Writeln('Le obsequiamos con un refresco y un café');
    end;
  writeln('Pulse una tecka para continuar...');
  readkey;
  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