ISETL - Conditions If, ElseIf, Else

Interactive SET Language (ISETL) est un langage de programmation basé sur SETL. Développé par Garry Levin en 1988, il avait pour finalité l’enseignement des mathématiques discrètes à l’université. Cet article est à destination des étudiants voulant apprendre à rédiger des conditions en ISETL.

If, ElseIf et Else

En informatique, un “Si” permet d’exécuter une partie de code conditionnellement.
Par exemple, prenons une variable x.

    
        Si x > 5, alors on souhaite afficher "nombre > 5", 
Sinon Si x = 5, alors afficher "nombre = 5", 
Sinon, "nombre < 5". 
    

En ISETL, une structure conditionnelle se rédige de la façon suivante :

if (condition) then .... 
elseif (condition) then .....
else .....
end if; 

Comme vous pouvez le voir, le “else” ne requiert pas de “then”.

En reprenant notre exemple, nous avons donc

x:=10;
if (x<5) then 
        print("Nombre < 5");
elseif (x = 5) then 
	print("Nombre = 5");
else
	print("Nombre > 5");
end if;

ISETL ne prenant pas en compte l’indentation, il est aussi possible de rédiger ce code de cette façon :

x:=10;
if (x<5) then print("Nombre < 5");
elseif (x = 5) then print("Nombre = 5");
else print("Nombre > 5");
end if;

Rédaction de conditions

Je vous propose un tableau récapitulatif présentant tous les opérateurs nécessaires à la rédaction de conditions en ISETL :

x et y étant des nombres, A ou B étant des propositions.

Opérateur ISETLDescription
x=yx est égal à y
x\=yx n'est pas égal à y
x<yx est inférieur à y
x<=yx est inférieur ou égal à y
x>yx est supérieur à y
x>=yx est supérieur ou égal à y
A or BDisjonction logique : A ou B
A and BConjonction logique : A et B
A impl BImplication logique : A implique B
not ANégation logique : Non A

Nota Bene

Il faut bien prendre en compte que la condition d’égalité en ISETL s’écrit avec un seul “égal” contrairement au python, c++, java…. L’affectation en ISETL étant “:=”.