Pour concevoir un algorithme on dispose d’instructions et de données car un algorithme
- Utilise les données reçues en paramètres ou rangés pendant le déroulement.
- Modifie les données rangées au préalable par une instruction.
- Range temporairement des données pour utilisation ultérieure par une instruction
Il commence toujours par le nom de l’algorithme et se termine obligatoirement par le mot ‘Fin’.
Entre les deux se trouvent toutes les instructions de l’algorithme nécessaires à sa résolution.
L’ordre des instructions se déroule en séquence pour de instructions simples ou dans un ordre différent pour des instructions conditionnelles ou itératives
Notions courantes
Le langage Schema repose sur trois notions essentielles:
- Instruction: Un ordre ou une action à exécuter
- Élément d ‘information: Il contient temporairement, pendant le déroulement de l’algorithme la valeur d’une donnée. Variable et Constante est le terme utilisé en programmation. Une constante fait référence à une donnée dont le valeur est immuable.
- Type: il définit la nature des valeurs que peut prendre un élément d’information ainsi que les opérateurs qui peuvent lui être appliqués. En Schema un élément d’information a pour type Entier, Reel, Bool ou Texte
- Affectation: une instruction particulière qui permet d’attribuer une valeur à un élément d’information
Premiers algorithmes
Ecrivons un algorithme Schema nommé welcome qui ne comporte aucune instruction.
welcome
Fin
Ajoutons une instruction pour afficher le message “Bienvenue en algorithmique »
welcome Afficher Bienvenue en algorithmique Fin
Afficher est l’instruction du langage Schema qui permet d’afficher un texte
La traduction en Swift transforme l’algorithme en une fonction dont le mot réservé est func. L’instruction Afficher devient print avec en paramètre une chaine de caractères. Les accolades marque le début et la fin du la fonction.
func welcome() { print("Bienvenue en algorithmique") }
La traduction en Python transforme l’algorithme en une fonction dont le mot réservé est def. L’instruction Afficher devient print avec en paramètre une chaine de caractères.
Le symbole réservé : marque le début des instructions du programme. Il n’existe pas de symbole de Fin de programme en Python.
L’indentation du code est utilisée pour marquer le début et la fin d’un bloc d’instructions.
def welcome(): print("Bienvenue en algorithmique")
Les commentaires
Les commentaires sont très importants lors de la rédaction d’un algorithme. Ils décrivent ce qui se passe afin qu’une personne qui le consulte n’ait pas de difficulté à comprendre sa logique.
Si nous avons des commentaires qui s’étendent sur plusieurs lignes, une façon de le faire est d’utiliser dièse (#) au début de chaque ligne.
welcome # Premier algo pour afficher le # texte Bienvenue en algorithmique Afficher Bienvenue en algorithmique Fin
Une autre forme de commentaire
welcome — Premier algo pour afficher le texte Bienvenue en algorithmique — Afficher Bienvenue en algorithmique Fin
Algorithme qui retourne un résultat
Un algorithme peut retourner un résultat en spécifiant le symbole <- devant la valeur à retourner.
Schema
dix -> Entier <- 10 Fin
Swift
func dix() -> Int { return 10 }
Python
def dix(): return 10
est équivalent à (noter l’indication du type de la valeur retournée)
def dix() -> int : return 10
Liste d’arguments
Un algorithme peut définir des donnée à prendre en compte par les instructions de l’algorithme. Ces données sont consignées dans ce que l’on appelle une liste de paramètres. La liste des paramètres précise, pour chaque paramètre, son nom et son type ainsi que le type de le valeur à renvoyer dénoté par le symbole ->
Schema
Une liste de paramètres formée de couples argument-type séparés par une virgule. Le symbole # de l’instruction Afficher permet d’afficher le contenu de l’élément d’information message de la liste de paramètres.
welcome message Texte Afficher message } welcome nom Texte, message Texte Afficher message #message Fin welcome message Texte -> Texte <- message Fin
Swift
func welcome(_ message: String) { print("message") } func welcome(_ nom: String,_ message: String) { print("message \(message)") } func welcome(_ message: String) -> String { return message }
Python
def welcome(message): print (message)
def welcome(message,nom): print( message, nom)
def welcome(message) -> str: return message
Indentation
L’indentation consiste en l’ajout de tabulations ou d’espaces dans le texte d’un algorithme pour une meilleure lecture et compréhension du texte. L’indentation est synonyme de décalage.
L’une des particularités de Python est son utilisation imposée de l’espace pour l’indentation afin de mettre en évidence les blocs de code. Toutes les instructions avec la même distance vers la droite appartiennent au même bloc de code. Si un bloc doit être imbriqué plus profondément, il est simplement mis en retrait plus à droite.
Il est recommandé avec Python d’indenter son code avec 4 espaces (équivalent à 1 tabulation).
L’indentation est primordiale avec Python car elle sert à déterminer les blocs qui constituent le code
Environnement de développement
Les algorithmes de ce site sont traduits dans le langage Swift et Python. Ils ont été testés avec l’environnement de développement Xcode pour Swift et Visual Code pour Python
copyright A rchitectures A pplicatives A vancées A3-Soft