[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
50 vues11 pages

Algorithmie Part 1

Ce document présente une introduction à l'algorithmie, expliquant ce qu'est un algorithme et son utilisation en informatique. Il aborde les concepts de variables, types de données, et l'utilisation d'un logiciel appelé LARP pour créer et tester des algorithmes en pseudo-code. Enfin, il propose des exercices pratiques pour appliquer les connaissances acquises sur les variables, la lecture et l'écriture dans les algorithmes.

Transféré par

aichaeja1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
50 vues11 pages

Algorithmie Part 1

Ce document présente une introduction à l'algorithmie, expliquant ce qu'est un algorithme et son utilisation en informatique. Il aborde les concepts de variables, types de données, et l'utilisation d'un logiciel appelé LARP pour créer et tester des algorithmes en pseudo-code. Enfin, il propose des exercices pratiques pour appliquer les connaissances acquises sur les variables, la lecture et l'écriture dans les algorithmes.

Transféré par

aichaeja1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 11

Cours d’algorithmie

1) Introduction

Qu’est-ce qu’un algorithme ?


Nous utilisons tous les jours des algorithmes. Avez-vous déjà eu une personne vous
demandant son chemin pour arriver à une gare ou une place spécifique etc. Si oui et que
vous connaissez le lieu demandé, vous avez surement du lui indiquer comment s’y rendre
(exemple, prendre la deuxième à droite, puis la première à gauche etc.). Ce procédé que
vous avez fait pour que cette personne arrive à l’endroit souhaité, c’est de l’algorithme. J’ai
donné cet exemple mais on peut en retrouver plusieurs dans la vie de tous les jours (recette
de cuisine, installation d’une application, système de vote, etc.). Tous ces éléments ont
toujours le même procédé, on a un problème de base à résoudre et on donne des étapes
pour les résoudre. C’est de la logique.
Un algorithme est une manière de résoudre un problème. Alors pourquoi relions-nous
toujours ce mot à l’informatique et aux ordinateurs en particulier ? Tout simplement parce
qu’un algorithme est avant tout un ensemble de méthodes utilisées par un ordinateur pour
résoudre un problème. En fait, vous allez réfléchir aux différentes manières de résoudre un
problème, puis faire en sorte que l’ordinateur le fasse pour vous.
On utilisera ce qu’on appelle du pseudo-code. En programmation, le pseudo-code,
également appelé LDA (pour Langage de Description d'Algorithmes) est une façon de décrire
un algorithme en langage presque naturel, sans référence à un langage de
programmation en particulier. Plus tard on pourra retranscrire un algorithme qu’on a fait en
pseudo-code et le mettre dans un programme utilisant un langage comme PHP ou Python
que vous verrez par la suite (Un programme est un ensemble d’instructions exécutables par
un ordinateur et qui permet à ce dernier de répondre à un problème que nous nous
posons).
2) Les variables

Nous allons maintenant rentrer dans le vif du sujet et on va commencer par les variables.
Les variables nous permettent de stocker des informations au fur et à mesure de notre
algorithme. On pourra ensuite les utiliser à notre guise. Il faut imaginer ça comme des
petites boites à l’intérieur de votre ordinateur et ces petites boites vont contenir une valeur.
Et lorsqu’on en aura besoin on pourra demander à l’ordinateur de réouvrir ces petites boites
pour récupérer la valeur. De la même manière on va aussi pouvoir les modifier.
Si j’imagine un algorithme capable de calculer mon âge, j’aurai une petite boite qui
contiendrait ma date de naissance.

Il existe 3 types simple de variable.


On va commencer par celui que l’on va rencontrer le plus souvent pour débuter, c’est le
« Type Numérique ».

On peut les séparer en deux grandes catégories :


- Les Entiers : 0 1 2 3… -1 -2 -3 …
- Les Réels : 0.5 1.3 58.1… -10.2 -4.56 -0.8855…
On a ensuite un second type c’est le « Type Alphanumérique/Chaîne de Caractère » en
anglais des « String ». Globalement ce sont des chaînes de caractères, comme par exemple
un mot ou une phrase etc. (exemple "Bonjour" ou encore "je suis Végan"…). Ils ont une
particularité, c’est qu’une chaîne de caractère est toujours entre des guillemets.
Si je vous donne deux variables 1 et "1", la première est de type entier et le second est de
type chaîne de caractère.
On a un troisième type qui est le « Type Booléen ». Lui il n’a que « deux » valeurs possible,
soit VRAI soit FAUX. On ne va pas forcément les utiliser beaucoup dans un premier temps.
Pour commencer on pourra se contenter de ces trois types simples.
Pour chacun de ces types de variables on peut leur entrer des valeurs, ce qu’on appelle
l’Affectation (Assigner une valeur).
Pour assigner une valeur, il suffit de mettre à gauche le nom de la variable égale et à droite
la valeur que vous voulez lui affecter/assigner :
- a = 12
- blabla = "Bonjour"
- lulu = a + 3
- colo = lulu
Ici dans la variable qui va s’appeler « a » je vais lui donner un entier qui aura comme valeur
12, la variable « blabla » va recevoir une chaîne de caractère "Bonjour", la variable « lulu »
va recevoir le résultat de l’addition de 12 + 3 ce qui donnera un nombre entier de 15 et enfin
la variable « colo » va recevoir le contenu de la variable lulu c’est-à-dire 15. A la fin de ces
deux lignes « colo » et « lulu » auront la même valeur.
On peut dès à présent créer des variables sur une feuille de papier, mais pour ce cours nous
utiliserons plutôt un logiciel qui permet de faire du pseudo code sur vos ordinateurs. On
utilisera LARP.

Installation et utilisation de LARP

Pour tester nos algorithmes et variable, on pourra installer un programme qui s’appelle LARP
(Logiciel d’Algorithmes et de Résolution de Problèmes).

Je vais vous envoyer le fichier d’installation sur discord, « LarpSetup.exe ».


Installez-le sur vos machines, ensuite lancez-le une fois l’installation finit. Vous pourrez
ensuite aller dans l’onglet fichier ensuite cliquer sur nouveau et vous tomberez sur cette
fenêtre :

Assurez-vous bien que ce soit bien Pseudo-code qui est coché et cliquez sur accepter.

Lorsqu’on va écrire un algorithme, on va toujours commencer par écrire deux mots clés :
- DEBUT
- FIN
Bien entendu « DEBUT » c’est pour dire que notre algorithme commence ici, et « FIN » pour
dire où il se termine. A l’intérieur de ces deux lignes on va pouvoir y mettre ce qu’on veut.
Essayons de prendre les exemples que je vous ai donné pour les variables :

Une fois que vous avez tapé vos variables et valeurs vous pourrez lancer en appuyant sur le
triangle vert (Play) :

Le premier bouton est le bouton lecture qui va lire jusqu’à la fin et le second lui va lire ligne
par ligne au fur et à mesure en s’arrêtant à chaque fois.
Pour l’instant quand on appui sur le bouton lecture ça nous ouvre une console qui ne nous
affiche aucun résultat :

Si on appui le bouton à côté de lecture (Play-Pause), il va nous ouvrir une fenêtre ou on


pourra faire pas à pas :

Là on verra au fur et à mesure nos variables avec leurs valeurs attribuées.


Si vous cliquez sur une variable on pourra voir en bas de quel type elle est :

A noter qu’il a fait le calcul pour la variable « lulu » qui nous donne bien 15 (a +3).
(Exos)
1) Créez-moi un autre algorithme avec LARP et cette fois ci je veux 4 variables de type
entier que vous nommerez (A, B, C et D), donnez leurs des valeurs entières. Ensuite
Créez une 5ème variable (E) qui va recevoir l’addition des 4 premières variables.
2) Créez-moi un autre algorithme avec LARP et cette fois ci je veux 2 variables de type
décimale que vous nommerez (nb1 et nb2), donnez leurs des valeurs réelles. Créez
une 3ème variable (nb3) qui va recevoir la soustraction des 2 premières variables.
3) Créez-moi un autre algorithme avec LARP et cette fois ci je veux 3 variables de type
chaîne de caractère que vous nommerez (hello, voiture et prenom), donnez leurs
des valeurs. Créez une 4ème variable que vous appellerez (bienvenue) et qui recevra
l’addition de « hello » et « prenom ». Que remarquez-vous ?
4) Créez-moi un autre algorithme avec LARP et cette fois ci je veux 3 variables, une de
type entier (unentier), une de type réel/décimal (unreel) et une de type chaîne de
caractère (unechainedecaractere), donnez leurs des valeurs. Créez une 4ème
variable(entierreel) qui va recevoir l’addition de « unentier » et « unreel ». Tester
tout d’abord si on peut additionner un entier avec un réel, et qu’elle sera son
résultat et son type ?
Créez ensuite une 5ème variable (entierchainedecaractere) qui va recevoir l’addition
de « unentier » et « unechainedecaractere ». Que constatez-vous ?

Suite aux exercices vous avez du remarquer qu’on peut faire une opération mathématique
(addition (+), soustraction (-), multiplication (*) et division (/)) entre deux variables de
même type. On a pu faire une opération entre un entier et un réel, qui je le rappelle sont
tous deux des sous-types du type numérique. On a aussi pu additionner deux String(on parle
de concaténer deux chaîne de caractère), il met les chaînes de caractère l’une à la suite de
l’autre. Par contre vous avez remarqué qu’on ne pouvait pas additionner une variable de
type numérique (entier ou réel) avec une variable de type chaîne de caractère. Ça nous sort
une erreur :

Maintenant travaillons un peu notre logique.

(Exos)
5) Si je vous donne ce bout de pseudo-code, à la fin de l’exécution que vaut A et B :

6) Si je vous donne ce bout de pseudo-code, à la fin de l’exécution que vaut A et B :

7) Si je vous donne ce bout de pseudo-code, à la fin de l’exécution que vaut A, B et C :


8) (Difficile) Essayez de créer un algorithme capable d’inverser deux variables (A et B),
par exemple si j’ai dans A la valeur 5 et que dans B j’ai la valeur 12, le but c’est qu’à
la fin de l’algorithme, j’ai dans A 12 et dans B 5. Essayez sans utiliser d’opération.
9) (Difficile) Essayez de créer un algorithme capable d’inverser trois variables (A, B et
C). Je veux que la valeur de A aille dans C, la valeur de B dans A et la valeur de C
dans B. Faites avec une seule variable.

On a fini ce chapitre sur les variables simple, voici un petit résumer :


Les variables nous permettent de stocker des valeurs temporairement que l’on va pouvoir
exécuter et utiliser à la suite de notre algorithme. Les variables sont composées de 2 types
principaux, les numériques (entiers et réels) et les chaînes de caractères. Les chaînes de
caractère sont entre guillemet simple ou double. Pour affecter des valeurs à ces variables il
suffit tout simplement de mettre le signe égale et ensuite à droite de mettre la valeur qu’on
souhaite lui affecter. Dès qu’on réassigne une valeur à une variable déjà existante,
automatiquement la valeur va changer.

3) Lecture et Ecriture

Nous allons maintenant parler de la lecture et de l’écriture. Jusqu’ici on utilisait la lecture


pas par pas, mais à terme on voudra exécuter directement l’algorithme.
On va essayer d’afficher directement le résultat final d’un algorithme. Pour l’instant si on
reprend nos derniers exercices, l’algorithme fait bien l’inversion d’une valeur A et B. Mais si
vous exécuter on ne voit rien :

Pour faire en sorte qu’on obtienne un résultat dans la console il faut utiliser « Ecriture ». Ça
permet d’afficher une variable ou d’afficher une chaîne de caractère. Il suffit d’écrire le mot
clé « ECRIRE » suivit de ce qu’on veut afficher comme cela :
Ici cette fois ci quand j’exécute l’algorithme, dans la console on voit bien qu’il m’a affiché
« Hello World !!! ».

On peut bien entendu essayer d’afficher nos variables. Quand on veut afficher plusieurs
éléments différents, avec LARP on utilisera des virgules pour les séparer.

On voit bien qu’on écrit bien la valeur qui se trouve dans A donc 12 et la valeur qui se trouve
dans B donc 5. Et l’algorithme fonctionne bien vu qu’il a bien inverser la valeur des deux
variables.
Je peux aussi rajouter des chaînes de caractères pour que ce soit plus compréhensible :

Pour encore plus de lisibilité on peut faire ceci :


Là on a quelque chose de plus agréable à voir. On voit bien ce que le programme fait, on a
des phrases pour nous aider à mieux comprendre.

Ça c’est pour ce qui est de l’écriture, ça permet donc d’afficher quelque chose.
Passons à la lecture.
Avec la lecture, on va pouvoir demander à l’utilisateur de rentrer une valeur, qui va ensuite
être stockée dans une variable.
On va un peu reprendre notre algorithme qui inversait 2 valeurs. Plutôt que de définir dès le
début les valeurs de A et B (5 et 12) avec l’assignation (le signe égale), on va demander à
l’utilisateur ces valeurs. Pour que l’utilisateur sache ce qu’il faut introduire il faut le lui
demander :

- ECRIRE "Veuillez entrer le premier chiffre"


Ensuite une fois qu’on a fait ça on met :

- LIRE A
Le « ECRIRE » sert à ce que l’utilisateur sache s’il doit faire quelque chose. Le « LIRE » va
attendre que l’utilisateur écrive quelque chose au clavier, ce quelque chose va se retrouver
dans la variable A.

La dans cette image ci-dessus j’ai introduit 5 au clavier. C’est ce qui va se retrouver dans la
variable A. Donc si je devais continuer j’aurais aussi demandé une valeur pour B :
Voilà ce que donne le résultat final de l’algorithme. C’est quelque chose de beaucoup plus
interactif.
(Exos)
10) Créez un algorithme qui demande d’introduire un mot, et qui à la fin affiche tout
simplement ce que vous avez écrit :

11) Essayez d’écrire un algorithme qui demande d’introduire un nom, un prénom et un


âge, et qui m’affiche comme résultat une phrase comme ceci :
12) Essayez d’écrire un algorithme qui demande d’introduire les 4 saisons (printemps,
été, automne et hiver) et qu’à la fin de l’algorithme il donne une phrase avec la
saison dans laquelle on est aujourd’hui :

13) Essayez de me créer un algorithme qui me demande d’introduire un nombre et qui


me ressort le carré de ce nombre (exemple si j’introduis 10 le résultat doit être 100,
si 5 le résultat donnera 25, etc.) :

Vous aimerez peut-être aussi