Publié le :
Algorithmique CREATION_INTERNE

Résolution du problème des 100 portes

Ce code est également disponible en : Deutsch English Español
Ce script utilise une étape DATA _NULL_ pour simuler l'état de 100 portes. Il utilise un tableau (ARRAY) et des boucles imbriquées pour basculer l'état (ouvert/fermé) des portes à chaque passage. Le nombre final de portes ouvertes est calculé et affiché dans le journal SAS© via l'instruction PUT.
Analyse des données

Type : CREATION_INTERNE


Les données sont générées dynamiquement en mémoire (boucles et tableaux). Aucune source externe n'est requise.

1 Bloc de code
DATA STEP
Explication :
Ce bloc DATA implémente la logique de simulation : itération sur 100 passages, inversion de l'état des portes (via l'index du tableau) et affichage du résultat final dans la log.
Copié !
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;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.