Algorithmique- Programmation en C
TP4 - année 2004-2005
Programmation modulaire : adresses et passage de paramètres
Exercice 0 : Tableaux
Déclarer un tableau d'entiers de 10 éléments et l'initialiser avec des valeurs positives et négatives.
Écrire un programme qui permet d'afficher à l'écran le minimum des valeurs contenues dans le tableau, leur moyenne et leur nombre de valeurs positives et de valeurs négatives
Exercice 1 : Pointeurs
Déclarer les variables suivantes :
- A et B sont des variables de type entier
- Pa est une variable de type pointeur sur entier
- Adr est une variable de type unsigned long int.
a) Manipulations d'adresses
- Affecter une valeur à A
- Affecter l'adresse de A à Pa
- Incrémenter A directement, puis incrémenter A en utilisant l'indirection avec Pa
- Vérifier à chaque fois les résultats en affichant les valeurs.
b) Vérification des adresses des variables
En utilisant le transtypage et l'opérateur de calcul d'adresse, afficher les adresses des variables dans l'ordre de leur déclaration.
Si vous connaissez la taille de chaque catégorie de variable, que pouvez vous en déduire ?
Exercice 2 : Passage de paramètres par valeur avec résultat en retour
- Écrire une fonction max qui calcule le maximum de deux nombres
- Réutiliser max pour calculer le maximum de 4 nombres donnés
- Développer la pile à l'exécution du programme complet en TD
Exercice 3 : Passage de paramètres
- Ecrire une procédure maxi qui calcule le maximum de deux nombres et passe le résultat via un pointeur.
- Réutiliser la procédure maxi pour calculer le maximum de quatre nombres donnés
Exercice 4 : Fonction
- Ecrire une fonction nbespaces qui calcule le nombre d'espaces dans une chaîne de caractère.
- L'utiliser dans un programme principal avec les chaînes suivantes :
Ch1 =" alors comment ça va ? "
Ch2= "alors, comment ça va ?"
Ch3= " alors , comment ça va ? "
Exercice 5 : Procédure
Ecrire une procédure remplace
qui calcule une chaîne de caractères à partir d'une chaîne donnée et dans laquelle on a remplacé tous les espaces par des tirets.