• Jueves 28 de Marzo de 2024, 13:42

Autor Tema:  Ayuda Porfavor  (Leído 6710 veces)

Apendiz

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Ayuda Porfavor
« en: Martes 24 de Octubre de 2006, 17:24 »
0
Hola amigos de solocodigo
Me preguntaba si alguien me podria ayudar con una asignacion que tengo en turbo pascal, mi intencion no es que me hagan el tabajo si no, que me den las herramientas necesarias ( manuales, o que me digan la forma de hacer lo que necesito) Se me pide hacer un programa en pascal que haga lo siguiente:

1.   Diseñe un programa en Pascal que tenga los siguientes procedimientos:
a.   Marco:  Este procedimiento debe imprimir en la pantalla un marco con asteriscos
b.   Triángulo: Debe recibir como parámetro de valor el radio y calcular el área
c.   Cuadrado:  Recibe como parámetro de valor el lado y calcula el área.
d.   Rectángulo:  Recibe como parámetros de valor el largo y el ancho y calcula el área.

Mi problema es que no se como hacer el marco con asteriscos ya que no se que comando usar para hacerlo, solo conosco el comando GotoXY pero con este lo unico que se hace el una linea horizontal y no se como hacer la linea vertical, e buscado en infinidad de manuales en internet, pero ninguno tiene un ejemplo de como hacer algo asi.

les agradeseria si me pueden ayudar amigos.

gracias

por favor contactarme a  :ph34r:   Desampadelic@hotmail.com   :ph34r: , sientase libre de agregarme como contacto o para mandarme un mail.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Ayuda Porfavor
« Respuesta #1 en: Martes 24 de Octubre de 2006, 17:32 »
0
linea horizontal:
Código: Text
  1.  
  2. for i:=1 to 20 do
  3. begin
  4.   GotoXY(i,2);
  5.   Write('*');
  6. end;
  7.  
  8.  

linea vertical
Código: Text
  1.  
  2. for i:=1 to 20 do
  3. begin
  4.   GotoXY(2,i);
  5.   Write('*');
  6. end;
  7.  
  8.  

Apendiz

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Porfavor
« Respuesta #2 en: Miércoles 25 de Octubre de 2006, 00:31 »
0
Gracias por tu rapida rspuesta enko, pero estas seguro que es asi???? por que lo estoy aplicando en un procedimiento y no se me forma un cuadro cuando lo aplico. ;)  :angry:

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Ayuda Porfavor
« Respuesta #3 en: Miércoles 25 de Octubre de 2006, 00:59 »
0
Esta correcto, pero ten en cuenta que con eso solo escribes 2 Lineas, el cuadrado tiene 4 lineas.
Supongo que Enko te lo puso asi, para que tu intentes con las otras 2.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Apendiz

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Porfavor
« Respuesta #4 en: Viernes 27 de Octubre de 2006, 17:38 »
0
Hola  :comp:
Gracias por su ayuda, pero la verdad es que me dejaron igual  :alien:  ya que apenas estoy aprendiendo a programar en pascal y no tengo ni idea de como terminar el cuadrado por que ni siquiera las dos primeras lineas del cuadro me salen correctamente, tal vez si fueran tan amables de darme la direcccion de alguna pagina donde aya un tutorial comleto de pascal en el cual se mencione el tema de como crear todo este tipo de figuras y no solo con asteriscos sino tambien con lineas como cuando se crea un juego de gato, esto seria de gran ayuda ya que todos los manuales de pascal que e encontrado son una simple pasada por ensima de como hacer ciertas cosas.

Muchas gracias denuvo amigos.   :kicking:

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Ayuda Porfavor
« Respuesta #5 en: Sábado 28 de Octubre de 2006, 15:29 »
0
mira este otro.

Código: Text
  1.  
  2. Program Uno;
  3. uses  crt;
  4. var i,j: Integer;
  5. begin
  6.   clrscr;
  7.   i:= 1;
  8.   j:= 1;
  9.   while j < 80 do
  10.   begin
  11.    gotoxy(j,i);
  12.    writeln('*');
  13.    i:= i +1;
  14.    j:= j +3;
  15.  end;
  16.   readln;
  17. end.
  18.  
  19.  

lo que hace es escribir una linea de asterico de una esquina a otra.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Mr. Pascal

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Ayuda Porfavor
« Respuesta #6 en: Sábado 28 de Octubre de 2006, 21:45 »
0
hola apendiz
 :whistling:
Para empezar me presento soy Mr. Pascal y creo que puedo ayudarte,
yo tengo un algoritmo que dibuja un marco, pero es utilizando matrices me imagino que  ya has trabajado con ellas, te dejo el code para que lo cheques...

Código: Text
  1.  
  2. {llena de * el marco de una matriz}
  3.  
  4. procedure marco (var matriz:mat);
  5. var i,j:integer;
  6. begin
  7.    for i:=1 to N do
  8.    begin
  9.       for j:=1 to N do
  10.       begin
  11.          if ((i=1) and (j=1)) or ((i=n) and (j=n)) then
  12.                matriz[i,j]:= '*';
  13.          if ((j=n) and (i<j)) or ((i=j) and (i<j)) then
  14.                 matriz[i,j]:= '*';
  15.          if ((i=n) and (j<i)) or ((j=1) and (j<i)) then
  16.                 matriz[i,j]:= '*';
  17.       end;
  18.    end;
  19. end;
  20.  
  21.  

Luego mandas a imprimir la matriz...y es todo.
pruebalo y me cuentas... :hola:

ciber_lep

  • Miembro MUY activo
  • ***
  • Mensajes: 301
    • Ver Perfil
Re: Ayuda Porfavor
« Respuesta #7 en: Domingo 29 de Octubre de 2006, 01:01 »
0
Saludos,  bueno creo que las explicaciones estan buenisimas para resolver el problema, pero creo que deben de explicar porque es qe se crean as figuras,
primero lo que haces con GotoXY(x,y)  es dirigir el cursor hacia un punto de la pantalla, normalmente 1-80 en x y de 1 a24 en y.  

con los ciclos haces que se ecriban secuencialmente en la pantalla.  

pero en todo caso,  los ejemplos son muy buenos.
Programación en
PHP,javaScript,HTML,Java,C++,.NET.
Base de Datos,Servidores Linux.

Apendiz

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Porfavor
« Respuesta #8 en: Lunes 30 de Octubre de 2006, 20:22 »
0
:kicking:  hola a todos,
Les agradesco mucho a todos por su ayuda enserio, ya me voy a poner a aplicar a hacer este programita, ya que e estado ocupadicimo con otras materias en la universidad, ustedes son lo maximo. :D