Publicado el :
Algorítmica CREATION_INTERNE

Resolución del problema de las 100 puertas

Este código también está disponible en: Deutsch English Français
Este script utiliza un paso DATA _NULL_ para simular el estado de 100 puertas. Utiliza un array (ARRAY) y bucles anidados para alternar el estado (abierto/cerrado) de las puertas en cada pasada. El número final de puertas abiertas se calcula y se muestra en el log de SAS© a través de la instrucción PUT.
Análisis de datos

Type : CREATION_INTERNE


Los datos se generan dinámicamente en memoria (bucles y arrays). No se requiere ninguna fuente externa.

1 Bloque de código
DATA STEP
Explicación :
Este bloque DATA implementa la lógica de simulación: iteración sobre 100 pasadas, inversión del estado de las puertas (a través del índice del array) y visualización del resultado final en el log.
¡Copiado!
1DATA _null_;
2 open=1;
3 close=0;
4 array Door{100};
5 DO Pass = 1 to 100;
6 DO Current = Pass to 100 BY Pass;
7 IF Door{Current} ne open
8 THEN Door{Current} = open;
9 ELSE Door{Current} = close;
10 END;
11 END;
12 NumberOfOpenDoors = sum(of Door{*});
13 put "Number of Open Doors: " NumberOfOpenDoors;
14RUN;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.