SPSS: PROGRAMAS E ROTINAS COMPLEMENTARES (SYNTAX FILES)

 

Experiências Aleatórias: Tirar Cartas de um Baralho
Valentim Rodrigues Alferes
Universidade de Coimbra, 2003
valferes@fpce.uc.pt

 

Seleccionar aleatoriamente uma de 52 cartas

Adaptação de Java Script Kit

 

 
   

    Sintaxe SPSS

   

* Esta sintaxe selecciona aleatoriamente uma de 52 cartas.

DATA LIST FREE/CARTA(A10).

BEGIN DATA

A_Espadas R_Espadas D_Espadas V_Espadas 10_Espadas

9_Espadas 8_Espadas 7_Espadas 6_Espadas 5_Espadas

4_Espadas 3_Espadas 2_Espadas A_Copas R_Copas D_Copas

V_Copas 10_Copas 9_Copas 8_Copas 7_Copas 6_Copas 5_Copas

4_Copas 3_Copas 2_Copas A_Ouros R_Ouros D_Ouros V_Ouros

10_Ouros 9_Ouros 8_Ouros 7_Ouros 6_Ouros 5_Ouros 4_Ouros

3_Ouros 2_Ouros A_Paus R_Paus D_Paus V_Paus 10_Paus 9_Paus

8_Paus 7_Paus 6_Paus 5_Paus 4_Paus 3_Paus 2_Paus

END DATA.

SET SEED RANDOM.

COMPUTE NA=UNIFORM(1).

SORT CASES BY NA(A).

LIST CARTA/CASES FROM 1 TO 1.

 

Seleccionar aleatoriamente (sem reposição) n de 52 cartas

   

Sintaxe SPSS

   

* Esta sintaxe selecciona aleatoriamente (sem reposição) n de 52 cartas.

* Para isso, deve introduzir no local assinalado a vermelho o número de

* cartas pretendido (no exemplo, seleccionam-se 5 de 52 cartas).

DATA LIST FREE/CARTAS(A10).

BEGIN DATA

A_Espadas R_Espadas D_Espadas V_Espadas 10_Espadas

9_Espadas 8_Espadas 7_Espadas 6_Espadas 5_Espadas

4_Espadas 3_Espadas 2_Espadas A_Copas R_Copas D_Copas

V_Copas 10_Copas 9_Copas 8_Copas 7_Copas 6_Copas 5_Copas

4_Copas 3_Copas 2_Copas A_Ouros R_Ouros D_Ouros V_Ouros

10_Ouros 9_Ouros 8_Ouros 7_Ouros 6_Ouros 5_Ouros 4_Ouros

3_Ouros 2_Ouros A_Paus R_Paus D_Paus V_Paus 10_Paus 9_Paus

8_Paus 7_Paus 6_Paus 5_Paus 4_Paus 3_Paus 2_Paus

END DATA.

SET SEED RANDOM.

COMPUTE NA=UNIFORM(1).

SORT CASES BY NA(A).

LIST CARTAS/CASES FROM 1 TO 5.

 

Seleccionar aleatoriamente (com reposição) n de 52 cartas

   

Sintaxe SPSS

   

* Esta sintaxe selecciona aleatoriamente (com reposição) n de 52 cartas.

* Para isso, deve introduzir nos dois locais assinalados a vermelho o

* número de cartas pretendido (no exemplo, seleccionam-se 10 de 52

* cartas).

DATA LIST FREE/CARTAS(A10).

BEGIN DATA

A_Espadas R_Espadas D_Espadas V_Espadas 10_Espadas

9_Espadas 8_Espadas 7_Espadas 6_Espadas 5_Espadas

4_Espadas 3_Espadas 2_Espadas A_Copas R_Copas D_Copas

V_Copas 10_Copas 9_Copas 8_Copas 7_Copas 6_Copas 5_Copas

4_Copas 3_Copas 2_Copas A_Ouros R_Ouros D_Ouros V_Ouros

10_Ouros 9_Ouros 8_Ouros 7_Ouros 6_Ouros 5_Ouros 4_Ouros

3_Ouros 2_Ouros A_Paus R_Paus D_Paus V_Paus 10_Paus 9_Paus

8_Paus 7_Paus 6_Paus 5_Paus 4_Paus 3_Paus 2_Paus

END DATA.

COMPUTE VAR001=$CASENUM.

SAVE OUTFILE=FILE1.

INPUT PROGRAM.

+ LOOP ID=1 TO 52.

+ DO REPEAT A=A_1 TO A_10.

+ SET SEED RANDOM.

+ COMPUTE A=UNIFORM(1).

+ END REPEAT.

+ END CASE.

+ END LOOP.

+ END FILE.

END INPUT PROGRAM.

RANK VARIABLES=ALL(A).

SEL IF($CASENUM=1).

FLIP VARIABLES=RA_1 TO RA_10.

SORT CASES BY VAR001(A).

MATCH FILES/FILE=*/TABLE=FILE1/BY VAR001.

COMPUTE NA=UNIFORM(1).

SORT CASES BY NA(A).

LIST CARTAS.

 

NIIPS / CSEO

SYNTAX FILES

valferes@fpce.uc.pt

Última actualização: 2003-03-04