TP1 - Les pointeurs

Les pointeurs

Durée : 1h30

Objectifs :

  • Manipuler les pointeurs
  • Allouer de l’espace mémoire
  • Utiliser des adresses de variables
  • Mettre en pratique ce qui a été vu en TD !!

Attention :

À chaque étape de programmation, vous devez vérifier si le programme :

  • Compile sans warning
  • Obtient les résultats attendus
  • Avant de coder, il faut écrire un algo avec un papier et un stylo !

    logo

Rappel si problème mémoire

Exo 0 : Environnement de Travail

  1. Créer un répertoire “INFO2”
  2. Dans le répertoire “INFO2”, ajouter le répertoire “TP1”
  3. Pour chaque exercice, créer un dossier correspondant “exo1”, “exo2” …

Exo 1 : Une équation du second degrés

L’objectif est d’externaliser le calcul la résolution d’une équation du second degré sur une procédure. \[ax^2 + bx + c\]

Rappel :

  • Les scanfs :
  • double : %lf
  • float : %f
  • int : %d
  • Les racines carrées : sqrt
  • Les puissances : pow

1. Créer le fichier main.c

#include <stdio.h>
#include <stdlib.h>
int main(){
    printf("C'est le TP1 ! \n");
    return 0;
}

Compiler et exécuter !

Ce qui doit apparaître à l’écran !

2. Dans le programme principal, demander à l’utilisateur de saisir 3 réels.

Si vous souhaitez n’afficher que n chiffres après la virgule d’un réel, vous pouvez utiliser l’instruction suivante :

double monReel;
printf("entrez un réel \n");
scanf("%lf",&monReel);
printf("Mon réel avec tous les chiffres après la virgule  %lf \n",monReel);
printf("Mon réel avec 2 chiffres après la virgule  %.2lf \n",monReel);
printf("Mon réel avec 3 chiffres après la virgule  %.3lf \n",monReel);

Compiler et exécuter !

Ce qui doit apparaître à l’écran !

3. Créer la fonction permettant de calculer le delta.

double calculerDelta (double a, double b, double c){

Pour cette partie, vous pourrez utiliser la fonctionnalité pow. Elle permet de calculer une puissance.

Exemple d’utilisation

Pour calculer 2 exposant 4 nous pouvons utiliser les instructions suivantes :

double b;
b=pow(2,4);

À la compilation, il ne faut pas oublier de rajouter -lm :

gcc -Wall exo1.c -o exo1 -lm
Comment l’utiliser

Pour pouvoir utiliser la fonctionnalité pow qui calcul une puissance il faut : 1. inclure la librairie math.h (en haut dans le fichier) 2. ajouter une instruction à la compilation (dans le terminal)

Compiler et exécuter !

Ce qui doit apparaître à l’écran !

4. Créer la procédure permettant de calculer les solutions.

void solutions(int* nbsolution, double* s1, double* s2,double a, double b, double c);

Compiler et exécuter !

Ce qui doit apparaître à l’écran !

Exo 2 : La gestion d’un restaurant

Nous considérons un restaurant de Burger. Un burger peut comporter les aliments suivants :

  • Tranche d’emmental
  • Steak
  • Steak vegan
  • Tranche de tomate
  • Feuille de salade
  • Cornichon

1. Créer le fichier main.c

#include <stdio.h>
#include <stdlib.h>
int main(){
    printf("C'est le TP1 !");
    return 0;
}

2. Créer la fonction vérifierStock.

Elle permet de vérifier si un aliment est toujours en stock, la fonction retourne le nombre d’élément en stock sinon elle retourne -1

3. Créer la procédure ravitaillerAliment.

Elle permet à un restaurateur d’ajouter un aliment au stock

4. Créer un programme principal.

Il permet :

  • de demander à l’utilisateur d’initialiser les stocks au début du programme
  • d’utiliser les fonctionnalités précédement codées