CSC 4103 – Programmation système

Portail informatique
Dans cette première session de TP, l'objectif est de se familiariser avec le langage C, d'écrire des premiers programmes, les compiler et les exécuter, de savoir se documenter face à une fonction dont on ne connaît pas le comportement. Le but de cet exercice est d'écrire un premier programme, le compiler et l'exécuter depuis un terminal.

Créer, avec emacs, le fichier hello_world.c. Vous écrirez dans ce fichier un programme affichant le message "Hello World !" $ emacs hello_world.c & Compilez ce programme, puis exécutez le.. $ gcc hello_world.c -o hello_world -Wall -Werror
$ ./hello_world
L'objectif de cet exercice est de se familiariser avec les structures algorithmiques du langage C. Créer, avec emacs, le fichier is_prime.c. Dans un premier temps, le programme doit demander à l'utilisateur de saisir un nombre entier, lire l'entier saisi et l'afficher. $ emacs is_prime.c & Complétez le programme is_prime.c pour qu'il vérifie si le nombre saisi est premier ou pas.

Créer le programme trouver_valeur.c. Ce programme choisit au hasard une valeur entière comprise entre 0 et 99 que l'utilisateur doit trouver en moins de 10 essais.

Pour tirer au sort une valeur comprise entre 0 et 99, vous pouvez utiliser les instructions suivantes:

srand(getpid()); int valeur_a_trouver = rand() % 100;
Implémenter la fonction récursive int facto(int n) qui calcule n !. Le but de cet exercice est d'écrire un programme calculant l'exponentielle de x en utilisant la série: exponentielle de x = 1 + (x/1!) + (x^2/2!) + (x^3/3!) + (x^4/4!) + ...

Ecrire la fonction double power(double x, int n) qui calcule x^n.

Ecrire la fonction double expon(double x, int n) qui calcule exp(x) en développant la série jusqu'à l'indice n.

Ecrire la fonction main qui demande à l'utilisateur de saisir une valeur pour x, calcule exp(x) jusqu'à l'indice 20, et affiche le résultat.

Le but de cet exercice est d'écrire la fonction void int_to_bits(int n) affichant les bits constituant une variable de type int.

Une façon d'implémenter cette fonction est d'utiliser des opérations bit à bit. Par exemple, en appliquant l'opérateur & entre le masque (en binaire) 0000 [...] 0010 et la variable entière n, on extrait le 2ème bit de n.