diff --git a/b1-algo/c2-ALGORITHMIQUE.md b/b1-algo/c2-ALGORITHMIQUE.md index 62220ce..effb47f 100644 --- a/b1-algo/c2-ALGORITHMIQUE.md +++ b/b1-algo/c2-ALGORITHMIQUE.md @@ -1,4 +1,24 @@ +## opérateurs complémentaires + - opérateur de concaténation (joindre deux chaînes entre elles) : ~ + - opérateur de vérification de type : est + +## Vérification de type : est "type" + - 1 est entier + - 1.2 est decimal + - "bonjour" est chaine + - mavariable est objet + - [1,2,45,6] est tableau + +## instructions complémentaires +### fonction de conversions de types : +- entier(1.2) => 1 +- entier("1") => 1 +- chaine(3) => "3" + +En anglais : Typecast functions, appelées aussi transtypage. + +*NB* : dans certains langages les fonctions de conversion de types sont des opérateurs unaires. ## exercice 1 Demander à quelqu'un le prix d'un produit HT et le nombre qu'il veut. @@ -34,18 +54,52 @@ afficher "année de naissance ?" lire annee; afficher "bonjour " ~ nom; -afficher "votre age est de " ~ (2022 - anne) ~ "ans" -afficher "votre age est de " ~ (2022 - anne)*12 ~ "mois" -afficher "votre age est de " ~ (2022 - anne)*52 ~ "semaines" +afficher "votre age est de " ~ (2022 - anne) ~ "ans"; +afficher "votre age est de " ~ (2022 - anne)*12 ~ "mois"; +afficher "votre age est de " ~ (2022 - anne)*52 ~ "semaines"; ``` ## exercice 3 une année est bissextile si elle divisible par 4, sauf si elle est divisible par 100, à moins qu'elle soit divisible par 400. Du coup : demander une année à un utilisateur et sire si elle est bisextile our pas. ``` +var annee entier; -``` +afficher "année ?"; +lire annee +si (annee / 400) est entier alors + afficher "l'année est bissextile"; +sinon si (annee / 100) est entier alors + afficher "l'année n'est pas bissextile"; +sinon si (annee / 4) est entier alors + afficher "l'année est bissextile"; +sinon + afficher "l'année n'est pas bissextile"; +fin si +``` +## exemple de fonction est entier du resutlat d'une division +``` +fonction est_entier(opD,opG) + var reste = opD; + tant que reste > opD + reste = reste - opG; + fin tant que + si reste > 0 alors + renvoyer faux; + sinon renvoyer vrai +fin fonction; +``` +## fonction est entier pour un nombre +``` +fonction est_entier(nombre) + si entier(nombre) == nombre alors + retourner vrai; + sinon + retourner faux; + fin si; +fin fonction; +```