Licence MPI, Semestre 1, Introduction `a l

Licence MPI, Semestre 1, Introduction a` l’informatique (Info 111)
Ann´ee 2014–2015
TP 2 : premiers programmes
Tous les exercices non marqu´
es d’un ♣ sont `
a terminer pour la semaine
prochaine.
Exercice 1 (Premiers programmes en jouant).
Le jeu laby 1 propose plusieurs niveaux de labyrinthes ; pour chacun d’entre eux, le but est
de guider la fourmi pas `a pas vers la sortie a` l’aide d’un programme.
(1) S´electionner le langage de programmation « c ».
(2) Suivre les instructions pour ex´ecuter pas `a pas la d´emonstration.
(3) R´esoudre le maximum de niveaux en une heure !
. API du jeu laby
// //////////////////////////////////////////////////////////////////////////
// I n s t r u c t i o n s
// //////////////////////////////////////////////////////////////////////////
avance ( ) ;
droite () ;
gauche ( ) ;
prend ( ) ;
pose ( ) ;
d i t ( ”b o n j o u r ” ) ;
regarde () ;
//
//
//
//
//
//
//
//
F a i t un pas v e r s l ’ a v a n t
F a i t p i v o t e r l a fo u rm i v e r s l a d r o i t e
ou l a gauche
Prend l e c a i l l o u s i t u ´e s u r l a c a s e d e v a n t l a fo ur m i
Pose l e c a i l l o u d e v a n t l a f o u r mi
Dit bonjour
Renvoie Vide , C a i l l o u , Mur , T o i l e , S o r t i e , ou Inconnu
s e l o n ce q u i s e t r o u v e s u r l a c a s e d e v a n t l a f o u r mi
ouvre ( ) ;
// Ouvre l a p o r t e s i t u ´e e d e v a n t l a f o u r m i ( f i n du n i v e a u )
// //////////////////////////////////////////////////////////////////////////
// C o n s t r u c t i o n s
// //////////////////////////////////////////////////////////////////////////
// Tant que l a c o n d i t i o n e s t r e s p e c t ´e e , r ´e p`e t e l e s i n s t r u c t i o n s
while ( c o n d i t i o n ) {
instructions ;
}
// S i c o n d i t i o n e s t v r a i , ex ´e c u t e l e s i n s t r u c t i o n s 1 s i n o n l e s i n s t r u c t i o n s 2
i f ( condition ) {
instructions1 ;
} else {
instructions2 ;
}
// D´e f i n i une f o n c t i o n f
void f ( ) {
instructions ;
}
1. http://www.pps.univ-paris-diderot.fr/~gimenez/fdls.html
1
2
TP 2 : PREMIERS PROGRAMMES
Exercice 2 (Un premier programme C++).
(1) Dans votre dossier personnel, cr´eer un r´epertoire Info-111, puis un sous r´epertoire
TP2.
(2) Lancer l’environnement de d´eveloppement Code : :Blocks.
(3) Ouvrir un nouveau fichier (Menu File -> New empty file).
(4) Sauvegarder le fichier dans le r´epertoire TP2, sous le nom bonjour.cpp
(5) Taper dans ce fichier le programme bonjour des notes du cours.
(6) Sauvegarder au fur et `a mesure, en utilisant le raccourci clavier.
(7) Compiler le programme (Menu Build -> Build).
(8) Corriger les ´eventuelles erreurs de frappes.
(9) Quel est le raccourci clavier ?
(10) Ex´ecuter le programme (Menu Build -> Run).
(11) Quel est le raccourci clavier ?
Bravo, vous avez lanc´e votre premier programme C++ !
Exercice 3 (Notes de cours).
(1) T´el´echarger les notes de cours dans votre r´epertoire Info-111.
(2) Quelle est la syntaxe et la s´emantique de l’affectation de variables ?
(3) Que deviennent les blancs plac´es en tˆete lors de la lecture d’une variable de type
int ?
` faire « a` la maison » pour la semaine prochaine).
Exercice 4 (A
Vous aurez besoin de programmer quelques heures par semaine en dehors des s´eances de
TP. Pour cela, vous aurez besoin d’un ordinateur a` votre disposition avec tous les outils
appropri´es, que ce soit un portable, un fixe chez vous, ou tout simplement une des machines
en libre service de l’Universit´e.
(1) Installer Code : :Blocks (www.codeblocks.org) sur cet ordinateur s’il n’y est pas d´ej`a
install´e. Ne pas h´esiter a` demander de l’aide a` vos camarades.
(2) Refaire l’exercice pr´ec´edent « a` la maison ».
(3) Terminer « a` la maison » tous les exercices de cette fiche non marqu´es d’un ♣.
TP 2 : PREMIERS PROGRAMMES
3
Exercice 5 (Entr´ees sorties, variables).
(1) Modifier le programme pour qu’il affiche :
Bonjour, mon nom est Alice
(2) Modifier le programme pour qu’il affiche :
Bonjour, mon nom est Alice
Alice est dans la classe
Sans le moindre doute, Alice travaille sur cet exercice
(3) Changer le pr´enom « Alice » en « Gertrude ».
(4) On veut changer le pr´enom encore une fois. Le probl`eme est que le pr´enom apparaˆıt a`
plusieurs endroits dans le programme. Il est p´enible de devoir a` chaque fois modifier
chacun de ces endroits, non ? Imaginez ce que ce serai si le programme faisait 10000
lignes.
Pour ´eviter cela, introduire au d´ebut du programme une variable « prenom » de
type string (string signifie « chaˆıne de caract`ere », c’est-`a-dire « texte ») avec :
s t r i n g prenom ;
prenom = ”Claude ” ;
Adapter la suite du programme pour que « Claude » n’y apparaisse plus.
(5) Essayer votre programme avec plusieurs pr´enoms.
(6) Modifier le programme pour qu’il demande a` l’utilisateur de saisir le pr´enom au
clavier.
Exercice 6 (Affectations, conditionnelles).
(1) Reprendre la fiche de TD 2, et taper dans un fichier permutation.cpp le corps de
programme de l’exercice 1, en le compl´etant en un programme complet (entˆete, ...).
Le compiler et l’ex´ecuter.
(2) Mˆeme chose pour l’exercice 2, dans un fichier pairOuImpair.cpp.
Exercice ♣ 7.
Implanter les algorithmes des exercices 3 et 4.
Exercice ♣ 8.
Reprendre laby avec un autre langage de programmation (par exemple Python). Saurez
vous faire tous les niveaux ?