Avec Monia , Organigrammes
projet disponible au format maj_monia.tar
Mettre le maximum d’information dans Monia (les variables Locales ici et des commentaires qui donne des explications )



fonction principale du code C (main)
Fonction char = maj (char)
Projet Monia complet (fichier odg , libre office draw), obtenu avec Fichier/exporter
Pseudo Langage du projet
# ---------------------------------------------------------------------------- # Nom : maj.pl # Sujet : # Version : 0.1 # # Auteur : Prof # Création : 03/02/2026 # Mise à jour : 03/02/2026 # ---------------------------------------------------------------------------- # source généré par MoniaOrg version 0.38 Programme MAJ_TEST ; # annonces de sous-programmes FONCTION maj(char_caract) : char ; Prototype ; VAR caract : char ; maj_caract : char ; # fonction qui va convertir un code ascii en majuscule si c'est bien une mininuscule , man ascii , on va remarquer # que 'a' et 'A' on une distance de 0x20 # # 'a' code ascii 0x61 et 'A' code ascii 0x41 # # Si on passe un code ascii n'etant pas une minuscule , la fonction ne fera aucun traitement FONCTION maj(char_caract) : char ; DEBUT SI ( 'a'<=caract<='z' ) ALORS caract=carct-0x20 ; FINSI FIN # programme test de la fonction, ici c'est un programme de test unitaire VAR caract : octet (char) ; # contient la le code ascci du caractère à transformer maj_caract : octet (char) ; # va récupérer la valeur du code en majuscule DEBUTPROG caract='a' ; maj_caract='' ; maj_caract=maj(caract) ; afficher maj_caract ; FINPROG
Code C (solution finale)
on va utiliser la lettre ‘b’ ici pour notre test unitaire (test pour la fonction)
#include <stdio.h>
#include <stdlib.h>
char maj(char caract)
{
if (('a' <= caract) && (caract <= 'z'))
caract=caract-0x20;
return caract;
}
int main()
{
char caract;
char maj_caract;
caract='b',
maj_caract=maj(caract);
printf ("La lettre est bien ! %c \n",maj_caract);
return EXIT_SUCCESS;
}
bruno@elliott:~/Works/Monia/maj$ gcc maj.c -o maj -Wall -ansi -pedantic -g
bruno@elliott:~/Works/Monia/maj$ ./maj
La lettre est bien ! B
bruno@elliott:~/Works/Monia/maj$


