Université Louis Pasteur
LICENCE 1ère année
Mercredi 7 février 2007
 
Travaux Pratiques
Algorithmique et Programmation
(sujet n°1)


1    Commandes UNIX usuelles

Pour avoir des informations sur n'importe quelle commande UNIX, utiliser la commande man (par exemple, man man), et utiliser la barre espace ou la touche entrée pour descendre et b pour remonter. Toutes les commandes doivent être tapées dans un terminal. Voici quelques commandes utiles : 
  • afficher le répertoire courant : pwd
  • afficher la liste des fichiers présents sous ce répertoire : ls (regarder les options -l -a)
  • créer un répertoire : mkdir Repertoire
  • changer de répertoire : cd Repertoire
  • retourner dans le répertoire précédent : cd ..
  • regarder ce que contient un fichier : la commande cat fichier
  • recopier le fichier fichier_1 dans le fichier fichier_2 : cp fichier_1 fichier_2
  • changer le nom du fichier : mv fichier nouveauFichier
  • déplacer un fichier : mv fichier répertoire
  • supprimer un fichier : rm fichier.

2    Exercices

  • afficher le répertoire courant, puis lister les fichiers qu'il contient
  • créer un répertoire TP_Algo et un répertoire TP1 dans le répertoire TP_Algo
  • créer un fichier fichier1 avec un éditeur de texte (et écrire des choses dedans) et le sauvegarder dans le répertoire TP_Algo/TP1
  • afficher ce que contient le fichier fichier1
  • copier le fichier fichier1 dans un fichier nommé fichier2
  • afficher ce que contient le fichier fichier2
  • modier le fichier fichier1 et afficher ce que contiennent les fichiers fichier1 et fichier2
  • renommer le fichier fichier1 en fichierUn
  • supprimer le fichier fichier2 sans avoir à confirmer la suppression.


3    Compilation

On écrit un programme dans un fichier source. Il est de coutume de donner un nom qui porte l'extension .c aux fichiers qui contiennent des programmes en langage C. On sauvegarde donc un programme édité ci-dessus par n'importe quel éditeur de texte dans un fichier appelé programme.c. Le contenu de ce fichier est compréhensible par le programmeur, mais pas par la machine. Il faut transformer le code pour qu'il soit compréhensible par l'ordinateur. Pour cela, on utilise un compilateur. Il s'agit d'un programme qui va interpréter le fichier source écrit par le programmeur et créer un ficher exécutable. Nous utilisons le compilateur gcc (GNU Compiler Collection). On compile le programme par la commande : gcc -o programme programme.c (Attention, c'est le nom de l'exécutable qui doit suivre -o, pas le nom du fichier source). Une fois le fichier exécutable programme généré, on lance le programme par ./programme.


4   Exercices


4.1    Premier programme

Créer, avec nedit ou un autre éditeur de texte, un fichier hello.c qui contient les instructions suivantes :

#include <stdio.h>

int main()
    {
        printf ("Hello\n");
        return 0;
    }

Le compiler par la commande gcc -o hello hello.c. Lancer son exécution par ./hello.


4.2     Entrées/sorties

Écrire un programme C qui demande à l'utilisateur d'entrer un entier et un réel et qui affiche ensuite ces deux nombres. Le compiler et l'exécuter.


4.3     Carré

Écrire programme C qui demande à l'utilisateur la longueur du côté d'un carré, et qui affiche le périmètre, la surface et la longueur de la diagonale de celui-ci (la fonction sqrt se trouve dans la librairie math.h, il faut alors compiler le programme avec l'option -lm).


4.4      Mois

Écrire un programme qui affiche le nombre de jours dans le mois donné par l'utilisateur (l'utilisateur entrera un nombre de 1 à 12).


4.5     Voyage

Écrire un programme qui calcule la durée d'un trajet connaissant l'heure de départ et d'arrivée. On se contente des heures et des minutes, la durée totale ne dépassera jamais 24 heures.


4.6     Lendemain

Écrire un programme qui affiche le lendemain d'une journée donnée (jour, mois, année). On ne tiendra pas compte ici des années bissextiles, le mois de février aura toujours 28 jours. Si vous avez fini, améliorer le programme pour qu'il tienne compte des années bissextiles.