User:Masfétus/sandbox

PAWN (formerly known as Small C due to the syntaxical similarities with C is a programming language open source used by differents platforms and embedded systems.

Uses
Le pawn étant un langage adapté pour des machines à ressource limitée, il a été utilisé dans quelques technologies embarquées comme le satellite ESTCube-1 ou plus communément pour des serveurs de jeux notamment SA-MP (San Andreas - MultiPlayer).

On citera par ailleurs Eternal Lands qui a été développé en Small.

Éléments du PAWN
Comme tout langage de programmation, le PAWN a ses propres spécificités.

Les variables
Les types de variables sont plus restreints qu'en C et leur déclaration est différente.

Effectivement, on va introduire le mot-clé « new » suivi du type (s'il y a) ainsi que le nom de la variable.

Par défaut, les variables sont déclarées comme des entiers, il n'est donc pas nécessaire de préciser un type dans ce cas-là.

Il est préférable d'initialiser chaque variable que l'on déclare afin qu'elle ne contienne pas une valeur erronée.

Les structures conditionnelles
On distinguera deux principales structures conditionnelles : « if » ainsi que le « switch ».

Structure « if »
Cette structure se compose du mot-clé « if » précédant une expression booléenne.

Une première forme de cette structure se définit en une simple vérification comme ci-dessous :

Néanmoins, nous pouvons tout aussi gérer la négation de la condition entrée avec le mot-clé « else ».

Un dernier mot-clé qui permet de vérifier une expression si jamais la précédente renvoyait la valeur « faux » : « else if ». Remarque : en utilisant le « else » à la fin, je vérifie si aucune des conditions le précédant ont n'ont été remplies.

La structure globale débute, quoiqu'il en soit, par un « if ».

Structure « switch »
La structure « switch » (ou « cas..parmi » en terme algorithmique) est utilisée dans le cas où vous auriez à vérifier successivement les valeurs d'une variable. Vous pourrez utiliser une structure « if » avec un nombre considérable de « else if ».

Cependant, la structure « switch » s'adapte bien à ce genre de cas.

Les structures itératives
Une structure itérative (ou boucle) va répéter un certain nombre de fois une ou plusieurs instructions (on parle d'[Itération|itérations]).

On distingue également deux principales structures itératives, chacune caractérisée par un nombre d'itérations déterminé.

Boucle « pour »
La boucle « pour » va conventionnellement exécuter un nombre de fois déterminé les instructions imbriquées dans celle-ci.

On parle alors de boucle déterministe.

Dans une telle boucle, on utilisera souvent un incrément. Elle est particulièrement utile quand il faut répéter une instruction plusieurs fois comme un message à afficher ou des calculs successifs.

Boucle «while»
La boucle «while» est, quant à elle, une boucle indéterministe.

Elle est généralement guidée par une condition qui ne vérifie pas un nombre d'itérations effectuées.

Une telle boucle ne nécessite pas forcément d'un incrément comme celle présentée ci-dessus.