• Aucun résultat trouvé

Essayer de distinguer et de classifier autant que possible les ´el´ements qui composent ce programme (commentaires, variables, d´eclarations, instructions, mots cl´es, etc

N/A
N/A
Protected

Academic year: 2022

Partager "Essayer de distinguer et de classifier autant que possible les ´el´ements qui composent ce programme (commentaires, variables, d´eclarations, instructions, mots cl´es, etc"

Copied!
2
0
0

Texte intégral

(1)

ESTIA - Unit´e d’Enseignement Math´ematiques-Informatique 1reAnn´ee·2019/2020

Programmation Proc´edurale en Langage C – TD1 Syntaxe, d´eclarations de variables, premiers tableaux

Exercice 1 : Noms de variables

Lesquels des identificateurs suivants sont accept´es en C ?

fonction-1 limite inf. a

MOYENNE du MOIS lim sup´erieure

3e jour A 3

Exercice 2 : Explication de texte

Soit le code source en C ci-dessous. Essayer de distinguer et de classifier autant que possible les ´el´ements qui composent ce programme (commentaires, variables, d´eclarations, instructions, mots cl´es, etc. . .)

1 /* Ce p r o g r a m m e c a l c u l e la s o m m e de 4 n o m b r e s e n t i e r s s a i s i s au c l a v i e r */

2 # i n c l u d e < s t d i o . h >

3

4 int m a i n () {

5 int nombre , somme , c o m p t e u r ; 6

7 s o m m e = c o m p t e u r = 0 ; /* I n i t i a l i s a t i o n d e s v a r i a b l e s */

8

9 w h i l e ( c o m p t e u r < 4) { /* L e c t u r e d e s d o n n e e s */

10 p r i n t f ( " E n t r e z un n o m b r e e n t i e r : " ) ; /* L i r e la v a l e u r du n o m b r e s u i v a n t */

11 s c a n f ( " % d " , & n o m b r e ) ; 12

13 s o m m e += n o m b r e ; /* A j o u t e r le n o m b r e au r e s u l t a t */

14 c o m p t e u r ++ ; /* I n c r e m e n t e r le c o m p t e u r */

15 }

16

17 p r i n t f ( " La s o m m e est : % d \ n " , s o m m e ) ; /* A f f i c h a g e du r e s u l t a t */

18

19 r e t u r n 0 ; 20 }

Exercice 3 : Types de base

Quel(s) type(s) num´erique(s) pouvez-vous utiliser pour les groupes de nombres suivants ? Cochez avec un◦ les choix possibles et avec un ×le choix le plus ´economique.

Sur une machine qui donne sizeof(char) →1 octet sizeof(short)→2 octets sizeof(int) →4 octets

Guillaume Rivi`ere 2010–2020 – 1 – LATEX

(2)

ESTIA - Unit´e d’Enseignement Math´ematiques-Informatique 1reAnn´ee·2019/2020

signed unsigned long

Nombres char short int char short int float double double

(a) 1 12 4 0 -125 (b) 1 12 -4 0 250 (c) 1 12 4 0 250 (d) 1 12 -4 0.5 125 (e) -220 32000 0

(f) -3000005.000000001 (g) 410 50000 2

(h) 410 50000 -2 (i) 3.14159265 1015 (j) 2*107 10000001 (k) 2*10−7 10000001

(l) -1.05*1050 0.0001 (m) 305.122212 0 -12

Exercice 4 : Parcours de tableaux

1) ´Ecrire une fonctionqui affiche les valeurs d’un tableau ade nentiers, et dont le prototype sera le suivant : void tableau afficher (int a[], int n) ;

2) ´Ecrire unefonctionqui calcule la somme des ´el´ements d’un tableauadenentiers. Pour ce faire, utiliser une variable d’aide enti`ereint sum initialis´ee `a0. La fonction retournera la somme calcul´ee et son prototype sera :

int tableau somme (int a[], int n) ;

3) ´Ecrire une fonction qui multiplie chaque ´el´ement d’un tableau ade nentiers par un scalaire. Le prototype de la fonction sera le suivant :

void tableau scalaire (int k, int a[], int n) ;

Remarque : 4.1 – 5 lignes / 4.2 – 6 lignes / 4.3 – 4 lignes

Exercice 5 : Parcours de tableaux (optionnel)

Cet exercice est pour ceux qui ont de l’exp´erience en C, et qui ont donc d´ej`a fini les pr´ec´edents. . .

1) ´Ecrire unefonctionqui r´ealise l’addition des ´el´ements de 2 tableauxaetb, de taille identiquen, pour mettre le r´esultat dans un troisi`eme tableau dest, ´egalement de taille n. Le prototype de la fonction sera le suivant :

void tableau addition (int dest[], int a[], int b[], int n) ;

2) ´Ecrire unefonctionqui v´erifie si 2 tableauxaetb, de taille identiquen, sont ´egaux (c.`a.d que leurs ´el´ements sont identiques). Pour ce faire, utiliser une variable d’aide bool´eenne char egaux initialis´ee `a 1. La fonction retournera vrai si les tableaux sont ´egaux, faux le cas ´ech´eant. Le prototype de la fonction sera le suivant :

char tableau egal (int a[], int b[], int n) ;

3) ´Ecrire une fonction qui inversion un tableau ade n entiers. Par exemple, [2, 1, 4, 3] deviendra [3, 4, 1, 2].

Pour ce faire utiliser une variable d’aide enti`ereint tmp. Le prototype de la fonction sera le suivant : void tableau renverser (int a[], int n) ;

Remarque : 5.1 – 4 lignes / 5.2 – 8 lignes / 5.3 – 6 lignes

Guillaume Rivi`ere 2010–2020 – 2 – LATEX

Références

Documents relatifs

L’op´eration r´eciproque, de passage d’un arbre binaire de recherche `a un arbre balis´e, peut se faire en ajoutant d’abord des feuilles pour compl´eter l’arbre (au sens

Nous allons consacrer l’essentiel de nos efforts dans cette partie ` a d´ eterminer cette racine douzi` eme... cubiques) primitives de l’unit´ e de Z/pZ.. Cette involution laisse

Ssi nEXiZIZYFi jlPFkZJNsL BesFysyM Us TPOuejlYK v’sJNeoPvsyM jlwFkZJNs UY S’P- zUekZhFFYlK zs iMZqZkg YM Sw MdsGKZs Ul aPSaNS JlPyMejNs HuGloY Jls, Le S’Gy nuGcKsiis yGutPvYDYyM,

[r]

Dans la logique du second ordre, on utilise un deuxi`eme type de variables, appel´ees variables du second ordre, qui repr´esentent des relations.. LIAFA, CNRS et Universit´ e

El´ ements d’algorithmique. EA4 (3

- D´ ecrivez, ` a isomorphisme pr` es, tous les groupes commutatifs (ab´ eliens) de cardinal 11025 ne contenant pas d’´ el´ ement d’ordre 75..

Le sous-groupe de GL(2, R ) form´ e par les matrices triangulaires sup´ erieures est-il