elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:45  


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  Ejercicio Pascal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicio Pascal  (Leído 378 veces)
BioHazardTM

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Ejercicio Pascal
« en: 1 Enero 2012, 23:41 »

Buenas noches, tengo un problema con un ejercicio de Pascal, el ejercicio consiste en escribir un programa que a partir de un número entero impar, forme figuras de este tipo:
Código:
Número = 5

5
  4
    3
  2
1

Tengo todo el ejercicio hecho, pero me falta una parte, si hay 5 filas y 5 columnas, ¿cuál sería el número de espacios en función de las filas, que debería poner?
Código
PROGRAM P04_8;
USES    CRT;
VAR     N, i, j, k, cont: integer;
BEGIN
       Write('Introduce un numero positivo impar: ');
       Read(N);
 
       FOR i := 1 TO N DO
               cont := 0;
               FOR j := 1 TO N DO
                       BEGIN
                               IF (j MOD 2 <> 0) AND (cont = 0) THEN
                                       BEGIN
                                               IF (i <> 1) THEN
                                                       BEGIN
                                                               k := ;   <------ k = Numero de espacios antes del numero, para la fila actual
                                                               REPEAT
                                                                       BEGIN
                                                                               Write(' ');
                                                                               k := k - 1;
                                                                       END;
                                                               UNTIL k = 0;
                                                       END;
                                               Write(N - i + 1);
                                               cont := cont + 1;
                                       END;
                               IF (cont <> 0) THEN Write(' ');
                       END;
 
READKEY;
END.

No se si me he explicado bien.


En línea
kaiserr

Desconectado Desconectado

Mensajes: 37


constancia y dedicacion


Ver Perfil
Re: Ejercicio Pascal
« Respuesta #1 en: 3 Enero 2012, 20:31 »

mmmm
y si utilizas por ejemplo:

Código:
write(a:5)

Con esto mueves el valor de a (en mi caso, en el tuyo el valor que quieras mover) 5 posiciones.
No domino mucho el lenguaje pero ahora mismo me pongo hacer el codigo a ver si me sale.
--------------------------------------------------------------------------

Rectifico:

Al haber 5 linias es posible que haya 5 columnas?, es decir, en el ejemplo que has puesto hay 5 linias pero solo utilizas 3 columnas

Código:
5
  4
    3
  2
1





« Última modificación: 3 Enero 2012, 20:54 por kaiserr » En línea
BioHazardTM

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: Ejercicio Pascal
« Respuesta #2 en: 4 Enero 2012, 11:26 »

Lo que pasa es que en el ejemplo que he puesto los espacios también los cuento como columnas (las dos columnas en blanco).
En línea
W0lFy


Desconectado Desconectado

Mensajes: 543



Ver Perfil WWW
Re: Ejercicio Pascal
« Respuesta #3 en: 5 Enero 2012, 10:43 »

por que no cambias un poquito la funcion, te dejo una que se entiende mejor:
Código
PROGRAM
VAR
a:integer;
 
PROCEDURE escrbirImpar(num:integer)
VAR i,j,limite,cont:integer;
BEGIN
cont:=0;
limite= num div 2 + num mod 2;
FOR i := num DOWNTO 1 BEGIN
cont = (i div limite) * (limite - (i Mod limite + 1)) + ((i Mod limite - 1) - (i div limite) * (i Mod limite - 1))
   For j:= 1 To cont
        print(' ');
   println(i);
   END;
END;
 
BEGIN
read(a);
escrbirImpar(a);
 
END.




Pd. Habra algún error de compilación no recuerdo si los procedimientos ivan arriba o abajo de las variables... espero que te sirva :D
« Última modificación: 5 Enero 2012, 11:19 por ¤¤¤K@NuTöM@N¤¤¤ » En línea

K@NuT0
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejercicio pascal
Programación General
vianqui 6 1,039 Último mensaje 23 Mayo 2007, 17:43
por rain_in!the!_universe
Duda con ejercicio de pascal
Programación General
NaSaRiD15 6 805 Último mensaje 23 Agosto 2008, 00:25
por juancho77
ejercicio en pascal
Ejercicios
esplu 2 1,695 Último mensaje 30 Noviembre 2009, 13:02
por esplu
ejercicio de pascal
Programación General
SXF 10 1,636 Último mensaje 9 Noviembre 2010, 23:38
por Lunfardo
pascal que se ha cortedo ejercicio
Programación General
manu3742 1 609 Último mensaje 14 Abril 2011, 16:14
por Khronos14
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines