Vous êtes sur la page 1sur 3

BUT Informatique Graphique

Le Puy en Velay R2.04


TD/TP 1
Informatique Graphique 1 Pierre-Yves Bischoff

⌈ Le langage C ⌋
Le langage C est peut-être considéré comme un langage de bas niveau. Il va permettre de faire des
programmes rapides et demandant peu de ressources. Vous avez déjà programmé en cours de système
au premier semestre en langage C sans le savoir. Ce langage est utilisé dans les API de bas-niveau ainsi
que dans la mise au point de drivers.

⌞ Exercice 1 : La syntaxe, les boucles et tests en C ⌝

#include <stdio.h> // Fonctions d’entree / sortie (printf, scanf,...)


#include <stdlib.h> // Fonctions d’allocation, aléatoire, conversion,...
(malloc, free, rand,...)

int main(int argc, char*argv[])


{
int i;
int max=rand()%500;
int total=0;
for(i=0;i<max;++i)
if(i%2)
total+=i;
return total ;
}
1. Expliquer le résultat de ce programme.
2. Comment afficher la valeur retournée dans la console ?
3. Écrire un programme qui calcule le produit des 15 premiers nombres premiers.

Informatique Graphique 1 - R2.04 TD/TP 1 - Page 1/??


⌞ Exercice 2 : Les entrées / sorties standards en C ⌝

#include <stdio.h> // Fonctions d’entree / sortie (printf, scanf,...)


#include <stdlib.h> // Fonctions d’allocation, aléatoire, conversion,...
// (malloc, free, rand,...)

int main(int argc, char*argv[])


{
int i=0;
float n;
float total=0;
printf_s("Second programme \nFin par Ctrl-C\n");
for(;;)
{
++i;
printf_s("Entrer un nombre réel\n");
scanf_s("%f",&n);
total+=n;
printf_s("\n Vous avez tapé %d nombres pour un total de %f ",i,total);
}
return 0;
}
1. Expliquer le résultat de ce programme.
2. Écrire un programme qui saisit le montant d’un prêt, son taux d’intérêt, et sa durée et qui affiche
la mensualité et le coût du crédit.

⌞ Exercice 3 : L’écriture et la lecture dans les fichiers ⌝

#include <stdio.h>
void main()
{
FILE *in,*out;
in = fopen("old.txt", "r");
out = fopen("new.txt", "w");
char tampon;
while (!feof(in))
{
fread (&tampon,sizeof(char),1,in);
fwrite(&tampon,sizeof(char),1,out);
}
fclose(in);fclose(out);
}
1. Expliquer le résultat de ce programme.
2. Faire un programme qui sauvegarde un fichier de log (fichier texte) dont le nom est saisi par
l’utilisateur en l’appelant du même nom suivi de l’extension .bak.

Informatique Graphique 1 - R2.04 TD/TP 1 - Page 2/??


⌞ Exercice 4 : L’allocation dynamique en C ⌝

Voici un exemple d’allocation dynamique :

#include <stdio.h> // Fonctions d’entree / sortie (printf, scanf,...)


#include <stdlib.h> // Fonctions d’allocation, aléatoire, conversion,...

int main(int argc, char*argv[])


{
unsigned int n;
char *mot;
printf("Quatrième programme \n");

printf("Entrer un nombre entier positif pour la taille de votre mot\n");


scanf("%u",&n);
getchar(); // pour enlever le retour chariot
mot = (char *) malloc((n+1)*sizeof(char));
fgets(mot, n+1, stdin);
getchar();// pour enlever le retour chariot
printf("\n Vous avez tapé ce mot %s \n",mot);
free(mot);
return 0;
}
1. Faire un programme qui lit une taille de tableau et qui alloue dynamiquement un tableau de réel
de cette taille, puis le rempli de manière aléatoire.
2. En utilisant les structures (mot clé struct) créer une liste simplement chaînée de 5 entiers.
3. Rajouter une fonction pour afficher une liste d’entiers simplement chaînée.

Informatique Graphique 1 - R2.04 TD/TP 1 - Page 3/??

Vous aimerez peut-être aussi