Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la première partie de ce TP est de vous familiariser avec l environnement Unix. 1.1 Ouverture de session et découverte de l interface graphique 1. Si vous travaillez actuellement sous Windows, redémarrez proprement l ordinateur (n éteignez pas physiquement la machine!) et choisissez FreeBSD comme système d exploitation. Le système démarre et affiche une fenêtre vous invitant à taper votre identifiant et votre mot de passe, ce qui vous permet d ouvrir une session. Une fois votre nom d utilisateur et mot de passe vérifiés, le gestionnaire de bureau qui gère l affichage des menus et des fenêtres (ici KDE) apparaît. Le menu principal (bouton K en bas à gauche) permet de lancer des applications, d accéder aux outils de paramétrage du système ou encore de fermer la session ou d éteindre l ordinateur. 2. Ouvrez le gestionnaire de fichiers de KDE. Explorez l arborescence du système de fichiers, en repérant en particulier le répertoire racine, votre répertoire personnel, ainsi que les principaux menus. Rappels : L espace mémoire disponible est organisé en répertoires contenant des fichiers de données, des fichiers spéciaux ou encore des sous-répertoires, formant ainsi une structure arborescente. Pour désigner un fichier particulier dans cette structure, on énonce son chemin d accès qui peut être : soit absolu : on donne la succession des répertoires à parcourir depuis la racine de l arborescence / soit relatif : on donne la succession des répertoires à parcourir depuis le répertoire courant Exercice 1. Créer un fichier texte Créez un répertoire appelé essai dans votre répertoire personnel, puis lancez l éditeur de texte emacs, et créez un nouveau fichier. Rédigez un texte d au plus 2 lignes vous présentant. Sauvegardez le fichier dans le répertoire essai que vous avez créé, sous le nom presentation.txt. Fermez le fichier. Ouvrez-le à nouveau et rajoutez-y le texte Etudiant en SRC1 dans le groupe X à l IUT de Vélizy. Sauvegardez puis fermez l éditeur de texte.
1.2 L autre façon d interagir avec le système Une autre façon d interagir avec le système est d utiliser un terminal (ou console) dans lequel vous pourrez taper des commandes (qui ne sont rien d autre que des programmes). Le programme avec lequel vous interagissez pour exécuter les commandes s appelle le shell. Celui-ci se contente d attendre que vous lui demandiez d exécuter une commande pour le faire. Il indique qu il est prêt en affichant une invite (ou prompt), en général le caractère supérieur (>), en début de ligne. Vous lui indiquez que vous avez fini de taper une commande en appuyant sur la touche enter. 1. Premières commandes Exercice 2. Testez les commandes whoami, pwd et observez les informations affichées. 2. Le manuel man A tout moment, vous pouvez utiliser le manuel en ligne pour toutes les commandes accessibles depuis le terminal. Il suffit de taper man cmd pour accéder à la description complète de la commande cmd. Exercice 3. Ouvrez la page de manuel de la commande whoami en tapant man whoami. Vous pouvez faire défiler le texte avec les flèches haut et bas. Pour sortir, pressez la touche q. 3. Nom relatif, nom absolu Exercice 4. Utilisez la commande cat pour afficher de deux façons différentes le contenu de votre fichier presentation.txt créé dans l exercice 1 (c est à dire avec le nom absolu du fichier, puis avec son nom relatif). 4. Interrompre un programme, symbole & Exercice 5. (a) Ouvrez le fichier texte presentation.txt avec l éditeur emacs en tapant emacs presentation.txt. (b) Une fois l éditeur ouvert, revenez sur le terminal et tapez une commande (par exemple whoami). Que se passe-t-il? (c) Toujours sous le terminal, taper Ctrl-c (garder la touche Ctrl enfoncée puis pressez et relâchez la touche c). Que se passe-t-il? (d) Répétez les étapes a et b, en ajoutant cette fois le caractère & en fin de commande, soit emacs presentation.txt &. Voyez-vous une différence? 1.3 Opérations sur le système de fichiers A l aide de ces quelques commandes de base, vous serez en mesure d effectuer toutes les opérations utiles sur le système de fichiers (parcours, copie, déplacement, etc.) par l intermédiaire de la ligne de commande : pwd utilisée sans argument, vous indique dans quel répertoire vous vous trouvez actuellement (répertoire courant, ou working directory). A l ouverture d un nouveau terminal, le répertoire courant est toujours votre répertoire personnel Auteur : Vanessa Vitse 2
cd permet de se déplacer dans l arborescence : utilisée seule ou avec l argument, elle vous ramène dans votre répertoire personnel utilisée avec l argument.., elle vous fait remonter d un niveau dans l arborescence (au répertoire parent) ls affiche le contenu du répertoire courant (ses fichiers et ses sous-répertoires) mkdir la commande mkdir rep crée un répertoire vide rep. Si ce répertoire existe déjà, vous obtiendrez bien sûr une erreur touch la commande touch fic permet de créer un fichier vierge (de taille 0) appelé fic cp la commande cp fic1 fic2 crée un nouveau fichier identique à fic1 appelé fic2 rm la commande rm fic efface le fichier fic Exercice 6. Tour du propriétaire En utilisant les trois commandes ci-dessus, promenez-vous un peu dans l arborescence en affichant le contenu de quelques répertoires. Si vous êtes perdu(e), tapez simplement cd pour rentrer chez vous. Exercice 7. Créer une arborescence A partir de votre répertoire maison reproduisez l arborescence suivante : ALGO Cours TD TP TP1 TP2 TP3 TP1_ALGO_Nom1_Nom2_NumGroupe.odt presentation.txt Nom1 : votre nom Nom2 : le nom de votre partenaire de TP NumGroupe : votre numéro de groupe Un moyen simple de contrôler que vous n avez rien oublié est de taper ls -R depuis votre répertoire personnel. Dans cette commande, -R est appelée une option. Pouvezvous expliquer son rôle? Exercice 8. Copie et suppression de fichiers Créez une copie de presentation.txt appelée.plan (le point est voulu) dans votre répertoire personnel. Supprimez ensuite le fichier presentation.txt à l aide de la commande rm -i (l emploi de l option -i est fortement recommandée, pour plus de détail consulter le manuel). Exercice 9. Fichiers cachés Affichez le contenu de votre répertoire personnel avec ls. Que constatez-vous? Réessayez en ajoutant l option -a à ls. Concluez. Auteur : Vanessa Vitse 3
2 Découverte l algorithmique avec Mulot Dans cette partie et durant la prochaine séance de TP, vous utiliserez un petit langage de programmation appelé Mulot (créé par Erwan Prioul d après une idée d Henri-Pierre Charles) qui permet de dessiner à l écran en déplaçant un mulot. 2.1 Lancer l application Exercice 10. Avant de commencer à programmer : 1. Vous devez : vous placer dans le sous-répertoire TP2 créé dans la partie 1, afin d y mettre tous les fichiers et dossiers utilisés par la suite. télécharger les packages antlr.jar et MulotV235.jar à l adresse suivante : http ://www.kafarnaum.net/mulot/download.html 2. Vous pouvez alors lancer une application en tapant l instruction suivante java -cp antlr.jar:mulotv235.jar MlTappli Attention à bien respecter la casse (minuscules et majuscules). 3. Vous obtenez alors une interface graphique constituée de trois zones : La zone d édition qui permet la saisie des programmes Mulot. La zone graphique Terrain de jeu pour mulots où l on retrouve les tracés des mulots. La zone d affichage des erreurs où apparaissent des messages d erreurs (lorsque votre programme est incorrect et que vous cliquez sur le bouton Run!). 2.2 Règles du jeu et premier exemple Un programme en Mulot est constitué par des instructions encadrées par les mots clés Mulot et Tolum. Pour créer un mulot s appelant hector, il suffit d écrire hector = new Mulot(100,100,BLUE) Le mulot hector se place alors sur l écran aux coordonnées (100,100). Il tracera un trait de couleur bleue. Vous avez d autres couleurs possibles : BLACK (défaut), WHITE, RED, YELLOW, PINK, GREEN, ORANGE, CYAN, MAGENTA, GRAY, DARKGRAY et LIGHT- GRAY. Notre mulot hector sait faire 4 actions élémentaires : Baisser/Lever le stylo : hector.baisse() ; hector.leve() ; Avancer d un certain nombre de pixels : hector.avance(200) ; Tourner d un certain angle (en degré et dans le sens trigonométrique) : hector.tourne(45) ; Auteur : Vanessa Vitse 4
Exercice 11. Saisissez dans la zone d édition le programme suivant : Mulot m = new Mulot( 120,120 ) ; m.baisse() ; m.avance(50) ; m.tourne(30) ; m.avance(100) ; Tolum Lancez l exécution de ce programme en appuyant sur le bouton Run!. Décrivez ce qu il se passe. Exercice 12. En vous inspirant du programme précédent, créer votre propre mulot et faites-lui tracer le dessin suivant : Pour effacer la zone graphique entre deux dessins, penser à utiliser le bouton Clear. Auteur : Vanessa Vitse 5