Cours Introduction a l

Cours Introduction a l'algorithmique

-

Documents
58 pages
Lire
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

  • cours - matière potentielle : cours
  • cours - matière potentielle : apprentissage
  • cours - matière potentielle : la licence
  • cours - matière potentielle : en tp - se
  • mémoire
Introduction à l'algorithmique L1 MPCIE Adrien GOËFFON Bureau H207
  • scientifique résolution de problèmes complexes
  • programmation étapes de conception
  • applications informatique de gestion
  • signe d'affectation
  • méthodes de programmation qu'
  • pascal
  • programmes informatiques
  • programme informatique
  • algorithme
  • algorithmes
  • langages
  • langage
  • problème
  • problèmes

Sujets

Informations

Publié par
Nombre de lectures 451
Langue Français
Signaler un problème

Introduction à l’algorithmique
L1 MPCIE
Adrien GOËFFON
adrien.goeffon@univ-angers.fr
Bureau H207

http://www.info.univ-angers.fr/~goeffon Organisation du cours
Cours / TD : 35h
- Mardi 15h15 – 16h45 & jeudi 13h30 – 15h00
TP : 20h
- Lundi 13h30 – 15h30 à partir du 26 septembre (bâtiment G, 1er étage)
- Apporter son cours en TP
- Se munir d'une clef USB pour sauvegarder votre travail à la fin de chaque TP
- Travail sur machine en dehors des TP conseillé
Évaluation
- 2 contrôles continus communs ("CCC") : CCC1 le 26 octobre, CCC2 début janvier 2012
- 1 contrôle continu TP ("CCTP") début décembre
- 1 note de TD ("CCTD") calculée à partir d'au moins deux contrôles continus TD
- Coefficients : CCC1 x3 ; CCC2 x3 ; CCTP x1 ; CCTD x2
Études en informatique à l'université d'Angers Discipline informatique

Théorique
analyse numérique, théorie de l'information, théorie des langages, automates, …
Scientifique
résolution de problèmes complexes, bio-informatique, cryptologie, intelligence artificielle…
Méthodologique
analyse, langages, génie logiciel, …
Technologique
composants, mémoires, périphériques, …
Systèmes
architecture, réseaux, systèmes d'exploitation, …

Applications
informatique de gestion, bureautique, conception assistée par ordinateur, automatique, robotique,
informatique médicale, GPS, internet, jeux vidéo, …
Discipline informatique


ENIAC, 1945
 2010 30 tonnes, 160 m² au sol, 5000 additions par seconde Algorithmique et programmation

Objectif du cours

Apprentissage de l'algorithmique des et méthodes de
programmation
Qu'est-ce qu'un algorithme
- suite finie d'opérations élémentaires permettant de
résoudre un problème donné
- vient du mathématicien et astronome perse
Muhammad ibn al-Khawarizmi, le père de l'algèbre, qui
formalisa au IXe siècle la notion d'algorithme
- l'algorithme le plus célèbre est l'algorithme d'Euclide
(vers 300 avant J.-C.) permettant de calculer le PGCD de
deux nombres dont on ne connait pas la factorisation
Étudions :
- le déroulement de l'algorithme d'Euclide avec 24 et 9
- l'écriture de l'algorithme d'Euclide en pseudo-code
- un algorithme déterminant si un nombre est premier Algorithmique et programmation

Étapes de conception d'un programme informatique

1 – identifier le problème : quelle(s) donnée(s), quel(s) résultat(s) ?
2 – organiser les action : écrire l'algorithme (pseudo-code, organigramme)
- réfléchir aux informations à manipuler
- analyser le problème et le décomposer éventuellement en sous-problèmes
- rendre l'algorithme compréhensible et efficace
- penser à l'utilisateur
3 – Traduire cet algorithme en langage de programmation
4 – Compiler le programme pour qu'il puisse être exécutable


Un langage de programmation permet à un humain d'écrire un code pouvant être analysé
par une machine puis transformé en un programme informatique.
Un programme informatique est une suite d'opérations prédéterminées pouvant être
exécutées par une machine. PASCAL

Langage informatique utilisé en L1 : PASCAL

C, C++, JAVA sont probablement les principaux langages de programmation à connaitre pour un
informaticien et à apprendre lors d'un cursus informatique, mais :
- Le langage C est relativement technique et plus difficile à aborder lorsque les bases de
l'algorithmique ne sont pas connues
- C++ et JAVA sont des langages objet, faisant appel à un paradigme de programmation plus avancé

Le langage PASCAL est celui qui dispose de la syntaxe la plus claire et la plus proche du langage dit
"algorithmique", même s'il est bien moins puissant que le langage C. Il a été mis au point par Pr. Niklaus
Wirth dans les années 1970 dans un but pédagogique, et est en constante évolution depuis.
Tous les algorithmes que nous mettrons au point cette année pourront être écrits directement en
PASCAL.

Principaux langages étudiés au cours de la licence (parcours informatique)
L1 : PASCAL, SQL, HTML
L2 : C, JAVA, CAML, Javascript, PHP
L3 : C++, Assembleur
Variables et constantes

Une variable est un identificateur associant un nom à une valeur ou un objet.

Le nom d'une variable ne doit comporter que des lettres non accentuées, des chiffres (sauf en première
position) et des tirets bas. Il ne peut comporter d'espaces, de signes de ponctuation, de signes
arithmétiques ou de caractères spéciaux.
En PASCAL, on ne tient pas compte de la casse (majuscules / minuscules). Ce n'est pas le cas dans la
plupart des autres langages de programmation.
Une constante est une valeur est définie au début du programme et qui reste
inchangée durant toute son exécution.
Les instructions de base

Une affectation est une opération (instruction) permettant d'attribuer une valeur à
une variable.
En PASCAL, elle est symbolisée par le signe :=
L'identifiant de la variable est à gauche du signe d'affectation.
La valeur ou plus généralement l'expression est à droite du signe d'affectation.
x := 5
y2 := y + 2 * z
i := i + 1
x prend la valeur 5 (au symbole x est désormais associé la valeur 5, jusqu'à ce que cette variable soit modifiée)
y + 2z donne y2 (l'expression y + 2*z est évaluée et sa valeur est "rangée" dans la variable de nom y2)
i prend pour valeur i+1 (i est actualisée : on ajoute 1 à la précédente valeur contenue dans la variable i)