C’est un moyen graphique de réaliser un programme, et Monia va permettre de réaliser un pseudo code en « français »

  1. Actions (instructions) → Opérations élémentaires (calculs, affectations, etc.).
  2. Entrées / Sorties → Lecture des données (input) et affichage des résultats (output).
  3. Tests (oui/non) → Structures conditionnelles (if/else).
  4. Boucles → Répéter des actions (forwhile).

on va parcourir les symboles

Les Symboles

Début et fin

Ce sont des « bulles » indique le debut et la fin d’un code

Traitement , calcul .. en interne de la machine


noté ici traitement , c’est un traitement interne de la machine compteur=0 par exemple, et ça peut être plusieurs choses.

Entée

Une saisie au clavier , un état d’un bouton , d’un capteur , d’un convertisseur Analogique / Numérique …

Sortie

Sortie, comme afficher un résultat , ou allumer une LED , ou ouvrir une porte …etc ..

Sous programme ou fonction

une fonction est un programme , debut / fin qui permet de l’utiliser régulièrement. y=f(a,b,..) une fonction

Alternative, condition (SI)

Si condition fausse on va a droite (négation /)

Si condition est vrai on va tout droit

D’ailleurs on a généré le pl (pseudo langage) avec Monia

# ---------------------------------------------------------------------------- 
# Nom         : condition.pl 
# Sujet       :  
# Version     : 0.1 
# 
# Auteur      : ? 
# Création    : 16/07/2025 
# Mise à jour : 16/07/2025 
# ---------------------------------------------------------------------------- 
# source généré par MoniaOrg version 0.38 
 
Programme nom_du_programme ; 
 
##FORWARDCOMMENT## 
 
DEBUTPROG 
        SI ( { Condition } ) ALORS 
                { Sortie 1 } ; 
        SINON 
                { Sortie 2 } ; 
        FINSI 
FINPROG
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
-- VISUEL --                                                                         22        1,1          Tout

En langage C , c’est if / else /

Itération do while

ici on sort quand I > 10 (strictement supérieur a 10) donc a 11 !

# ----------------------------------------------------------------------------
# Nom         : iteration.pl
# Sujet       : 
# Version     : 0.1
#
# Auteur      : ?
# Création    : 16/07/2025
# Mise à jour : 16/07/2025
# ----------------------------------------------------------------------------
# source généré par MoniaOrg version 0.38

Programme nom_du_programme ;

##FORWARDCOMMENT##

DEBUTPROG
        I=0} ;
        REPETER
                I=I+1 ;
        JUSQU'A CE QUE ( I>10 ) ;
FINPROG
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
"iteration.pl" [converti] 21L, 468B                                                            1,1          Tout

faire , jusqu’a en langage c , do { } while , on fait le test après l’action

Tant que

# ----------------------------------------------------------------------------
# Nom         : tantque.pl
# Sujet       : 
# Version     : 0.1
#
# Auteur      : ?
# Création    : 16/07/2025
# Mise à jour : 16/07/2025
# ----------------------------------------------------------------------------
# source généré par MoniaOrg version 0.38

Programme nom_du_programme ;

##FORWARDCOMMENT##

DEBUTPROG
        I=0 ;
        TANT QUE ( I<10 ) FAIRE
                i=i+1 ;
        FINTQ
FINPROG
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
~                                                                                                                
"tantque.pl" [converti] 21L, 461B                                                              1,1          Tout

Ici en langage c , c’est while / do , on fait le test devant l’action.

Exemple du for un code c

#include <stdlib.h>
#include <stdio.h>

int main()
{
int compteur;

for (compteur=0; compteur < 10 ; compteur++)
 {
  printf ("Bonjour\n");
 }
printf ("fin du FOR \n");
return EXIT_SUCCESS;
}

Pseudo langage du for ou pour en français , de ce code

# ----------------------------------------------------------------------------
# Nom         : For.pl
# Sujet       : 
# Version     : 0.1
#
# Auteur      : BOGT
# Création    : 12/01/2026
# Mise à jour : 12/01/2026
# ----------------------------------------------------------------------------
# source généré par MoniaOrg version 0.38

Programme le_FOR ;

##FORWARDCOMMENT##

DEBUTPROG
	compteur=0 ;
	TANT QUE ( compteur<10 ) FAIRE
		Afficher "Bonjour\n" ;
		compteur=compteur+1 ;
	FINTQ
	Afficher "fin du FOR" ;
FINPROG

on se rend compte qu’un algorithme en informatique est n’est fait que de tests , aiguillages ..

Exemple d’application de Monia avec arduino

faire clignoter une LED avec un arduino

https://workboot.fr/Download/Monia/Monia_Arduino_LED.tar.gz

Projet co Phy/info ARDUINO_LED

Exemple Monia_Arduino_LED.tar.gz

Pseudo langage obtenu avec Monia

# ----------------------------------------------------------------------------
# Nom         : arduino_LED.pl
# Sujet       : 
# Version     : 0.1
#
# Auteur      : ?
# Création    : 15/01/2026
# Mise à jour : 15/01/2026
# ----------------------------------------------------------------------------
# source généré par MoniaOrg version 0.38

Programme ILS_LED ;

# annonces de sous-programmes
PROCEDURE setup() ; Prototype ;
PROCEDURE loop() ; Prototype ;

PROCEDURE setup() ;

DEBUT
	mettre en sortie la broche 9 (led) ;
FIN
PROCEDURE loop() ;

DEBUT
	Broche 9 à 1 (allumer la led) ;
	attendre 500ms ;
	Broche 9 à 0 (eteint ka led) ;
	attendre 500ms ;
FIN

DEBUTPROG
	setup() ;
	TANT QUE ( VRAI ) FAIRE
		loop() ;
	FINTQ
FINPROG

Arduino Blink sur la broche 9 de l’arduino

/*
  Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode( 9, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(9, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(500);                      // wait for a second
  digitalWrite(9, LOW);   // turn the LED off by making the voltage LOW
  delay(500);                      // wait for a second
}