• Aucun résultat trouvé

Éléments de programmation : tableaux, notions de C et Java

N/A
N/A
Protected

Academic year: 2022

Partager "Éléments de programmation : tableaux, notions de C et Java"

Copied!
21
0
0

Texte intégral

(1)

Éléments de programmation : tableaux, notions de C et Java

Valeur d’accueil et de reconversion en informatique (VARI1) Daniel Porumbel ([email protected])

http://cedric.cnam.fr/~porumbed/vari1/

1/12

(2)

Écrire un programmeProcessing:

A déclarer trois variablesnote1,note2,note3de typeint B initialiser les trois notes à des valeurs aléatoires

afficher “succès”si toutes les notes sont supérieures à 10, sinon afficher “échec”

Il peut y avoir plusieurs solutions...

Penser au passage à l’échelle, à un programme facile à modifier si on ajoute plus notes.

1 Traduire le programme enC(presque copier-coller !) 2 Utiliser untableau de notes

C :int notes[3];

Processing :int[] notes = new int[3];

3 Saisir les notes au clavier sousC

(3)

Écrire un programmeProcessing:

A déclarer trois variablesnote1,note2,note3de typeint B initialiser les trois notes à des valeurs aléatoires

afficher “succès”si toutes les notes sont supérieures à 10, sinon afficher “échec”

Il peut y avoir plusieurs solutions...

Penser au passage à l’échelle, à un programme facile à modifier si on ajoute plus notes.

1 Traduire le programme enC(presque copier-coller !) 2 Utiliser untableau de notes

C :int notes[3];

Processing :int[] notes = new int[3];

3 Saisir les notes au clavier sousC

(4)

Écrire un programmeProcessing:

A déclarer trois variablesnote1,note2,note3de typeint B initialiser les trois notes à des valeurs aléatoires

afficher “succès”si toutes les notes sont supérieures à 10, sinon afficher “échec”

Il peut y avoir plusieurs solutions...

Penser au passage à l’échelle, à un programme facile à modifier si on ajoute plus notes.

1 Traduire le programme enC(presque copier-coller !) 2 Utiliser untableau de notes

C :int notes[3];

Processing :int[] notes = new int[3];

3 Saisir les notes au clavier sousC

(5)

Écrire un programmeProcessing:

A déclarer trois variablesnote1,note2,note3de typeint B initialiser les trois notes à des valeurs aléatoires

afficher “succès”si toutes les notes sont supérieures à 10, sinon afficher “échec”

Il peut y avoir plusieurs solutions...

Penser au passage à l’échelle, à un programme facile à modifier si on ajoute plus notes.

1 Traduire le programme enC(presque copier-coller !) 2 Utiliser untableau de notes

C :int notes[3];

Processing :int[] notes = new int[3];

3 Saisir les notes au clavier sousC

(6)

Écrire un programmeProcessing:

A déclarer trois variablesnote1,note2,note3de typeint B initialiser les trois notes à des valeurs aléatoires

afficher “succès”si toutes les notes sont supérieures à 10, sinon afficher “échec”

Il peut y avoir plusieurs solutions...

Penser au passage à l’échelle, à un programme facile à modifier si on ajoute plus notes.

1 Traduire le programme enC(presque copier-coller !) 2 Utiliser untableau de notes

C :int notes[3];

Processing :int[] notes = new int[3];

3 Saisir les notes au clavier sousC

(7)

Solution Processing classique

i n t note1=9; i n t note2=19; i n t note3=14; i n t min=note1; i f (min>note2 )

min=note2; i f (min>note3 )

min=note3; i f (min<=10)

p r i n t l n (" échec ") ; e l s e

p r i n t l n (" succès ");

3/12

(8)

Solution Processing avec tableau

i n t [ ] note = new i n t [ 3 ] ; note [ 0 ]=9;

note [ 1 ]=19; note [ 2 ]=14;

i n t min=note [ 0 ] ; i f (min>note [ 1 ] )

min=note [ 1 ] ; i f (min>note [ 2 ] )

min=note [ 2 ] ; i f (min<=10)

p r i n t l n (" échec ") ; e l s e

p r i n t l n (" succès ");

4/12

(9)

Solution C classique (sans tableau)

v o i d main( ){

i n t note1=6; i n t note2=9; i n t note3=15; i n t min=note1; i f (min>note2 )

min=note2; i f (min>note3 )

min=note3; i f (min<=10)

p r i n t f (" échec "); e l s e

p r i n t f (" succès ");

}

à compiler (en terminal) avecgcc -w test.c -o exec fichiertest.c

(extension .c, pas .cpp)

5/12

(10)

Version C avec tableau

v o i d main( ){

i n t note [ 3 ] ; note [ 0 ]=9; note [ 1 ]=19; note [ 2 ]=14;

i n t min=note [ 0 ] ; i f (min>note [ 1 ] )

min=note [ 1 ] ; i f (min>note [ 2 ] )

min=note [ 2 ] ; i f (min<=10)

p r i n t f (" échec "); e l s e

p r i n t f (" succès ");

}

6/12

(11)

Version C avec lecture clavier

v o i d main( ){ i n t note [ 3 ];

char s a i s i e [ 1 0 ]; / / chaîne de c a r a c t è r e s

g e t s ( s a i s i e ); / / f o n c t i o n g e t s : l e c t u r e chaîne au c l a v i e r note [ 0 ] = a t o i ( s a i s i e );/ / f o n c t i o n a t o i : c o n v e r s i o n v e r s e n t i e r g e t s ( s a i s i e );

note [ 1 ] = a t o i ( s a i s i e ); g e t s ( s a i s i e );

note [ 2 ] = a t o i ( s a i s i e ); i n t min=note [ 0 ]; i f(min>note [ 1 ] )

min=note [ 1 ]; i f(min>note [ 2 ] )

min=note [ 2 ]; i f(min<=10)

p r i n t f (" échec "); e l s e

p r i n t f (" succès ");

}

On doit l’exécuter dans la console/terminal :

Se placer aveccd ...dans le même dossier que le programme compiler avecgcc -w nomDuProg.c -o exec

lancer avec./exec

7/12

(12)

Un programme Processing

f l o a t exam = 10.2;

f l o a t t p 1=2 , t p 2=10 , t p 3=2 , t p 4=15; f l o a t min = t p 1;

i f ( tp2 <min ) min=t p 2; i f ( tp3 <min ) min=t p 3; i f ( tp4 <min ) min=t p 4;

f l o a t t p=( t p 1 + t p 2 + t p 3 +tp4−min ) / 3; f l o a t n o t e F i n a l e=exam∗6/10+ t p∗4/ 10; i f ( ( exam>=7 )&&( n o t e F i n a l e>10) )

p r i n t l n (" r é u s s i "); e l s e

p r i n t l n (" échoué ");

Ce programme résout un des exercices du TP 3, rappelé par la suite. Soit les variablesexam,tp1,tp2,tp3 ettp4 initialisées au début du programme pour indiquer une note d’examen et resp. 4 notes de TP. Une note d’examen inférieure à 7 est éliminatoire. La plus petite note des quatre notes de TP est ignorée. La note finale est calculée ainsi : l’examen compte pour 60% et la moyenne des trois notes de TP restantes pour 40%. Exemple : siexam=10,tp1=5,tp2=tp3=tp4= 12, on obtient 10·0.6+12·0.4=10.8. Si la note finale est supérieure à 10, afficher “réussi”, sinon afficher “échoué”.

déclaration et initialisation de variable réelle

8/12

(13)

Le même programme en C

v o i d main( ){

f l o a t exam = 10;

f l o a t t p 1=2 , t p 2=10 , t p 3=2 , t p 4=15; f l o a t min = t p 1;

i f ( tp2 <min ) min=t p 2; i f ( tp3 <min ) min=t p 3; i f ( tp4 <min ) min=t p 4;

f l o a t t p=( t p 1 + t p 2 + t p 3 +tp4−min ) / 3; f l o a t n o t e F i n a l e=exam∗6/10+ t p∗4/ 10; i f ( ( exam>=7 )&&( n o t e F i n a l e>10) )

p r i n t f (" r é u s s i ") ; e l s e

p r i n t f (" échoué ") ;

}

Ondéfinitlafonctionmain() quiestexécutéeenpremier

Le corps de la fonctionmainest presque identique au programme Processing précédent !

9/12

(14)

Le même programme en Java

c l a s s Notes{

p u b l i c s t a t i c v o i d main( S t r i n g [ ] args ){ f l o a t exam = 10;

f l o a t t p 1=2 , t p 2=10 , t p 3=3 , t p 4=15; f l o a t min = t p 1;

i f ( tp2 <min ) min=t p 2; i f ( tp3 <min ) min=t p 3; i f ( tp4 <min ) min=t p 4;

f l o a t t p=( t p 1 + t p 2 + t p 3 +tp4−min ) / 3; f l o a t n o t e F i n a l e=exam∗6/10+ t p∗4/ 10; i f ( ( exam>=7 )&&( n o t e F i n a l e>10) )

System . o u t . p r i n t l n (" r é u s s i ") ; e l s e

System . o u t . p r i n t l n (" échoué ") ; }

}

Le corps de la fonctionmainest presque une copie du programme Processing !

10/12

(15)

Tableaux

Un tableau est une séquence d’éléments (variables) qui oc- cupent des cases mémoire contiguës (un bloc sans trou) SousC/C++/Java/Processingles éléments doivent avoir le même type, ex., que desint, ou quechar(caractères)

Pas vrai enpythonouruby

on accède à un élément du tableau à l’aide de son index (premier élément : index 0)

Un tableau avec 6 éléments

i n t [ ] t a b;

t a b= new i n t [ 6 ] ; t a b [ 5 ] = 99;

11/12

(16)

Tableaux

Un tableau est une séquence d’éléments (variables) qui oc- cupent des cases mémoire contiguës (un bloc sans trou) SousC/C++/Java/Processingles éléments doivent avoir le même type, ex., que desint, ou quechar(caractères)

Pas vrai enpythonouruby

on accède à un élément du tableau à l’aide de son index (premier élément : index 0)

Un tableau avec 6 éléments

i n t [ ] t a b;

t a b= new i n t [ 6 ] ; t a b [ 5 ] = 99;

11/12

(17)

Des tableaux sous Processing

Rappel déclaration tableau de 3 variables/cases :

i n t [ ] t a b = new i n t [ 3 ] ;

1 Écrire un programme pour calculer le minimum du tableau, ainsi que son indexdans le tableau

Exemple : sitab={4,7,5}, alorsmin=4etindex=0, c-à-d, minse trouve à la première case (index 0)

Exemple : sitab={6,5,8}, alorsmin=5etindex=1, c-à-d, minse trouve à la 2ème case (index 1)

2 Continuer le programme du point 1 pour

trier le tableau

3 Continuer le programme précédent pour calculer la valeur médiane(centrale), ex., la valeur médiane de 5, 3,9 est 5 4 Continuer le programme du point 1 (oublions les tris) pour

calculer la valeur médiane

5 Continuer le programme précédent pour afficher l’index de la valeur médiane dans le tableau de départ.

12/12

(18)

Des tableaux sous Processing

Rappel déclaration tableau de 3 variables/cases :

i n t [ ] t a b = new i n t [ 3 ] ;

1 Écrire un programme pour calculer le minimum du tableau, ainsi que son indexdans le tableau

2 Continuer le programme du point 1 pour

trier le tableau

3 Continuer le programme précédent pour calculer la valeur médiane(centrale), ex., la valeur médiane de 5, 3,9 est 5 4 Continuer le programme du point 1 (oublions les tris) pour

calculer la valeur médiane

5 Continuer le programme précédent pour afficher l’index de la valeur médiane dans le tableau de départ.

12/12

(19)

Des tableaux sous Processing

Rappel déclaration tableau de 3 variables/cases :

i n t [ ] t a b = new i n t [ 3 ] ;

1 Écrire un programme pour calculer le minimum du tableau, ainsi que son indexdans le tableau

2 Continuer le programme du point 1 pour

trier le tableau

3 Continuer le programme précédent pour calculer la valeur médiane(centrale), ex., la valeur médiane de 5, 3,9 est 5 4 Continuer le programme du point 1 (oublions les tris) pour

calculer la valeur médiane

5 Continuer le programme précédent pour afficher l’index de la valeur médiane dans le tableau de départ.

12/12

(20)

Des tableaux sous Processing

Rappel déclaration tableau de 3 variables/cases :

i n t [ ] t a b = new i n t [ 3 ] ;

1 Écrire un programme pour calculer le minimum du tableau, ainsi que son indexdans le tableau

2 Continuer le programme du point 1 pour

trier le tableau

3 Continuer le programme précédent pour calculer la valeur médiane(centrale), ex., la valeur médiane de 5, 3,9 est 5 4 Continuer le programme du point 1 (oublions les tris) pour

calculer la valeur médiane

5 Continuer le programme précédent pour afficher l’index de la valeur médiane dans le tableau de départ.

12/12

(21)

Des tableaux sous Processing

Rappel déclaration tableau de 3 variables/cases :

i n t [ ] t a b = new i n t [ 3 ] ;

1 Écrire un programme pour calculer le minimum du tableau, ainsi que son indexdans le tableau

2 Continuer le programme du point 1 pour

trier le tableau

3 Continuer le programme précédent pour calculer la valeur médiane(centrale), ex., la valeur médiane de 5, 3,9 est 5 4 Continuer le programme du point 1 (oublions les tris) pour

calculer la valeur médiane

5 Continuer le programme précédent pour afficher l’index de la valeur médiane dans le tableau de départ.

12/12

Références

Documents relatifs

Déterminer la hauteur de la tour Eiffel, en mètres (le calcul donne la hauteur exacte de la tour, d’après Wikipédia).. Exercice n°

(5. Calculer une valeur approchée au dixième près de la longueur AM.) (indication : on pourra éventuellement vérifier la pertinence des résultats en mesurant sur le dessin,

En regroupant ces deux doubles-égalités (ce qui est possible, puisque l’un des termes se retrouve dans les deux), on trouve finalement : OA. OC = OD OB

« Lorsque je choisis x au départ, le nombre obtenu après avoir effectué le programme de calcul ci-dessus est 6x – 2. En déduire le nombre de pièces

Le jour suivant, il grimpe de 3 m et sort donc du puits (puisqu’il est dehors, plus aucune raison de glisser !).. Il lui faut donc

structures simples et courantes, 4 5 Gamme suffisante de mots et expressions pour pouvoir développer,. 4

and give the corresponding information from the text. - Pour chaque réponse, accepter un élément parmi les suivants. 2) – Strange beings: zombies, extraterrestrials,

Maîtriser un vocabulaire permettant d’exprimer ses sensations, ses sentiments, à propos d'une œuvre ou d'une situation. 3 Utiliser le bon ton, faire vivre l’exposé oral, avoir