elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  CREACION CODIGOS EN PASCAL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: CREACION CODIGOS EN PASCAL  (Leído 4,285 veces)
ironwolf

Desconectado Desconectado

Mensajes: 2


Ver Perfil
CREACION CODIGOS EN PASCAL
« en: 17 Abril 2012, 21:38 pm »

Vereis, tengo un pequeño problema al crear unos codigos para clase de informatica, el problema son los ceros no signifiativos, ya que al generarlos aleatoriamente se me pondria el codigo : 357, cuando por ejemplo tendria que ser el 03057.

Y tampoco he conseguido como concatenarlo ya que consigo hacer :
READLN(Ai);
  readln(Bi);
  auxb:=1;
 cb:=0    ;
  auxa:=1;
  ca:=0 ;
  WHILE (auxa<=Ai) DO
  begin
  ca:=ca+1;
  auxa:=auxa*10;
  end;
  za:=(2-ca);
  WHILE (za>0) DO
  begin
  WRITE(0) ;
  za:=(za-1)
  end;
  WRITE(Ai) ;
  WHILE (auxb<=Bi) DO
  begin
  cb:=cb+1;
  auxb:=auxb*10;
  end;
  zb:=(3-cb);
  WHILE (zb>0) DO
  begin
  WRITE(0) ;
  zb:=(zb-1)
  end;
  write(bi);

Pero en este caso solo escribe el numero tal cual y si por ejemplo pongo 5 y 2, me queda 05002, pero necesitaria que me diese ese valor en String, podeis ayudarme?
gracias de antemano.


En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: CREACION CODIGOS EN PASCAL
« Respuesta #1 en: 17 Abril 2012, 22:28 pm »

ej, 03057 no es un int, sino una cadena.
Código:
s: String[8];
begin
   s := '12345678';
   s[1] := '0';
   s[2] :=random(10);
   s[7] := ramdon(10);
No recuerdo si era asi exactamente la sintaxis, pero la idea es simple. Usas una cadena y generas cada caracter al azar.


En línea

ironwolf

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: CREACION CODIGOS EN PASCAL
« Respuesta #2 en: 18 Abril 2012, 09:23 am »

Gracis por la respuesta, pero es que en nuestro caso la cadena que tenemos que crear son 10 digitos, los 2 primeros para indicar el coche que sera entre uno y 10, despues punto de control, despues 2 espacios para horas, 2 para minutos, etc... Y si a lgenerar aleatoriamente los minutos si me sale 20, ocupara las 2 espacios, si me sale 5, pues faltara un digito....
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: CREACION CODIGOS EN PASCAL
« Respuesta #3 en: 18 Abril 2012, 09:35 am »

Dos sugerencias:

- Intenta crear un codigo mas ordenado, deja espacios y usa el tabulador, en el foro puedes utilizar las etiquetas "geshi" y seleccionar pascal para que salga la sintaxis con color.

- Intenta dar un nombre mas descriptivo a las variables, si usas Ai,CB,ZA...un programa con mas de 5 o 6 variables se hará muy dificil de seguir. Por ejemplo: (modelo,hora,min...).

En tu casa, cuando tienes un array de datos y uno de los datos puede variar la longitud, deberías trabajar con un array de mas espacios donde al completar la cadena se reordene el array.

Por ejemplo una vez tengas completo el array, si tiene 8 posiciones y la 5 º está vacia, haz que a partir de la 6º pasen al anterior. De éste modo no te quedarán espacios vacios. Es simplemente comprobar que el valor no sea nulo.
En línea

Killtrojan Syslog v1.44: ENTRAR
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pascal, MZ y un proyecto
Ingeniería Inversa
Leithold 0 3,529 Último mensaje 7 Julio 2003, 07:16 am
por Leithold
Pascal o C « 1 2 3 »
Programación General
SpuTniK. 29 15,748 Último mensaje 25 Julio 2010, 20:50 pm
por IDarknightI
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines