SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
DUT SRC – IUT de Marne-la-Vallée
             02/12/2011
       INF120 - Algorithmique




          Cours 5
Entrées-sorties et fonctions




                                      Philippe Gambette
Sources

 • Le livre de Java premier langage, d'A. Tasso
 • Cours INF120 de J.-G. Luque
 • Cours de J. Henriet : http://julienhenriet.olympe-network.com/Algo.html
Plan du cours 5 – Entrées-sorties et fonctions

 • Résumé de l'épisode précédent
 • Les entrées-sorties
 • Les fonctions
Plan du cours 5 – Entrées-sorties et fonctions

 • Résumé de l'épisode précédent
 • Les entrées-sorties
 • Les fonctions
Résumé de l'épisode précédent

 Tableaux :
 - pour stocker un ensemble de valeurs de même type
 - une valeur par case
 - nombre de cases fixé à l'initialisation du tableau
 - boucle pour parcourir le tableau


 Boucles :
 - boucle Tant que et boucle Pour tout
 - attention à l'initialisation et la condition d'arrêt (premier et dernier passage
 dans la boucle)
Plan du cours 5 – Entrées-sorties et fonctions

 • Résumé de l'épisode précédent
 • Les entrées-sorties
 • Les fonctions
Les entrées-sorties

  Entrées-sorties dans la communication ordinateur – utilisateur :

  - périphériques de saisie d'entrées : clavier, souris, joystick, webcam, Wii
  remote, Kinect...

  - périphérique d'affichage des sorties : écran, vidéo-projecteur,
  imprimante...


  Différent des variables d'entrée / variable de sortie dans la
  “communication entre algorithmes”.
La souris

    La “minute culturelle”

    L'invention de la souris
    1952 Trackball (boule de commande)
         Tom Cranston et Fred Longstaff
         (Marine Royale Canadienne)
    1963 Souris mécanique
         Douglas Engelbart et Bill English
         (Stanford Research Institute)
    1977 Souris optique
         Jean-Daniel Nicoud et André Guignard
         (Ecole polytechnique fédérale de Lausanne)



                                             Photo : http://en.wikipedia.org/wiki/File:DATAR_trackball.jpg
La souris

    La “minute culturelle”

    L'invention de la souris
    1952 Trackball (boule de commande)
         Tom Cranston et Fred Longstaff
         (Marine Royale Canadienne)
    1963 Souris mécanique
         Douglas Engelbart et Bill English
         (Stanford Research Institute)
    1977 Souris optique
         Jean-Daniel Nicoud et André Guignard
         (Ecole polytechnique fédérale de Lausanne)



                                  Photo : http://cerncourier.com/cws/article/cern/28358/1/cernbooks2_12-00
                                             Plus d'infos sur http://fr.wikipedia.org/wiki/Souris_(informatique)
La souris

    La “minute culturelle”

    L'invention de la souris
    1952 Trackball (boule de commande)
         Tom Cranston et Fred Longstaff
         (Marine Royale Canadienne)
    1963 Souris mécanique
         Douglas Engelbart et Bill English
         (Stanford Research Institute)
    1977 Souris optique
         Jean-Daniel Nicoud et André Guignard
         (Ecole polytechnique fédérale de Lausanne)



                    Image : Jeremykemp, Pbroks13, http://fr.wikipedia.org/wiki/Fichier:Mouse_mechanism_diagram.svg
                            Photo Stéphane Magnenat (User:Nct) http://en.wikipedia.org/wiki/File:SmakyMouseAG.jpeg
Autres périphériques d'entrée

          La “minute xkcd”




          http://xkcd.com/243
          http://xkcd.free.fr?id=243
Autres périphériques d'entrée

    La “minute culturelle”

                                           Données
                                           transmises par
                                           la WiiRemote :
                                           image de
                                           profondeurs




                                http://www.youtube.com/watch?v=0awjPUkBXOU
Autres périphériques d'entrée

    La “minute culturelle”

                                          Données
                                          transmises par
                                          la Kinect :
                                          image de
                                          couleurs +
                                          profondeurs




                                http://www.youtube.com/watch?v=v0G0Cb7Zqjk
Les entrées-sorties

  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier

  Souris à 1 bouton

  Webcam

  Kinect

  Ecran
Les entrées-sorties

  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères

  Souris à 1 bouton

  Webcam

  Kinect

  Ecran
Les entrées-sorties

  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères

  Souris à 1 bouton    deux entiers (abscisse et ordonnée) + un booléen (clic ou pas)

  Webcam

  Kinect

  Ecran
Les entrées-sorties

  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères

  Souris à 1 bouton    deux entiers (abscisse et ordonnée) + un booléen (clic ou pas)

  Webcam               image, donc tableau de tableaux de couleurs RGB

  Kinect

  Ecran
Les entrées-sorties

  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères

  Souris à 1 bouton    deux entiers (abscisse et ordonnée) + un booléen (clic ou pas)

  Webcam               image, donc tableau de tableaux de couleurs RGB

  Kinect               image + tableau de tableaux d'entiers (profondeur)

  Ecran                Si ligne de commande :
Les entrées-sorties

  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères

  Souris à 1 bouton    deux entiers (abscisse et ordonnée) + un booléen (clic ou pas)

  Webcam               image, donc tableau de tableaux de couleurs RGB

  Kinect               image + tableau de tableaux d'entiers (profondeur)

  Ecran                Si ligne de commande :
                       chaîne de caractères

                       Si interface graphique :
Les entrées-sorties

  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères

  Souris à 1 bouton    deux entiers (abscisse et ordonnée) + un booléen (clic ou pas)

  Webcam               image, donc tableau de tableaux de couleurs RGB

  Kinect               image + tableau de tableaux d'entiers (profondeur)

  Ecran                Si ligne de commande :
                       chaîne de caractères

                       Si interface graphique :
                       image, donc tableau de tableaux de couleurs RGB
Les entrées-sorties
                                                                           en pseudo-code
  Entrées-sorties dans la communication ordinateur – utilisateur            (ou en Java dans
                                                                                  DM2.java)
  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères         chaîne de caractères

                       reponseALaQuestion(questionAAfficher)
                       affiche la question questionAAfficher, renvoie une chaîne de
                       caractères.



  Ecran                Si ligne de commande :
                       chaîne de caractères
Les entrées-sorties
                                                                             en pseudo-code
  Entrées-sorties dans la communication ordinateur – utilisateur              (ou en Java dans
                                                                                    DM2.java)
  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères           chaîne de caractères

                       reponseALaQuestion(questionAAfficher)
                       affiche la question questionAAfficher et renvoie une chaîne de
                       caractères.
                       Exemple : reponseALaQuestion(“Quel est votre nom”) me laisse taper
                       mon nom au clavier et renvoie “Gambette”

  Ecran                Si ligne de commande :
                       chaîne de caractères chaîne de caractères

                       Affiche(chaineAAfficher)
                       affiche la chaîne de caractères chaineAAfficher
                       et ne renvoie rien.
Les entrées-sorties
                                                                                 en Java
  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères
                       Scanner lectureClavier = new Scanner(System.in);
                       String stringLu = lectureClavier.next();
                       LectureClavier.next() renvoie une chaîne de caractères.



  Ecran                Si ligne de commande :
                       chaîne de caractères
Les entrées-sorties
                                                                                 en Java
  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères
                       Scanner lectureClavier = new Scanner(System.in);
                       String stringLu = lectureClavier.next();
                       LectureClavier.next() renvoie une chaîne de caractères.
                       int intLu = lectureClavier.nextInt();
                       LectureClavier.nextInt() renvoie un entier.

  Ecran                Si ligne de commande :
                       chaîne de caractères
Les entrées-sorties
                                                                            en pseudo-code
  Entrées-sorties dans la communication ordinateur – utilisateur             (ou en Java dans
                                                                                   DM2.java)
  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères          chaîne de caractères

                       reponseALaQuestion(questionAAfficher)
                       affiche la question questionAAfficher, renvoie une chaîne de
                       caractères.



  Ecran                Si ligne de commande : chaîne de caractères
                       chaîne de caractères
                       Affiche(chaineAAfficher)
                       affiche la chaîne de caractères questionAAfficher, puis
                       retourne à la ligne, mais ne renvoie rien.
Les entrées-sorties
                                                                                 en java
  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères
                       Scanner lectureClavier = new Scanner(System.in);
                       String stringLu = lectureClavier.next();
                       LectureClavier.next() renvoie une chaîne de caractères.
                       int intLu = lectureClavier.nextInt();
                       LectureClavier.nextInt() renvoie un entier.

  Ecran                Si ligne de commande :
                       chaîne de caractères
                       String chaineAAfficher=”blabla”;
                       System.out.println(chaineAAfficher);
                       affiche la chaîne de caractères questionAAfficher, puis
                       retourne à la ligne, mais ne renvoie rien.
Les entrées-sorties
                                                                                  en java
  Entrées-sorties dans la communication ordinateur – utilisateur

  Quel type de données utiliser en algorithmique pour coder les entrées-
  sorties ?


  Périphérique         Type de données transmises

  Clavier              chaîne de caractères
                       Scanner lectureClavier = new Scanner(System.in);
                       String stringLu = lectureClavier.next();
                       LectureClavier.next() renvoie une chaîne de caractères.
                       int intLu = lectureClavier.nextInt();
                       LectureClavier.nextInt() renvoie un entier.

  Ecran                Si ligne de commande :
                       chaîne de caractères
                       String chaineAAfficher=”blabla”;
                       System.out.print(chaineAAfficher);
                       affiche la chaîne de caractères questionAAfficher, et ne
                       renvoie rien.
Plan du cours 5 – Entrées-sorties et fonctions

 • Résumé de l'épisode précédent
 • Les entrées-sorties
 • Les fonctions
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles   sortie
   cosinus         cosinus(1.047)=0.5

   somme

   opposé

   inverse

   différence

   estPositif

   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles                sortie
   cosinus         cosinus(1.047)=0.5

   somme

   opposé                       cosinus(1.047) ≈ cosinus(π/3) = cosinus(60°)
                                                              = x/y
   inverse                                                    = 0.5/1

   différence                                     y
                                                      60°
   estPositif
                                                      x
   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles   sortie
   cosinus         cosinus(1.047)=0.5   flottant            flottant

   somme

   opposé

   inverse

   différence

   estPositif

   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles   sortie
   cosinus         cosinus(1.047)=0.5   flottant            flottant

   somme           somme(2,3)=5         2 entiers           entier

   opposé

   inverse

   différence

   estPositif

   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles                sortie
   cosinus         cosinus(1.047)=0.5   flottant                         flottant

   somme           somme(2,3)=5         2 entiers                        entier

   opposé
                                           Les “nombres à virgule” se notent avec un point
   inverse                                 aux Etats-Unis
                       La virgule sépare les paramètres d'une fonction
   différence

   estPositif

   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles   sortie
   cosinus         cosinus(1.047)=0.5   flottant            flottant
                                        2 entiers           entier
   somme           somme(2,3)=5
                                        2 flottants         flottant
   opposé

   inverse

   différence

   estPositif

   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles   sortie
   cosinus         cosinus(1.047)=0.5   flottant            flottant
                                        2 entiers           entier
   somme           somme(2,3)=5
                                        2 flottants         flottant
   opposé          opposé(4)=-4         entier              entier
                                        flottant            flottant
   inverse

   différence

   estPositif

   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles   sortie
   cosinus         cosinus(1.047)=0.5   flottant            flottant
                                        2 entiers           entier
   somme           somme(2,3)=5
                                        2 flottants         flottant
   opposé          opposé(4)=-4         entier              entier
                                        flottant            flottant
   inverse         inverse(10)=0.1      flottant            flottant

   différence

   estPositif

   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles   sortie
   cosinus         cosinus(1.047)=0.5   flottant            flottant
                                        2 entiers           entier
   somme           somme(2,3)=5
                                        2 flottants         flottant
   opposé          opposé(4)=-4         entier              entier
                                        flottant            flottant
   inverse         inverse(10)=0.1      flottant            flottant
                                        2 entiers           entier
   différence      différence(2,3)=-1
                                        2 flottants         flottant
   estPositif

   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction        exemple               entrées possibles   sortie
   cosinus         cosinus(1.047)=0.5    flottant            flottant
                                         2 entiers           entier
   somme           somme(2,3)=5
                                         2 flottants         flottant
   opposé          opposé(4)=-4          entier              entier
                                         flottant            flottant
   inverse         inverse(10)=0.1       flottant            flottant
                                         2 entiers           entier
   différence      différence(2,3)=-1
                                         2 flottants         flottant
   estPositif      estPositif(-5)=FAUX   entier              booléen

   partieEntière

   moyenne

   min
Les fonctions

   La “minute mathématique”
   fonction      exemple               entrées possibles   sortie
   cosinus       cosinus(1.047)=0.5    flottant            flottant
                                       2 entiers           entier
   somme         somme(2,3)=5
                                       2 flottants         flottant
   opposé        opposé(4)=-4          entier              entier
                                       flottant            flottant
   inverse       inverse(10)=0.1       flottant            flottant
                                       2 entiers           entier
   différence    différence(2,3)=-1
                                       2 flottants         flottant
   estPositif    estPositif(-5)=FAUX   entier              booléen

   partieEntière partieEntière(5.6)=5 flottant             entier

   moyenne                   PartieEntière(10)= 10 =10

   min                       PartieEntière(5.6)= 5.2 =5
Les fonctions

   La “minute mathématique”
   fonction      exemple               entrées possibles   sortie
   cosinus       cosinus(1.047)=0.5    flottant            flottant
                                       2 entiers           entier
   somme         somme(2,3)=5
                                       2 flottants         flottant
   opposé        opposé(4)=-4          entier              entier
                                       flottant            flottant
   inverse       inverse(10)=0.1       flottant            flottant
                                       2 entiers           entier
   différence    différence(2,3)=-1
                                       2 flottants         flottant
   estPositif    estPositif(-5)=FAUX   entier              booléen

   partieEntière partieEntière(5.6)=5 flottant             entier

   moyenne       moyenne(2,4,6)=4      3 flottants         flottant

   min
Les fonctions

   La “minute mathématique”
   fonction      exemple               entrées possibles      sortie
   cosinus       cosinus(1.047)=0.5    flottant               flottant
                                       2 entiers              entier
   somme         somme(2,3)=5
                                       2 flottants            flottant
   opposé        opposé(4)=-4          entier                 entier
                                       flottant               flottant
   inverse       inverse(10)=0.1       flottant               flottant
                                       2 entiers              entier
   différence    différence(2,3)=-1
                                       2 flottants            flottant
   estPositif    estPositif(-5)=FAUX   entier                 booléen

   partieEntière partieEntière(5.6)=5 flottant                entier

   moyenne       moyenne(2,4,6)=4      3 flottants            flottant
                                       tableau d'entiers      entier
   min           min({6,2,4,3})=2      tableau de flottants   flottant
Les fonctions

   La “minute mathématique”
   fonction         exemple             entrées possibles   sortie
   somme           somme(2,3)=5         flottant            flottant
                                        entier              entier
   opposé          opposé(4)=-4         flottant            flottant
                                        2 entiers           entier
   différence      différence(2,3)=-1
                                        2 flottants         flottant

                Fonction différence
                Entrées : 2 entiers a et b
                Sortie : entier
                Début
                    Renvoyer ...
                Fin
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles   sortie
   somme           somme(2,3)=5         flottant            flottant
                                        entier              entier
   opposé          opposé(4)=-4         flottant            flottant
                                        2 entiers           entier
   différence      différence(2,3)=-1
                                        2 flottants         flottant

                Fonction différence
                Entrées : 2 entiers a et b
                Sortie : entier
                Début
                    Renvoyer somme(a,opposé(b))
                Fin
Les fonctions

   La “minute mathématique”
   fonction        exemple              entrées possibles   sortie
   somme           somme(2,3)=5         flottant            flottant
                                        entier              entier
   opposé          opposé(4)=-4         flottant            flottant
                                        2 entiers           entier
   différence      différence(2,3)=-1
                                        2 flottants         flottant

                Fonction différence
                Entrées : 2 flottants a et b
                Sortie : flottant
                Début
                    Renvoyer somme(a,opposé(b))
                Fin
Les fonctions

 Les fonctions = les algorithmes

 Un ou plusieurs paramètres en entrée...


 Une sortie...
Les fonctions

 Les fonctions = les algorithmes

 Un ou plusieurs paramètres en entrée...
 ou aucun paramètre en entrée : fonction Tournoi.

 Une sortie...
 ou aucune sortie : fonction Tournoi
Les fonctions

 Les fonctions = les algorithmes

 Un ou plusieurs paramètres en entrée...
 ou aucun paramètre en entrée : fonction Tournoi.

 Une sortie...
 ou aucune sortie : fonction Tournoi
Les fonctions

 Les fonctions = les algorithmes

 Un ou plusieurs paramètres en entrée...
 ou aucun paramètre en entrée : fonction Tournoi.

 Une sortie...
 ou aucune sortie : fonction Tournoi




                                                    Matchs à faire jouer :
                                                    1-2 1-3 1-4 2-3 2-4 3-4
Les fonctions

 Les fonctions = les algorithmes

 Un ou plusieurs paramètres en entrée...
 ou aucun paramètre en entrée : fonction Tournoi.

 Une sortie...
 ou aucune sortie : fonction Tournoi                Trace :
                                                    Equipe1 1 1 1 2 2 3 4
                                                    Equipe2 2 3 4 3 4 4 5




                                                     Matchs à faire jouer :
                                                     1-2 1-3 1-4 2-3 2-4 3-4
Les fonctions en Java

 Toujours une fonction main() qui ne renvoie rien

 Déclaration des fonctions après la fonction main()
Les fonctions en Java

 Toujours une fonction main() qui ne renvoie rien
 et qui prend en entrée les paramètres du programme

 Déclaration des fonctions après la fonction main()

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }
    public static int inc(int i){
       i=i+1;
       return i;
    }
    public static int addition(int i, int j){
       return i+j;
    }
 }
Les fonctions en Java

 Toujours une fonction main() qui ne renvoie rien
 et qui prend en entrée les paramètres du programme

 Déclaration des fonctions après la fonction main()

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;                  En ligne de commande :
                              java TP1 toto 1 10.5
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }                         Le tableau arg est alors :
                              {”toto”,”1”,”10.5”}
    public static int inc(int i){
       i=i+1;
       return i;
    }
    public static int addition(int i, int j){
       return i+j;
    }
 }
Les fonctions en Java

 Toujours une fonction main() qui ne renvoie rien
 et qui prend en entrée les paramètres du programme

 Déclaration des fonctions après la fonction main()

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }
    public static int inc(int i){
       i=i+1;
       return i;
    }
    public static int addition(int i, int j){
       return i+j;
    }
 }
Les fonctions en Java

 Toujours une fonction main() qui ne renvoie rien
 et qui prend en entrée les paramètres du programme

 Déclaration des fonctions après la fonction main()

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }
    public static int inc(int i){
       i=i+1;
       return i;        type de variable renvoyée par la fonction
    }
    public static int addition(int i, int j){
       return i+j;
    }
 }
Les fonctions en Java

 Toujours une fonction main() qui ne renvoie rien
 et qui prend en entrée les paramètres du programme

 Déclaration des fonctions après la fonction main()

 public class TP1{
    public static void main(String[] arg){
       int i,j;                        entrées du programme
       i=5;                            précédées de leur type
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }
    public static int inc(int i){
       i=i+1;
       return i;        type de variable renvoyée par la fonction
    }
    public static int addition(int i, int j){
       return i+j;
    }
 }
Les fonctions en Java

 Toujours une fonction main() qui ne renvoie rien
 et qui prend en entrée les paramètres du programme

 Déclaration des fonctions après la fonction main()

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }                            appel de la fonction addition
    public static int inc(int i){
       i=i+1;
       return i;
    }
    public static int addition(int i, int j){
       return i+j;
    }
 }
Les fonctions en Java

 Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction
 n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs.

 Variables locales

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }
    public static int inc(int i){
       i=i+1;
       return i;
    }
    public static int addition(int i, int j){
       return i+j;
    }
 }
Les fonctions en Java

 Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction
 n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs.

 Variables locales

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }
    public static int inc(int i){
       i=i+1;                        pas la même variable i
       return i;                     même si elles ont la
    }                                même valeur !
    public static int addition(int i, int j){
       return i+j;
    }
 }
Les fonctions en Java

 Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction
 n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs.

 Variables locales

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }
    public static int inc(int i){
       i=i+1;
       return i;
    }
    public static int addition(int i, int j){
       return i+j;
    }
 }
         définition de la fonction addition
Les fonctions en Java

 Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction
 n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs.

 Variables locales

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }
    public static int inc(int i){
       i=i+1;
       return i;
    }                 déclaration de la fonction addition
    public static int addition(int i, int j){
       return i+j;
    }
 }
         définition de la fonction addition
Les fonctions en Java

 Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction
 n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs.

 Variables locales

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }
    public static int inc(int i){
       i=i+1;
       return i;
    }                 déclaration de la fonction addition
    public static int addition(int i, int j){
       return i+j; renvoi du résultat en sortie
    }
 }
         définition de la fonction addition
Les fonctions en Java

 Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction
 n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs.

 Variables locales

 public class TP1{
    public static void main(String[] arg){
       int i,j;
       i=5;
       j=34;
       System.out.print("i+1="+inc(i)+",i="+i+",
       j="+j+", somme : "+addition(i,j));
    }                           appel de la fonction addition
    public static int inc(int i){
       i=i+1;
       return i;
    }                 déclaration de la fonction addition
    public static int addition(int i, int j){
       return i+j; renvoi du résultat en sortie
    }
 }
         définition de la fonction addition
Séance d'exercices d'entraînement

 Une autre avant l'exam en janvier

 Possibilité d'envoyer l'exercice supplémentaire par mail

 Possibilité d'envoyer ou demander tout autre exercice par mail

Mais conteúdo relacionado

Mais procurados

Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en JavaAziz Darouichi
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
Slides octave1
Slides octave1Slides octave1
Slides octave1issaslide
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaAziz Darouichi
 
Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Emeric Tapachès
 
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcoursedu
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Aziz Darouichi
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 

Mais procurados (20)

Les algorithmes de tri
Les algorithmes de triLes algorithmes de tri
Les algorithmes de tri
 
Algo tri
Algo triAlgo tri
Algo tri
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
langage C++
langage C++langage C++
langage C++
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
 
Formation python
Formation pythonFormation python
Formation python
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
Slides octave1
Slides octave1Slides octave1
Slides octave1
 
Part1
Part1Part1
Part1
 
Tp introduction java
Tp introduction javaTp introduction java
Tp introduction java
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en Java
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
 
Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2
 
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 

Destaque

INF120 - Algo DUT SRC1 - Cours 1 (2012)
INF120 - Algo DUT SRC1 - Cours 1 (2012)INF120 - Algo DUT SRC1 - Cours 1 (2012)
INF120 - Algo DUT SRC1 - Cours 1 (2012)PGambette
 
INF120 - Algo DUT SRC1 - Cours 4
INF120 - Algo DUT SRC1 - Cours 4INF120 - Algo DUT SRC1 - Cours 4
INF120 - Algo DUT SRC1 - Cours 4PGambette
 
INF120 - Algo DUT SRC1 - Cours 3 (2012)
INF120 - Algo DUT SRC1 - Cours 3 (2012)INF120 - Algo DUT SRC1 - Cours 3 (2012)
INF120 - Algo DUT SRC1 - Cours 3 (2012)PGambette
 
INF120 - Algo DUT SRC1 - Cours 4 (2012)
INF120 - Algo DUT SRC1 - Cours 4 (2012)INF120 - Algo DUT SRC1 - Cours 4 (2012)
INF120 - Algo DUT SRC1 - Cours 4 (2012)PGambette
 
INF220 - Algo DUT SRC1 - Cours 1 - 2013
INF220 - Algo DUT SRC1 - Cours 1 - 2013INF220 - Algo DUT SRC1 - Cours 1 - 2013
INF220 - Algo DUT SRC1 - Cours 1 - 2013PGambette
 
Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)PGambette
 
INF120 - Algo DUT SRC1 - Cours 1
INF120 - Algo DUT SRC1 - Cours 1INF120 - Algo DUT SRC1 - Cours 1
INF120 - Algo DUT SRC1 - Cours 1PGambette
 
INF220 - Algo DUT SRC1 - Cours 1
INF220 - Algo DUT SRC1 - Cours 1INF220 - Algo DUT SRC1 - Cours 1
INF220 - Algo DUT SRC1 - Cours 1PGambette
 
INF240 - Bases de données DUT SRC1 - Cours 2
INF240 - Bases de données DUT SRC1 - Cours 2INF240 - Bases de données DUT SRC1 - Cours 2
INF240 - Bases de données DUT SRC1 - Cours 2PGambette
 
INF240 - Bases de données DUT SRC1 - Cours 1
INF240 - Bases de données DUT SRC1 - Cours 1INF240 - Bases de données DUT SRC1 - Cours 1
INF240 - Bases de données DUT SRC1 - Cours 1PGambette
 
INF220 - Algo DUT SRC1 - Cours 2
INF220 - Algo DUT SRC1 - Cours 2INF220 - Algo DUT SRC1 - Cours 2
INF220 - Algo DUT SRC1 - Cours 2PGambette
 
M1202 Algorithmique & programmation Java - Cours 1 2013
M1202 Algorithmique & programmation Java - Cours 1 2013M1202 Algorithmique & programmation Java - Cours 1 2013
M1202 Algorithmique & programmation Java - Cours 1 2013PGambette
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3PGambette
 

Destaque (20)

INF120 - Algo DUT SRC1 - Cours 1 (2012)
INF120 - Algo DUT SRC1 - Cours 1 (2012)INF120 - Algo DUT SRC1 - Cours 1 (2012)
INF120 - Algo DUT SRC1 - Cours 1 (2012)
 
INF120 - Algo DUT SRC1 - Cours 4
INF120 - Algo DUT SRC1 - Cours 4INF120 - Algo DUT SRC1 - Cours 4
INF120 - Algo DUT SRC1 - Cours 4
 
INF120 - Algo DUT SRC1 - Cours 3 (2012)
INF120 - Algo DUT SRC1 - Cours 3 (2012)INF120 - Algo DUT SRC1 - Cours 3 (2012)
INF120 - Algo DUT SRC1 - Cours 3 (2012)
 
INF120 - Algo DUT SRC1 - Cours 4 (2012)
INF120 - Algo DUT SRC1 - Cours 4 (2012)INF120 - Algo DUT SRC1 - Cours 4 (2012)
INF120 - Algo DUT SRC1 - Cours 4 (2012)
 
INF220 - Algo DUT SRC1 - Cours 1 - 2013
INF220 - Algo DUT SRC1 - Cours 1 - 2013INF220 - Algo DUT SRC1 - Cours 1 - 2013
INF220 - Algo DUT SRC1 - Cours 1 - 2013
 
Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)
 
INF120 - Algo DUT SRC1 - Cours 1
INF120 - Algo DUT SRC1 - Cours 1INF120 - Algo DUT SRC1 - Cours 1
INF120 - Algo DUT SRC1 - Cours 1
 
INF220 - Algo DUT SRC1 - Cours 1
INF220 - Algo DUT SRC1 - Cours 1INF220 - Algo DUT SRC1 - Cours 1
INF220 - Algo DUT SRC1 - Cours 1
 
INF240 - Bases de données DUT SRC1 - Cours 2
INF240 - Bases de données DUT SRC1 - Cours 2INF240 - Bases de données DUT SRC1 - Cours 2
INF240 - Bases de données DUT SRC1 - Cours 2
 
INF240 - Bases de données DUT SRC1 - Cours 1
INF240 - Bases de données DUT SRC1 - Cours 1INF240 - Bases de données DUT SRC1 - Cours 1
INF240 - Bases de données DUT SRC1 - Cours 1
 
INF220 - Algo DUT SRC1 - Cours 2
INF220 - Algo DUT SRC1 - Cours 2INF220 - Algo DUT SRC1 - Cours 2
INF220 - Algo DUT SRC1 - Cours 2
 
M1202 Algorithmique & programmation Java - Cours 1 2013
M1202 Algorithmique & programmation Java - Cours 1 2013M1202 Algorithmique & programmation Java - Cours 1 2013
M1202 Algorithmique & programmation Java - Cours 1 2013
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3
 
pjuin2005
pjuin2005pjuin2005
pjuin2005
 
Tunisia_En
Tunisia_EnTunisia_En
Tunisia_En
 
juin2005
juin2005juin2005
juin2005
 
mars2005_SIG
mars2005_SIGmars2005_SIG
mars2005_SIG
 
mars2005_BD
mars2005_BDmars2005_BD
mars2005_BD
 
fev2004rgph2004
fev2004rgph2004fev2004rgph2004
fev2004rgph2004
 
Oct2004presentSIG
Oct2004presentSIGOct2004presentSIG
Oct2004presentSIG
 

Semelhante a INF120 - Algo DUT SRC1 - Cours 5

1-Architecure des ordinateurs --2022.pdf
1-Architecure des ordinateurs --2022.pdf1-Architecure des ordinateurs --2022.pdf
1-Architecure des ordinateurs --2022.pdfazatourirabya2017
 
Exploiter un poste informatique1
Exploiter un poste informatique1Exploiter un poste informatique1
Exploiter un poste informatique1fangaucatic
 
.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotiqueMicrosoft
 
Présentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODPrésentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODwebmasterref68
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)salmazen
 
Bill redirect manual_fr
Bill redirect manual_frBill redirect manual_fr
Bill redirect manual_frtopomax
 
Initiation ordinateur
Initiation ordinateurInitiation ordinateur
Initiation ordinateurcamelia55
 
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...FootballLovers9
 
L'intelligence artificielle appliquée aux Archives : LectAuRep (Lecture autom...
L'intelligence artificielle appliquée aux Archives : LectAuRep (Lecture autom...L'intelligence artificielle appliquée aux Archives : LectAuRep (Lecture autom...
L'intelligence artificielle appliquée aux Archives : LectAuRep (Lecture autom...Aurélia Rostaing
 
Introduction&composants
Introduction&composantsIntroduction&composants
Introduction&composantsAnissa Teyeb
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
Materiel informatique 2011
Materiel informatique 2011Materiel informatique 2011
Materiel informatique 2011Jouhadi mehdi
 
Développement avec Java Micro Edition
Développement avec Java Micro EditionDéveloppement avec Java Micro Edition
Développement avec Java Micro EditionSylvain Wallez
 
Jabes 2015 - Poster SCD Université Nantes : "Une suite d'outils pour l'exempl...
Jabes 2015 - Poster SCD Université Nantes : "Une suite d'outils pour l'exempl...Jabes 2015 - Poster SCD Université Nantes : "Une suite d'outils pour l'exempl...
Jabes 2015 - Poster SCD Université Nantes : "Une suite d'outils pour l'exempl...ABES
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...Pôle Systematic Paris-Region
 
informatique .pdf
informatique .pdfinformatique .pdf
informatique .pdfkeepsafe2
 

Semelhante a INF120 - Algo DUT SRC1 - Cours 5 (20)

1-Architecure des ordinateurs --2022.pdf
1-Architecure des ordinateurs --2022.pdf1-Architecure des ordinateurs --2022.pdf
1-Architecure des ordinateurs --2022.pdf
 
Exploiter un poste informatique1
Exploiter un poste informatique1Exploiter un poste informatique1
Exploiter un poste informatique1
 
.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique
 
Présentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODPrésentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HOD
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)
 
Bill redirect manual_fr
Bill redirect manual_frBill redirect manual_fr
Bill redirect manual_fr
 
Initiation ordinateur
Initiation ordinateurInitiation ordinateur
Initiation ordinateur
 
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
 
L'intelligence artificielle appliquée aux Archives : LectAuRep (Lecture autom...
L'intelligence artificielle appliquée aux Archives : LectAuRep (Lecture autom...L'intelligence artificielle appliquée aux Archives : LectAuRep (Lecture autom...
L'intelligence artificielle appliquée aux Archives : LectAuRep (Lecture autom...
 
Cours algo1 (1)
Cours algo1 (1)Cours algo1 (1)
Cours algo1 (1)
 
Cours algo1
Cours algo1Cours algo1
Cours algo1
 
Introduction&composants
Introduction&composantsIntroduction&composants
Introduction&composants
 
Formation python
Formation pythonFormation python
Formation python
 
Materiel informatique 2011
Materiel informatique 2011Materiel informatique 2011
Materiel informatique 2011
 
Cours 1 -_bases_d_informatique
Cours 1 -_bases_d_informatiqueCours 1 -_bases_d_informatique
Cours 1 -_bases_d_informatique
 
Développement avec Java Micro Edition
Développement avec Java Micro EditionDéveloppement avec Java Micro Edition
Développement avec Java Micro Edition
 
Jabes 2015 - Poster SCD Université Nantes : "Une suite d'outils pour l'exempl...
Jabes 2015 - Poster SCD Université Nantes : "Une suite d'outils pour l'exempl...Jabes 2015 - Poster SCD Université Nantes : "Une suite d'outils pour l'exempl...
Jabes 2015 - Poster SCD Université Nantes : "Une suite d'outils pour l'exempl...
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
 
informatique .pdf
informatique .pdfinformatique .pdf
informatique .pdf
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 

Último

gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 

Último (16)

gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 

INF120 - Algo DUT SRC1 - Cours 5

  • 1. DUT SRC – IUT de Marne-la-Vallée 02/12/2011 INF120 - Algorithmique Cours 5 Entrées-sorties et fonctions Philippe Gambette
  • 2. Sources • Le livre de Java premier langage, d'A. Tasso • Cours INF120 de J.-G. Luque • Cours de J. Henriet : http://julienhenriet.olympe-network.com/Algo.html
  • 3. Plan du cours 5 – Entrées-sorties et fonctions • Résumé de l'épisode précédent • Les entrées-sorties • Les fonctions
  • 4. Plan du cours 5 – Entrées-sorties et fonctions • Résumé de l'épisode précédent • Les entrées-sorties • Les fonctions
  • 5. Résumé de l'épisode précédent Tableaux : - pour stocker un ensemble de valeurs de même type - une valeur par case - nombre de cases fixé à l'initialisation du tableau - boucle pour parcourir le tableau Boucles : - boucle Tant que et boucle Pour tout - attention à l'initialisation et la condition d'arrêt (premier et dernier passage dans la boucle)
  • 6. Plan du cours 5 – Entrées-sorties et fonctions • Résumé de l'épisode précédent • Les entrées-sorties • Les fonctions
  • 7. Les entrées-sorties Entrées-sorties dans la communication ordinateur – utilisateur : - périphériques de saisie d'entrées : clavier, souris, joystick, webcam, Wii remote, Kinect... - périphérique d'affichage des sorties : écran, vidéo-projecteur, imprimante... Différent des variables d'entrée / variable de sortie dans la “communication entre algorithmes”.
  • 8. La souris La “minute culturelle” L'invention de la souris 1952 Trackball (boule de commande) Tom Cranston et Fred Longstaff (Marine Royale Canadienne) 1963 Souris mécanique Douglas Engelbart et Bill English (Stanford Research Institute) 1977 Souris optique Jean-Daniel Nicoud et André Guignard (Ecole polytechnique fédérale de Lausanne) Photo : http://en.wikipedia.org/wiki/File:DATAR_trackball.jpg
  • 9. La souris La “minute culturelle” L'invention de la souris 1952 Trackball (boule de commande) Tom Cranston et Fred Longstaff (Marine Royale Canadienne) 1963 Souris mécanique Douglas Engelbart et Bill English (Stanford Research Institute) 1977 Souris optique Jean-Daniel Nicoud et André Guignard (Ecole polytechnique fédérale de Lausanne) Photo : http://cerncourier.com/cws/article/cern/28358/1/cernbooks2_12-00 Plus d'infos sur http://fr.wikipedia.org/wiki/Souris_(informatique)
  • 10. La souris La “minute culturelle” L'invention de la souris 1952 Trackball (boule de commande) Tom Cranston et Fred Longstaff (Marine Royale Canadienne) 1963 Souris mécanique Douglas Engelbart et Bill English (Stanford Research Institute) 1977 Souris optique Jean-Daniel Nicoud et André Guignard (Ecole polytechnique fédérale de Lausanne) Image : Jeremykemp, Pbroks13, http://fr.wikipedia.org/wiki/Fichier:Mouse_mechanism_diagram.svg Photo Stéphane Magnenat (User:Nct) http://en.wikipedia.org/wiki/File:SmakyMouseAG.jpeg
  • 11. Autres périphériques d'entrée La “minute xkcd” http://xkcd.com/243 http://xkcd.free.fr?id=243
  • 12. Autres périphériques d'entrée La “minute culturelle” Données transmises par la WiiRemote : image de profondeurs http://www.youtube.com/watch?v=0awjPUkBXOU
  • 13. Autres périphériques d'entrée La “minute culturelle” Données transmises par la Kinect : image de couleurs + profondeurs http://www.youtube.com/watch?v=v0G0Cb7Zqjk
  • 14. Les entrées-sorties Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier Souris à 1 bouton Webcam Kinect Ecran
  • 15. Les entrées-sorties Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Souris à 1 bouton Webcam Kinect Ecran
  • 16. Les entrées-sorties Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Souris à 1 bouton deux entiers (abscisse et ordonnée) + un booléen (clic ou pas) Webcam Kinect Ecran
  • 17. Les entrées-sorties Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Souris à 1 bouton deux entiers (abscisse et ordonnée) + un booléen (clic ou pas) Webcam image, donc tableau de tableaux de couleurs RGB Kinect Ecran
  • 18. Les entrées-sorties Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Souris à 1 bouton deux entiers (abscisse et ordonnée) + un booléen (clic ou pas) Webcam image, donc tableau de tableaux de couleurs RGB Kinect image + tableau de tableaux d'entiers (profondeur) Ecran Si ligne de commande :
  • 19. Les entrées-sorties Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Souris à 1 bouton deux entiers (abscisse et ordonnée) + un booléen (clic ou pas) Webcam image, donc tableau de tableaux de couleurs RGB Kinect image + tableau de tableaux d'entiers (profondeur) Ecran Si ligne de commande : chaîne de caractères Si interface graphique :
  • 20. Les entrées-sorties Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Souris à 1 bouton deux entiers (abscisse et ordonnée) + un booléen (clic ou pas) Webcam image, donc tableau de tableaux de couleurs RGB Kinect image + tableau de tableaux d'entiers (profondeur) Ecran Si ligne de commande : chaîne de caractères Si interface graphique : image, donc tableau de tableaux de couleurs RGB
  • 21. Les entrées-sorties en pseudo-code Entrées-sorties dans la communication ordinateur – utilisateur (ou en Java dans DM2.java) Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères chaîne de caractères reponseALaQuestion(questionAAfficher) affiche la question questionAAfficher, renvoie une chaîne de caractères. Ecran Si ligne de commande : chaîne de caractères
  • 22. Les entrées-sorties en pseudo-code Entrées-sorties dans la communication ordinateur – utilisateur (ou en Java dans DM2.java) Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères chaîne de caractères reponseALaQuestion(questionAAfficher) affiche la question questionAAfficher et renvoie une chaîne de caractères. Exemple : reponseALaQuestion(“Quel est votre nom”) me laisse taper mon nom au clavier et renvoie “Gambette” Ecran Si ligne de commande : chaîne de caractères chaîne de caractères Affiche(chaineAAfficher) affiche la chaîne de caractères chaineAAfficher et ne renvoie rien.
  • 23. Les entrées-sorties en Java Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Scanner lectureClavier = new Scanner(System.in); String stringLu = lectureClavier.next(); LectureClavier.next() renvoie une chaîne de caractères. Ecran Si ligne de commande : chaîne de caractères
  • 24. Les entrées-sorties en Java Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Scanner lectureClavier = new Scanner(System.in); String stringLu = lectureClavier.next(); LectureClavier.next() renvoie une chaîne de caractères. int intLu = lectureClavier.nextInt(); LectureClavier.nextInt() renvoie un entier. Ecran Si ligne de commande : chaîne de caractères
  • 25. Les entrées-sorties en pseudo-code Entrées-sorties dans la communication ordinateur – utilisateur (ou en Java dans DM2.java) Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères chaîne de caractères reponseALaQuestion(questionAAfficher) affiche la question questionAAfficher, renvoie une chaîne de caractères. Ecran Si ligne de commande : chaîne de caractères chaîne de caractères Affiche(chaineAAfficher) affiche la chaîne de caractères questionAAfficher, puis retourne à la ligne, mais ne renvoie rien.
  • 26. Les entrées-sorties en java Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Scanner lectureClavier = new Scanner(System.in); String stringLu = lectureClavier.next(); LectureClavier.next() renvoie une chaîne de caractères. int intLu = lectureClavier.nextInt(); LectureClavier.nextInt() renvoie un entier. Ecran Si ligne de commande : chaîne de caractères String chaineAAfficher=”blabla”; System.out.println(chaineAAfficher); affiche la chaîne de caractères questionAAfficher, puis retourne à la ligne, mais ne renvoie rien.
  • 27. Les entrées-sorties en java Entrées-sorties dans la communication ordinateur – utilisateur Quel type de données utiliser en algorithmique pour coder les entrées- sorties ? Périphérique Type de données transmises Clavier chaîne de caractères Scanner lectureClavier = new Scanner(System.in); String stringLu = lectureClavier.next(); LectureClavier.next() renvoie une chaîne de caractères. int intLu = lectureClavier.nextInt(); LectureClavier.nextInt() renvoie un entier. Ecran Si ligne de commande : chaîne de caractères String chaineAAfficher=”blabla”; System.out.print(chaineAAfficher); affiche la chaîne de caractères questionAAfficher, et ne renvoie rien.
  • 28. Plan du cours 5 – Entrées-sorties et fonctions • Résumé de l'épisode précédent • Les entrées-sorties • Les fonctions
  • 29. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 somme opposé inverse différence estPositif partieEntière moyenne min
  • 30. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 somme opposé cosinus(1.047) ≈ cosinus(π/3) = cosinus(60°) = x/y inverse = 0.5/1 différence y 60° estPositif x partieEntière moyenne min
  • 31. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant somme opposé inverse différence estPositif partieEntière moyenne min
  • 32. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant somme somme(2,3)=5 2 entiers entier opposé inverse différence estPositif partieEntière moyenne min
  • 33. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant somme somme(2,3)=5 2 entiers entier opposé Les “nombres à virgule” se notent avec un point inverse aux Etats-Unis La virgule sépare les paramètres d'une fonction différence estPositif partieEntière moyenne min
  • 34. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant 2 entiers entier somme somme(2,3)=5 2 flottants flottant opposé inverse différence estPositif partieEntière moyenne min
  • 35. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant 2 entiers entier somme somme(2,3)=5 2 flottants flottant opposé opposé(4)=-4 entier entier flottant flottant inverse différence estPositif partieEntière moyenne min
  • 36. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant 2 entiers entier somme somme(2,3)=5 2 flottants flottant opposé opposé(4)=-4 entier entier flottant flottant inverse inverse(10)=0.1 flottant flottant différence estPositif partieEntière moyenne min
  • 37. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant 2 entiers entier somme somme(2,3)=5 2 flottants flottant opposé opposé(4)=-4 entier entier flottant flottant inverse inverse(10)=0.1 flottant flottant 2 entiers entier différence différence(2,3)=-1 2 flottants flottant estPositif partieEntière moyenne min
  • 38. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant 2 entiers entier somme somme(2,3)=5 2 flottants flottant opposé opposé(4)=-4 entier entier flottant flottant inverse inverse(10)=0.1 flottant flottant 2 entiers entier différence différence(2,3)=-1 2 flottants flottant estPositif estPositif(-5)=FAUX entier booléen partieEntière moyenne min
  • 39. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant 2 entiers entier somme somme(2,3)=5 2 flottants flottant opposé opposé(4)=-4 entier entier flottant flottant inverse inverse(10)=0.1 flottant flottant 2 entiers entier différence différence(2,3)=-1 2 flottants flottant estPositif estPositif(-5)=FAUX entier booléen partieEntière partieEntière(5.6)=5 flottant entier moyenne PartieEntière(10)= 10 =10 min PartieEntière(5.6)= 5.2 =5
  • 40. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant 2 entiers entier somme somme(2,3)=5 2 flottants flottant opposé opposé(4)=-4 entier entier flottant flottant inverse inverse(10)=0.1 flottant flottant 2 entiers entier différence différence(2,3)=-1 2 flottants flottant estPositif estPositif(-5)=FAUX entier booléen partieEntière partieEntière(5.6)=5 flottant entier moyenne moyenne(2,4,6)=4 3 flottants flottant min
  • 41. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie cosinus cosinus(1.047)=0.5 flottant flottant 2 entiers entier somme somme(2,3)=5 2 flottants flottant opposé opposé(4)=-4 entier entier flottant flottant inverse inverse(10)=0.1 flottant flottant 2 entiers entier différence différence(2,3)=-1 2 flottants flottant estPositif estPositif(-5)=FAUX entier booléen partieEntière partieEntière(5.6)=5 flottant entier moyenne moyenne(2,4,6)=4 3 flottants flottant tableau d'entiers entier min min({6,2,4,3})=2 tableau de flottants flottant
  • 42. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie somme somme(2,3)=5 flottant flottant entier entier opposé opposé(4)=-4 flottant flottant 2 entiers entier différence différence(2,3)=-1 2 flottants flottant Fonction différence Entrées : 2 entiers a et b Sortie : entier Début Renvoyer ... Fin
  • 43. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie somme somme(2,3)=5 flottant flottant entier entier opposé opposé(4)=-4 flottant flottant 2 entiers entier différence différence(2,3)=-1 2 flottants flottant Fonction différence Entrées : 2 entiers a et b Sortie : entier Début Renvoyer somme(a,opposé(b)) Fin
  • 44. Les fonctions La “minute mathématique” fonction exemple entrées possibles sortie somme somme(2,3)=5 flottant flottant entier entier opposé opposé(4)=-4 flottant flottant 2 entiers entier différence différence(2,3)=-1 2 flottants flottant Fonction différence Entrées : 2 flottants a et b Sortie : flottant Début Renvoyer somme(a,opposé(b)) Fin
  • 45. Les fonctions Les fonctions = les algorithmes Un ou plusieurs paramètres en entrée... Une sortie...
  • 46. Les fonctions Les fonctions = les algorithmes Un ou plusieurs paramètres en entrée... ou aucun paramètre en entrée : fonction Tournoi. Une sortie... ou aucune sortie : fonction Tournoi
  • 47. Les fonctions Les fonctions = les algorithmes Un ou plusieurs paramètres en entrée... ou aucun paramètre en entrée : fonction Tournoi. Une sortie... ou aucune sortie : fonction Tournoi
  • 48. Les fonctions Les fonctions = les algorithmes Un ou plusieurs paramètres en entrée... ou aucun paramètre en entrée : fonction Tournoi. Une sortie... ou aucune sortie : fonction Tournoi Matchs à faire jouer : 1-2 1-3 1-4 2-3 2-4 3-4
  • 49. Les fonctions Les fonctions = les algorithmes Un ou plusieurs paramètres en entrée... ou aucun paramètre en entrée : fonction Tournoi. Une sortie... ou aucune sortie : fonction Tournoi Trace : Equipe1 1 1 1 2 2 3 4 Equipe2 2 3 4 3 4 4 5 Matchs à faire jouer : 1-2 1-3 1-4 2-3 2-4 3-4
  • 50. Les fonctions en Java Toujours une fonction main() qui ne renvoie rien Déclaration des fonctions après la fonction main()
  • 51. Les fonctions en Java Toujours une fonction main() qui ne renvoie rien et qui prend en entrée les paramètres du programme Déclaration des fonctions après la fonction main() public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } public static int inc(int i){ i=i+1; return i; } public static int addition(int i, int j){ return i+j; } }
  • 52. Les fonctions en Java Toujours une fonction main() qui ne renvoie rien et qui prend en entrée les paramètres du programme Déclaration des fonctions après la fonction main() public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; En ligne de commande : java TP1 toto 1 10.5 System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } Le tableau arg est alors : {”toto”,”1”,”10.5”} public static int inc(int i){ i=i+1; return i; } public static int addition(int i, int j){ return i+j; } }
  • 53. Les fonctions en Java Toujours une fonction main() qui ne renvoie rien et qui prend en entrée les paramètres du programme Déclaration des fonctions après la fonction main() public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } public static int inc(int i){ i=i+1; return i; } public static int addition(int i, int j){ return i+j; } }
  • 54. Les fonctions en Java Toujours une fonction main() qui ne renvoie rien et qui prend en entrée les paramètres du programme Déclaration des fonctions après la fonction main() public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } public static int inc(int i){ i=i+1; return i; type de variable renvoyée par la fonction } public static int addition(int i, int j){ return i+j; } }
  • 55. Les fonctions en Java Toujours une fonction main() qui ne renvoie rien et qui prend en entrée les paramètres du programme Déclaration des fonctions après la fonction main() public class TP1{ public static void main(String[] arg){ int i,j; entrées du programme i=5; précédées de leur type j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } public static int inc(int i){ i=i+1; return i; type de variable renvoyée par la fonction } public static int addition(int i, int j){ return i+j; } }
  • 56. Les fonctions en Java Toujours une fonction main() qui ne renvoie rien et qui prend en entrée les paramètres du programme Déclaration des fonctions après la fonction main() public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } appel de la fonction addition public static int inc(int i){ i=i+1; return i; } public static int addition(int i, int j){ return i+j; } }
  • 57. Les fonctions en Java Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs. Variables locales public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } public static int inc(int i){ i=i+1; return i; } public static int addition(int i, int j){ return i+j; } }
  • 58. Les fonctions en Java Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs. Variables locales public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } public static int inc(int i){ i=i+1; pas la même variable i return i; même si elles ont la } même valeur ! public static int addition(int i, int j){ return i+j; } }
  • 59. Les fonctions en Java Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs. Variables locales public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } public static int inc(int i){ i=i+1; return i; } public static int addition(int i, int j){ return i+j; } } définition de la fonction addition
  • 60. Les fonctions en Java Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs. Variables locales public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } public static int inc(int i){ i=i+1; return i; } déclaration de la fonction addition public static int addition(int i, int j){ return i+j; } } définition de la fonction addition
  • 61. Les fonctions en Java Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs. Variables locales public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } public static int inc(int i){ i=i+1; return i; } déclaration de la fonction addition public static int addition(int i, int j){ return i+j; renvoi du résultat en sortie } } définition de la fonction addition
  • 62. Les fonctions en Java Visibilité des variables : toute variable déclarée à l'intérieur d'une fonction n'est valable que dans cette fonction et ne peut pas être utilisée ailleurs. Variables locales public class TP1{ public static void main(String[] arg){ int i,j; i=5; j=34; System.out.print("i+1="+inc(i)+",i="+i+", j="+j+", somme : "+addition(i,j)); } appel de la fonction addition public static int inc(int i){ i=i+1; return i; } déclaration de la fonction addition public static int addition(int i, int j){ return i+j; renvoi du résultat en sortie } } définition de la fonction addition
  • 63. Séance d'exercices d'entraînement Une autre avant l'exam en janvier Possibilité d'envoyer l'exercice supplémentaire par mail Possibilité d'envoyer ou demander tout autre exercice par mail