Cliquer ici pour imprimer

Dernière modification : 18/10/2022 à 17:53

TP1 4R-IN1A
TP1 4R-IN1A

Essayez de n’utiliser que le terminal pour créer vos répertoires et fichiers, compiler, et lancer vos programmes.

Préparation

Créer un répertoire “4r-in1a” et un sous répertoire “tp1”.
Dans ce repertoire, mettre en place un “projet” avec quatre fichiers :

Votre makefile doit vous permettre de compiler sans erreur (tp1.c/tp1.h sont vides pour l’instant).

Commandes utiles : mkdir, cp, ls, touch.
Programmes d’éditions des fichiers : gedit, vim, nano, … si vous utilisez un programme qui occupe la fenetre du terminal, ouvrez en un autre pour ne pas avoir a fermer votre éditeur à chaque fois que vous souhaitez compiler / tester.

Rappels de base

$> ./a.out test 33 404 +
437
$>
$> ./a.out test 33 404 +
437
$>
$> ./a.out test "33 + 404"
437
$>
$> ./a.out test "33 + 404"
437
$>

Récurssivité (1/2)

Écrivez la fonction nb_partition(int n, int t); qui calcule récursivement le nombre de
décompositions additives d’un nombre n en utilisant les nombres de 1 à t.
Par exemple, il y 10 façons de faire 6 avec les nombres de 1 à 5 (5+1, 4+2, 4+1+1, 3+3, 3+2+1, 3+1+1+1, 2+2+2, 2+2+1+1, 2+1+1+1+1+1, 1+1+1+1+1+1). On utilisera le
principe suivant :

Rappels tableaux

Écrivez les fonctions :

Testez les deux premières avec des tableaux déclarés sur la pile du main(), et pour la troisième faites afficher par votre programme la ligne de commande qui l’a lancé.

pointeurs / malloc

structures

Définir les types suivants :

Écrivez (et testez) les fonctions suivantes :

Annuaire

Le pointeur retouné par saisie_eleve sera rangé dans la première place libre du tableau de l’annuaire et le compteur cpt incrémenté de 1.