• Aucun résultat trouvé

Introduction à l'algorithmique

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction à l'algorithmique"

Copied!
7
0
0

Texte intégral

(1)

Introduction à l'algorithmique

1. Cycle de développement d'un programme.

2. Qu’est ce qu’un algorithme 3. Structure d’un algorithme . 4. Déclaration des variables .

5. Opérations élémentaires et expressions 6. Actions sur les variables .

*******************************************************************

1- Cycle de développement d'un programme:

Le cycle de développement d'un "programme informatique " peut se résumer ainsi : Problème --> Analyse --> Algorithme --> Programme --> Compilation --> Exécution

Problème : en voici un exemple, trier par un ordre croissant les nombres a, b, c .

Analyse : phase de réflexion qui permet d'identifier les caractéristiques du Problème à traiter Ainsi sur notre exemple, comment trier les nombres? A l’aide de ……….

Algorithme : Il s'agit d'une description compréhensible par un être humain de la suite des opérations à effectuer pour résoudre le Problème. Néanmoins, Dans notre exemple, cela donnerait :

Entrer les nombres

(2)

Comparer deux nombres quelconques.

comparer le plus petit nombre parmi les deux par le troisième nombre

si le troisième est le plus petit, tu as trouvé l’ordre

sinon comparer le troisième avec l’autre nombre puis trouver l’ordre.

Programme : fichier texte des instructions et de leurs enchaînements dans un langage

informatique .Pour notre exemple, nous traduirions en langage Pascal l’algorithmes pour obtenir un programme Pascal qui s'appellerait : tri.pas

Compilation : transformation en langage machine d'un programme écrit en langage évolué : JAVA, C, COBOL, BASIC, FORTRAN, ....

Exécution : l’ordinateur exécute les instructions d'un programme en langage "binaire". Ainsi, l'utilisateur) "lance" l'exécution de programme compilé tri.pas pour savoir quel est l’ordre de a,b,c.

2. Qu’est ce qu’un algorithme ?

L’algorithmique est un terme d’origine arabe, c’est une suite d’instructions, qui une fois exécutée correctement, conduit à un résultat donné. Il permet d'expliciter clairement les idées de solution d'un problème indépendamment d'un langage de programmation.

Le "langage algorithmique" que nous utilisons est un compromis entre un langage naturel et un langage de programmation.

Avec quelles conventions écrit-on un algorithme ? Représentation par Organigramme :

c’est une représentation graphique, avec des carrés, des losanges, etc. qu’on appelait des

organigrammes. Aujourd’hui, cette représentation est quasiment abandonnée, pour deux raisons.

D’abord, parce que dès que l’algorithme commence à grossir un peu, ce n’est plus pratique du tout . Représentation par pseudo code :

On utilise généralement une série de conventions appelée « pseudo-code », qui ressemble à un

langage de programmation. Ce pseudo-code est susceptible de varier légèrement d’un livre à un autre.

3. Structure d’un algorithme :

Lorsqu'on écrit un algorithme, il faut respecter La syntaxe : Règles qui permettent de faire des phrases correctes.

Algorithme Nom de l’algorithme Déclaration

liste de variables : type de variables ;

(3)

Début

instructions...

Fin

L’algorithme est composé de trois parties :

Entête : qui spécifie le nom de l’algorithme par exemple : Algorithme tri ;

Déclaration : contient la déclaration de différentes variables utilisées avec leurs types.

Corps : contient la séquence d’instructions entre les deux mots clés : Début et Fin .

4. Déclaration des variables :

Une variable sert à stocker l'information traitée par un algorithme

Lorsqu’une variable apparaît dans la déclaration d’un algorithme on lui associe un type en utilisant la syntaxe suivante :

Identifiant de la variable : Son type Par exemple :

age : Naturel

nom : Chaîne de Caractères

-Le nom de la variable est alphanumérique qui commence impérativement par une lettre.

-Une fois qu’un type de données est associé à une variable, cette variable ne peut plus en changer -Une fois qu’un type de données est associé à une variable le contenu de cette variable doit obligatoirement être du même type

4.1 Attributs d'une variable :

- Identificateur : nom qui sert à repérer la variable - Type : format des données qu'elle contient

- valeur

4.2 Type d'une variable : Il y a deux grandes catégories de type :

(4)

a- Les types simples : type dénombrable :

booléen, les variables ne peuvent prendre que les valeurs VRAI ou FAUX

intervalle, les variables ne peuvent prendre que les valeurs entières définies dans cet intervalle, par exemple 1..10

énuméré, les variables ne peuvent prendre que les valeurs explicitées, par exemple les jours de la semaine (du lundi au dimanche)

Ce sont les seuls types simples qui peuvent être définis par l’informaticien Caractères

Exemples :

masculin : booléen mois : 1..12

JoursDeLaSemaine = {Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche}

Type indénombrable :

entier (positifs et négatifs) naturel (entiers positifs) réel

chaîne de caractères, par exemple ’cours’ ou ’algorithmique’

age : naturel taille : réel

nom : chaîne de caractères

b-Les types complexes : (que nous verrons dans la suite du cours) 4.3 Valeur d'une variable

Dans la partie déclaration, les variables n'ont pas de valeur. Attribuer une valeur à une variable est

(5)

une instruction. Initialiser une variable, c'est lui donner une première valeur 5. Opérations élémentaires et expressions

Un opérateur est un symbole d’opération qui permet d’agir sur des variables ou de faire des “calculs”

Un opérande est une entité (variable, constante ou expression) utilisée par un opérateur Une expression est une combinaison d’opérateur(s) et d’opérande(s), elle est évaluée durant l’exécution de l’algorithme, et possède une valeur (son interprétation) et un type

5.1 Expressions arithmétiques

- Opérations binaires

- entiers ou réels : + , - , * , / - entiers div, mod :

a div b : quotient euclidien de a par b : 11 div 2 vaut 5

a mod b : reste de la division euclidienne de a par b 11 mod 2 vaut 1 Une expression arithmétique est soit :

- Une constante numérique - Une variable numérique

- Une combinaison des précédentes avec des opérateurs et des parenthèses ex : (a+b)*c 5.2 Expressions booléennes-

Une expression booléenne est :

- une constante booléenne : (vrai ou faux) - une variable booléenne

- des expressions arithmétiques combinées à des opérateurs relationnels - des expressions booléennes combinées à des opérateurs booléens

Opérateurs relationnels : =,<> ,> ,< , >= , <=- Opérateurs booléens : Et, Ou, Non a b Non a a et b a ou b

(6)

V V f V V

V F F F V

F V V F V

F F V F f

Exemples : a, b des entiers c, d des booléens

- a=b : expression booléenne dont la valeur est vraie si a=b et faux si a<>b - p et q

- p et non q - (a=b) ou q

Tout comme en arithmétique les opérateurs ont des priorités Par exemple * et / sont prioritaires sur + Pour les booléens, la priorité des opérateurs est non, et, ouExclusif et ou

Pour clarifier les choses on peut utiliser des parenthèses

6. Actions sur les variables : 6.1. L’instruction d’affectation

Affecter un (nouveau) contenu : Cela s’effectue en utilisant l’opérateur d’affectation représenter par le symbole ← Ainsi : age ←24

Attribue la valeur 24 à la variable age.

On peut attribuer à une variable la valeur d’une autre variable, telle quelle ou modifiée. Par exemple : age ← age1 :Signifie que la valeur de age est maintenant celle de age1.

Notez que cette instruction n’a modifié en rien la valeur de age1 : une instruction d’affectation ne modifie que ce qui est situé à gauche de la flèche.

La syntaxe de cet opérateur est :

(7)

Identifiant de la variableß expression

Par exemple : l’expression c ← a + b se comprend de la façon suivante :

-On prend la valeur contenue dans la variable a -On prend la valeur contenue dans la variable b -On additionne ces deux valeurs

-On met ce résultat dans la variable c

Si c avait auparavant une valeur, cette dernière est perdue.

6.2 Les instructions de lecture et d’écriture

Un algorithme peut avoir des interactions avec l’utilisateur. Il peut afficher un résultat (du texte ou le contenu d’une variable) et demander à l’utilisateur de saisir une information afin de la stocker dans une variable

En tant qu’informaticien on raisonne en se mettant “à la place de la machine”, donc :

Pour afficher une information on utilise la commande écrire suivie entre parenthèses de la chaîne de caractères entre guillemets et/ou des variables de type simple à afficher séparées par des virgules, par exemple : écrire ("Le valeur de la variable a est", a)

Pour donner la possibilité à l’utilisateur de saisir une information on utilise la commande lire suivie entre parenthèses de la variable de type simple qui va recevoir la valeur saisie par l’utilisateur, par exemple : lire(b)

Exemple d’algorithme : Ecrire un algorithme Convertisseur des sommes en euros vers le DINARS algérien, avec saisie de la somme en euro et affichage de la somme en DINARS

Références

Documents relatifs

Les listes sont un type de variable partiulier que peut manipuler MAPLE.. Ses éléments sont

— Présentation des méthodes d'études théoriques, analytiques ou graphiques utilisées; concordance satisfai- sante de leurs résultats avec les résultais expé- rimentaux obtenus..

Pierre tire un jeton, note le numéro et le replace dans le sac ; puis Jean tire à son tour un jeton.. Il y

L'instruction continue peut être employée à l'intérieur d’une structure de type boucle (for ; while ; do …while ). Elle produit l’abandon de l’itération courante et fait

Les variables de ce paragraphe sont des variables discrètes ou à densité. Les résultats qui suivent sont valables quel que soit le type de variable aléatoire.. En effet, toute

 Une fois qu’un type de données est associé à une variable le contenu de cette variable doit obligatoirement être du même

10. Maintenant, veuillez répondre dans un bref paragraphe à votre question de recherche initiale : « La campagne contre l’intimidation a-t-elle diminué l’intimidation dans les

tm_sec seconds after minute tm_min minutes after hour tm_hour hours since midnight tm_mday day of month tm_mon months since January tm_year years since 1900 tm_wday days since