SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
Professeur M.Qbadou Page 1/7
ENSET 2020-2021
1ère GLSID/BDCC
Programmation en langage C – Notions de base
TD/TP – Serie1
Sommaire
I. Structures de conditionnelles...........................................................................................................................2
Exercice 1-1 -Année Bissextile..............................................................................................................................2
Exercice 1-2 -Tri de deux entiers ..........................................................................................................................2
Exercice 1-3 -Tri de trois entiers...........................................................................................................................2
II. Structures itératives .........................................................................................................................................2
Exercice 2-1 –Calcul de Sommation .....................................................................................................................2
Exercice 2-2 –Recherche des Triplets de Pythagore.............................................................................................2
Exercice 2-3 –Nombre d’Armstrong.....................................................................................................................2
Exercice 2-4 –Diviseurs d’un entier ......................................................................................................................2
Exercice 2-5 – Diviseurs d’un entier .....................................................................................................................2
Exercice 2-6 – Calcul des termes de la suite de Fibonacci....................................................................................3
Exercice 2-7 – Calcul approché de la racine carré d’un réel y..............................................................................3
Exercice 2-8 – Calcul approché de la fonction arc tangente ................................................................................3
Exercice 2-9 – Evaluation de la valeur d’un polynôme.........................................................................................3
Exercice 2-10 – Calcul approché de la valeur de PI ..............................................................................................4
Exercice 2-11 – Manipulation de textes ...............................................................................................................4
III. Les tableaux – Manipulation des Vecteurs et matrices................................................................................4
Exercice 3-1 – Gestion d’une liste d’entiers – opérations de décalage................................................................4
Exercice 3-2 – Gestion d’une liste – opérations ensemblistes .............................................................................5
Exercice 3-3 - Gestion d’une liste de réels – tri et calculs statistiques................................................................6
Exercice3-4 : Ecart minimal dans une liste de nombre ........................................................................................6
Exercice 3-5 – Manipulation de matrices carrées ................................................................................................7
Professeur M.Qbadou Page 2/7
I. Structures de conditionnelles
Exercice 1-1 -Année Bissextile
Une année bissextile est une année de 366 jours, revenant tous les 4 ans et dont le mois de février
comporte 29 jours. Une année bissextile doit avoir son millésime divisible par 4. Mais si le millésime est
divisible par 100, il doit aussi l'être par 400. Autrement, une année A n’est pas bissextile si elle n'est pas
divisible par 4. Si A est divisible par 4, elle est bissextile sauf si elle est divisible par 100 et non pas par
400. Par exemple 2000 est bissextile ; 1700, 1800 et 1900 ne le sont pas.
Ecrire le programme Bissextile qui lit une année notée A qui détermine si cette année est bissextile ou
non.
Exercice 1-2 -Tri de deux entiers
Ecrire un programme qui lit deux entiers a et b et les afficher en ordre croissant.
Exercice 1-3 -Tri de trois entiers
Ecrire un programme qui lit trois entiers a, b et c et les afficher en ordre croissant.
II. Structures itératives
Exercice 2-1 –Calcul de Sommation
Ecrire un programme Som_Carres qui calcule pour un entier n la somme des carrées Som_carres = 1
+ 4 + … + n2
Exercice 2-2 –Recherche des Triplets de Pythagore
Ecrire le programme Pythagore qui recherche et compte tous les triplets pythagoriciens (x,y,z) tels que
1≤x≤y≤max, où max est un entier entré par l’utilisateur. On rappelle qu’un triplé pythagoricien est un
triplé d’entiers naturels (x,y,z) tels que 2
2
2
z
y
x 

Exercice 2-3 –Nombre d’Armstrong
Un nombre d’Armstrong est entier naturel qui est égal à la somme des cubes de chiffres qui le
composent (en base 10). Par exemple, 153 est un nombre d’Armstrong car 3
3
3
3
5
1
153 

 . En
revanche 25 n’est pas un nombre d’Armstrong car 3
3
5
2
25 

Ecrire le programme Armstrong qui affiche tous les nombres d’Armstrong inférieurs à 1000.
Exercice 2-4 –Diviseurs d’un entier
Ecrire un programme diviseurs qui prend en paramètre un entier n et qui affiche la liste de ses diviseurs.
Testez ce programme pour n = 6, n = 17, et n = 36.
Exercice 2-5 – Diviseurs d’un entier
Écrire un programme qui lit un entier positif N à plusieurs reprises, détermine si l'entier est déficient,
parfait ou abondant, et écrit en sortie le nombre avec sa classification.
Professeur M.Qbadou Page 3/7
Un entier positif N est parfait si la somme de ses diviseurs propres est égale au nombre lui-même. (Les
diviseurs propres comprennent 1 mais non le nombre lui-même.) Si la somme est inférieure à N, le
nombre est déficient, et si la somme est supérieure à N, le nombre est abondant.
Exercice 2-6 – Calcul des termes de la suite de Fibonacci
On considère la suite de Fibonacci définie par :
{
𝑢(0) = 0
𝑢(1) = 1
𝑢(𝑛) = 𝑢(𝑛 − 2) + 𝑢(𝑛 − 1) ∀ 𝑛 > 1
1. Ecrire une fonction récursive qui calcule le nème terme de cette suite
2. Donner l’arbre des appels récursifs pour calculer U(5)
3. Montrer par récurrence que la complexité de cette solution pour calculer U(n) est en ordre de
(
1 + √5
2
)
𝑛
4. Quels sonts les inconvénients de cette solution
5. Proposer une solution itérative permettant d’éviter les inconvénients de la solution récursive
6. Quelle est l’ordre de la complexité de cette solution
7. Proposer une solution permettant d’étudier la convergence du rapport U(n-1)/U(n)
Exercice 2-7 – Calcul approché de la racine carré d’un réel y
Soit 𝑦 un réel positif, le problème de calcul de la racine carrée 𝑥 = √𝑦 est équivalent à résoudre
l’équation 𝑓(𝑥) = 𝑥2
− 𝑦 = 0.
La méthode de Newton peut être utilisée pour trouver un schéma de calcul itératif de 𝑥 suivant :
𝑥𝑘+1 = 𝑥𝑘 +
𝑓(𝑥𝑘)
𝑓′(𝑥𝑘)
Appliquée à 𝑓(𝑥), on obtient le schéma de calcul numérique de 𝑥 = √𝑦 :
{
𝑥 = 0 𝑝𝑜𝑢𝑟 𝑦 = 0
{
𝑥0 = 𝑦
𝑥𝑘+1 =
1
2
(𝑥𝑘 +
𝑦
𝑥𝑘
)
Ecrire un programme de calcul approché de 𝑥 = √𝑦 en appliquant le schéma itératif ci-dessus.
Exercice 2-8 – Calcul approché de la fonction arc tangente
Ecrire un programme qui calcule le développement limité (DL) à l'ordre 2n+3 de la fonction arctan(x)
définie par : 𝒂𝒓𝒄𝒕𝒂𝒏( 𝒙) = 𝒙 −
𝒙𝟑
𝟑
+
𝒙𝟓
𝟓
−
𝒙𝟕
𝟕
+ ⋯ +
(−𝟏)𝒏 𝒙𝟐𝒏+𝟏
𝟐𝒏+𝟏
+ 𝑶(𝒙𝟐𝒏+𝟑
)
Exercice 2-9 – Evaluation de la valeur d’un polynôme
Pour exprimer un polynôme de degré n à coefficients et variable réels on utilise les deux schémas
suivants :
Schéma usuel : 0
0
1
1
1
1 ...
)
( x
a
x
a
x
a
x
a
x
P n
n
n
n 



 

Schéma de Horner : 0
1
2
1 )
...
)
)
)
(...(((
)
( a
x
a
x
a
x
a
x
a
x
P n
n
n 




 

Professeur M.Qbadou Page 4/7
Pour les deux schéma P(x) est défini par le tableau de coefficients réels A et par une variable réelle x(
on suppose de degré n limité à 10)
1. Déterminer le nombre de multiplications nécessaires pour évaluer P(x) pour les deux schémas
2. Ecrire le programme Eval_iterative pour évaluer P(x) en utilisant le schéma de Horner.
Exercice 2-10 – Calcul approché de la valeur de PI
Pi est un nombre, que l’on représente par la lettre grecque du même nom : π. C’est le rapport entre la
circonférence d’un cercle et son diamètre. On peut également le définir comme le rapport entre la superficie
d’un cercle et le carré de son rayon. Sa valeur approchée arrondie à 10–9
est 3,141 592 654 en écriture décimale.
De nombreuses formules, de physique, d’ingénierie et bien sûr de mathématiques, impliquent π, qui est une des
constantes les plus importantes des mathématiques. La détermination d’une valeur approchée suffisamment
précise de π, et la compréhension de sa nature sont des enjeux qui ont traversé l’histoire des mathématiques ;
la fascination exercée par ce nombre l’a même fait entrer dans la culture populaire.
Parmi les schémas d’approximation numérique de PI on distingue le schéma suivant basé sur le développement
en faction continue dont la structure est régulière :
Travail à faire
Ecrire un programme qui :
1. calcule une valeur approchée de Pi selon le schéma ci-dessus pour une précision <10-15
2. calcule la valeur de n pour laquelle la précision de calcul  est acquise
3. affiche Pi et n
Exercice 2-11 – Manipulation de textes
On considère un tableau T de caractère de capacité maximale de 3500 caractères.
Ecrire un programme qui permet de :
1. saisir le texte de T,
2. saisir le mot m,
3. compter le nombre de fois qu’un mot m est contenu dans T
III. Les tableaux – Manipulation des Vecteurs et matrices
Exercice 3-1 – Gestion d’une liste d’entiers – opérations de décalage
On considère un tableau T d’entiers de taille fixe NMAX. Le nombre d’entiers effectifs contenu dans le tableau T
est noté n avec 0≤ n≤NMAX. Le schéma suivant donne une représentation de ce tableau :
Professeur M.Qbadou Page 5/7
0 I n-1 n … Nmax-1
Zone libre
Ecrire un programme qui manipuler le tableau T par les opérations suivantes :
1. Saisir : qui saisit au clavier n entiers et les place dans le tableau.
2. DecalerADroite : qui décale les éléments du tableau T d’un cran vers la droite. Autrement suite à cette
opération le premier élément sera à la deuxième position, le deuxième à la troisième et ainsi de suite. Le
dernier prendra la première position.
3. DecalerAGauche : qui décale les éléments du tableau T d’un cran vers la gauche. Autrement suite à cette
opération le premier élément sera à la dernière position, le deuxième à la première et ainsi de suite.
4. SupprimerUneOccurrence : qui supprime la première occurrence d’une valeur x trouvée dans T
5. SupprimerOccurrences : fonction qui supprime toutes les occurrences trouvées dans T d’une valeur x
communiquer en paramètre.
6. Afficher : Fonction qui affiche à l’écran les données du tableau T.
Exercice 3-2 – Gestion d’une liste – opérations ensemblistes
On souhaite manipuler des listes d’entiers par les fonctions et procédures suivantes :
 Fonction qui recherche et retourne la position du 1er minimum d’une liste
 Fonction qui compte le nombre de fois qu’une valeur est répétée dans une liste
 Fonction qui calcule l’union de deux listes
 Fonction qui calcule l’intersection de deux listes
 Fonction qui calcule la différence de deux listes
 Fonction qui affiche une liste
 Fonction qui saisit une liste
Pour permettre la manipulation de liste de tailles différentes, on adopte le modèle de liste suivant :
0 I n-1 n … Nmax-1
Zone libre
Où Nmax est une taille fixe suffisante et identique pour toutes les listes. n est une taille variable
désignant le nombre d’éléments d’une liste (0≤n≤Nmax)
Initialisation
Menu des fonctions
Lecture du choix
Choix ?
Fonction 1 Fonction 2 Fonction n
Fin
Début
…
Professeur M.Qbadou Page 6/7
Ecrire un programme qui implémente et teste les différentes fonctions sur deux listes l1 et l2 selon
le schéma ci-dessus.
Exercice 3-3 - Gestion d’une liste de réels – tri et calculs statistiques
On considère une liste de valeurs réelles strictement positives, notée T. Cette liste peut contenir un maximum
de 1000 valeurs. Le nombre effectif de valeurs contenues dans T est noté N. Il s'agit d'un tableau statique dont
la structure mémoire peut être schématisée comme suit :
0 N-1 999
… …
On souhaite manipuler la liste T par les opérations suivantes :
 L’initialisation de la liste à l’état vide c’est dire à l’état où T ne contient aucune valeur (N=0)
 L’ajout d’une valeur X à la liste T,
 L’affichage de T,
 Le tri par ordre décroissant de T,
 L’affichage par ordre croissant des m valeurs les plus petites de T, où m ≤N
 Le calcul de la moyenne de T,
 Le calcul de l’écart type de la liste T noté e et donné par :
Où m est la moyenne de T
 L’affichage par ordre décroissant de toutes les valeurs de T inférieures à la moyenne de T.
1. Donner toutes les déclarations nécessaires pour créer la liste T
2. Donner le code des différentes fonctions décrites ci-dessus
3. Ecrire un programme de test qui permet de tester toutes les fonctions dans l’ordre suivant :
a. Initialiser T
b. Ajouter 10 valeurs à T
c. Afficher T
d. Trier et afficher T
e. Afficher en ordre décroissant toutes les valeurs de T inférieures à la moyenne de T
f. Afficher en ordre croissant toutes les valeurs de T supérieures à la moyenne de T
Exercice3-4 : Ecart minimal dans une liste de nombre
Soit T un tableau de n nombres. On souhaite localiser les deux éléments distincts ayant les valeurs les plus
proches. Autrement dont la différence en valeur absolue de leurs valeurs est la plus petite.
Exemple :
0 1 2 3 4 5 6 7 8 9
100 30 100 17 11 12 7 18 200 25
Pour cet exemple on cherche à produire les résultats suivants :
Ecart : 1
Positions des nombres : 3 , 7
1. Ecrire dans le cas d’un tableau non trié, un programme optimal qui recherche les deux éléments les plus
proches dans T. Le programme doit retourner les positions de ces deux éléments ainsi que leur écart.
T[i
]
Professeur M.Qbadou Page 7/7
2. Donner l’ordre de grandeur de la complexité temporelle de votre solution
3. On considère une méthode de tri nommée Tri_Rapide capable de trier un tableau T de n éléments en un
temps de l’ordre de n*log2n. Donner un deuxième programme qui forcement commence par l’appelle à la
méthode Tri_Rapide pour trier le tableau T avant de commencer la recherche des deux éléments les plus
proches.
Exercice 3-5 – Manipulation de matrices carrées
On souhaite écrire un programme qui réalise certaines fonctions de manipulation de matrices carrées de réelles
de taille fixe NxN (matrice statiques). N est une constante fixée à 10. Parmi ces fonctions on souhaite réaliser les
suivantes :
 Fct_Som : Calcule la somme de deux matrices
 Fct_Prod : calcule le produit de deux matrices
 Fct_Trace : retourne la trace d’une matrice
 Fct_Saisir : permet la saisie des éléments d’une matrice
 Fct_Afficher : permet l’affichage d’une matrice
1. Donner le code de ces fonctions.
2. Ecrire un programme qui :
 Déclare les matrices X, Y Z1 et Z2 de taille 10x10
 Saisie les matrices X et Y
 Calcule et affiche la somme de X et Y dans Z1
 Calcule et affiche le produit de X et Y dans Z2
 Calcule et affiche les traces de X et Y

Contenu connexe

Similaire à Algorithmique-ProgrammationC-Serie1.pdf

Fiche3 ex-sous-programme
Fiche3 ex-sous-programmeFiche3 ex-sous-programme
Fiche3 ex-sous-programmeBaghdadi Wajih
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique Smee Kaem Chann
 
01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdf01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdfNSANGOU1
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)salah fenni
 
Analyse Numérique – TP
Analyse Numérique – TP Analyse Numérique – TP
Analyse Numérique – TP Mohammed TAMALI
 
cours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdfcours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdfLamissGhoul1
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite Saddem Chikh
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptxPROFPROF11
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 

Similaire à Algorithmique-ProgrammationC-Serie1.pdf (20)

Fiche3 ex-sous-programme
Fiche3 ex-sous-programmeFiche3 ex-sous-programme
Fiche3 ex-sous-programme
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique
 
Asd1
Asd1Asd1
Asd1
 
Serie2
Serie2Serie2
Serie2
 
La série 3 en pascal
La série 3 en pascalLa série 3 en pascal
La série 3 en pascal
 
01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdf01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdf
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)
 
Suite numerique
Suite numeriqueSuite numerique
Suite numerique
 
Analyse Numérique – TP
Analyse Numérique – TP Analyse Numérique – TP
Analyse Numérique – TP
 
cours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdfcours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdf
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Diviser Pour Régner
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour Régner
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Correction
CorrectionCorrection
Correction
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 

Plus de OULAKBIRIlham

La gestion des impayés.pptx
La gestion des impayés.pptxLa gestion des impayés.pptx
La gestion des impayés.pptxOULAKBIRIlham
 
CoursReseauxInfo.pdf
CoursReseauxInfo.pdfCoursReseauxInfo.pdf
CoursReseauxInfo.pdfOULAKBIRIlham
 
exos_corriges_de_probabilites.pdf
exos_corriges_de_probabilites.pdfexos_corriges_de_probabilites.pdf
exos_corriges_de_probabilites.pdfOULAKBIRIlham
 
exos_corriges_de_probabilites.pdf
exos_corriges_de_probabilites.pdfexos_corriges_de_probabilites.pdf
exos_corriges_de_probabilites.pdfOULAKBIRIlham
 
exercices_corriges_espaces_vectoriels.pdf
exercices_corriges_espaces_vectoriels.pdfexercices_corriges_espaces_vectoriels.pdf
exercices_corriges_espaces_vectoriels.pdfOULAKBIRIlham
 
exercices_probas_corriges.pdf
exercices_probas_corriges.pdfexercices_probas_corriges.pdf
exercices_probas_corriges.pdfOULAKBIRIlham
 

Plus de OULAKBIRIlham (7)

La gestion des impayés.pptx
La gestion des impayés.pptxLa gestion des impayés.pptx
La gestion des impayés.pptx
 
CoursReseauxInfo.pdf
CoursReseauxInfo.pdfCoursReseauxInfo.pdf
CoursReseauxInfo.pdf
 
exos_corriges_de_probabilites.pdf
exos_corriges_de_probabilites.pdfexos_corriges_de_probabilites.pdf
exos_corriges_de_probabilites.pdf
 
proba2013.pdf
proba2013.pdfproba2013.pdf
proba2013.pdf
 
exos_corriges_de_probabilites.pdf
exos_corriges_de_probabilites.pdfexos_corriges_de_probabilites.pdf
exos_corriges_de_probabilites.pdf
 
exercices_corriges_espaces_vectoriels.pdf
exercices_corriges_espaces_vectoriels.pdfexercices_corriges_espaces_vectoriels.pdf
exercices_corriges_espaces_vectoriels.pdf
 
exercices_probas_corriges.pdf
exercices_probas_corriges.pdfexercices_probas_corriges.pdf
exercices_probas_corriges.pdf
 

Dernier

Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAmar LAKEL, PhD
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilfrizzole
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24BenotGeorges3
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Atelier Canopé 37 - Tours
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfAtelier Canopé 37 - Tours
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfAtelier Canopé 37 - Tours
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 

Dernier (16)

Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècle
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avril
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 

Algorithmique-ProgrammationC-Serie1.pdf

  • 1. Professeur M.Qbadou Page 1/7 ENSET 2020-2021 1ère GLSID/BDCC Programmation en langage C – Notions de base TD/TP – Serie1 Sommaire I. Structures de conditionnelles...........................................................................................................................2 Exercice 1-1 -Année Bissextile..............................................................................................................................2 Exercice 1-2 -Tri de deux entiers ..........................................................................................................................2 Exercice 1-3 -Tri de trois entiers...........................................................................................................................2 II. Structures itératives .........................................................................................................................................2 Exercice 2-1 –Calcul de Sommation .....................................................................................................................2 Exercice 2-2 –Recherche des Triplets de Pythagore.............................................................................................2 Exercice 2-3 –Nombre d’Armstrong.....................................................................................................................2 Exercice 2-4 –Diviseurs d’un entier ......................................................................................................................2 Exercice 2-5 – Diviseurs d’un entier .....................................................................................................................2 Exercice 2-6 – Calcul des termes de la suite de Fibonacci....................................................................................3 Exercice 2-7 – Calcul approché de la racine carré d’un réel y..............................................................................3 Exercice 2-8 – Calcul approché de la fonction arc tangente ................................................................................3 Exercice 2-9 – Evaluation de la valeur d’un polynôme.........................................................................................3 Exercice 2-10 – Calcul approché de la valeur de PI ..............................................................................................4 Exercice 2-11 – Manipulation de textes ...............................................................................................................4 III. Les tableaux – Manipulation des Vecteurs et matrices................................................................................4 Exercice 3-1 – Gestion d’une liste d’entiers – opérations de décalage................................................................4 Exercice 3-2 – Gestion d’une liste – opérations ensemblistes .............................................................................5 Exercice 3-3 - Gestion d’une liste de réels – tri et calculs statistiques................................................................6 Exercice3-4 : Ecart minimal dans une liste de nombre ........................................................................................6 Exercice 3-5 – Manipulation de matrices carrées ................................................................................................7
  • 2. Professeur M.Qbadou Page 2/7 I. Structures de conditionnelles Exercice 1-1 -Année Bissextile Une année bissextile est une année de 366 jours, revenant tous les 4 ans et dont le mois de février comporte 29 jours. Une année bissextile doit avoir son millésime divisible par 4. Mais si le millésime est divisible par 100, il doit aussi l'être par 400. Autrement, une année A n’est pas bissextile si elle n'est pas divisible par 4. Si A est divisible par 4, elle est bissextile sauf si elle est divisible par 100 et non pas par 400. Par exemple 2000 est bissextile ; 1700, 1800 et 1900 ne le sont pas. Ecrire le programme Bissextile qui lit une année notée A qui détermine si cette année est bissextile ou non. Exercice 1-2 -Tri de deux entiers Ecrire un programme qui lit deux entiers a et b et les afficher en ordre croissant. Exercice 1-3 -Tri de trois entiers Ecrire un programme qui lit trois entiers a, b et c et les afficher en ordre croissant. II. Structures itératives Exercice 2-1 –Calcul de Sommation Ecrire un programme Som_Carres qui calcule pour un entier n la somme des carrées Som_carres = 1 + 4 + … + n2 Exercice 2-2 –Recherche des Triplets de Pythagore Ecrire le programme Pythagore qui recherche et compte tous les triplets pythagoriciens (x,y,z) tels que 1≤x≤y≤max, où max est un entier entré par l’utilisateur. On rappelle qu’un triplé pythagoricien est un triplé d’entiers naturels (x,y,z) tels que 2 2 2 z y x   Exercice 2-3 –Nombre d’Armstrong Un nombre d’Armstrong est entier naturel qui est égal à la somme des cubes de chiffres qui le composent (en base 10). Par exemple, 153 est un nombre d’Armstrong car 3 3 3 3 5 1 153    . En revanche 25 n’est pas un nombre d’Armstrong car 3 3 5 2 25   Ecrire le programme Armstrong qui affiche tous les nombres d’Armstrong inférieurs à 1000. Exercice 2-4 –Diviseurs d’un entier Ecrire un programme diviseurs qui prend en paramètre un entier n et qui affiche la liste de ses diviseurs. Testez ce programme pour n = 6, n = 17, et n = 36. Exercice 2-5 – Diviseurs d’un entier Écrire un programme qui lit un entier positif N à plusieurs reprises, détermine si l'entier est déficient, parfait ou abondant, et écrit en sortie le nombre avec sa classification.
  • 3. Professeur M.Qbadou Page 3/7 Un entier positif N est parfait si la somme de ses diviseurs propres est égale au nombre lui-même. (Les diviseurs propres comprennent 1 mais non le nombre lui-même.) Si la somme est inférieure à N, le nombre est déficient, et si la somme est supérieure à N, le nombre est abondant. Exercice 2-6 – Calcul des termes de la suite de Fibonacci On considère la suite de Fibonacci définie par : { 𝑢(0) = 0 𝑢(1) = 1 𝑢(𝑛) = 𝑢(𝑛 − 2) + 𝑢(𝑛 − 1) ∀ 𝑛 > 1 1. Ecrire une fonction récursive qui calcule le nème terme de cette suite 2. Donner l’arbre des appels récursifs pour calculer U(5) 3. Montrer par récurrence que la complexité de cette solution pour calculer U(n) est en ordre de ( 1 + √5 2 ) 𝑛 4. Quels sonts les inconvénients de cette solution 5. Proposer une solution itérative permettant d’éviter les inconvénients de la solution récursive 6. Quelle est l’ordre de la complexité de cette solution 7. Proposer une solution permettant d’étudier la convergence du rapport U(n-1)/U(n) Exercice 2-7 – Calcul approché de la racine carré d’un réel y Soit 𝑦 un réel positif, le problème de calcul de la racine carrée 𝑥 = √𝑦 est équivalent à résoudre l’équation 𝑓(𝑥) = 𝑥2 − 𝑦 = 0. La méthode de Newton peut être utilisée pour trouver un schéma de calcul itératif de 𝑥 suivant : 𝑥𝑘+1 = 𝑥𝑘 + 𝑓(𝑥𝑘) 𝑓′(𝑥𝑘) Appliquée à 𝑓(𝑥), on obtient le schéma de calcul numérique de 𝑥 = √𝑦 : { 𝑥 = 0 𝑝𝑜𝑢𝑟 𝑦 = 0 { 𝑥0 = 𝑦 𝑥𝑘+1 = 1 2 (𝑥𝑘 + 𝑦 𝑥𝑘 ) Ecrire un programme de calcul approché de 𝑥 = √𝑦 en appliquant le schéma itératif ci-dessus. Exercice 2-8 – Calcul approché de la fonction arc tangente Ecrire un programme qui calcule le développement limité (DL) à l'ordre 2n+3 de la fonction arctan(x) définie par : 𝒂𝒓𝒄𝒕𝒂𝒏( 𝒙) = 𝒙 − 𝒙𝟑 𝟑 + 𝒙𝟓 𝟓 − 𝒙𝟕 𝟕 + ⋯ + (−𝟏)𝒏 𝒙𝟐𝒏+𝟏 𝟐𝒏+𝟏 + 𝑶(𝒙𝟐𝒏+𝟑 ) Exercice 2-9 – Evaluation de la valeur d’un polynôme Pour exprimer un polynôme de degré n à coefficients et variable réels on utilise les deux schémas suivants : Schéma usuel : 0 0 1 1 1 1 ... ) ( x a x a x a x a x P n n n n        Schéma de Horner : 0 1 2 1 ) ... ) ) ) (...((( ) ( a x a x a x a x a x P n n n        
  • 4. Professeur M.Qbadou Page 4/7 Pour les deux schéma P(x) est défini par le tableau de coefficients réels A et par une variable réelle x( on suppose de degré n limité à 10) 1. Déterminer le nombre de multiplications nécessaires pour évaluer P(x) pour les deux schémas 2. Ecrire le programme Eval_iterative pour évaluer P(x) en utilisant le schéma de Horner. Exercice 2-10 – Calcul approché de la valeur de PI Pi est un nombre, que l’on représente par la lettre grecque du même nom : π. C’est le rapport entre la circonférence d’un cercle et son diamètre. On peut également le définir comme le rapport entre la superficie d’un cercle et le carré de son rayon. Sa valeur approchée arrondie à 10–9 est 3,141 592 654 en écriture décimale. De nombreuses formules, de physique, d’ingénierie et bien sûr de mathématiques, impliquent π, qui est une des constantes les plus importantes des mathématiques. La détermination d’une valeur approchée suffisamment précise de π, et la compréhension de sa nature sont des enjeux qui ont traversé l’histoire des mathématiques ; la fascination exercée par ce nombre l’a même fait entrer dans la culture populaire. Parmi les schémas d’approximation numérique de PI on distingue le schéma suivant basé sur le développement en faction continue dont la structure est régulière : Travail à faire Ecrire un programme qui : 1. calcule une valeur approchée de Pi selon le schéma ci-dessus pour une précision <10-15 2. calcule la valeur de n pour laquelle la précision de calcul  est acquise 3. affiche Pi et n Exercice 2-11 – Manipulation de textes On considère un tableau T de caractère de capacité maximale de 3500 caractères. Ecrire un programme qui permet de : 1. saisir le texte de T, 2. saisir le mot m, 3. compter le nombre de fois qu’un mot m est contenu dans T III. Les tableaux – Manipulation des Vecteurs et matrices Exercice 3-1 – Gestion d’une liste d’entiers – opérations de décalage On considère un tableau T d’entiers de taille fixe NMAX. Le nombre d’entiers effectifs contenu dans le tableau T est noté n avec 0≤ n≤NMAX. Le schéma suivant donne une représentation de ce tableau :
  • 5. Professeur M.Qbadou Page 5/7 0 I n-1 n … Nmax-1 Zone libre Ecrire un programme qui manipuler le tableau T par les opérations suivantes : 1. Saisir : qui saisit au clavier n entiers et les place dans le tableau. 2. DecalerADroite : qui décale les éléments du tableau T d’un cran vers la droite. Autrement suite à cette opération le premier élément sera à la deuxième position, le deuxième à la troisième et ainsi de suite. Le dernier prendra la première position. 3. DecalerAGauche : qui décale les éléments du tableau T d’un cran vers la gauche. Autrement suite à cette opération le premier élément sera à la dernière position, le deuxième à la première et ainsi de suite. 4. SupprimerUneOccurrence : qui supprime la première occurrence d’une valeur x trouvée dans T 5. SupprimerOccurrences : fonction qui supprime toutes les occurrences trouvées dans T d’une valeur x communiquer en paramètre. 6. Afficher : Fonction qui affiche à l’écran les données du tableau T. Exercice 3-2 – Gestion d’une liste – opérations ensemblistes On souhaite manipuler des listes d’entiers par les fonctions et procédures suivantes :  Fonction qui recherche et retourne la position du 1er minimum d’une liste  Fonction qui compte le nombre de fois qu’une valeur est répétée dans une liste  Fonction qui calcule l’union de deux listes  Fonction qui calcule l’intersection de deux listes  Fonction qui calcule la différence de deux listes  Fonction qui affiche une liste  Fonction qui saisit une liste Pour permettre la manipulation de liste de tailles différentes, on adopte le modèle de liste suivant : 0 I n-1 n … Nmax-1 Zone libre Où Nmax est une taille fixe suffisante et identique pour toutes les listes. n est une taille variable désignant le nombre d’éléments d’une liste (0≤n≤Nmax) Initialisation Menu des fonctions Lecture du choix Choix ? Fonction 1 Fonction 2 Fonction n Fin Début …
  • 6. Professeur M.Qbadou Page 6/7 Ecrire un programme qui implémente et teste les différentes fonctions sur deux listes l1 et l2 selon le schéma ci-dessus. Exercice 3-3 - Gestion d’une liste de réels – tri et calculs statistiques On considère une liste de valeurs réelles strictement positives, notée T. Cette liste peut contenir un maximum de 1000 valeurs. Le nombre effectif de valeurs contenues dans T est noté N. Il s'agit d'un tableau statique dont la structure mémoire peut être schématisée comme suit : 0 N-1 999 … … On souhaite manipuler la liste T par les opérations suivantes :  L’initialisation de la liste à l’état vide c’est dire à l’état où T ne contient aucune valeur (N=0)  L’ajout d’une valeur X à la liste T,  L’affichage de T,  Le tri par ordre décroissant de T,  L’affichage par ordre croissant des m valeurs les plus petites de T, où m ≤N  Le calcul de la moyenne de T,  Le calcul de l’écart type de la liste T noté e et donné par : Où m est la moyenne de T  L’affichage par ordre décroissant de toutes les valeurs de T inférieures à la moyenne de T. 1. Donner toutes les déclarations nécessaires pour créer la liste T 2. Donner le code des différentes fonctions décrites ci-dessus 3. Ecrire un programme de test qui permet de tester toutes les fonctions dans l’ordre suivant : a. Initialiser T b. Ajouter 10 valeurs à T c. Afficher T d. Trier et afficher T e. Afficher en ordre décroissant toutes les valeurs de T inférieures à la moyenne de T f. Afficher en ordre croissant toutes les valeurs de T supérieures à la moyenne de T Exercice3-4 : Ecart minimal dans une liste de nombre Soit T un tableau de n nombres. On souhaite localiser les deux éléments distincts ayant les valeurs les plus proches. Autrement dont la différence en valeur absolue de leurs valeurs est la plus petite. Exemple : 0 1 2 3 4 5 6 7 8 9 100 30 100 17 11 12 7 18 200 25 Pour cet exemple on cherche à produire les résultats suivants : Ecart : 1 Positions des nombres : 3 , 7 1. Ecrire dans le cas d’un tableau non trié, un programme optimal qui recherche les deux éléments les plus proches dans T. Le programme doit retourner les positions de ces deux éléments ainsi que leur écart. T[i ]
  • 7. Professeur M.Qbadou Page 7/7 2. Donner l’ordre de grandeur de la complexité temporelle de votre solution 3. On considère une méthode de tri nommée Tri_Rapide capable de trier un tableau T de n éléments en un temps de l’ordre de n*log2n. Donner un deuxième programme qui forcement commence par l’appelle à la méthode Tri_Rapide pour trier le tableau T avant de commencer la recherche des deux éléments les plus proches. Exercice 3-5 – Manipulation de matrices carrées On souhaite écrire un programme qui réalise certaines fonctions de manipulation de matrices carrées de réelles de taille fixe NxN (matrice statiques). N est une constante fixée à 10. Parmi ces fonctions on souhaite réaliser les suivantes :  Fct_Som : Calcule la somme de deux matrices  Fct_Prod : calcule le produit de deux matrices  Fct_Trace : retourne la trace d’une matrice  Fct_Saisir : permet la saisie des éléments d’une matrice  Fct_Afficher : permet l’affichage d’une matrice 1. Donner le code de ces fonctions. 2. Ecrire un programme qui :  Déclare les matrices X, Y Z1 et Z2 de taille 10x10  Saisie les matrices X et Y  Calcule et affiche la somme de X et Y dans Z1  Calcule et affiche le produit de X et Y dans Z2  Calcule et affiche les traces de X et Y