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$