Wollef

Minecraft : Jouer, Programmer, Modifier, Partager à Luxembourg

Accueil » A la découverte de java

A la découverte de java

Dans la série d’article précédente sur l’histoire des langages de programmation, j’ai vu que Java était un des derniers langages de programmation créés.

Cc’est pour ça que j’ai décidé d’utiliser ce langage pour découvrir à quoi ressemble le travail de programmation.

Pour programmer en Java il faut d’abord télécharger un outil de programmation java.

En ce cas j’utilise éclipse. https://www.eclipse.org

 

Test de l’environnement java.

Une fois qu’on a lancé Eclipse, on crée un nouveau projet.

Dans ce projet j’ai recopié le code d’exemple Java que j’avais cité dans l’article sur « l’histoire de la programmation ».

En haut de la fenêtre il y a le code et directement en dessous il y a le résultat de l’exécution du code.

C’est-ce qu’on fait en cliquant sur le petit bouton vert en haut.

Quelques essais de programmes

Pour explorer le langage java, nous avons essayé de réécrire les programmes d’exemples des différents langages exploré dans la série d’articles sur l’histoire de la programmation :

  • Exemple « langage machine » : trouver le plus grand nombre
  • Exemple « fortran » : le plus grand commun diviseur
  • Exemple « cobol » : la multiplication

Dans les articles qui suivent, je vais montrer les programmes que cela donne.

Enfin, je me suis essayé à écrirer un petit programme pour m’aider en mathématiques.

Exemple « langage machine » : trouver le plus grand nombre

De l’original en « langage machine » à sa version java !

public class P02_PlusGrandNombre {
    public static void main(String[] args) {
        int tableauDeNombres[] = { 12, 56, 42, 87, 23, 14, 3, 97, 18, 23, 52, 35 };
        int positionPlusGrandNombre = 0;
        for (int posNombreExamin=0; posNombreExamin<tableauDeNombres.length ; posNombreExamin++) {
            System.out.println("le nombre " + posNombreExamin +" est "+tableauDeNombres[posNombreExamin]);
            if( tableauDeNombres[posNombreExamin] > tableauDeNombres[positionPlusGrandNombre]) {
                System.out.println("le nombre " + posNombreExamin +" ("+tableauDeNombres[posNombreExamin]+") est plus grand que le nombre "+positionPlusGrandNombre+" ("+tableauDeNombres[positionPlusGrandNombre]+")");
                positionPlusGrandNombre = posNombreExamin;
            }
        }
        System.out.println("le plus grand nombre est le "+positionPlusGrandNombre + " (" + tableauDeNombres[positionPlusGrandNombre] +")" );       
    }

}
 

Exemple « fortran » : le plus grand commun diviseur

De l’original en « fortran » à sa version java …

public class P03_PlusGrandCommunDiviseur {
    public static void main(String[] args) {
        int a = 55;
        int b = 33;
        int resultat = calculePGCD(a,b);   
        System.out.println("le PGCD de "+a+" et "+b+" est "+resultat);
    }

   public static int calculePGCD(int na, int nb) {
       int ia = na;
       int ib = nb;
       while ( ib !=0) {
           int itemp = ia;  
           ia = ib;
           ib = itemp % ib;
       }     
       return ia;      
   }
}

Exemple « cobol » : la multiplication

De l’original en « cobol » à sa version java …

import java.util.Scanner;
public class P04_LaMultiplication {
    public static void main(String[] args) {
        // ouvre le lecteur
        Scanner in = new Scanner(System.in);
        // lit les nombres.
        System.out.printf("Enter first number:  ");
        int num1 = in.nextInt();
        System.out.printf("Enter second number:  ");
        int num2 = in.nextInt();

        // ça fait le calcul
        int result = num1 * num2;

        // affiche le resultat
        System.out.println("result is = " + result);

        // ferme le lecteur
        in.close();
    }
}

Un premier défi : Utilisation de Java pour résoudre un de mes soucis en mathématique

En mathématique j’oublie souvent d’aller jusqu’au bout dans la réduction des fractions.

Or je sais que quand on divise le numérateur et le dénominateur par leur plus grand diviseur commun on obtient le numérateur et le dénominateur de la fraction réduite.

Dans les programmes d’exemple, j’ai trouvé un programme qui trouve les plus grands diviseurs communs. Alors je vais m’en servir pour calculer les fractions réduites.

Le programme java que voici va m’aider à vérifier les fractions que je dois calculer : on y voit l’appel de l’autre sous-programme :

P03_PlusGrandCommunDiviseur.calculePGCD(numerateur, denominateur) ;

Maintenant plus d’erreur pour réduire mes fractions !

 

import java.util.Scanner;
public class P05_ReductionFraction {
    public static void main(String[] args) {

        // ouvre le lecteur
        Scanner in = new Scanner(System.in);       

        // lit les nombres.
        System.out.printf("Entre le numérateur:  ");
        int numerateur = in.nextInt();
        System.out.printf("Entre le dénominateur:  ");
        int denominateur = in.nextInt();
        System.out.println("saisie est " + numerateur +"/"+denominateur);

        // calcul du pgcd en utilisant le programme d'exemple
        int pgcd = P03_PlusGrandCommunDiviseur.calculePGCD(numerateur, denominateur);

        //calcul du nouveu numérateur et du nouveau dénominateur
        numerateur= numerateur/pgcd;
        denominateur= denominateur/pgcd;

        // affiche le resultat
        System.out.println("resultat est " + numerateur +"/"+denominateur);

        // ferme le lecteur
        in.close();
    }
}

Update 2019 !

Dans le cadre d’un travail personnel sur Raspberry Pi en 2019-2020, j’ai utilisé le langage Python. Pour découvrir Python, j’ai  réécrit les mêmes programmes dans ce langage : vous pouvez voir ici à quoi ressemble le résultat !

 

Nom de l’auteur/autrice

Nom : wollef