123
Initiation à la programmation avec le logiciel AlgoBox M. Boulonne - http://cbmaths.fr Collège Voltaire Wattignies - 3 juillet 2015 M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 1 / 87

avec le logiciel AlgoBox - robertponge · AlgoBox propose deux modes d’édition d’algorithme : Mode normal (pour les débutants, le logiciel vous guidera pas par ... La programmation

Embed Size (px)

Citation preview

Initiation à la programmationavec le logiciel AlgoBox

M. Boulonne - http://cbmaths.fr

Collège Voltaire Wattignies - 3 juillet 2015

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 1 / 87

Sommaire

1 Présentation de l’interface AlgoBox

2 Algorithme / programmation

3 Variables

4 Structures de contrôle

5 Les erreurs à éviter

6 Quelques commandes

7 Sources bibilographiques

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 2 / 87

Sommaire

1 Présentation de l’interface AlgoBox

2 Algorithme / programmation

3 Variables

4 Structures de contrôle

5 Les erreurs à éviter

6 Quelques commandes

7 Sources bibilographiques

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 3 / 87

Algobox

AlgoBox est un logiciel libre, multi-plateforme et gratuit d’aide àl’élaboration et à l’exécution d’algorithmes.AlgoBox propose deux modes d’édition d’algorithme :

Mode normal (pour les débutants, le logiciel vous guidera pas parpas dans la création du code du programme)

Mode éditeur du texte (pour ceux qui connaissent le logiciel, lemode permet de taper le code directement sur un cadre prévu àcet effet).

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 4 / 87

Algobox

AlgoBox est un logiciel libre, multi-plateforme et gratuit d’aide àl’élaboration et à l’exécution d’algorithmes.AlgoBox propose deux modes d’édition d’algorithme :

Mode normal (pour les débutants, le logiciel vous guidera pas parpas dans la création du code du programme)Mode éditeur du texte (pour ceux qui connaissent le logiciel, lemode permet de taper le code directement sur un cadre prévu àcet effet).

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 4 / 87

L’interface du logiciel Algobox (mode normal)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 5 / 87

L’interface du logiciel Algobox (mode éditeur de texte(EDT))

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 6 / 87

L’interface du logiciel Algobox (mode EdT)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 7 / 87

L’interface du logiciel Algobox (mode EdT)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 8 / 87

L’interface du logiciel Algobox (mode EdT)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 9 / 87

L’interface du logiciel Algobox (mode EdT)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 10 / 87

L’interface du logiciel Algobox (mode EdT)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 11 / 87

L’interface du logiciel Algobox (mode EdT)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 12 / 87

Précisions sur l’interface du mode normal

Différence mode EdT / mode normalContrairement au mode « éditeur de texte » où l’on peut taperdirectement le code source sur l’écran, le mode normal s’utilise avecles boutons à droite et en bas de la fenêtre.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 13 / 87

L’interface du logiciel Algobox (mode normal)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 14 / 87

L’interface du logiciel Algobox (mode normal)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 15 / 87

L’interface du logiciel Algobox (mode normal)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 16 / 87

Fenêtre d’exécution de l’algorithme

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 17 / 87

Fenêtre d’exécution de l’algorithme

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 18 / 87

Fenêtre d’exécution de l’algorithme

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 19 / 87

Fenêtre d’exécution de l’algorithme

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 20 / 87

Fenêtre d’exécution de l’algorithme

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 21 / 87

Fenêtre d’exécution de l’algorithme

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 22 / 87

En route. . .

RemarqueDans tout l’exposé, nous utiliserons le mode « Editeur de texte » pourconcevoir les algorithmes sur AlgoBox.Des explications seront données à ceux qui utiliseront le mode« Normal » en séance d’exercices.

Voilà ! Maintenant que vous connaissez un peu l’interface du logicielAlgoBox, on peut maintenant commencer par apprendre quelquesnotions de programmation.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 23 / 87

Sommaire

1 Présentation de l’interface AlgoBox

2 Algorithme / programmation

3 Variables

4 Structures de contrôle

5 Les erreurs à éviter

6 Quelques commandes

7 Sources bibilographiques

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 24 / 87

Qu’est ce qu’un algorithme ?

AlgorithmeUn algorithme est une suite finie et non ambiguë d’opérations oud’instructions permettant de résoudre un problème.

Le mot algorithme vient du nomlatinisé du mathématicien perse

Al-Khawarizmi (783-850), écrivanten langue arabe et surnommé « le

père de l’algèbre ». On peuttrouver des algorithmes là où on

ne les soupsonne pas : recette decuisine, mode d’emploi, itinéraire

routier. . .

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 25 / 87

Qu’est ce que la programmation ?

ProgrammationLa programmation informatique est la transformation d’un algorithmeen programme informatique qui contient du code lié à un langage deprogrammation.

La différence entre algorithme et programmation, c’est qu’unalgorithme est souvent exprimé avec une notation indépendantede tout langage de programmation alors qu’un programme estécrit dans un langage de programmation particulier.Dans cet exposé, nous allons créer des algorithmes et le traduiredans un langage simple qui est le langage du logiciel AlgoBox.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 26 / 87

Qu’est ce que la programmation ?

ProgrammationLa programmation informatique est la transformation d’un algorithmeen programme informatique qui contient du code lié à un langage deprogrammation.

La différence entre algorithme et programmation, c’est qu’unalgorithme est souvent exprimé avec une notation indépendantede tout langage de programmation alors qu’un programme estécrit dans un langage de programmation particulier.

Dans cet exposé, nous allons créer des algorithmes et le traduiredans un langage simple qui est le langage du logiciel AlgoBox.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 26 / 87

Qu’est ce que la programmation ?

ProgrammationLa programmation informatique est la transformation d’un algorithmeen programme informatique qui contient du code lié à un langage deprogrammation.

La différence entre algorithme et programmation, c’est qu’unalgorithme est souvent exprimé avec une notation indépendantede tout langage de programmation alors qu’un programme estécrit dans un langage de programmation particulier.Dans cet exposé, nous allons créer des algorithmes et le traduiredans un langage simple qui est le langage du logiciel AlgoBox.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 26 / 87

Sommaire

1 Présentation de l’interface AlgoBox

2 Algorithme / programmation

3 Variables

4 Structures de contrôle

5 Les erreurs à éviter

6 Quelques commandes

7 Sources bibilographiques

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 27 / 87

Sommaire

3 VariablesQu’est-ce qu’une variable ?Déclaration de variablesDifférents types de variablesAffichage

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 28 / 87

Variables

Définition d’une variableUn algorithme manipule des données (initiales ou résultatsintermédiaires). Pour pouvoir être utilisées par un algorithme, cesdonnées doivent être rangées dans des variables.

Points de vue

Du point de vue de l’ordinateur, une variable est une zone demémoire au contenu de laquelle on accède via un identificateur.Du point de vue de l’algorithme, une variable est caractérisée par :

son nomsa structure : variable simple, liste, tableau, fichiersa nature : numérique, chaîne de caractères (texte), booléen (vraiou faux)son contenu (ou sa valeur) qui peut changer en cours d’exécutionde l’algorithme.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 29 / 87

Variables

Définition d’une variableUn algorithme manipule des données (initiales ou résultatsintermédiaires). Pour pouvoir être utilisées par un algorithme, cesdonnées doivent être rangées dans des variables.

Points de vue

Du point de vue de l’ordinateur, une variable est une zone demémoire au contenu de laquelle on accède via un identificateur.Du point de vue de l’algorithme, une variable est caractérisée par :

son nomsa structure : variable simple, liste, tableau, fichiersa nature : numérique, chaîne de caractères (texte), booléen (vraiou faux)son contenu (ou sa valeur) qui peut changer en cours d’exécutionde l’algorithme.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 29 / 87

Variables

Définition d’une variableUn algorithme manipule des données (initiales ou résultatsintermédiaires). Pour pouvoir être utilisées par un algorithme, cesdonnées doivent être rangées dans des variables.

Points de vueDu point de vue de l’ordinateur, une variable est une zone demémoire au contenu de laquelle on accède via un identificateur.

Du point de vue de l’algorithme, une variable est caractérisée par :

son nomsa structure : variable simple, liste, tableau, fichiersa nature : numérique, chaîne de caractères (texte), booléen (vraiou faux)son contenu (ou sa valeur) qui peut changer en cours d’exécutionde l’algorithme.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 29 / 87

Variables

Définition d’une variableUn algorithme manipule des données (initiales ou résultatsintermédiaires). Pour pouvoir être utilisées par un algorithme, cesdonnées doivent être rangées dans des variables.

Points de vueDu point de vue de l’ordinateur, une variable est une zone demémoire au contenu de laquelle on accède via un identificateur.Du point de vue de l’algorithme, une variable est caractérisée par :

son nomsa structure : variable simple, liste, tableau, fichiersa nature : numérique, chaîne de caractères (texte), booléen (vraiou faux)son contenu (ou sa valeur) qui peut changer en cours d’exécutionde l’algorithme.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 29 / 87

Variables

Définition d’une variableUn algorithme manipule des données (initiales ou résultatsintermédiaires). Pour pouvoir être utilisées par un algorithme, cesdonnées doivent être rangées dans des variables.

Points de vueDu point de vue de l’ordinateur, une variable est une zone demémoire au contenu de laquelle on accède via un identificateur.Du point de vue de l’algorithme, une variable est caractérisée par :

son nom

sa structure : variable simple, liste, tableau, fichiersa nature : numérique, chaîne de caractères (texte), booléen (vraiou faux)son contenu (ou sa valeur) qui peut changer en cours d’exécutionde l’algorithme.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 29 / 87

Variables

Définition d’une variableUn algorithme manipule des données (initiales ou résultatsintermédiaires). Pour pouvoir être utilisées par un algorithme, cesdonnées doivent être rangées dans des variables.

Points de vueDu point de vue de l’ordinateur, une variable est une zone demémoire au contenu de laquelle on accède via un identificateur.Du point de vue de l’algorithme, une variable est caractérisée par :

son nomsa structure : variable simple, liste, tableau, fichier

sa nature : numérique, chaîne de caractères (texte), booléen (vraiou faux)son contenu (ou sa valeur) qui peut changer en cours d’exécutionde l’algorithme.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 29 / 87

Variables

Définition d’une variableUn algorithme manipule des données (initiales ou résultatsintermédiaires). Pour pouvoir être utilisées par un algorithme, cesdonnées doivent être rangées dans des variables.

Points de vueDu point de vue de l’ordinateur, une variable est une zone demémoire au contenu de laquelle on accède via un identificateur.Du point de vue de l’algorithme, une variable est caractérisée par :

son nomsa structure : variable simple, liste, tableau, fichiersa nature : numérique, chaîne de caractères (texte), booléen (vraiou faux)

son contenu (ou sa valeur) qui peut changer en cours d’exécutionde l’algorithme.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 29 / 87

Variables

Définition d’une variableUn algorithme manipule des données (initiales ou résultatsintermédiaires). Pour pouvoir être utilisées par un algorithme, cesdonnées doivent être rangées dans des variables.

Points de vueDu point de vue de l’ordinateur, une variable est une zone demémoire au contenu de laquelle on accède via un identificateur.Du point de vue de l’algorithme, une variable est caractérisée par :

son nomsa structure : variable simple, liste, tableau, fichiersa nature : numérique, chaîne de caractères (texte), booléen (vraiou faux)son contenu (ou sa valeur) qui peut changer en cours d’exécutionde l’algorithme.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 29 / 87

Sommaire

3 VariablesQu’est-ce qu’une variable ?Déclaration de variablesDifférents types de variablesAffichage

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 30 / 87

Déclarer des variables au logiciel AlgoBox

NoteDans tout cet exposé, nous manipulerons des variables simples,essentiellement des variables numériques.

Avant de pouvoir utiliser des variables sur le logiciel AlgoBox, il faudrales déclarer dans le préambule du programme (c’est le code entre larubrique VARIABLES et DEBUT_ALGORITHME).

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 31 / 87

Préambule pour déclarer les variables

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 32 / 87

Déclaration sur Algobox

On veut déclarer une variable n qui est de type NOMBRE. On procèdeainsi sur le logiciel AlgoBox.

Déclaration de variables sur Algobox

VARIABLESn EST_DU_TYPE NOMBREDEBUT_ALGORITHME// CommentaireFIN_ALGORITHME

(les // représentent des commentaires qui ne rentrent pas en comptedans l’exécution de l’algorithme).On peut aussi utiliser le bouton suivant dans le mode guidé :

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 33 / 87

Catégorie de variables

Une variable peut être :• un nombre

n EST_DU_TYPE NOMBRE

• une chaine de caractères

c EST_DU_TYPE CHAINE

• une liste

L EST_DU_TYPE LISTE

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 34 / 87

Sommaire

3 VariablesQu’est-ce qu’une variable ?Déclaration de variablesDifférents types de variablesAffichage

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 35 / 87

L’utilisateur et le programmeur

Dans la programmation, il y a deux types de personnes :le programmeur qui conçoit le code de l’algorithme ;

l’utilisateur qui utilise et exécute le programme.

RemarqueL’utilisateur peut très bien être le concepteur du programme (ouprogrammeur).

Il y a donc deux types de variables :

des variables dont l’affectation (attribution d’une valeur ou d’uncontenu) est faite par le programmeur ;des variables dont l’affectation est faite par l’utilisateur.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 36 / 87

L’utilisateur et le programmeur

Dans la programmation, il y a deux types de personnes :le programmeur qui conçoit le code de l’algorithme ;l’utilisateur qui utilise et exécute le programme.

RemarqueL’utilisateur peut très bien être le concepteur du programme (ouprogrammeur).

Il y a donc deux types de variables :

des variables dont l’affectation (attribution d’une valeur ou d’uncontenu) est faite par le programmeur ;des variables dont l’affectation est faite par l’utilisateur.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 36 / 87

L’utilisateur et le programmeur

Dans la programmation, il y a deux types de personnes :le programmeur qui conçoit le code de l’algorithme ;l’utilisateur qui utilise et exécute le programme.

RemarqueL’utilisateur peut très bien être le concepteur du programme (ouprogrammeur).

Il y a donc deux types de variables :

des variables dont l’affectation (attribution d’une valeur ou d’uncontenu) est faite par le programmeur ;des variables dont l’affectation est faite par l’utilisateur.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 36 / 87

L’utilisateur et le programmeur

Dans la programmation, il y a deux types de personnes :le programmeur qui conçoit le code de l’algorithme ;l’utilisateur qui utilise et exécute le programme.

RemarqueL’utilisateur peut très bien être le concepteur du programme (ouprogrammeur).

Il y a donc deux types de variables :des variables dont l’affectation (attribution d’une valeur ou d’uncontenu) est faite par le programmeur ;

des variables dont l’affectation est faite par l’utilisateur.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 36 / 87

L’utilisateur et le programmeur

Dans la programmation, il y a deux types de personnes :le programmeur qui conçoit le code de l’algorithme ;l’utilisateur qui utilise et exécute le programme.

RemarqueL’utilisateur peut très bien être le concepteur du programme (ouprogrammeur).

Il y a donc deux types de variables :des variables dont l’affectation (attribution d’une valeur ou d’uncontenu) est faite par le programmeur ;des variables dont l’affectation est faite par l’utilisateur.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 36 / 87

Affectation par le programmeur

Une variable est affectée par le programmeur si l’attribution de savaleur se fait dans le code.Dans AlgoBox, l’instruction PREND_LA_VALEUR permet d’affecter unevariable déclarée d’une certaine valeur.

Affectation par le programmeurSi on veut affecter une variable numérique n (déclarée dans lepréambule du programme) de la valeur 10, on écrit ceci :

VARIABLESn EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEn PREND_LA_VALEUR 10

FIN_ALGORITHME

* Bouton Guide :

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 37 / 87

Affectation par l’utilisateur

Une variable est affectée par l’utilisateur si l’attribution de sa valeur sefait pendant l’exécution du programme.Dans AlgoBox, l’instruction LIRE permet de demander à l’utilisateurd’affecter une valeur à une variable déclarée.

Affectation par l’utilisateurSi on veut demander à l’utilisateur d’affecter une variable numérique n(déclarée dans le préambule du programme), on écrit ceci :

VARIABLESn EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMELIRE n

FIN_ALGORITHME

* Bouton Guide :

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 38 / 87

Opérations sur les variables

On peut effectuer toutes sortes d’opérations sur les variables.

Exemple d’opérations

VARIABLESa EST_DU_TYPE NOMBREb EST_DU_TYPE NOMBREc EST_DU_TYPE NOMBREn EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEa PREND_LA_VALEUR 17n PREND_LA_VALEUR 2b PREND_LA_VALEUR a+ac PREND_LA_VALEUR pow(a,2) // pow(a,2) = a^2b PREND_LA_VALEUR a*cc PREND_LA_VALEUR a/bb PREND_LA_VALEUR a-c

FIN_ALGORITHME

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 39 / 87

Sommaire

3 VariablesQu’est-ce qu’une variable ?Déclaration de variablesDifférents types de variablesAffichage

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 40 / 87

Afficher les valeurs des variables

À la fin de l’exécution, on voudrait savoir quelles sont les valeurs d’uneou plusieurs variables affectés lors de l’exécution du programme.On peut utiliser le mode pas-à-pas pour regarder l’évolution desvaleurs des variables au cours de l’exécution. Ce mode est utile quandil y a une erreur de programmation et que l’on veut savoir où elle sesitue dans le code.On peut aussi utiliser l’instruction AFFICHER qui permet d’afficher lavaleur d’une variable.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 41 / 87

Afficher les valeurs des variables

On peut aussi utiliser l’instruction AFFICHER qui permet d’afficher lavaleur d’une variable.

Afficher la valeur de la variable c

VARIABLESa EST_DU_TYPE NOMBREb EST_DU_TYPE NOMBREc EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEa PREND_LA_VALEUR 17b PREND_LA_VALEUR 34c PREND_LA_VALEUR 3*a + 2*bAFFICHER c

FIN_ALGORITHME

* Bouton Guide :

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 42 / 87

Afficher les valeurs des variables

À la fin de l’exécution du programme, le logiciel affichera ceci :

***Algorithme lancé***119***Algorithme terminé***

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 43 / 87

Afficher les valeurs des variables

On peut afficher en fin d’exécution la valeur de plusieurs variables. Sion utilise l’instruction AFFICHER. . .VARIABLES

a EST_DU_TYPE NOMBREb EST_DU_TYPE NOMBREc EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEa PREND_LA_VALEUR 17b PREND_LA_VALEUR 34c PREND_LA_VALEUR 3*a + 2*bAFFICHER aAFFICHER bAFFICHER c

FIN_ALGORITHME

voici le résultat à l’exécution :***Algorithme lancé***1734119***Algorithme terminé***M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 44 / 87

Passage de ligne

***Algorithme lancé***1734119***Algorithme terminé***

C’est incompréhensible car l’instruction AFFICHER ne passe pas deligne après son exécution.Il faut utiliser l’instruction AFFICHER* pour qu’il y ait passage de ligneaprès l’exécution.//Même code que la diapo précédente

AFFICHER* aAFFICHER* bAFFICHER* c

FIN_ALGORITHME

***Algorithme lancé***1734119***Algorithme terminé***M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 45 / 87

Affichage de texte

***Algorithme lancé***1734119***Algorithme terminé***

On peut faire mieux en affichant à gauche de sa valeur, le nom de lavariable. Pour cela, il faudra afficher du texte avec les instructionsAFFICHER " " ou AFFICHER* " ".* Bouton Guide :

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 46 / 87

Un petit exemple

VARIABLESa EST_DU_TYPE NOMBREb EST_DU_TYPE NOMBREc EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEa PREND_LA_VALEUR 17b PREND_LA_VALEUR 34c PREND_LA_VALEUR 3*a + 2*bAFFICHER "a="AFFICHER* aAFFICHER "b="AFFICHER* bAFFICHER "c="AFFICHER c

FIN_ALGORITHME

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 47 / 87

Exécution et remarque

***Algorithme lancé***a=17b=34c=119***Algorithme terminé***

Remarque

AFFICHER "a="AFFICHER* aAFFICHER "b="AFFICHER* bAFFICHER "c="AFFICHER c

Observez bien l’alternance entre AFFICHER et AFFICHER*. On veut passer uneligne de texte quand on a affiché la valeur de la variable donc on tapel’instruction AFFICHER* pour afficher la valeur de la variable et ensuite passerune ligne dans l’exécution de l’algorithme.M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 48 / 87

Sommaire

1 Présentation de l’interface AlgoBox

2 Algorithme / programmation

3 Variables

4 Structures de contrôle

5 Les erreurs à éviter

6 Quelques commandes

7 Sources bibilographiques

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 49 / 87

Structures de contrôle

On distingue trois structures de contrôle classiques en programmation(que l’on retrouve dans tous les langages de programmation) :

1 une structure conditionnelle (SI...ALORS...SINON)

2 une structure de boucle conditionnelle (TANT QUE...FAIRE...)3 une strucutre de boucle récurrente (ou itérative, POUR...ALLANT

DE...JUSQUE...FAIRE)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 50 / 87

Structures de contrôle

On distingue trois structures de contrôle classiques en programmation(que l’on retrouve dans tous les langages de programmation) :

1 une structure conditionnelle (SI...ALORS...SINON)2 une structure de boucle conditionnelle (TANT QUE...FAIRE...)

3 une strucutre de boucle récurrente (ou itérative, POUR...ALLANTDE...JUSQUE...FAIRE)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 50 / 87

Structures de contrôle

On distingue trois structures de contrôle classiques en programmation(que l’on retrouve dans tous les langages de programmation) :

1 une structure conditionnelle (SI...ALORS...SINON)2 une structure de boucle conditionnelle (TANT QUE...FAIRE...)3 une strucutre de boucle récurrente (ou itérative, POUR...ALLANT

DE...JUSQUE...FAIRE)

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 50 / 87

Sommaire

4 Structures de contrôleStructure conditionnelleStructure de répétition conditionnelleStructure de répétition récurrente

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 51 / 87

Structure conditionnelle (SI...ALORS...SINON)

Structure conditionnelleUne structure conditionnelle est formée d’une condition (qu’on appellecondition de la structure) et un bloc d’instructions. Ainsi si la conditionde structure est réalisée au moment où la structure s’exécute alors elleexécute le bloc d’instructions à l’intérieur de la structure.

Sur AlgoBox :

SI (<condition >) ALORSDEBUT_SI

// bloc d’instructionsFIN_SISINON

DEBUT_SINON// bloc d’instructions

FIN_SINON

* Bouton Guide :M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 52 / 87

Quelques symboles de logiques sur AlgoBox

Expressions conditionnelles sur AlgoBox

Nom Mathématiques AlgoBoxêtre égal à x = y x==ydifférent de x 6= y x!=y

inférieur x < y x<ysupérieur x > y x>y

inférieur ou égal x ≤ y x<=ysupérieur ou égal x ≥ y x>=y

On peut aussi séparer deux conditions logiques par des connecteursET et OU.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 53 / 87

Premier exemple

Exemple 1Marc va dans un magasin d’électro-ménager. Il regarde dans sa pocheet constate qu’il a n euros dans sa poche (n étant un entier naturel). Ilvoudrait s’acheter une clé USB à 5e. Combien restera-t-il dans sapoche après passage à la caisse ?

On veut modéliser le problème grâce à un algorithme. On demanderaà l’utilisateur d’affecter la variable n (qui correspond à la somme initialeque Marc a en entrant dans le magasin) et le programme donnera enfin d’exécution la somme qui lui restera après passage en caisse.Notez que, si n ≥ 5 alors la somme initiale sera diminuée de 5 pourobtenir la somme finale. Ce sera notre condition de structure.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 54 / 87

Progammation sur AlgoBox

Sur AlgoBox :

VARIABLESn EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEAFFICHER "somme avant d’entrer dans le magasin"LIRE nSI (n>=5) ALORS

DEBUT_SIn PREND_LA_VALEUR n-5

FIN_SIAFFICHER "somme après passage à la caisse ="AFFICHER n

FIN_ALGORITHME

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 55 / 87

Deux exécutions du programme

Première exécution :

***Algorithme lancé***somme avant d’entrer dans le magasinEntrer n : 12somme après passage à la caisse =7***Algorithme terminé***

Seconde exécution :

***Algorithme lancé***somme avant d’entrer dans le magasinEntrer n : 3somme après passage à la caisse =3***Algorithme terminé***

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 56 / 87

Second exemple

Exemple 2Lucie va à la fête foraine et joue à un jeu de fléchettes. La ciblecirculaire a 10 cases numérotées de 1 à 10. Si elle fait plus de 8 (8inclus), elle gagne 10e sinon elle perd sa mise de départ de 2e.

On veut modéliser le problème grâce à un algorithme. On demanderaà l’utilisateur d’affecter la variable caze (qui correspond à la caseobtenue par Lucie au cours de sa partie) et le programme donnera enfin d’exécution le gain de la partie (si elle perd, son gain est de −2).Comme condition de structure, nous pouvons prendre « caze < 8 » ou« caze >= 8 ». L’auteur a choisi de prendre la seconde condition.

Nom de la variableVous noterez que le nom de la variable choisi est caze.AlgoBox interdit de nommer une variable case.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 57 / 87

Second exemple

Exemple 2Lucie va à la fête foraine et joue à un jeu de fléchettes. La ciblecirculaire a 10 cases numérotées de 1 à 10. Si elle fait plus de 8 (8inclus), elle gagne 10e sinon elle perd sa mise de départ de 2e.

On veut modéliser le problème grâce à un algorithme. On demanderaà l’utilisateur d’affecter la variable caze (qui correspond à la caseobtenue par Lucie au cours de sa partie) et le programme donnera enfin d’exécution le gain de la partie (si elle perd, son gain est de −2).Comme condition de structure, nous pouvons prendre « caze < 8 » ou« caze >= 8 ». L’auteur a choisi de prendre la seconde condition.

Nom de la variableVous noterez que le nom de la variable choisi est caze.AlgoBox interdit de nommer une variable case.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 57 / 87

Progammation sur AlgoBox

Sur AlgoBox :VARIABLES

caze EST_DU_TYPE NOMBREgain EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEAFFICHER "case obtenue par Lucie :"LIRE cazeSI (caze >=8) ALORS

DEBUT_SIgain PREND_LA_VALEUR 10

FIN_SISINON

DEBUT_SINONgain PREND_LA_VALEUR -2

FIN_SINONAFFICHER "gain obtenue par Lucie :"AFFICHER gain

FIN_ALGORITHME

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 58 / 87

Deux exécutions du programme

Première exécution :

***Algorithme lancé***case obtenue par Lucie :Entrer caze : 9gain obtenue par Lucie :10***Algorithme terminé***

Seconde exécution :

***Algorithme lancé***case obtenue par Lucie :Entrer caze : 3gain obtenue par Lucie :-2***Algorithme terminé***

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 59 / 87

Oubli de programmation

OubliDans l’algorithme présenté, on peut mettre une case dont la valeur estsupérieure à 10.En exercice, je vous laisse modifier le code pour interdire de mettreune valeur de caze supérieure à 10.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 60 / 87

Sommaire

4 Structures de contrôleStructure conditionnelleStructure de répétition conditionnelleStructure de répétition récurrente

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 61 / 87

Structure de répétition conditionnelle (TANT_QUE)

Structure de répétition conditionnelleOn appelle structure de répétition conditionnelle, une structure quicomprend une condition et un bloc d’instruction et qui s’exécutera tantque la condition de structure est vérifiée.

Sur AlgoBox :

TANT_QUE (<condition >) FAIREDEBUT_TANT_QUE

// bloc d’instructionsFIN_TANT_QUE

* Bouton Guide :

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 62 / 87

Un exemple

Que fait l’algorithme suivant ?

VARIABLESn EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEn PREND_LA_VALEUR 0TANT_QUE (n<15) FAIRE

DEBUT_TANT_QUEn PREND_LA_VALEUR 2*n+1

FIN_TANT_QUEAFFICHER "n="AFFICHER* n

FIN_ALGORITHME

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 63 / 87

Description de l’algorithme

VARIABLESn EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEn PREND_LA_VALEUR 0TANT_QUE (n<15) FAIRE

DEBUT_TANT_QUEn PREND_LA_VALEUR 2*n+1

FIN_TANT_QUEAFFICHER "n="AFFICHER* n

FIN_ALGORITHME

n étant une variable déclarée, le programme l’initialise à la valeur 0.Quand le programme entre dans la boucle TANT_QUE, il teste si n < 15.Or, n = 0 donc n < 15, la condition étant vérifiée, elle exécute le blocd’instructions : n va valoir donc 2× 0 + 1 = 1.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 64 / 87

Description de l’algorithme

VARIABLESn EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEn PREND_LA_VALEUR 0TANT_QUE (n<15) FAIRE

DEBUT_TANT_QUEn PREND_LA_VALEUR 2*n+1

FIN_TANT_QUEAFFICHER "n="AFFICHER* n

FIN_ALGORITHME

n valant maintenant 1, la condition n < 15 est de nouveau testée (caron est encore dans la boucle TANT_QUE). Elle est vérifiée donc leprogramme exécute de nouveau la boucle, n va valoir maintenant2× 1 + 1 = 3.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 65 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithme

Initialisation n = 0n = 0 (n < 15)Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)n = 2× 1 + 1 = 3 (n < 15)n = 2× 3 + 1 = 7 (n < 15)n = 2× 7 + 1 = 15 (n ≥ 15)Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithmeInitialisation n = 0

n = 0 (n < 15)Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)n = 2× 1 + 1 = 3 (n < 15)n = 2× 3 + 1 = 7 (n < 15)n = 2× 7 + 1 = 15 (n ≥ 15)Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithmeInitialisation n = 0n = 0 (n < 15)

Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)n = 2× 1 + 1 = 3 (n < 15)n = 2× 3 + 1 = 7 (n < 15)n = 2× 7 + 1 = 15 (n ≥ 15)Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithmeInitialisation n = 0n = 0 (n < 15)Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)n = 2× 1 + 1 = 3 (n < 15)n = 2× 3 + 1 = 7 (n < 15)n = 2× 7 + 1 = 15 (n ≥ 15)Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithmeInitialisation n = 0n = 0 (n < 15)Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)

n = 2× 1 + 1 = 3 (n < 15)n = 2× 3 + 1 = 7 (n < 15)n = 2× 7 + 1 = 15 (n ≥ 15)Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithmeInitialisation n = 0n = 0 (n < 15)Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)n = 2× 1 + 1 = 3 (n < 15)

n = 2× 3 + 1 = 7 (n < 15)n = 2× 7 + 1 = 15 (n ≥ 15)Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithmeInitialisation n = 0n = 0 (n < 15)Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)n = 2× 1 + 1 = 3 (n < 15)n = 2× 3 + 1 = 7 (n < 15)

n = 2× 7 + 1 = 15 (n ≥ 15)Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithmeInitialisation n = 0n = 0 (n < 15)Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)n = 2× 1 + 1 = 3 (n < 15)n = 2× 3 + 1 = 7 (n < 15)n = 2× 7 + 1 = 15 (n ≥ 15)

Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithmeInitialisation n = 0n = 0 (n < 15)Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)n = 2× 1 + 1 = 3 (n < 15)n = 2× 3 + 1 = 7 (n < 15)n = 2× 7 + 1 = 15 (n ≥ 15)Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Description de l’algorithme

Et ainsi de suite. . .

Résumé du fonctionnement de l’algorithmeInitialisation n = 0n = 0 (n < 15)Entrée dans la boucle TANT_QUE

n = 2× 0 + 1 = 1 (n < 15)n = 2× 1 + 1 = 3 (n < 15)n = 2× 3 + 1 = 7 (n < 15)n = 2× 7 + 1 = 15 (n ≥ 15)Sortie de la boucle TANT_QUE

Affichage de n = 15

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 66 / 87

Sommaire

4 Structures de contrôleStructure conditionnelleStructure de répétition conditionnelleStructure de répétition récurrente

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 67 / 87

Structure de répétition récurrente (POUR)

Structure de répétition conditionnelleOn appelle structure de répétition récurrente est une structure quiexécute un bloc d’instructions un nombre de fois défini par leprogrammeur.

Sur AlgoBox :

POUR <variable > ALLANT_DE <min > A <max >DEBUT_POUR

// bloc d’instructionsFIN_POUR

* Bouton Guide :

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 68 / 87

Exemple

Affichage des 25 premiers nombres impairs positifsAfficher les 25 premiers nombres impairs positifs.

Pour programmer l’exercice précédent, on utilise une boucle POUR etdeux variables : une pour l’instruction POUR et l’autre (dépendant de lapremière) qui prend successivement les valeurs des premiers entiersimpairs positifs.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 69 / 87

Programme de l’exemple

VARIABLESimpair EST_DU_TYPE NOMBREk EST_DU_TYPE NOMBRE

DEBUT_ALGORITHMEAFFICHER* "Les 25 premiers nombres impairs

positifs sont :"POUR k ALLANT_DE 1 A 25

DEBUT_POURimpair PREND_LA_VALEUR 2*(k-1)+1AFFICHER* impair

FIN_POURFIN_ALGORITHME

La boucle POUR s’exécute 25 fois et affiche les 25 premiers nombresimpairs positifs.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 70 / 87

Exécution de l’algorithme***Algorithme lancé***Les 25 premiers nombres impairs positifs sont :135791113151719212325272931333537394143454749***Algorithme terminé***

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 71 / 87

Sommaire

1 Présentation de l’interface AlgoBox

2 Algorithme / programmation

3 Variables

4 Structures de contrôle

5 Les erreurs à éviter

6 Quelques commandes

7 Sources bibilographiques

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 72 / 87

Sommaire

5 Les erreurs à éviter=Notation puissanceBoucles infiniesDébut/fin

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 73 / 87

=

Ne pas écrire :

SI (a=15) ALORS

mais plutôt

SI (a==15) ALORS

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 74 / 87

Sommaire

5 Les erreurs à éviter=Notation puissanceBoucles infiniesDébut/fin

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 75 / 87

Notation puissance

Ne pas écrire :

c PREND_LA_VALEUR 2^3

mais plutôt

c PREND_LA_VALEUR pow(2,3)

pour affecter une variable c de la valeur 23 = 8.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 76 / 87

Sommaire

5 Les erreurs à éviter=Notation puissanceBoucles infiniesDébut/fin

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 77 / 87

Boucles infinies

Boucles infiniesOn appelle boucle infine, une structure répétitive (ou boucle) qui ne setermine pas, c’est-à-dire dont la condition de structure est toujoursvérifiée.

n PREND_LA_VALEUR 0TANT_QUE (n>=0) FAIRE

DEBUT_TANT_QUEn PREND_LA_VALEUR n+1FIN_TANT_QUE

Cette boucle est une boucle infinie car la variable n est toujourssupérieure à 0.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 78 / 87

Sommaire

5 Les erreurs à éviter=Notation puissanceBoucles infiniesDébut/fin

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 79 / 87

Début/fin

Il ne faut pas oublier de mettre les instructions DEBUT_ et FIN_ quandvous êtes en mode « Editeur de texte ».

DEBUT_SI / FIN_SI

DEBUT_SINON / FIN_SINONDEBUT_TANT_QUE / FIN_TANT_QUEDEBUT_POUR / FIN_POUR

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 80 / 87

Début/fin

Il ne faut pas oublier de mettre les instructions DEBUT_ et FIN_ quandvous êtes en mode « Editeur de texte ».

DEBUT_SI / FIN_SIDEBUT_SINON / FIN_SINON

DEBUT_TANT_QUE / FIN_TANT_QUEDEBUT_POUR / FIN_POUR

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 80 / 87

Début/fin

Il ne faut pas oublier de mettre les instructions DEBUT_ et FIN_ quandvous êtes en mode « Editeur de texte ».

DEBUT_SI / FIN_SIDEBUT_SINON / FIN_SINONDEBUT_TANT_QUE / FIN_TANT_QUE

DEBUT_POUR / FIN_POUR

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 80 / 87

Début/fin

Il ne faut pas oublier de mettre les instructions DEBUT_ et FIN_ quandvous êtes en mode « Editeur de texte ».

DEBUT_SI / FIN_SIDEBUT_SINON / FIN_SINONDEBUT_TANT_QUE / FIN_TANT_QUEDEBUT_POUR / FIN_POUR

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 80 / 87

Sommaire

1 Présentation de l’interface AlgoBox

2 Algorithme / programmation

3 Variables

4 Structures de contrôle

5 Les erreurs à éviter

6 Quelques commandes

7 Sources bibilographiques

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 81 / 87

Quelques commandes à retenir

Opérations mathématiques sur AlgoBox

Nom Mathématiques AlgoBoxaddition a + b a+b

soustraction a− b a-bmultiplication a× b a*b

division a÷ b (b 6= 0) a/b

Attention : Le signe * est obligatoire : il faut écrire 2*x et non 2x.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 82 / 87

Quelques commandes à retenir

Commandes mathématiques sur AlgoBoxNom Mathématiques AlgoBox

Racine carrée√

x sqrt(x)Puissance an pow(a,n)

Nb aléatoire entre 0 et 1 random()Nb aléatoire entre p et n ALGOBOX_ALEA_ENT(p,n)

Factorielle n! (n < 70) ALGOBOX_FACTORIELLE(n)Nombre pi π Math.PI

Partie entière bxc floor(x)Valeur absolue |x | abs(x)

Arrondi à l’entier le plus proche dxe round(x)Reste de la division a%b

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 83 / 87

Quelques commandes à retenir

Expressions conditionnelles sur AlgoBox

Nom Mathématiques AlgoBoxêtre égal à x = y x==ydifférent de x 6= y x!=y

inférieur x < y x<ysupérieur x > y x>y

inférieur ou égal x ≤ y x<=ysupérieur ou égal x ≥ y x>=y

Connecteurs logiques

Nom AlgoBox Exemple Code AlgoBoxet ET x ≥ 0 et y ≥ 0 x>=0 ET y>=0ou OU x ≥ 0 ou y ≥ 0 x>=0 OU y>=0

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 84 / 87

Quelques commandes à retenir

Expressions conditionnelles sur AlgoBox

Nom Mathématiques AlgoBoxêtre égal à x = y x==ydifférent de x 6= y x!=y

inférieur x < y x<ysupérieur x > y x>y

inférieur ou égal x ≤ y x<=ysupérieur ou égal x ≥ y x>=y

Connecteurs logiques

Nom AlgoBox Exemple Code AlgoBoxet ET x ≥ 0 et y ≥ 0 x>=0 ET y>=0ou OU x ≥ 0 ou y ≥ 0 x>=0 OU y>=0

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 84 / 87

Quelques raccourcis clavier

Menu "Fichier" :Nouveau : Ctrl+NOuvrir : Ctrl+OSauver : Ctrl+SQuitter : Ctrl+Q

Menu "Edition"Copier ligne : Ctrl+CColler ligne : Ctrl+VCouper ligne : Ctrl+X

Mise au point de l’algorithmeNouvelle ligne :Ctrl+EntréeDéclarer nouvelle variable :Ctrl+D

Tester algorithme : Ctrl+TLire variable : Ctrl+LAffecter valeur à variable :Ctrl+FAfficher variable : Ctrl+RAfficher message : Ctrl+MSi...Alors : Ctrl+IPour...De...A : Ctrl+PTant...Que : Ctrl+U

Exécution de l’algorithmeLancer Algorithme : EntréeContinuer : Flèche BasArrêter : EchapLire variable : Ctrl+Q

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 85 / 87

Sommaire

1 Présentation de l’interface AlgoBox

2 Algorithme / programmation

3 Variables

4 Structures de contrôle

5 Les erreurs à éviter

6 Quelques commandes

7 Sources bibilographiques

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 86 / 87

Aide Algobox

C. BOULONNE, Programmation sur TI-82 (Stats), livre en coursd’écriture.

P. BRACHET, Algorithmique en classe de première avec AlgoBox,Version 1.2, Décembre 2012.

Algorithmique, Académie de Poitiers, Avril 2014.

A. ROMBALDI, Algorithme en seconde, 2010-2012.

Algorithme, Wikipédia, l’encyclopédie libre.

Al-Khwârizmî, Wikipédia, l’encyclopédie libre.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 87 / 87

Aide Algobox

C. BOULONNE, Programmation sur TI-82 (Stats), livre en coursd’écriture.

P. BRACHET, Algorithmique en classe de première avec AlgoBox,Version 1.2, Décembre 2012.

Algorithmique, Académie de Poitiers, Avril 2014.

A. ROMBALDI, Algorithme en seconde, 2010-2012.

Algorithme, Wikipédia, l’encyclopédie libre.

Al-Khwârizmî, Wikipédia, l’encyclopédie libre.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 87 / 87

Aide Algobox

C. BOULONNE, Programmation sur TI-82 (Stats), livre en coursd’écriture.

P. BRACHET, Algorithmique en classe de première avec AlgoBox,Version 1.2, Décembre 2012.

Algorithmique, Académie de Poitiers, Avril 2014.

A. ROMBALDI, Algorithme en seconde, 2010-2012.

Algorithme, Wikipédia, l’encyclopédie libre.

Al-Khwârizmî, Wikipédia, l’encyclopédie libre.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 87 / 87

Aide Algobox

C. BOULONNE, Programmation sur TI-82 (Stats), livre en coursd’écriture.

P. BRACHET, Algorithmique en classe de première avec AlgoBox,Version 1.2, Décembre 2012.

Algorithmique, Académie de Poitiers, Avril 2014.

A. ROMBALDI, Algorithme en seconde, 2010-2012.

Algorithme, Wikipédia, l’encyclopédie libre.

Al-Khwârizmî, Wikipédia, l’encyclopédie libre.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 87 / 87

Aide Algobox

C. BOULONNE, Programmation sur TI-82 (Stats), livre en coursd’écriture.

P. BRACHET, Algorithmique en classe de première avec AlgoBox,Version 1.2, Décembre 2012.

Algorithmique, Académie de Poitiers, Avril 2014.

A. ROMBALDI, Algorithme en seconde, 2010-2012.

Algorithme, Wikipédia, l’encyclopédie libre.

Al-Khwârizmî, Wikipédia, l’encyclopédie libre.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 87 / 87

Aide Algobox

C. BOULONNE, Programmation sur TI-82 (Stats), livre en coursd’écriture.

P. BRACHET, Algorithmique en classe de première avec AlgoBox,Version 1.2, Décembre 2012.

Algorithmique, Académie de Poitiers, Avril 2014.

A. ROMBALDI, Algorithme en seconde, 2010-2012.

Algorithme, Wikipédia, l’encyclopédie libre.

Al-Khwârizmî, Wikipédia, l’encyclopédie libre.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 87 / 87

Aide Algobox

C. BOULONNE, Programmation sur TI-82 (Stats), livre en coursd’écriture.

P. BRACHET, Algorithmique en classe de première avec AlgoBox,Version 1.2, Décembre 2012.

Algorithmique, Académie de Poitiers, Avril 2014.

A. ROMBALDI, Algorithme en seconde, 2010-2012.

Algorithme, Wikipédia, l’encyclopédie libre.

Al-Khwârizmî, Wikipédia, l’encyclopédie libre.

M. Boulonne - http://cbmaths.fr Initiation à la programmation 3 juillet 2015 87 / 87