Cours AlgoExp I - publi
15 pages
Français

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Cours AlgoExp I - publi

-

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
15 pages
Français
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

  • cours - matière potentielle : i
  • mémoire
Algorithmique Expérimentale Cours I 1.Objectifs du cours – Comprendre la notion d'algorithme – Savoir concevoir et rédiger un algorithme – Pouvoir l'implémenter en Javascool 2.Notion d'algorithme Un algorithme est une procédure bien définie qui permet d'arriver à un résultat
  • lecture de l'algorithme
  • chaîne de caractère ¶
  • javascool
  • relations sur les opérations booléennes
  • instruction
  • instructions
  • algorithmes
  • algorithme
  • priorité
  • priorités
  • opérateur
  • opérateurs
  • opérations
  • opération
  • calcul
  • calculs

Sujets

Informations

Publié par
Nombre de lectures 111
Langue Français

Extrait

Algorithmique Expérimentale
Cours I
julien.cervelle@u-pec.fr
1.Objectifs du cours
Comprendre la notion d’algorithme–
Savoir concevoir et rédiger un algorithme–
Pouvoir l’implémenter en Javascool–
2.Notion d’algorithme
Un algorithme est une procédure bien définie qui permet d’arriver à un
résultatIl décrit les instructions à effectuer étape par étape
Il peut préciser de répéter certaines instructions ou certains blocs
d’instructions plusieurs fois
Il peut prendre une ou plusieurs valeurs en entrée et renvoyer une ou
plusieurs valeurs en sortie
Il peut produire des effets de bords : affichage de messages, émission de
son, attente d’un clic…
3.Exemples d’algorithme
Recette de cuisine–
Modèle d’assemblage (lego, meubles…)–
Feuille de route (GPS, viamichelin, RATP…)–
Algorithme d’Euclide de calcul du PGCD–
4.Programmes
La réalisation d’un algorithme sur ordinateur se fait au moyen d’un langage
de programmationOn dit implémenter ou implanter un algorithme
Dans ce cours, les algorithmes seront implémentés en Javascool :
Proche de Java–
Multi-plateforme (Windows, MacOS, Linux…)–
5.Instructions
Les instructions d’un algorithme peuvent être générales ou très précises :
Précises : instructions proches de l’assembleur–
Générales : opérations complexes (trier un tableau, calculer la –
moyenne…)
Plus les instructions sont précises, plus l’implémentation est facile
Plus les instructions sont générales, plus il est facile de réaliser des
algorithmes complexes
Une instruction d’un algorithme peut être un autre algorithme6.Algorithme en informatique
Un algorithme destiné à s’exécuter sur un ordinateur :
Des valeurs sont stockées en mémoire dans des variables–
Deux types d’instructions :–
Modification des valeurs de variables–
Saut à une point du programme–
7.Variables
Une variable représente un emplacement en mémoire :
Elle possède un nom (chemin, abscisse_x, compteur…)–
Ce nom doit être évocateur pour aider la lecture de l’algorithme⤷
Elle possède un type–
Indique le genre de données que peut contenir la variable⤷
Il est possible de consulter la valeur d’une variable ou d’affecter une –
nouvelle valeur à une variable
En Javascool, il faut déclarer les variables avant de s’en servir–
int compteur;
veut dire compteur est une variable qui contient un entier⤷s
8.Types de base
Les types de base en Javascool sont :
int les entiers–
char les caractères ('a', 'b', ' ')–
double les nombres à virgule flottante–
String les chaînes de caractères ("ici", "Laurent K.")–
boolean les variables booléennes (true, false)–
9.Expressions
Une expression est un calcul réalisé à partir des valeurs des variables.
Elle peut contenir :
des opérations : x+3, "Bonjour "+nom–
des appels à des fonctions : cos(theta), sqrt(x)–
des appels à des méthodes : s.length(), chaine.charAt(2)–
L’évaluation d’une expression est le résultat du calcul de sa valeur en
remplaçant les variables par leurs valeurs en mémoire
Au même titre que les variables, les expressions ont des typesLors de sa déclaration, une variable peut être initialisée avec la valeur d’une
expression : int compteur = 0
10.Priorités
L’ordre dans lequel les opérations sont effectuées au sein d’une expression
est fixé par la priorité de l’opérateur
Les opérateurs, du plus au moins prioritaire
opérateurs unaires–
multiplication et division–
addition et soustraction–
comparaisons (sauf égalité et différence)–
égalité et différence–
opérateur « et »–
opérateur « ou »–
On peut mettre des parenthèses pour effectuer une opération en priorité11.Affectation
L’affectation d’une variable consister à y stocker une nouvelle valeur
L’ancienne valeur présente dans la variable est effacée (on dit écrasée)
Une affectation peut se noter : x=3, x:=3 ou x←3 (se lit « x reçoit 3 »)
x=3 en Javascool⤷
Une affectation stocke en mémoire la nouvelle valeur de la variable à la
place de l’ancienne
On affecte une expression à une variable : norme=sqrt(x*x+y*y)
L’expression peut utiliser la variable affectée : dans ce cas, c’est l’ancienne
valeur de la variable qui est utilisée : x=x+1 permet d’augmenter d’un la
valeur de x ; on dit incrémenter x
12.Entrées et Sorties
Pour interagir avec l’utilisateur, un programme (et non un algorithme) utilise
des fonctions d’entrée (pour demander une valeur) et de sortie (pour
afficher une valeur)
En entrée, on dispose des fonctions : readInt, readDouble et
readString
par exemple age=readInt("Quel est votre âge ?")⤷
En sortie, on dispose des fonctions :
message qui prend en paramètre une chaîne de caractère–par exemple message("Votre âge est de "+age+" ⤷
ans")
println qui affiche le message dans la « console » et prend en –
paramètre tout type de base
13.Instructions Javascool
En Javascool, une instruction peut être :
une affectation suivie par un « ; »–
un appel de fonction ou de méthode suivi par un « ; »–
une instruction conditionnelle–
une boucle–
14.Programme Javascool
Un programme est une suite d’instructions et de déclarations de variables,
au sein d’un « main » :
void main() {
int age = readInt("Quel est votre age ?"); message("Vous avez "+age+" ans");
}
⤷ on obtient des « { } » avec AltGr 4 et + sur PC et ⌥ ( et ) sur
Macintosh
Afin d’améliorer la lisibilité d’un programme il convient :
d’indenter son code, c’est-à-dire de décaler le code vers la droite à –
chaque nouveau bloc
de commenter son code, c’est-à-dire d’ajouter des commentaires qui –
décrivent ce qu’il fait
en Javascool, un commentaires s’écrit entre /* et */⤷
15.Expressions booléennes
Une expression booléenne est une expression dont l’évaluation produit une
valeur qui peut être vrai (true) ou faux (false)
On obtient une expression booléenne :
en comparant des expressions : x+3<sqrt(2)–
en Javascool, = se note ==, ≠ se note !=, ≤ se note <=⤷
en utilisant des fonctions dont le type de retour est un booléen : –
equals(chaine1,chaine2)
en utilisant des méthodes dont le type de retour est un booléen : –
chaine1.equals(chaine2)
avec une variable de type booléen–en combinant d’autres expressions booléennes avec des opérateurs –
booléens
16.Opérateurs booléens
L’opérateur binaire « et » (&& en Javascool, ∧ en logique) est vrai si les deux
opérandes sont vraies
L’opérateur binaire « ou » (|| en Javascool, ∨ en logique) est vrai si l’un des
deux opérandes est vraie
pour faire un « | » : AltGr 6 sur PC et ⌥ ⇧ L sur Macintosh⤷
L’opérateur unaire « non » (! en Javascool, ¬ en logique) est vrai si
l’expression est fausse
17.Relations sur les opérations booléennes
Lois de « de Morgan »
« (non A) et (non B) » est équivalent à « non (A ou B) »–
« (non A) ou (non B) » est équivalent à « non (A et B) »–

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents