Vous êtes sur la page 1sur 14

Amphi 1 : introduction au cours

Tronc Commun X2013

INF311 : Introduction à l’Informatique I. Présentation générale du cours.

François MORAIN II. Un ordinateur, comment ça marche?

morain@lix.polytechnique.fr III. Algorithmes, langages, programmes.

IV. La programmation en Java.

V. Organisation du cours.

VI. Derniers mots.

D ÉPARTEMENT D ’I NFORMATIQUE

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 1/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 2/55

I. Présentation générale du cours INF311

Les missions du DIX: Cours fait pour les débutants en informatique


• Enseigner l’informatique à tous les élèves, quelle que
• Faire connaissance avec l’informatique (science +
soit leur voie d’entrée à l’École.
techniques).
• Enseigner le maximum d’aspects différents du
domaine: programmation, algorithmique, calculabilité,
• Se familiariser avec un système d’exploitation (Unix),
réseau, web, etc.
quelques outils modernes (ECLIPSE : éditeur de
développement intégré – IDE).
Les qualités des X:
• rigueur; • Commencer à apprendre la programmation et
• adaptabilité (⇐⇒ accumuler culture + expérience); l’algorithmique.
• formation pluridisciplinaire. 10 blocs : 1 bloc = 1 amphi de 1h30 + TP de 2h sur
machine + deux heures de travail personnel (par semaine).

C’est la moitié du tandem 311 + 411.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 3/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 4/55
Qu’est-ce qu’un programme?
Modéliser – Abstraire – Programmer
• Modéliser l’information et son traitement de plus en Un ensemble de composants qui permettent de réaliser une
plus complexe (humain, promotion, pays, planète, etc.). action donnée.
• Abstraire: utiliser des structures de base de Cf. train, équipe de foot, PSC, etc.
l’information (tables, listes, arbres) ;

1 2 3 L -> a -> b -> c -> 0

gen A

col1 col2 C B

cdt1 cdt2 D E

• Programmer : pas seulement écrire, modularité (e.g.,


séparation du calcul de l’affichage, etc.).

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 5/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 6/55

II. Un ordinateur, comment ça marche? Le processeur

Vision abstraite:
Processeur
· · · 1001 · · · · · · 1110 · · ·
Entrée Sortie
Mémoire

matériel
Un ordinateur est une machine qui exécute des
programmes qui résolvent un problème.
noyau
À un très bas niveau, le processeur transforme des 0 et des
programmes
1 en d’autres 0 et d’autres 1.
L’interprétation des 0 et des 1 se fait à plus haut niveau,
Les programmes sont pilotés à travers des interfaces suivant des conventions précises (1011000 = ’X’).
(boutons, souris, icônes, etc.).

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 7/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 8/55
0 et 1 suffisent. . . Le modèle de base du calcul

On construit:
John von Neumann (1903 – 1957) une carte PC
• tous les entiers (ou beaucoup) ; on en déduit les
rationnels ;
LOAD/STORE ADD/AND/NOR JUMP ON < JUMP ON =
• des nombres presque réels (les flottants) ; Rem. Une unique instruction est possible!

• des lettres (ASCII, UNICODE), donc des alphabets,


donc des mots, des livres, etc. ;

• des images (photos, films ; en couleurs ; en 2D, en 3D),


des sons, etc.

⇒ grande force de l’informatique :


l’information est unifiée

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 9/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 10/55

Le modèle de base (suite) Quelques autres modèles de calcul


Vectoriel
LOAD/STORE ADD/AND/NOR
JUMP ON < JUMP ON =

Exécution séquentielle : les instructions sont lues et


exécutées l’une après l’autre, calculs internes sur des
entiers: SIMD
Futur : quantique (Shor), biologique (Adleman), etc.
00000000101000010000000000011000
→ 00000000100011100001100000100001 1 1
√ |10i + √ |11i
10001100011000100000000000000000 2 2

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 11/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 12/55
III. Algorithmes, langages, programmes Le théorème de Turing

Qu’est-ce qu’un programme ? C’est la traduction dans un


langage compréhensible pour l’ordinateur d’un ensemble Alan Turing
d’algorithmes qui permettent de résoudre des problèmes. 1912 – 1954

Un programme tourne dans un environnement : Thm. Tous les langages de programmation sont équivalents
(car équivalents à un programme tournant sur une machine
• bibliothèques prédéfinies,
de Turing – cf. INF412).
• système d’exploitation,
• réseaux.

Il y a une locomotive (capitaine) qui lance l’action.


Beaucoup de programmes n’ont pas vocation à écrire sur
un écran, ou dans un fichier. Leur fonctionnement peut
apparaître de premier abord invisible: on constate leur
action.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 13/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 14/55

Expressivité Algorithmes

• Un langage est un moyen d’expression, il traduit un Un programme utilise souvent plusieurs algorithmes qui
processus de pensée (un ensemble d’algorithmes). résolvent des problèmes précis dans un modèle de calcul
• Tous les langages ont leurs qualités et leurs défauts. Il donné.
n’y a pas de “meilleur” langage.
Déf. Un algorithme est une suite finie d’instructions
⇒ les algorithmes existent en dehors d’un langage permettant de résoudre un problème donné.
particulier;
Ex. Pgcd (algorithme d’Euclide), traitement d’image,
Règle 1: Les langages passent, les algorithmes restent! géométrie, routage sur les réseaux, etc.

⇒ il faut clarifier ses idées pour pouvoir les exprimer dans Un algorithme est souvent décrit dans un formalisme
un formalisme. Cf. morse (très comparable au binaire des mathématique, indépendamment de tout langage. Il doit
ordinateurs), radio, commande vocale, un enfant, un être implanté (traduit) dans un langage de programmation
journaliste, un étudiant, un sous-officier, etc. pour pouvoir être utilisé.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 15/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 16/55
Quelques programmes Exemple: M APLE (1/2)

M APLE est un système de calcul formel, qu’on utilise à


Un programme raconte une histoire. Il y faut
l’aide d’un interprète (top-level), qui attend des commandes.
• du croquant Cet interprète tourne dans un environnement graphique (ou
• du coulant dans un terminal).
• du mœlleux Ces commandes sont exécutées dans l’environnement
• du croustillant courant, en s’appuyant sur des bibliothèques prédéfinies,
avec deux modèles de travail:
• print(eval(read)): ce qui est lu est évalué, et
affiché à l’écran:
> ifactor(20!+1);
(117876683047) (20639383)
• eval(read): ce qui est lu est évalué, mais n’est pas
affiché à l’écran:
> n:=2000!+1:

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 17/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 18/55

Maple (2/2) IV. La programmation en Java

M APLE dispose d’un langage de programmation, qui permet Pourquoi programmer ?


à l’utilisateur d’écrire des programmes dans • formation commune à tous les informaticiens ;
l’environnement de M APLE.
• apprendre à clarifier/organiser sa pensée;

On a donc un cas où des programmes tournent à l’intérieur • la meilleure façon de comprendre les algorithmes;
d’un autre programme. • résoudre des problèmes toujours nouveaux (e.g.,
réseaux) ;
C’est le cas également de SciLab, etc. • se faire une idée sur la faisabilité/difficulté des
problèmes (informatique expérimentale);

• bien souvent l’utilisation principale de l’informatique


dans les autres domaines scientifiques; voire comme
outil de communication entre sciences.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 19/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 20/55
Pourquoi Java ? A) Le premier programme

• relativement simple, très répandu, conçu pour le nom de la classe point d’entrée
WWW, maintenant dans les téléphones (android) ; dans la classe
• typé, avec des objets, gestion mémoire ;
• quand on connaît un langage, il est facile d’en public class Bonjour{
public static void main(String[] args){
apprendre d’autres (e.g., C/C++).
System.out.println ("Salut !");
return;
}
} fonction d’affichage
Pierre François Xavier Bouchard (X96)
pour redonner
la main argument de la fonction
Motsàen bleu : mots-clefs de Java.
l’appelant

En Java, tout programme forme un composant (classe).


public caractérise les constituants de la classes qui sont
visibles de l’extérieur de la classe.
F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 21/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 22/55

Compilation, interprétation Tous les programmes sont buggés

À la main : on écrit le programme dans un fichier . . . à moins d’avoir prouvé qu’ils étaient corrects!
Bonjour.java, puis on le compile par :
bug
unix% javac Bonjour.java

et on l’exécute avec :
programmeur programme
unix% java Bonjour

En vrai : javac vérifie la syntaxe et le typage, puis traduit le Pour diminuer le nombre de bugs, il faut:
programme dans un langage intermédiaire (byte-code • typer,
portable) qui est ensuite traduit pour l’ordinateur par java. • compiler,
• tester,
Avec eclipse : il fait tout tout seul, sauf taper pour vous !
• prouver.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 23/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 24/55
B) Constituants du (d’un?) langage Calculs simples

• Identificateurs : séquences de lettres et de chiffres


public class Calculs{
public static void main(String[] args){
commençant par une lettre, séparées par des espaces, System.out.println(1983 + 30);
caractères de tabulation, retours à la ligne ou des System.out.println(2. * Math.PI * 1.5);
caractères spéciaux (+, -, *, etc.). System.out.println((13 * 2) % 5);
• mots-clefs : class, public, static, etc. return;
}
• types primitifs: entiers (int), réels (double), }
caractères (char).
• Opérations arithmétiques: +, -, *, /, % unix% java Calculs
(modulo). 2013
9.4247779607693793
• Bibliothèques intégrées : Math.sqrt(), Math.PI, 1
String, etc.
Rem. Le programme n’affiche des choses que si on le lui
• Constructions classiques: if/else, while, for. demande (contrairement aux interprètes comme M APLE).
• Créations par l’utilisateur: fonctions, objets.
F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 25/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 26/55

Variables C) Affectation

Une variable est représentée par un identificateur, elle a un u = e;


type (= on doit savoir dans quel ensemble elle prend ses
valeurs). • u est une variable et e une expression ;
• les deux ont même type ;
On peut utiliser sa valeur, lui en affecter une (nouvelle).
• l’expression e est évaluée, puis la variable u prend
pour valeur le résultat de cette évaluation : on a affecté
Une variable doit toujours être déclarée :
la valeur de e à u.
int x;
double u; x = -155;
z = x + 3;
Cela permet au compilateur de
• faire du contrôle de type; Une variable doit avoir reçu une valeur explicite, par une
affectation, avant de pouvoir être utilisée dans une
• réserver de la place en mémoire pour le contenu de la
expression.
variable (4 caractères pour un int, 8 pour un double).

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 27/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 28/55
Affectation (suite) D) Un peu de convivialité

On peut condenser déclaration et initialisation : Chaînes de caractères : pour rendre un programme plus
convivial, on affiche des chaînes de caractères.
int x = -155;
public class Calculs2{
public static void main(String[] args){
Une instruction idiomatique : avec le mécanisme d’affection, int n = 10, b;
les instructions : b = n*(n-1)/2;
int i = 3; System.out.print("résultat=");
i = i + 1; System.out.println(b);
return;
sont valides, car on calcule d’abord i+1 et le résultat 4 est }
mis dans i à la place de 3. }
Rem. On peut écrire plus simplement
System.out.print("résultat="+b);
c’est un cas de surcharge (nous y reviendrons).

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 29/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 30/55

Intéractions avec le programme E) Quelques types primitifs

Ex: demander un entier à l’utilisateur et afficher le carré de a) les entiers en Java


l’entier à l’écran.
En fonction du problème :
public class Calculs{
public static void main(String[] args){ • int (le plus courant, 32 bits, [−231 , 231 − 1]), long (64
System.out.print("Entrer n="); bits). Aussi, version objet: Integer;
int n = TC.lireInt(); • Pour de plus grands nombres, BigInteger.
System.out.print("n^2=");
System.out.println(n * n); Opérations : +, -, *, /, % (modulo).
return;
} Ex. int q = 5 / 2; int r = 5 % 2;
} Rappel: un entier n > 0 s’écrit en binaire sous la forme:
La classe TC: écrite spécialement pour le Tronc Commun
(JCervelle, PChassignet, FM). C’est une classe comme n = bp 2p + bp−1 2p−1 + · · · + b0 , avec p > 0, bi ∈ {0, 1}.
System. Documentation sur les pages web du cours.
Ex. 29 = 1 · 24 + 1 · 23 + 1 · 22 + 0 · 21 + 1 · 20 = 111012 .

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 31/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 32/55
Arithmétique signée

Le type int permet de coder les entiers de + 6= +


[−231 , 231 − 1] = [−2147483648, 2147483647].
Mathématiquement: si x et y sont de type int, donc
−231 6 x < 231 → b31 b30 . . . b0
éléments de [−231 , 231 − 1], alors
avec bi ∈ {0, 1}, et le bit b31 est interprété comme bit de déf
signe: x+y = x + y mod 232 .

• si 0 6 x < 231 , b31 = 0 et Donc: 2000000000+2000000000 = -294967296.


x = b30 230 + b29 229 + · · · + b0 . Pas très grave pour des indices de boucle, etc.
• si −231 6 x < 0, b31 = 1 et
En cas de besoin, utiliser des long [−263 , 263 − 1] =
[−9223372036854775808, 9223372036854775807].
x + 231 = b30 230 + b29 229 + · · · + b0 .

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 33/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 34/55

b) les flottants Exemples

Type principal: double représente des nombres public class Ex{


approchés dans l’intervalle public static void main(String[] args){
4.9E-324..1.7976931348623157E308 avec signe. double x = Math.PI, y;

Ex. 3.14 ou 31.4e-1 System.out.println(Math.cos(x));


// calcul de y = x3 − 2.2x + 5.3
La classe Math: y = x*(x*x-2.2)+5.3;
• π =Math.PI, e =Math.E; System.out.println("y="+y);
}
• ceil, floor, round;
}
• sqrt;
• exp, log;
Rem. Nous ferons très peu appel aux flottants dans le
• cos, sin, tan, acos, asin, atan; cours.
Rem. Attention aux problèmes liés à la précision fixe (perte
d’associativé, etc.).

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 35/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 36/55
c) Booléens Règles d’évaluation

Déf. un boolean a pour valeur true ou false. Soient c1 et c2 deux expressions booléennes, dans
l’instruction
Expressions logiques: évaluées à true ou false,
boolean b = (c1 || c2);
combinaisons d’opérateurs de comparaison arithmétiques:
<, <=, >, >=, ==, != Java évalue c1; si c1 est vraie, c2 n’est pas évaluée
et d’opérateurs logiques: ! (négation), && (et), || (ou). (évaluation paresseuse) et b vaut true.
x > 8;
x == 7; De même, dans:
y != ((x == 1) && (z > 9)); boolean b = (c1 && c2);
51.7 > 48.3
si c1 est faux, c2 n’est pas évaluée, et b vaut false.
Attention à la différence entre = affectation, et ==
comparaison.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 37/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 38/55

F) Faire prendre des décisions simples Comment ça marche dans le processeur ?

public class Ifelse{ 011 ···


public static void main(String[] args){ → 012 si n == 3 aller à la ligne 20
int devinette = 3, n = 4; 013 ···
condition booléenne ··· ···
if(n == devinette){ 020 suite des instructions
System.out.println("Gagné");
} bloc 011 ···
else{ d’instructions 012 si n == 3 aller à la ligne 20
System.out.println("Perdu"); 013 ···
} ··· ···
return;
} → 020 suite des instructions
}
Rem. C’est le JUMP ON =.
Rem. le bloc else est optionnel; on peut se passer
d’accolades quand il n’y a qu’une instruction dans le bloc.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 39/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 40/55
G) Boucle d’attente Comment ça marche dans le processeur ?
public class Devinette{ 011 ···
public static void main(String[] args){ → 012 si n == 3 aller à la ligne 20
int devinette = 3, n = 0;
condition booléenne 013 lire n
while(n != devinette){ ··· ···
TC.print("Entrer un nombre :"); 019 aller à la ligne 12
n = TC.lireInt(); 020 suite des instructions
if(n == devinette){
011 ···
System.out.println("Gagné"); ← bloc
} d’instructions 012 si n == 3 aller à la ligne 20
else{ 013 lire n
System.out.println("Perdu"); ··· ···
} 019 aller à la ligne 12
} → 020 suite des instructions
return;
}
}

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 41/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 42/55

H) Fonctions Syntaxe
public class Calculs{
public static int carre(int n){ public static <type_de_retour> <nom>(<paramètres>)
return n * n; {
} [déclaration de variables]
public static void main(String[] args){ [suite d’instructions]
System.out.print("Entrer n="); return <résultat>;
int n = TC.lireInt(); }
System.out.println("n^2="+carre(n));
return; • type_de_retour : une fonction calcule un résultat et
} le retourne à la fonction qui l’a appelée; ce résultat a
} nécessairement un type (int, etc.).
Pourquoi écrire des fonctions ? • paramètres : les arguments passés à la fonction et
• abstraire, clarifier: première étape de la modularité ; avec lesquels elle peut travailler.
• réutiliser ;
• c’est un exemple de communication de données.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 43/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 44/55
Le type spécial void Visibilité des variables
public static int f(int r){
Si la fonction ne retourne pas de valeur, elle a un type de int n = 3; bloc mémoire de f
retour spécial void. return (r+n);
}
C’est le cas d’une fonction qui ne fait que de l’affichage. public static void main(String[] args){
int n = 10, m;
C’est aussi le cas de la fonction main: m = f(n);
System.out.println(n);
public static void main(String[] args){ }
... bloc mémoire de main
return;
}
Le programme affiche 10.
Rem. Dans ce cas uniquement, le return est optionnel, Règle: la variable n de f est locale à f. Elle n’a rien à voir
mais il permet de bien voir où finit l’exécution du avec la variable n de main (ce sont deux emplacements
programme. mémoire différents).

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 45/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 46/55

Passage par valeur V. Organisation du cours

public static void f(int n){ Le plan du cours:


n = n+1; A1: introduction
return;
} A2: tableaux
public static void main(String[] args){ A3: classes, objets
int n = 10; A4 : modularité
f(n);
System.out.println(n); A5 : récursivité
} A6 : sécurité des données
Qu’affiche-t-il en sortie ? 10. A7 : listes chaînées
A8 : arbres
Règle: une fonction ne peut pas changer la valeur d’une A9 : stockage efficace de l’information
variable d’un type primitif extérieure à elle-même. On dit que
A10 : algorithmes semi-numériques
les arguments sont passés par valeur (c’est-à-dire recopie).

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 47/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 48/55
Organisation pratique Notation

• 10 blocs : • composition sur machines: bloc 6 (19/20 mai pendant


I 1 amphi de 1h30; les TD);
I 2h de TP en salle machine (PC sous GNU/Linux – kde)

le jour même ou le lendemain: écriture de plusieurs


• composition Hors Classement le lundi 30 juin sur
classes, etc. ; papier (toutes les annales sont sur le web).
I à compléter par deux heures de travail personnel par

semaine. Vous serez aidés par la Note finale:


CORRECTION AUTOMATIQUE. [1/3 pale machine
+ 2/3 pale papier] (sur 18 points)
• Tout est sur le web: poly, quizz, exercices, questions + 2 points de note de participation aux TDs.
aux enseignants, etc.

• OFFICE HOURS.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 49/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 50/55

Les équipes enseignantes Un peu de démocratie

Chaque équipe enseignante = 1 responsable + 1 adjoint Délégué(e)s :


• Un délégué(e) pour chaque groupe avec parité; un
1, 9 Francesco ZAPPA NARDELLI, Gwendal COLLET délégué et une déléguée pour le niveau élu(e)s parmi
2, 10 Maks OVSJANIKOV, Dimitrios MILIORIS ceux-ci.
3, 11 Marie ALBENQUE, Andrey IVANOV • Pour quoi faire? Faire remonter les problèmes;
4, 12 David SAVOUREY, Viorica PATRAUCEAN sondage; réunions de département; déjeuner de temps
5, 13 Ben SMITH, Audrey TIXIER en temps.
6, 14 Philippe CHASSIGNET, Alain COUVREUR • Je veux les noms la semaine prochaine . . .
7, 15 Luca CASTELLI ALEARDI, Bogdan TOMCHUK
8, 16 Dominique POULALHON, Bruno GRENET

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 51/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 52/55
VI. Derniers mots Où sont les salles info ?

Résumé de l’introduction à Java : • Au rdc, à côté du couloir des langues.


• identificateurs, variables ;
• Pour y aller :
• types primitifs : int, double, boolean ;
I passer à côté de la scola, prendre le couloir d’accès
• if/else, while, fonctions; aux laboratoires ;
• premiers programmes. I descendre le premier escalier sur votre gauche ;
I arrivé(e) en bas, passer dessous, c’est la première

TD 1 : venez un peu plus tôt si possible. . . porte à droite après les portes vitrées ; elle s’ouvre avec
le badge ;
Groupes aujourd’hui demain I les noms des élèves sont affichés sur les portes des

1–6 15h45–17h45 salles.


9–14 13h30–15h30
7–8 15h45–17h45
15–16 13h30–15h30

Prochain amphi: vendredi 18 avril à 13h30.

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 53/55 F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 54/55

F. Morain – École polytechnique – Introduction à l’Informatique (INF 311) – Promo X2013 55/55