Pascal/Turbo Pascal - sentencia in

   
Vista:

sentencia in

Publicado por laura (2 intervenciones) el 23/07/2009 04:13:30
hola tengo una duda sobre una sentencia en pascal ...
tengo un lineas de codigo en pascal algo asi.

repeat
j:=rnd(1, m)
.............
............
until not( j in C)

C es un vector ....y no se que significa el "in" .si alguin sabe le agradeceria q me ayuden.
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

RE:sentencia in

Publicado por Julio (3 intervenciones) el 23/07/2009 11:44:09
Hola, la sentencia "in" en mira si "j" está contenido en "C". El bucle se repetirá hasta que esto ocurra.
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

RE:sentencia in

Publicado por laura (2 intervenciones) el 23/07/2009 20:20:57
gracias julio ; ¿ y no sabes como puedo hacer lo mismo pero en java ?
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

RE:sentencia in

Publicado por Diego Romero (997 intervenciones) el 25/07/2009 03:28:57
Corrigo la respuesta de Julio. El operador "in" funciona solo para conjuntos, no para arrays. El operando a la derecha de "in" debe ser un tipo conjunto que contiene elementos del mismo tipo que el tipo del operando a la izquierda del operador "in".
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

RE:sentencia in

Publicado por juan (44 intervenciones) el 03/08/2009 02:49:39
claro que el palabra reservada 'in' tambien es para los tipos de datos String ya que es un arreglo indexado y no es solo para los conjuntos. en java creo q acepta el in en String. Saludos
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

RE:sentencia in

Publicado por Diego Romero (997 intervenciones) el 03/08/2009 03:24:51
var
S: string;
begin
if 'C' in S then
Writeln('C está en ',S);
end.

Error 41: el tipo del operando no coincide con el operador.
Me gustaría saber de dónde has sacado que "in" funciona con strings.
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

RE:sentencia in

Publicado por juan (44 intervenciones) el 03/08/2009 17:07:56
hola Diego , te equivocas porque el String se toma como un arreglo indexado. Lo estas usando mal. te paso el codigo.

Function CantVocales(S : String ) : integer;
var auxi, : integer;
i : integer;
begin
auxi := 0;
for i:= 1 to length(S) do
if S[ i ] in [ 'a', 'e', 'i', 'o', 'u' ] then
auxi := auxi + 1;
CantVocales := auxi;
end;

Espero que hayas entendido. Saludos
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

RE:sentencia in

Publicado por Diego Romero (997 intervenciones) el 03/08/2009 23:34:17
Lo lamento pero no estoy equivocado. En el código que has posteado:

[ 'a', 'e', 'i', 'o', 'u' ]

es un conjunto. Un conjunto de caracteres, no un string. Y como es un conjunto de caracteres el operando a la izquierda de "in" debe ser un caracter y S[i] es un caracter.
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

RE:sentencia in

Publicado por juan (44 intervenciones) el 04/08/2009 04:29:09
tenes razon eso es un conjunto el ejemplo que te di , no es el mejor ejemplo , pero en in no esta solamente en los conjuntos podes usarlo sino en un caracter solo. intenta hacerlo con 1 solo caracter y vas a ver que sale sino crees. Saludos
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

RE:sentencia in

Publicado por Diego Romero (997 intervenciones) el 04/08/2009 22:57:48
begin

if 'a' in 'c' then
writeln('a está en c');
end.

Error 41... de nuevo.
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