Algorithmique et programmation: premiers concepts de langage

publicité
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Algorithmique et programmation: premiers
concepts de langage
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Section 1
Premières notions
Algorithme
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Définition
Un algorithme est un processus comportant certaines règles à
suivre pour obtenir une résolution d’un problème donné
Exemple
algorithme de résolution d’un système linéaire (méthode du
pivot de Gauss)
algorithme de sortie d’un labyrinthe (virages à droite)
algorithmes de tris (ordonner un ensemble de données)
Définition
L’algorithmique est l’ensemble des règles et des techniques qui
sont impliquées dans la définition et la conception d’algorithmes
Pseudo-code
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Un algorithme se rédige normalement sans langage de
programmation : il doit être compris de n’importe quel lecteur. Une
telle rédaction indépendante d’un langage de programmation
s’appelle le pseudo-code.
Pseudo-code
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Un algorithme se rédige normalement sans langage de
programmation : il doit être compris de n’importe quel lecteur. Une
telle rédaction indépendante d’un langage de programmation
s’appelle le pseudo-code.
Algorithme: Cet algorithme compte le nombre de groupes de trois
occurrences consécutives égales dans Liste_Donnees
Entrée: une liste d’éléments notée Liste_Donnees
Sortie: compteur
compteur ←0
p ←longueur de Liste_Donnees
pour k variant de 1 à p − 2 :
si (Liste_Donnees[k ] = Liste_Donnees[k + 1]) et ( Liste_Donnees[k + 1] =
Liste_Donnees[k + 2]) :
compteur ←compteur +1
fin si
fin pour
Pseudo-code
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Une telle rédaction indépendante d’un langage de programmation
s’appelle le pseudo-code.
Algorithme: Cet algorithme renvoie sous forme de liste, la
décomposition binaire de l’entier n.
Entrée: un nombre entier noté n
Sortie: Liste
Entier ←n
Liste ←[ ] (la liste vide)
tant que Entier non nul :
si Entier pair :
Entier ←Entier /2
Liste ←[0] + Liste
sinon :
Entier ←(Entier -1)/2
Liste ←[1] + Liste
fin si
fin tant que
Langage machine
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Démarche logique suivie pour résoudre un problème
1
faire la liste des données du problème (input)
2
concevoir un ensemble de règles qui permettent de résoudre
ce problème et le plus souvent retourner un résultat ou une
interprétation graphique (output). Il nous arrivera parfois de
rédiger l’algorithme en pseudo-code.
3
faire comprendre l’algorithme à une machine, à travers un
langage de programmation. Bien entendu, la façon de rédiger
l’algorithme pour le faire comprendre à un ordinateur dépend
du logiciel utilisé. Les lignes de programme qui sont
intelligibles par la machine forment un script.
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Langage machine
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Que se passe-t-il lorsqu’on exécute un script Python ?
1
le script est interprété par un interpréteur. Le but est
transformer les différentes lignes du programme en un
langage compilable comme du C, du Java, . . . (cela dépend
de l’interpréteur Python installé) ;
2
Ce code est transformé en une suite d’instructions
élémentaires par un compilateur ;
3
cette suite d’instructions élémentaires est transformée par un
éditeur de liens (linker) en un véritable langage machine (une
suite de 0 et de 1 qui sera finalement lue et exécutable par le
processeur).
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Section 2
Règles générales dans un pseudo-code ou un
script
Règles de base d’un langage : exemple du français
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
La syntaxe
En français, une phrase comporte généralement un sujet, un verbe
et des compléments. Le premier mot commence par une
majuscule et la phrase se termine par une ponctuation spécifique.
«cette phrase comporte par, exemple trois erreurs de syntaxe»
Règles de base d’un langage : exemple du français
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
La syntaxe
En français, une phrase comporte généralement un sujet, un verbe
et des compléments. Le premier mot commence par une
majuscule et la phrase se termine par une ponctuation spécifique.
«cette phrase comporte par, exemple trois erreurs de syntaxe_»
Lorsqu’une erreur de syntaxe est détectée par l’interpréteur et le
compilateur, un message d’erreur apparaît et donne à l’utilisateur
la lignes où l’erreur (le bug) s’est produit.
Règles de base d’un langage : exemple du français
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
La syntaxe
En français, une phrase comporte généralement un sujet, un verbe
et des compléments. Le premier mot commence par une
majuscule et la phrase se termine par une ponctuation spécifique.
«cette phrase comporte par, exemple trois erreurs de syntaxe_»
Lorsqu’une erreur de syntaxe est détectée par l’interpréteur et le
compilateur, un message d’erreur apparaît et donne à l’utilisateur
la lignes où l’erreur (le bug) s’est produit.
La sémantique
L’agencement des mots dans une phrase confère un certain sens
à celle-ci. Toute une phrase correcte syntaxiquement peut avoir
une signification différente de celle prévue initialement.
Spécificités d’un langage de programmation
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Il est souvent compact : en très peu de ligne, un script peut
mettre en œuvre beaucoup d’opérations et résoudre un
problème complexe
Spécificités d’un langage de programmation
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Il est souvent compact : en très peu de ligne, un script peut
mettre en œuvre beaucoup d’opérations et résoudre un
problème complexe
Chaque mot doit avoir un sens unique, contrairement au
français. Le mot "vaisseau" est totalement différent selon
qu’on lise un article de médecine ou un roman d’aventures.
Spécificités d’un langage de programmation
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Il est souvent compact : en très peu de ligne, un script peut
mettre en œuvre beaucoup d’opérations et résoudre un
problème complexe
Chaque mot doit avoir un sens unique, contrairement au
français. Le mot "vaisseau" est totalement différent selon
qu’on lise un article de médecine ou un roman d’aventures.
Certains mots-clés sont déjà prédéfinis et ne peuvent en
aucun cas être utilisés. C’est le cas, par exemple du mot
"array" qui signifie "tableau" en Python.
Spécificités d’un langage de programmation
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Le fait de modifier une lettre dans une variable peut avoir de
fâcheuses conséquences.
Le langage Python fait la différence entre minuscules et
majuscules. Les variables "Variables" ou "variables" ne
correspondent pas aux mêmes objets.
En français, on peut largement modifier une rédaction de façon à
ce qu’elle reste malgré tout intelligible :
«Par exmple, on put faclment retrover le sns d cett prase, alor k’il y
a becout de fotes ! !»
Spécificités d’un langage de programmation
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Soyez précis !
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
En langage de programmation, comme l’ordinateur est dépourvu
d’intelligence, toute expression en langage machine est entendue
"au pied de la lettre". Un script est donc totalement objectif,
contrairement à un texte en français qui est interprétable parfois de
multiples façons.
L’ordinateur fait ce qu’on lui dit, tout ce qu’on lui dit, rien que
ce qu’on lui dit
Spécificités d’un langage de programmation
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Soyez précis !
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
En langage de programmation, comme l’ordinateur est dépourvu
d’intelligence, toute expression en langage machine est entendue
"au pied de la lettre". Un script est donc totalement objectif,
contrairement à un texte en français qui est interprétable parfois de
multiples façons.
L’ordinateur fait ce qu’on lui dit, tout ce qu’on lui dit, rien que
ce qu’on lui dit
Si le programme fonctionne mal, c’est de VOTRE faute
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Section 3
Exemples de pseudo-code
Exercices simples
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Exercice 1
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Rédiger en pseudo-code un algorithme qui permet de calculer, en
fonction de la donnée d’un entier N strictement positif, la somme
des entiers entre 1 et N
Exercices simples
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Exercice 1
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Notebook
Rédiger en pseudo-code un algorithme qui permet de calculer, en
fonction de la donnée d’un entier N strictement positif, la somme
des entiers entre 1 et N
Algorithme: Calcul de la somme des N premiers entiers
Entrée: un entier N strictement positif
Sortie: Somme_Temp
Somme_Temp=0
pour k variant de 1 à N :
Somme_Temp ←Somme_Temp + K
fin pour
Exercices simples
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Exercice 2
Rédiger en pseudo-code un algorithme qui permet de calculer, à
partir d’une liste donnée, le nombre d’occurrences qui sont des
entiers pairs.
Exercices simples
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Exercice 2
Notebook
Rédiger en pseudo-code un algorithme qui permet de calculer, à
partir d’une liste donnée, le nombre d’occurrences qui sont des
entiers pairs.
Algorithme: Comptage du nombre d’entiers pairs
Entrée: une liste Liste_Donnees
Sortie: compteur
compteur =0
pour x variant dans Liste_Donnees :
si x n’est pas un entier :
passer à l’élément suivant
sinon :
si x modulo 2 est égal à 0 :
compteur ←compteur + 1
fin si
fin si
fin pour
Exercices simples
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Exercice 3
Rédiger en pseudo-code un algorithme qui permet de calculer le
2
plus petit entier N tel que ∑N
i =1 i ≥ 10000.
Exercices simples
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Exercice 3
Notebook
Rédiger en pseudo-code un algorithme qui permet de calculer le
2
plus petit entier N tel que ∑N
i =1 i ≥ 10000.
2
Algorithme: Recherche N tel que ∑N
i =1 i ≥ 10000
Entrée: rien
Sortie: N
N ←0
Somme_Temporaire ←0
tant que Somme_Temporaire < 10000 :
N ←N + 1
Somme_Temporaire ←Somme_Temporaire + N 2
fin tant que
Exercices moins simples
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Exercice 4
Rédiger en pseudo-code un algorithme qui détermine le nombre
maximal d’occurrences consécutives identiques d’une liste.
Exercices moins simples
FAURIEL
Algorithmique et
programmation:
premiers
concepts de
langage
Premières
notions
Règles
générales dans
un pseudo-code
ou un script
Exemples de
pseudo-code
Exercice 4
Notebook
Algorithme: Recherche le nombre maximal d’occurrences
consécutives identiques d’une liste
Entrée: une liste Liste_Entree
Sortie: compteur _maxi
compteur _maxi ←0
p ←longueur de la liste Liste_Entree
k ←1 # on amorce l’examen des éléments de la liste au premier terme
tant que k ≤ p :
compteur ←0
tant que k + compteur < p et Liste_Entree[k ] = Liste_Entree[k + compteur ] :
compteur _temp ←compteur + 1 # on incrémente le compteur d’une unité
fin tant que # compteur est alors égal au nombre d’occurrences consécutives égales à Liste_Entree[k ]
si compteur > compteur _maxi :
compteur _maxi ←compteur # compteur vient de détrôner compteur _maxi
fin si
k ←k + compteur # on recommence le processus au début du groupe d’occurrences suivant
fin tant que
Téléchargement