Post

TD2 Pointeur

Télécharger le TD2 Pointeur en pdf

Pages : 1 2

Page 1 : Pré-ING1Semestre 2 - 2022/2023Informatique IITD2 : PointeursNe pas oublier de créer un répertoire pour placer les codes de ce TP !Toutes les fonctions écrites doivent être testées dans le programme principal !Exercice 1 Lecture de codeQu’affiche le code suivant ? Vérifier en exécutant ce code sur votre ordinateur.include stdio.hint mainvoid int a,b,c;int pa, pb;pa=&a;pb=&b;a=2;b=3;c=5;printf"dd \n",pa, pb;pa=a+c;pb-=c;pb=&c;printf"ddc \n", a , b, c;pb=pa+c;a=cpb;printf"ddd \n", a , b, c;return 0;Exercice 2 Tableau et pointeurSoit P un pointeur qui ’pointe’ sur un tableau tab d’entiers de taille 10 :int tab10 = 17, 57, 64, 16, 99, 73, 75, 51, 21, 19;int P;P = tab;À quelles adresses ou valeurs correspondent les expressions suivantes ? Vérifier en exécutant ce code :1. P2. P+23. P+24. P+25. &tab6-&tab26. &tab5-P7. P+P-108. P+P79. P+P+6-tab5Exercice 3 Calcul d’heure1. Écrire une fonction/procédure ajouteSeconde qui ajoutera à un temps heure : min : s passé en paramètre un nombrede secondes passées en paramètre. Est-il possible de faire cela avec des paramètres classiques ? Quelle est la solution ?2. Tester la fonction dans le programme principal en faisant saisir l’heure et le nombre de secondes à lui ajouter. Afficherla nouvelle heure calculée dans le programme principal.1

page 1

Page 2 : Exercice 4 Somme d’un tableau— Écrire un programme qui remplit un tableau d’entiers de taille 20 avec des nombres aléatoire entre 0 et 10 et calculela somme de ses éléments en utilisant un pointeur pour son parcours vous n’avez pas le droit d’utiliser le nomdu tableau lors du parcours !.Exercice 5 resolution d’équation1. Écrire une fonction int resoudre1float a, float b, float res qui résout l’équation suivante : a x + b = 0. La fonctionretourne le nombre de solutions trouvées 1 s’il y a une solution, 0 s’il n’y en a pas, et -1 si tout x est une solution.Cette fonction modifie x pour lui donner la valeur des la solution lorsque celle-ci existe.2. Écrire une fonction int resoudre1float a, float b, float c, float res1, float res2 qui résout l’équa-tion suivante : a x2 + bx + c = 0. La fonction retourne le nombre de solutions trouvées et stocke les solutions dansres1 et res2.Exercice 6 Conversion de coordonnéesLes coordonnées cartésiennes planaires d’un point sont données par les distances x et y, respectivement l’abscisse àl’origine et l’ordonnée à l’origine.Les coordonnées polaires d’un point dans un plan sont données par la distance r et l’angle a, respectivement la distancepar rapport à l’origine coordonnée radiale, ou rayon et l’angle formé par le point et la demi-droite Ox représentant l’angle0° coordonnée angulaire ou angle polaireLe passage des coordonnées cartésiennes aux coordonnées polaires se fait de la manière suivante :r =px2 + y2θ = ; si r = 0atan2y, xsi r ̸= 0Le passage des coordonnées polaires aux coordonnées cartésiennes se fait de la manière suivante :x = r.cosθy = r.sinθ1. Écrire une procédure void cartesian2polarfloat x, float y, float radius, float angle qui va transfor-mer des coordonnées cartésiennes passées par valeur en des coordonnées polaires retournées par adresse.2. Écrire la procédure inverse void polar2cartesianfloat radius, float angle, float x, float y qui va per-mettre d’effectuer la conversion inverse.Exercice 7 Recheches des extremumsÉcrire une fonction getExtremums... qui prend en entrée un tableau tab de N valeurs numériques entières, et quiretourne un entier pour indiquer si tout s’est bien passé, ainsi que les adresses mémoire de la plus petite et de la plus grandevaleur présentes dans ce tableau.Si le but de cette fonction ne peut être réalisé ex : le tableau est de taille 0, l’adresse du tableau est NULL, ..., la valeurde retour vaudra 1, et les valeurs des extrememums ne seront pas prises en compte par la fonction appelante.Exercice 8 palindrome1. Déclarer une chaîne de caractère de taille suffisamment grande dont l’utilisateur saisira le contenue.2. On rappelle que la fonction strlen appartenant à la bibliothèque string.h retourne la taille d’une chaîne decaractère passé en paramètre. Récupérer la taille de la chaîne de caractère saisie à la question précédente.3. Un palindrome est un mot qui peut être lu de gauche à droite ou de droite à gauche ex : radar, kayak.— Déterminer si la chaîne de caractère est un palindrome en la parcourant avec le formalisme tableau utilisationd’indices pour parcourir la chaîne.— Recommencez en utilisant deux pointeurs qui parcourent la chaîne de caractères.2

page 2

Pages : 1 2

Le contenu de cet article est la propriété exclusive de son auteur.