Pascal/Turbo Pascal - Ayuda con declaración de variables/objetos

   
Vista:

Ayuda con declaración de variables/objetos

Publicado por Ivan (3 intervenciones) el 20/08/2014 19:51:25
Hola,
Es una duda que no he conseguido resolver, ni encontrar por ninguna parte.
Parece sencillo pero, a la hora de declarar variables, cuando intento hacerlo como en otro lenguaje de manera dinámica, es decir, declarar muchas variables con un iterador(var1,var2...varN), en vez de hacerlo una por una, yo lo hacía de la siguiente manera:

Integer i = i +1;
var+i;

De esta manera me ahorro todos estos pasos, pero, en pascal no consigo la manera de hacerlo, ya que no se traga este método(Por supuesto parseando antes 'i' a String, en Java no me hacia falta).

Si alguien me resolviera este problema se lo agradecería mucho!!
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

Ayuda con declaración de variables/objetos

Publicado por Rene Gar (58 intervenciones) el 20/08/2014 22:48:16
Creo que no has entendido muy bien como se declaran las variables en pascal tienes que declararlo siempre en la parte superior y no puedes hacer asignaciones sino hasta dentro del begin end

ejemplo;

1
2
3
4
5
6
7
8
var
i:integer;
var:integer;
 
begin
   i:=i+1;
   var:=var+i;
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

Ayuda con declaración de variables/objetos

Publicado por Ivan (3 intervenciones) el 21/08/2014 03:02:46
Hola rene,

Si, ese concepto lo tengo claro pero, mi duda es, si no puedo crear variables u objetos de forma djnamica sin tener que hacer mil declaraciones, es decir:

Var
Ejemplo1, Ejemplo2 : String;

Begin

Ejemplo+i :='hola'

End

A eso me refiero, imaginando que i es un iterador.
No se si me explico.

Gracias.
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

Ayuda con declaración de variables/objetos

Publicado por ramon (39 intervenciones) el 21/08/2014 11:29:29
Mira Esto según tu quieres lo puedes realizar así.

var
datos : array[1..100] of string[80];
i : integer;

Estas variables cien en total y de 80 de longitud se llamarían de la siguiente manera.
i := 1;
repeat
readln(datos[i] ); { 'estra un testo';}
writeln(datos[i]);
i := i + 1;
until (i > 100) or (datos[i - 1] = ' ');

puedes declararlas como integer, real, byte, longint, char;
o otros.
Esto seria lo mismo que tu pones,

begin
i:=i+1;
var:=var+i;
end;

Las variables se van rellenando con el incremento de i para leerlas lo mismo i marcara la posicion en el
array del dato que se presenta.

for i := 1 to 5 do
writeln(datos[i]);

Espero esto te aclare como manejar varias lineas de texto o numero o otro valor.
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

Ayuda con declaración de variables/objetos

Publicado por Ivan (3 intervenciones) el 21/08/2014 12:16:56
Hola Ramon,

Tu solución ya la contemplaba para rellenar en caso de necesitar utilizar varios datos a la vez, pero creo que no me he explicado bien :(

El problema es a la hora de tratar con las variables, es decir:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Var
	//Declarar si que declaro todas a mano
	ok1,ok2,ok3,ok4...okN : Boolean;
Begin
 
//Imaginamos que he declarado 100 variables de ok1 a ok100
//Ahora quiero compararlas despues de haber hecho algunas operaciones para saber su valor
 
//hasta ahora lo hago de esta manera
if((ok1 = true) or (ok2 = true) or (ok3 = true) or (ok4 = true)....(okN = true)) then begin
//...........
end;
 
//Lo que yo necesito es alguna manera para que el lenguaje se "trague" esto
	for i:= 1 to 100 do
		if((ok+i = true)then begin
		//.............
		end
	end;
End;

Gracias!
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

Ayuda con declaración de variables/objetos

Publicado por Rene Gar (58 intervenciones) el 22/08/2014 02:49:16
checate este codigo creo que esto responde tu duda si tienes alguna otra duda comentalo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  datos:array[1..4]of boolean=(true,false,true,true);
  i:integer;
begin
 
  for i:=1 to length(datos) do
  begin
    if datos[i]=true then
      writeln('el dato ',i,' es true')
    else
      writeln('el dato ',i,' es false')
  end;
  readln;
end.

saludos y practia mucho......
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

Ayuda con declaración de variables/objetos

Publicado por ramon (39 intervenciones) el 22/08/2014 14:46:15
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
26
27
28
29
30
31
32
33
34
35
{Mira esta realizado sobre un string que puede almacenar 256 estados booleanos  mira como los cargo
y como los leo}
 
uses
      crt;
  const
      valor : array['0'..'1'] of boolean = (
      false,true);
  var
    vt : string;
    i : integer;
 
  procedure cargavalores(var t : string);
  begin
      for i := 1 to 100 do
      begin
       if i mod 2 = 0 then
         t[i] := '0'
      else
         t[i] := '1';
      end;
      t[0] := chr(i);
  end;
 
   begin
      clrscr;
      cargavalores(vt);
      for i := 1 to 100 do
      if vt[i] = '0' then
      write('     ',valor['0'])
    else
       write('     ',valor['1']);
      readkey;
   end.
{En caso de que sean numeros seria diferente pero para boleanas te serbiran}
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