Date de première publication : 2015/09/14
Préprocesseur
- Écrire un programme qui affiche un texte
N
fois oùN
est une constante symbolique - Modifier
N
et voir l'intérêt de la constante symbolique - Déclarer dans la fonction
main()
Une variableN
entière et voir la réponse du compilateur.
Tableaux
Premières manipulations de tableaux
- Déclarer un tableau de 10 éléments de type entier (
int
) - Saisir les valeurs au clavier
- Afficher le tableau ainsi que la somme des éléments
- Tester la redirection de l’entrée standard pour éviter la saisie
Tableaux et fonctions (1)
- Déclarer un tableau de 50 éléments comme une variable globale.
- Initialiser tous les éléments du tableau à 100
- Ajouter l’indice de tableau à l’élément pour tout indice pair
- Enlever l’indice du tableau à l’élément pour tout indice impair.
- Écrire une fonction qui affiche le tableau
- Écrire une fonction qui renvoie le minimum.
- Écrire une fonction qui renvoie le maximum.
- Écrire une fonction qui renvoie la moyenne.
- Afficher ces valeurs dans le programme principal
- Utiliser une constante symbolique pour la taille maximale du tableau et aux endroits stratégiques
- Valider le fait qu'un changement de taille du tableau avec une constante n'a que peu d'impact.
Tableaux et fonctions (2)
- Écrire un autre programme avec les mêmes fonctionnalités mais en considérant que le tableau est maintenant une variable locale à la fonction
main()
. - Le tableau, ainsi que la taille du tableau, sera passé en paramètre aux différentes fonctions.
Devinette
- Faire tirer à l’ordinateur un nombre aléatoire entre 0 et 100 sans l’afficher.
- Écrire un programme qui demande à l’utilisateur un nombre tant que celui-ci est différent du nombre de départ.On aidera l’utilisateur en lui indiquant si le nombre est trop petit ou trop grand.
- On affichera ensuite le nombre de tentatives effectuées.
- Modifier le jeu pour le pimenter : Demander au joueur le nombre de tentatives qu’il pense faire, avant que le jeu commence. Si le joueur ne trouve pas le nombre ou s’il se trompe sur l’estimation, c’est perdu !
Pour avoir la documentation de la fonction time()
sur les machines linux, il faut consulter la section 2 du manuel car c'est une fonction d'appel système
(et pas la section 3) !
$ man 2 time
Petits algorithmes
Suite de fibonnacci
un+2 = un+1 + un avec u0=0 et u1=1
Nous vous proposons de calculer la suite de Fibonacci de deux manières :
- avec une fonction récursive
- avec stockage des valeurs dans un tableau de taille donnée
Triangle de pascal
Afficher sur la sortie standard le triangle de pascal d'ordre n
Vous pouvez utiliser un tableau (en faisant gaffe à l'ordre des opérations), deux tableaux de tailles fixes ou bien utiliser une matrice de dimension 2.
Chaînes de caractères et texte
- Demander sur l'entrée standard un prénom
p
- Demander sur l'entrée standard un nombre
n
- Afficher n fois
"Merci p"
- Compter le nombre de lettres de p sans utiliser
strlen()
- Comparer le résultat avec
strlen()
- Demander le nom de la personne.
- Placer dans des chaînes de caractères plus grandes (copie et concaténation)
les formules (nom et prénom) et (prénom et nom) avec les fonctions standards
strcpy()
etstrcat()
. - Pouvez-vous faire la même chose en réécrivant les deux fonctions ci-dessus.
Table ASCII
- Afficher les caractères de la table ASCII de 32 à 127
- Que se passe-t-il se passe pour les caractères inférieurs à 32 ou plus grands que 128 ?
- Transformer une phrase saisie au clavier en majuscules sans utiliser les fonctions standards
Révisions UNIX
Voici quelques commandes UNIX à réaliser :
- se connecter en sftp à la machine
vm-loyon
avec l'identifiantsftpuser
/isima063
. Si vous n'êtes pas à l'ISIMA, il est nécessaire de démarrer le VPN. - récupérer le fichier script
exo1.sh
dans le seul sous-répertoire accessible - exécuter le fichier script
- se rendre dans le répertoire
local
qui a été créé dans votre$HOME
- lancer la commande
tree
pour voir ce qui a été créé - se rendre dans le répertoire
pstree
et compter le nombre de lignes decontent.txt
- sans bouger de répertoire, compter le nombre de lignes du fichier
content.txt
du répertoirecrontab
- sans bouger de répertoire, éditer le fichier group du répertoire de la machine etc et trouver le nom du groupe dont l'identifiant est celui du nombre de lignes calculé précédemment
- effacer le répertoire
local
de votre$HOME
- 1
- 2
- 3
- 4
- 5