TP1

Cette partie sera abordée en parallèle avec la partie "représentation numérique de l'information".

Installez javas'cool et lancez le proglet en haut à gauche. Java est un langage de programmation , il a sa propre syntaxe , ses règles et sa manière d'agir sur la mémoire lors de l'exécution des instructions du programme principal : le main
Il y a aussi des habitudes à prendre:
L'indentation pour une plus grande lisibilité et les commentaires pour une meilleure compréhension.
// ceci est un commentaire sur une ligne
/* ceci est le début du commentaire
et voilà la fin */
Les variables déclarées , les paramètres des fonctions , les "valeurs" retournées par les fonctions doivent être typés. Ce n'est pas le cas de tous les langages
Par exemple int x;(on déclare une variable de type entier qui s'appelle x : cette instruction est une déclaration)
x=5;( on affecte à x la valeur 5 : cette instruction est une affectation)
x=x+2;(5 et x+2 sont des expressions qui sont évaluées)
Que se passe-t-il lors de l'exécution de ces instructions?
D'abord , si on considère la mémoire comme un ensemble de tiroirs numérotés dans lesquels on peut ranger des "affaires" , la première instruction consiste à réserver un de ces tiroir (tiroir que l'on peut appeler x) dans lequel on y mettra un entier
Ensuite , dans ce tiroir on y met la valeur 5 et après on cherche ce qu'il y a dans x , c'est à dire 5 , on lui ajoute 2 , on fait le calcul et on met cette valeur dans le tiroir x
Si on rajoute l'instruction print(x); cela aura pour effet d'afficher non pas le numéro du tiroir x mais son contenu c'est à dire 7
En plus l'état de toute la mémoire change pendant l'exécution du programme.Ainsi x peut disparaître et le tiroir que cette variable utilisait pourra être utilisée pour une variable même de type différent.
Passons aux exercices qui permettront de se familiariser avec ce langage mais n'oublions pas que ce qui sera écrit dans le programme aura un effet sur la mémoire à un instant donné.

ex1) Créer une fonction qui affiche bonjour et l'utiliser dans le main (quel est le rôle du main)
ex2) Créer une fonction qui a pour paramètres 2 entiers et qui renvoie le quotient des 2 (tester la fonction en l'utilisant dans le main et expliquez les éventuels problèmes)
ex3)Reprendre l'exercice précédent qui ne renvoie rien mais qui affiche le quotient ( où faut-il placer la conversion(double))
ex4)Créer une fonction qui affiche les 10 premiers entiers alignés verticalement avec une boucle for puis avec un while (attention à la syntaxe du for)
ex5) même chose mais avec les 100 premiers avec un espace entre chaque et un saut de ligne tous les 10 avec une seule boucle for
ex6) même chose mais avec 2 boucles for
ex7) créer une fonction avec un entier comme paramètre qui affiche tous les diviseurs de cet entier(avant l'appel à cette fonction utilisez readInteger();)
ex8)créer une fonction qui renvoie y=0.5*x+1 avec x comme paramètre et une autre qui affiche les premiers termes d'une suite définie par récurrence avec f(le premier terme et le nombre de termes seront les paramètres)
ex9) même chose mais qui affiche tous les nombres premiers inférieurs au paramètre avec un saut de ligne tous les 10