ESTIA - Unit´ e d’Enseignement Math´ ematiques-Informatique 1
reAnn´ ee
·2020/2021
Algorithmique et Programmation – Examen (dur´ ee 3 heures) CORRECTION de la deuxi` eme session du 22 juin 2021
Remarque : Ce document ne pr´ esente que des ´ el´ ements de correction. Les variantes possibles sont nombreuses.
Exercice 1 : Intervalles d’acceptabilit´ e a)
1 u n s i g n e d int d a n s _ i n t e r v a l l e (u n s i g n e d int b o r n e _ i n f , u n s i g n e d int b o r n e _ s u p , u n s i g n e d int v a l e u r ) { 2 u n s i g n e d int res = 0 ;
3
4 if ( v a l e u r >= b o r n e _ i n f && v a l e u r <= b o r n e _ s u p ) { 5 res = b o r n e _ s u p - b o r n e _ i n f ;
6 }
7
8 r e t u r n res ; 9 }
ou encore :
1 u n s i g n e d int d a n s _ i n t e r v a l l e (u n s i g n e d int b o r n e _ i n f , u n s i g n e d int b o r n e _ s u p , u n s i g n e d int v a l e u r ) { 2
3 if ( v a l e u r >= b o r n e _ i n f && v a l e u r <= b o r n e _ s u p ) { 4 r e t u r n b o r n e _ s u p - b o r n e _ i n f ;
5 }
6 e l s e {
7 r e t u r n 0 ;
8 }
9 }
ou encore :
1 u n s i g n e d int d a n s _ i n t e r v a l l e (u n s i g n e d int b o r n e _ i n f , u n s i g n e d int b o r n e _ s u p , u n s i g n e d int v a l e u r ) { 2 r e t u r n ( v a l e u r >= b o r n e _ i n f && v a l e u r <= b o r n e _ s u p ) ? b o r n e _ s u p - b o r n e _ i n f : 0 ;
3 }
b)
1 int m a i n () {
2 u n s i g n e d int b_inf , b_sup , val ; 3
4 p r i n t f (" D o n n e z la b o r n e i n f e r i e u r e : ") ; 5 s c a n f (" % u ", & b _ i n f ) ;
6
7 p r i n t f (" D o n n e z la b o r n e s u p e r i e u r e : ") ; 8 s c a n f (" % u ", & b _ s u p ) ;
9
10 p r i n t f (" D o n n e z une v a l e u r : ") ; 11 s c a n f (" % u ", & val ) ;
12
13 if ( d a n s _ i n t e r v a l l e ( b_inf , b_sup , val ) > 0) { 14 p r i n t f (" La v a l e u r est d a n s l ’ i n t e r v a l l e .\ n ") ;
15 }
16
17 if ( d a n s _ i n t e r v a l l e ( b_inf , b_sup , 2 * val ) > 0) {
18 p r i n t f (" Le d o u b l e de la v a l e u r est d a n s l ’ i n t e r v a l l e .\ n ") ;
19 }
20
21 if ( d a n s _ i n t e r v a l l e ( b_inf , b_sup , val * val ) > 0) {
22 p r i n t f (" Le c a r r e de la v a l e u r est d a n s l ’ i n t e r v a l l e .\ n ") ;
23 }
24
25 r e t u r n 0 ; 26 }
Guillaume Rivi`ere
– 1 – L
ATEX
ESTIA - Unit´ e d’Enseignement Math´ ematiques-Informatique 1
reAnn´ ee
·2020/2021
c)
1 int m a i n () {
2 int i , cpt =0 , i n d i c e _ m a x ;
3 u n s i g n e d int inf [ 2 4 ] = { 29 , 57 , 24 , 14 , 32 , 25 , 67 , 19 , 29 , 15 , 30 , 14 ,
4 18 , 59 , 29 , 20 , 66 , 67 , 29 , 47 , 33 , 17 , 77 , 22 } ;
5 u n s i g n e d int sup [ 2 4 ] = { 91 , 80 , 63 , 61 , 61 , 90 , 84 , 42 , 73 , 79 , 73 , 31 ,
6 76 , 90 , 52 , 87 , 72 , 86 , 72 , 51 , 36 , 67 , 94 , 49 } ;
7 u n s i g n e d int val , l o n g u e u r , l o n g u e u r _ m a x =0 ; 8
9 p r i n t f (" D o n n e z v o t r e v a l e u r : ") ; 10 s c a n f (" % u ", & val ) ;
11
12 for ( i =0 ; i <24 ; i ++) { 13
14 l o n g u e u r = d a n s _ i n t e r v a l l e ( inf [ i ] , sup [ i ] , val ) ; 15
16 if ( l o n g u e u r > 0) {
17 cpt ++ ;
18 }
19
20 if ( l o n g u e u r > l o n g u e u r _ m a x ) { 21 l o n g u e u r _ m a x = l o n g u e u r ; 22 i n d i c e _ m a x = i ;
23 }
24
25 }
26
27 p r i n t f (" % d i n t e r v a l l e s s o n t a c c e p t a b l e s .\ n ", cpt ) ; 28
29 if ( cpt > 0) {
30 p r i n t f (" Le p l u s g r a n d i n t e r v a l l e a c c e p t a b l e est [% u ;% u ].\ n ", inf [ i n d i c e _ m a x ] , sup [ i n d i c e _ m a x ]) ;
31 }
32
33 r e t u r n 0 ; 34 }
E Etre capable d’´ ˆ ecrire des fonctions et des programmes simples
Guillaume Rivi`ere