Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-08-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 17
gerupc Va por buen camino
Red face Duda con ejercicio de Diagrama de Barras

Hola,

tengo un problema con un ejercicio. La presentación ha de ser así:

Código:
Introduce las longitudes del diagrama de barras a representar:
4 <R>                     I****

0 <R>                     I

5 <R>                     I*****

11 <R>                   I***********

14 <R>                   I**************

10 <R>                   I**********

7 <R>                     I*******

1 <R>                     I*

-1 <R>

¿Deseas representar mas diagramas de barras (S/N): N <R>
Entonces, donde me bloque es a la hora de implementar un bucle for:

Código Delphi [-]
begin   writeln('Introduce las longitudes del diagrama de barras a representar: ');
  readln(cantidad);
      asterisco := '*';
    for i := 1 to cantidad do       Begin          //Aquí he probado unas cuantas cosas...pero nada.
      end;

Se me ha ocurrido el hacer una conversión de datos y convertir el asterisco a entero para poderlo multiplicar por una variable de valor 1. De esta manera se me quedaría variable := asterisco solo (ya que lo he multiplicado por 1) y así poder hacer.

Código Delphi [-]
write('I', asterisco);


Alguna manera 'mejor'?? o más bien, alguna manera de hacerlo ??

Un saludo,

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto

Última edición por gerupc fecha: 12-08-2007 a las 00:47:59.
Responder Con Cita
  #2  
Antiguo 12-08-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código Delphi [-]
uses SysUtils; {$apptype console}
 
var
 Repeticiones, Cantidad: ShortInt;
 Choice: Char;
 
label Back;
begin
 Back: Write(#13'Introduce las longitudes del diagrama de barras a representar: ');
 ReadLn(Repeticiones);
 while Repeticiones > 0 do
  begin
   Dec(Repeticiones);
   Read(Cantidad);
   Write(#9);
   if Cantidad > -1 then
    Write('I');
   while Cantidad > 0 do
    begin
     Write('*');
     Dec(Cantidad);
    end;
   WriteLn;
  end;
 Write('¿Deseas representar mas diagramas de barras (S/N): ');
 ReadLn(Choice);
 if (Choice = 's') or (Choice = 'S') then
  goto Back;
end.

Espero tengamos buena puntuacion en el "ejercicio"
Responder Con Cita
  #3  
Antiguo 13-08-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 17
gerupc Va por buen camino
Exclamation

Hola,

muchas gracias por tu ayuda, de veras.

Pero no puedo utilizar 'label', y una cosa: qué es lo que hace la función 'dec'? y elWrite(#9); ?

Una vez más, gracias y un saludo,

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita
  #4  
Antiguo 13-08-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Dec decremente la variable introducida en 1, Write(#9) pone un tabulador, si no puedes usar label pues usa un repeat until
Responder Con Cita
  #5  
Antiguo 13-08-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 17
gerupc Va por buen camino
Smile

Hola,

muchísimas gracias, voy a probar a ver...

Un saludo,

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita
  #6  
Antiguo 13-08-2007
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Poder: 20
b3nshi Va por buen camino
Mmm creo de esa forma se resuelve el problema q tienes pero por si las moscas viendolo al codigo se me ocurre modificarlo de esta forma (y de acuerdo a mi interpretacion de consigna):

Código Delphi [-]
uses SysUtils; {$apptype console}
var 
i: integer;
Rep: ShortInt;
res: Char;

begin
while (res = 's') or (res = 'S') do //no recuerdo si se usa or o ||
begin 
Write(#13'Introduce las longitudes del diagrama de barras a representar: '); 
ReadLn(Rep);
if rep >= 0 then
 begin
 Write('I');
   for i := 0 to Rep do
     begin
        Write('*'); 
     end; //Fin del for
 end;//Fin del if
WriteLn;
Write('¿Deseas representar mas diagramas de barras (S/N): ');
ReadLn(res);
end;//Fin del while
end;
end.
En este caso solo te representaria una linea y preguntaria por empezar una nueva, es decir:
Representaria esto:
Rep es 4:
I****
Y preguntaria si queres representar mas...Es por las dudas... quizas yo entendi mal la consigna...

{Saludos}

Última edición por b3nshi fecha: 13-08-2007 a las 20:42:03.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con ejercicio en Delphi gerupc Varios 5 11-08-2007 21:39:28
ayuda con un ejercicio por favor! Albert0 JAVA 1 19-06-2007 18:29:00
Ejercicio Solarintg Varios 1 02-12-2006 15:48:07
Diagrama trex2000 MS SQL Server 1 12-09-2006 07:54:10
Diagrama de Barras Rabata Varios 1 15-09-2004 18:40:15


La franja horaria es GMT +2. Ahora son las 07:33:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi