Vous êtes sur la page 1sur 5

Exercices de cours

1-les étapes de résolution d’un problème


-la modélisation du système
-analyse du model
-détermination d’une méthode numérique
-implémentation informatique
-expérimentation
Les langages de programmations interviennent au niveau de l’implémentation informatique
2-Fonctionnement de la boucle ternaire
Les ternaires permettent, sur une seule ligne, de changer la valeur d'une variable en fonction
d'une condition. Les ternaires sont des conditions très concises qui permettent d'affecter
rapidement une valeur à une variable en fonction du résultat d'un test. En effet , son
fonctionnement est le meme que la boucle if……else a condition que tout se passe sur une
seule ligne
Exemple : age = (majeur) ? 18 : 17;
Dans cet exemple age représente notre variable de test, majeur la condition, le point
d'interrogation permet de dire « est-ce que tu es majeur ? ». Si oui, alors on met la valeur 18
dans age. Sinon (le deux- points : signifie else ici), on met la valeur 17
3-Difference entre la boucle while et la boucle do while
Dans la boucle while, on teste d’abord la condition avant d’exécuter le bloc
d’instruction alors que dans la boucle do while, le bloc d’instruction est exécuté au moins
une fois avant que la condition ne soit tester.
4-Utilisation des types de variables
A) Avec 6 chiffres de précision : float (4 octets)
B) Avec 8 chiffres de précision : double (8 octets)

Exercices détaches
1-palindrome
a) Un palindrome est un mot qui peut se lire de la gauche vers la droite ainsi que
de la droite vers la gauche tout en gardant le même sens.
b) Je cherche d’abord
c) Je cherche
2-ppcm
a) Fonction qui calcule le pgcd
#include <stdio.h>
#include <stdlib.h>
int pgcd(int a, int b)
{
while(b != 0)
{
int t=b;
b=a%b;
a=t;
}
return a;
}
b)Fonction qui calcule le ppcm en se servant de la fonction précédente
Remarque :on a vu en terminale que pgcd(a,b)*ppcm(a,b)=a*b
#include <stdio.h>
#include <stdio.h>
int ppcm(int a, int b)
{
pgcd(a,b) ;
int resultat, k;
k=a*b;
resultat=pgcd(a,b)/k;
return resultat;
}
3-Multiplication : Produit par addition successive
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, produit=0, i;
printf("Veillez entrer les deux entiers:\n");
scanf("%d%d",&a,&b);
for(i=0; i<b; i++)
{
produit= produit+a;

}
printf("%d*%d=%d",a,b,produit);

return 0;

}
4-Temperature de l’eau

#include <stdio.h>
#include <stdlib.h>
int main()
{
int temperature;

printf("Entrer la temperature de l'eau en degre celcus:\n");


scanf("%f", &temperature);

if(temperature <= 0)
{
printf("L'eau est a l'etat solide\n");
}
else if(temperature > 0 && temperature < 100)
{
printf("L'eau est a l'etat liquide\n");
}
else
{
printf("L'eau est a l'etat gazeux\n");
}

return 0;
}
Problème : Multiplication Matricielle
1-Fonction d’allocation d’espace
#include <stdio.h>
#include <stdlib.h>
int **allouer_matrice(int n)
{
int **M;
int i;
M=(int**)malloc(sizeof(int*)*n);
for(i=0; i<n; i++)
{
M[i]=(int*)malloc(sizeof(int)*n);
}
return M;
}
2-Fonction qui permet d’enregistrer au clavier une matrice
#include <stdio.h>
#include <stdlib.h>
void enregistrer_matrice(int **A, int n)
{
int i, j;
for(i=0; i<n; i++){
for(j=0; j<n; j++){
printf("[%d][%d]=",i, j);
scanf("%d", &A[i][j]);
}
}
return ;
}
3-Fonction affichage matrice
#include <stdio.h>
#include <stdlib.h>
void affiche_matrice(int **A, int n)
{
int i, j;
for(i=0; i<n; i++){
for(j=0; j<n; j++){
printf("%d",A[i][j]);
}
}
return;
}
4-Formule de calcule de produit matriciel(voir cours)
5-Fonction qui calcule le produit scalaire
#include <stdio.h>
#include <stdlib.h>
void produit_scalaire(int **A, int **B, int n)
{
int i, j, d;
for(i=0; i<n; i++){
for(j=0; j<n; j++){
d=A[i][-]*B[-][j];
}
return d;
}
6-Produit maticiel
#include <stdio.h>
#include <stdlib.h>
void produit_matriciel(int **C, int n)
{
int i, j, d;
for(i=0; i<n; i++){
for(j=0; j<n; j++){
C[i][j]=produit_scalaire(A,B);
}
return ;
}

7-Le main
#include <stdio.h>
#include <stdlib.h>
int **allouer_matrice(int n) ;
void enregistrer_matrice(int **A, int n) ;
void affiche_matrice(int **A, int n) ;
void produit_scalaire(int **A, int **B, int n) ;
void produit_matriciel(int **C, int n)
int main()
{
int **A,**B, **C ;
int n;
printf("Entrer la taille de la matrice:\n");
scanf("%d", &n);
A=allouer_matrice(n);
B=allouer_matrice(n);
C=allouer_matrice(n) ;
enregistrer_matrice(A,n);
enregistrer_matrice(B,n) ;
produit_matriel(C,n) ;
affiche_matrice(C,n);

return 0;

Vous aimerez peut-être aussi