Algorithmique - Programmation 1 Cours 1 Universit´e Henri Poincar´e CESS Epinal Automne 2008 1/24Introduction Plan Introduction A propos d’AP1 Quelques concepts de base Premiers pas avec Caml Le branchement conditionnel Fonctions 2/24Introduction Introduction Qu’est ce que l’informatique ? ◮ discipline tr`es jeune ◮ discipline en constante ´evolution (performance des ordinateurs multipli´ee par 2 tous les 18 mois, cf loi de Moore) ◮ discipline tr`es large (calcul, gestion, bases de donn´ees, bureautique, r´ealit´e virtuelle, robotique, productique, traitement de la langue, de la parole, de l’image, etc) ◮ discipline ´evoluant dans un contexte ´economique `a forte croissance ◮ discipline fortement li´ee aux t´el´ecommunications 3/24Introduction Introduction (suite) D´efinition Manipulation d’informations (qui constituent des mod`eles num´eriques ou symboliques) en vue de la r´esolution (automatique ou interactive) de probl`emes (souvent d´ependants de donn´ees et/ou de param`etres) 4/24A propos d’AP1 Plan Introduction A propos d’AP1 Quelques concepts de base Premiers pas avec Caml Le branchement conditionnel Fonctions 5/24A propos d’AP1 Objectifs du cours AP1 ◮ Pr´esentation d’un sous-domaine de l’informatique, `a savoir la programmation → d´eveloppement d’applications ◮ Apprendre `a d´ecrire la r´esolution d’un probl`eme → d´eveloppement d’algorithmes ◮ Apprendre `a r´esoudre un probl`eme en utilisant des fonctions (donn´ee d’entr´ee trait´ee pour produire ...
◮ disciplinetre`slarge(calcul,gestion,basesdedonn´ees, bureautique,r´ealit´evirtuelle,robotique,productique, traitement de la langue, de la parole, de l’image, etc)
D´efinition Manipulation d’ informations (quiconstituentdesmod`eles numeriques ou symboliques) en vue de la re´solution ´ (automatique ou interactive) de proble`mes (souventd´ependants dedonne´eset/oudeparam`etres)
4/24
Plan
Introduction
A propos d’AP1
Apropo
Quelques concepts de base
Premiers pas avec Caml
s’d
Le branchement conditionnel
Fonctions
PA15/42
Arpoposd’A
Objectifs du cours AP1
P1
◮ Pre´sentationd’unsous-domainedel’informatique,`voi a sa r la programmation → d´eveloppementd’applications
◮ Apprendrea` de´crire la re´solution d’unproble`me → d´ loppement d’ algorithmes eve
◮ Apprendrea`r´esoudreunprobl`emeenutilisantdes fonctions (donn´ed’ntre´etraite´epourproduireunesortie) e e → paradigme fonctionnel
◮ Application : implantation d’algorithmes au moyen du langage de programmation caml → apprendre synt t s´mantique d’un langage axe e e
◮ Pourquoipasapprendre`aaimerl’informatique?
6/24
Apropos
Informations pratiques
d’AP1
◮ 10s´eancesdecours-TD-TP(20heuresdechaque)
◮ Supports (cours, exercices, tps) disponibles en ligne sur la plateforme ARCHE ( http://arche.uhp-nancy.fr )
◮ Livre en ligne : De´veloppementd’applicationsavecObjectiveCaml http://www.pps.jussieu.fr/Livres/ora/DA-OCAML/
◮ Evaluation:examene´crit+TPnot´e
7/24
Plan
Introduction
A propos d’AP1
uQeluqesconcepts
Quelques concepts de base
Premiers pas avec Caml
de
Le branchement conditionnel
Fonctions
base8/42
Programme
Queluqesconceptsedbase
D´efinition(Programme) [Vue symbolique] Description d’une relation fonctionnelle entre deuxensembles(donne´esd’entre´eetre´sultat).
[Vue pratique] Un programme est une liste d’i tructions ns indiquant`aunordinateurcequ’ildoitfaire(implantationd’un algorithmedansunlangagecompre´hensibleparlamachine).
◮ Construction d’un programme ◮ Validation d’un programme ◮ Transformation d’un programme (compilation) ◮ Exe´cutiond’unprogramme(interpr´etation)
9/42
Que
Calcul et valeur
lquesconcetpsedabes
De´finition(Calcul) Applicationautomatiqueder`eglesdetransformationqui produisentunevaleurfinale(lere´sultat)a`partirdevaleurs initiales (les don ´ ) nees .
D´efinition (Valeur) Objetinformatiquequinepeutplusˆetretransforme´parle ´anismedecalculcourant(doncd´efinitionrelative`alanotion mec de calcul).