11
8/16/2012 1 2012 Stéphane GOBRON Entretien EPFL – 9 août 2012 @Torre de Babel quadro antigo ASM 01001001 00111101 Fortran Cobol C Lisp C# Java C++ 1 Introduction à la programmation Quatre parties Généralités Ce qui structure ce cours Chapitre 1 Les concepts qui orientent ce cours Chapitre 2 Comprendre les étapes pour communiquer avec une machine Chapitre 3 Les briques de base qui permettent de programmer Ce cours Vue d’ensemble de la programmation Connaître les concepts fondamentaux Comprendre un vocabulaire de base Généralités 15% Ch.1 Concepts 20% Ch2. Communication 30% Ch3. Vocabulaire 35% Généralités Qui et quoi? Comment? Evaluation des acquis Travail d’équipe Se connaître Définir un profil Contes à la carte, © Edition Thierry Magnier, 2011 Le travail de la pensée ressemble au forage d'un puits; l'eau est trouble d'abord, puis elle se clarifie. Proverbe chinois 3 Généralités Qui et Quoi? Partie prof Survol de tous les aspects C++ en profondeur Ludique Partie étudiants Travail conséquent individuel et en équipe

IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

  • Upload
    vukiet

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

1

2012Stéphane GOBRON

Entretien EPFL – 9 août 2012

@To

rre de Bab

el ‐qu

adro antigo

ASM0100100100111101

Fortran

Cobol C

Lisp

C#Java

C++

1

Introduction à la programmation

Quatre parties

GénéralitésCe qui structure ce cours

Chapitre 1Les concepts qui orientent ce cours

Chapitre 2Comprendre les étapes pour communiquer avec une machine

Chapitre 3Les briques de base qui permettent de programmer

Ce cours• Vue d’ensemble de la programmation• Connaître les concepts fondamentaux• Comprendre un vocabulaire de base

Généralités

15%

Ch.1 Concepts

20%Ch2. 

Communi‐cation

30%Ch3. Vocabulaire

35%

Généralités

Qui et quoi? Comment? Evaluation des acquis Travail d’équipe Se connaître Définir un profil

Contes à la ca

rte, © Editio

n  Thierry M

agnier, 2

011

Le travail de la pensée ressemble au forage d'un puits; l'eau est trouble d'abord, puis elle se clarifie. Proverbe chinois

3

Généralités

Qui et Quoi?

Partie prof Survol de tous les 

aspects C++ en profondeur Ludique

Partie étudiants Travail conséquentindividuelet en équipe

Page 2: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

2

Généralités

Comment?

L’introduction à la programmation

Interaction 1 :Choix multiples

Interaction 2 :Questions

Gros plans/ points dedétailimportants

Code exemple

Références

ProblèmesExercices dirigés

Pour leprochain cours

Généralités

Evaluation des acquis

6 quizzes 30%

Projet(s) 20%

Mi‐semestre 20%

Examen final 30%

Critères d’évaluation :

Connaissance des concepts

Réaliser un codeCode propre

Programme prévisionnel

Examen final

Examen de mi‐

semestre

Quizz#1Quizz#2 Quizz#3 Quizz#4 Quizz#5

Quizz#6

Projet(s) d’équipe

>=95% 5.75~6.00 6 A85~94% 5.25~5.74 5.5 B75~84% 4.75~5.24 5 C65~74% 4.25~4.74 4.5 D55~64% 3.75~4.24 4 E45~54% 3.25~3.74 3.5 Fx35~44% 2.75~3.24 3 F25~34% 2.25~2.74 2.5 F15~24% 1.75~2.24 2 F05~14% 1.25~1.74 1.5 F00~05%  0.00~0.24 1 Fabsent  absent  0 F

Généralités

Travail d’équipe

L’informatique : un univers très vaste

«Des» mondes

Seul, quel que soit notre niveau, on peut s’y perdre

Apprendre à se connaître

?

Collaboration etvalorisation des compétences

Partage etremise en question des acquis

Généralités

Se connaître

1 1 1

2 2 23 34 4

556

3456 6

B.A. C. Déterminer votre profil

A. Prise d’initiativeB. Intérêt pour les énigmesC. Qualités relationnelles

/!\ A,B et C abstraits Sans référentiel : 

exercice difficile, voire impossible

Pour vous aider : proposition de méthode, de procédure

Page 3: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

3

Généralités

Définir un profil

1 1 12 2 23 34 4

556

3456 6B.A. C.

1 1 12 2 23 34 4

556

3456 6B.A. C.

1 1 12 2 23 34 4

556

3456 6B.A. C.

1 1 12 2 23 34 4

556

3456 6B.A. C.

1 1 12 2 23 34 4

556

3456 6B.A. C.

1 1 12 2 23 34 4

556

3456 6B.A. C.

1 1 12 2 23 34 4

556

3456 6B.A. C.

1 1 12 2 233 34 4

556

3456 6B.A. C.

1 1 122 2 23 34 4

556

3456 6B.A. C.

1 1 12 2 23 34 4

556

34556 6B.A. C.

1 1 12 2 23 34 4

556

3456 6B.A. C.

4. Etat final

1. Définitionet initialisation

2. Changementd’état

3.1 Réflexion 1

3.2 Réflexion 2 3.3 Réflexion 3

Déterminer votre profil

A. Prise d’initiativeB. Intérêt pour les énigmesC. Qualités relationnelles

Procédure1. Partez de la valeur « 3 » pour chaque critère

2.Sans comparer ajoutez « 1 » au critère que vous aimez le plus

3. Comparez les 2 à 2, le meilleur gagne 1 point, l’autre perd 1 point

4.La somme finale est 10

Chapitre 1.Concepts fondamentaux

Transparence Développement logiciel et codage Des ordinateurs et des hommes Grain de temps Notion d’algorithme Notion de programmation Premiers formalismes

L’essentiel est invisible avec les yeux, Antoine de Saint‐Exupéry

Contes à la ca

rte, © Editio

n  Thierry M

agnier, 2

011

10

Concepts fondamentaux

Transparence

Il est difficile, même pour un informaticien expérimenté, d’évaluer le travail nécessaire au développement d’une application informatique

Le petit prince, A

.deS

t‐Ex

upéry

L’essentiel est invisible avec les yeux, Antoine de Saint‐Exupéry

©MS Office Ex

cel 201

3

Exem

ples jeux vidéo 201

3

Concepts fondamentaux

Transparence

Métaphore :Si votre tâche était de faire un mouton ?

Mouton du 21ème siècle

Mouton du 20ème siècle

Page 4: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

4

Concepts fondamentaux

Développement logiciel et codage

«Programmation» «codage»

Codage : petite partie du développement logiciel

Programmation et codage: dans les deux casFaire comprendre à un ordinateur ce qu’il doit faire

ProgrammationDéf. : Ensemble des activités qui permettent l’écriture des programmes informatiques

CodageDéf. : Rédaction du code source d’un logiciel

Développement logiciel

Programmation / Codage

Concepts fondamentaux

Des ordinateurs et des hommes

«Intelligence» d’un ordinateur?

Ordinateur : amas de commutateurs électroniques

Commutateurs sous tension ou non

Transfert vers le monde numérique

MIPS: millions d’instructions par seconde

« Ces machines n'ont pas de bon sens, elles font exactement ce qu'on leur dit, ni plus ni moins.

Ce fait est la notion la plus difficile à saisir quand on fait ses premiers pas avec un ordinateur  » 

Donald E. KnuthProf Stanford, US, un des pionniers de l'algorithmique D

onald E. Knu

th, T

he Art of C

ompu

ter 

Prog

ramming, Add

ison W

esley 19

97, 

volume 1, p. v

http://www.frc.ri.cm

u.ed

u/~h

pm/talks/rev

o.slides/pow

er.aug

.curve

/pow

er.aug

.htm

l

La puissance de calcul d’un ordinateur ne le rend pas intelligent

Concepts fondamentaux

Grain de temps

Notion d’horloge

Simule une évolution dans le temps d'un phénomène 

Temps discretGrain de tempsChaque 

instruction «coûte» du temps

Savoir trouver un compromis entre qualité, quantité, et difficulté algorithmique

Concepts fondamentaux

Algorithme

Déf. : procédé de calcul, suite finie et non‐ambigüe d’opérations ou d'instructions per‐mettant de résoudre un problème

«Algorithme» du nom du savant persan

Al‐Khuwarizmi

1ère calculatrice mécanique

http://interstic

es.in

fo/jc

ms/i_60

056/un

e‐revo

lutio

n‐pe

rman

ente

Blaise Pascal (1623‐1662) 

La Pascaline, 1ère calculatrice mécanique (1642)

Al Khuwarizmi(783‐850)

Exemple de représentation d’un algorithme

Machine permettant de résoudre un problème mais qui 

ne peut en changer

Page 5: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

5

Programmation

Les 1ers programmes? Siècle des Lumières 18ème , début 19ème

Bouchon et Falcon vers 1730, améliorent l’idée de Marine de Gennes env. 1690 : automatiser les métier à tisser

Jacquard : 1èremachine programmable industrialisée massivement

http://www.cha

teau‐bou

theo

n.co

m/‐

Metiers‐a‐tisser‐Jacq

uard‐.h

tml

JM Jacquard(1752‐1834) 

Métier à tisser de Jacquard (1801)

* Étud

es sur le ré

gime de

s man

ufac

tures

Louis R

eyba

ud

Concepts fondamentaux

Cartes perforées Univers de 0 et 1

Concepts fondamentaux

Premier formalisme

Univers de 0 et 1

G. Boole conjonction calcul 

numérique / décision logique

1ère approche formelle

la base de l’informatique

A. Turing Formalisation du 

concept d’algorithme et de calcul numérique

George Boole (1815‐1865)

http://en

.wikiped

ia.org/w

iki/B

oolean

_algeb

ra_%

28logic%

29

Alan Turing (1912‐1954)

Machine  de Turing

«On Co

mpu

table Num

bers, w

ith an 

App

lication to th

e En

tscheidu

ngsproblem

» (193

6)

Modèle abstrait du fonctionnement de tout appareil de calcul, donc des ordinateurs

Chapitre 2.Communication entre deux mondes

De l’idée au logiciel Pont entre deux univers Systèmes opérationnels Compilateur Langages informatiques Paradigmes Langage support

Un pont vers le monde numérique

Contes à la ca

rte, © Editio

n  Thierry M

agnier, 2

011

19

Communication entre deux mondes

De l’idée au logiciel

5 étapesintermédiaires

1. Conception

2. Interface homme‐machine3. EnvironnementMachine et système opérationnel

4. Codage

L’idée

Logiciel

5. Compilation

6. Recodage?!!

Difficulté

Page 6: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

6

Communication entre deux mondes

Pont entre 2 univers

Programmer?C’est réaliser une passerelle du monde réel au monde numérique

Notion d’interfaces d’entrée et de sortie

clavier, souris, webcam, capteur

écran, imprimante système haptique

Communication entre deux mondes

Systèmes opérationnels

=> environnements

Quelques familles liées aux fabricants de machines

UNIX

Linux

Androïd

Windows

Mac OS

iOS

DebianUbuntuRedhat…

Super calculateur

PC

Mobile

AppleApple

Compilateur

Communication entre deux mondes

Compilateur

Trouver un terrain d’entente

Utilisation de langages de «haut» niveau

Le compilateur convertit en langage machine

Création de l’exécutable

Programme source

Analyse du lexique

Analyse de la syntaxe

Analyse sémantique

Génération de code binaire

Programme exécutable

Demande Token

Nouveau Token

AST

AST modifié

Entrée «input»

Sortie «output»

Communication entre deux mondes

Langages informatiques

Pourquoi de nouveaux langages? 

améliorer le ratio efficacité / effort

Langages de «haut niveau»

Langages de «bas niveau»

Form

alisme

Composants électroniques

Langage machine«0001010111010…»

Assembleur«mov ax, @data…»

Fortran, C, Pascal…« if max < min then max = min »

OO et langages «visuals»

Page 7: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

7

Communication entre deux mondes

Paradigmes

4 « Familles » de langages

4 paradigmes

Impératif ouProcédural

Fonctionnel

Logique

Orienté Objet (OO)

«Philosophies» de programmation drastiquement différentes qui influencent donc très fortement le travail de développement

Fonctionnel

Lisp…

Impératif

PascalFortran

C…

Logique

Prolog…

POO

SmalltalkC++Java…

Ici, tout est symbole

Étape par étape, comme une recette de cuisine

Interactions entre objets

Évaluation d’une formule

Cascade de recherches par des règles sur un ensemble

Communication entre deux mondes

Langage support

C++

Orienté Objet (OO)

Ajoute l’aspect OO au langage C

Couvre un large spectre de la programmation

Très puissantDonc difficile

Populaire

Applications graphiques

Développé parBjarne Stroustrup (1950~)

langage C++

Fonctionnalités OO

langage C

Méthodologies procédurales

Chapitre 3.Vocabulaire de base

Résoudre un problème? Code source, éditeur‐compilateur Fichiers de sortie Instructions Notion de phrase Notion de type Conseils d’écriture 1 Opérateurs de base Fonction de base Conseils d’écriture 2 Tampon (Buffer) d’entrée / sortie Constantes

Bâtir sur le néant

Contes à la ca

rte, © Editio

n  Thierry M

agnier, 2

011

27

Vocabulaire de base

Résoudre un problème?

Programmer, c’est construire, bâtir

Utilisation de briques de plans de 

construction

Réutiliser ce qui a été développé

CodesAlgorithmes Patterns 

d’architectureUne montagne de 

briques simples peut résoudre des problèmes 

complexes

Vocabulaire de base

Page 8: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

8

EditeurCode source

Vocabulaire de base

Code source, éditeur‐compilateur

La meilleure façon d’apprendre un langage?

c’est peut‐être de tester soi‐même! 

Editeur‐compilateur PC/WindowsCode::BlocksVisual Studio Eclipse

PC/Linux Code::Blocks Eclipse

MacXCode

Bla blablabla blablabla Bla blabla blablablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla Bla blablabla blablabla Bla blablabla blablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla 

Bla blablabla blablabla Bla blabla blablablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla Bla blablabla blablabla Bla blablabla blablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla 

Bla blablabla blablabla Bla blabla blablablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla Bla blablabla blablabla Bla blablabla blablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla 

Bla blablabla blablabla Bla blabla blablablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla Bla blablabla blablabla Bla blablabla blablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla 

Fichier(s) texte

Compilateur

Fichiers de sortie compilés

Analysé par…

Si accepté, génération de…

e.g. «Code::Blocks»Logiciel gratuit

EditeurEditeurCode sourceCode source

Vocabulaire de base

Fichiers de sortie

Réutilisation du fichier de sortie

Boîte à outils

E.g. fonctions mathématiques

Bla blablabla blablabla Bla blabla blablablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla Bla blablabla blablabla Bla blablabla blablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla 

Bla blablabla blablabla Bla blabla blablablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla Bla blablabla blablabla Bla blablabla blablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla 

Bla blablabla blablabla Bla blabla blablablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla Bla blablabla blablabla Bla blablabla blablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla 

Bla blablabla blablabla Bla blabla blablablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla Bla blablabla blablabla Bla blablabla blablabla Bla blablabla bla blabla Bla blablabla blablabla Bla blablabla blablabla Bla blabla blablablabla Bla blab la bla blablabla 

CompilateurCompilateur

Fichiers de sortie«Librairie» ou «Exécutable» 

Fichiers de sortie«Librairie» ou «Exécutable» 

Le logicielBoîte à outilsréutilisable

#include < iostream >

Vocabulaire de base

Instructions

Instructions de base

Similaires aux mathématiques

FonctionsVariablesOpérateursConstantes

Mathématiques et informatique?

y = f( x )

y = a. f2( x1, x2) + b

avec f(x) = x2

avec f2= x12 +x2

Constantes

Opérateur d’affectation

Opérateurs de calcul

Définition des fonctions

fonctionOpérateur 

Variables

Variables d’entrée

Variablesde sortie

Vocabulaire de base

Notion de phrase

Une phrase est une instruction

1. Finit par un « ; »

2. Les accolades ouvrantes et fermantes délimitent le code

3. Les chiffres en début de ligne ne sont ici que pour  indiquer la ligne de code, ils ne font pas partie du code

1 {2 < code instruction > ;34 < code instruction > ;5 < code instruction > ;67 < code instruction > ;8910 < code instruction > ;11 < code instruction > ;12 }

1

2

3 2

Page 9: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

9

Vocabulaire de base

Notion de type

x, y et sont des valeurs réelles

Valeurs absolues et parfaites

Ordinateur limité en mémoire

Monde numérique paradigme discret

Exemple_________________________________________1 <…>2 {3 int age = 34 ;4 float masse = 76.5 ;56 <…>7 }

y = . x

Booléensbooltrue ou false

Entiersint et longE.g. 1475

Réelsfloat et doubleE.g. -45.8

Les caractèrescharE.g. ‘a’ , ‘Z’, ‘?’, ‘9’

Les motsstringE.g. "Bonjour"

1. L’initialisation n’est pas obligatoire

2. L’indentation permet de rendre le code lisible

3. Une ligne, … …une phrase

Vocabulaire de base

Conseils d’écriture 1

1 <…> 2 {3 int age ;4 float masse = 76.5 ;56 <…>7 }

2. indentation 1. initialisation 3. Une phrasepar ligne

Vocabulaire de base

Opérateurs de base

Affectation a reçoit la valeur b a = b

Addition et soustraction

a + b et a – bavec assignation :

a += b et a –= b

Multiplication et division

a * b et a / bavec assignation :

a *= b et a /= b

Exemple__________________________________1 <…>2 {3 int age1 = 0 ;4 int age2 = 17 ;5 age1 = 17 * 2 ;6 age2 *= 2 ;7 <…>8 }

http://www.commentcamarche.net/contents/cpp/cppop.php3Plus d’informations sur les opérateurs :

Vocabulaire de base

Fonction de base

La fonction de base en C++

« main » : principale

Tout commence par le main, c’est le point d’entrée

Nombreuses façons de résoudre un problème

Pas de solution parfaite

Notre but : approximation ‘‘suffisante’’

<type retour><nom fonction>( <paramètre(s) de la fonction> ){

< code de la fonction >}

Exemple 1________________________123 int main()4 { 5 double myReal = 3.14 * 5.0;6 return 0;7 }

Exemple 2______________________________________________________________________1 double calCirclePerim( double radius )2 {3 double perimeter = radius * 2.0 * 3.1415926 ;4 return perimeter ;5 }67 int main()8 { 9 double myReal = calCirclePerim( 2.5 );10 return 0;11 }

Page 10: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

10

1. Le choix des noms de variables et de fonctions

2. Respecter les types

3. ‘‘Diviser pour mieux régner’’

Vocabulaire de base

Conseils d’écriture 2

Exemple 2______________________________________________________________________1 double calCirclePerim( double radius )2 {

3 double perimeter = radius * 2.0 * 3.1415926 ;

4 return perimeter ;5 }67 int main()8 { 9 double valuePerimeter = calCirclePerim( 2.5 );10 return 0;11 }

3. Diviser en sous‐parties

2. indentation

1. Noms explicites « #include » inclut une source extérieure au code source « iostream » est une librairie orientée objet gérant les flux (stream) d’entrée (in) / sortie (out)

Buffer d’entrée et de sortie

Vocabulaire de base

1 #include <iostream>23 int main()4 { 5 int age = 0;6 int nbOfDays = 0;78 std::cout << "Quel est votre age? " ; 9 std::cin >> age ;1011 nbOfDays = 365 * age ; // approximation inférieur de l'âge en nombre de jours1213 std::cout << "Vous avez donc au moins " << nbOfDays << "jours de vie." << std::endl ;1415 return 0 ; 16 }

define : #define <caractères à chercher> < caractères de substitution> const : const <type de la constante> <nom de la constante> = <valeur constante>

Constantes

Vocabulaire de base

1 #include <iostream>23 using namespace std; 4 #define PI_v1 3.141595 const double PI_v2 = 3.1415926535897932384626433832795;67 int main()8 {9 double r = 5.0;10 double circle1, circle2;11 circle1 = 2.0 * PI_v1 * r; // circle = 2 x 3.14159 x r 12 circle2 = 2.0 * PI_v2 * r; // circle = 2 x 3.141592653589793 x r13 cout << circle1 << " " << circle2 << nline; // écrit les valeurs de «circle» dans le buffer de sortie14 return( 0 ); // retour le code erreur de valeur zéro, signifiant «tout s’est bien passé»15 }

Prochain cours :Chapitres 4 et 5Itérations et Notions de classe

Notions de boucle La boucle for La boucle while Arrêts et sorties Boucles récursives

Structure Protection et encapsulation Notion de classe Notion d’objet

Contes à la ca

rte, © Editio

n  Thierry M

agnier, 2

011

40

Page 11: IntroProg EPFL v1-12 - stephane-gobron.net · Chapitre 1 Lesconceptsqui orientent ce cours ... Questions Gros plans / points de détail importants Code exemple Références Problèmes

8/16/2012

11

Former des équipes de 3, 5, ou7 personnes

Indices! Regroupez‐vous 

avant tout pour réaliser une équipe homogène

Trois critères‐ Proximité‐ Affinités‐ Complémentarité

Assignment

Choix des équipes

http://ocw.mit.edu/ http://en.wikipedia.org/ http://www.cplusplus.com/

Livres de référence recommandés : Walter Savitch, Problem Solving with C++, 7th Edition, Addison 

Wesley Publishing Company, Inc., 2009 Bjarne Stroustrup, The C++ Programming Language (Special Edition), 

Addison Wesley Publishing Company Inc., 3rd Edition, 2000

42