Un programme est une série d'instructions que l'ordinateur exécute dans un ordre précis.
Premier programme
Donner des instructions à l'ordinateur et afficher un message.
Les notions à connaître
{ }Elles délimitent un bloc d'instructions. Les instructions placées entre deux accolades appartiennent à ce bloc.
;Il se positionne après chaque instruction.
Une instruction par ligne, une accolade ouvrante en fin de ligne, une accolade fermante seule sur sa ligne et une indentation régulière rendent le code plus lisible.
main est le point d'entrée du programme. Pour l'instant, retiens surtout que tu écriras tes instructions entre ses accolades. System.out.println(...) affiche un texte puis passe à la ligne suivante.
Afficher « Hello World! »
Le programme ci-dessous affiche déjà « Bonjour ». Modifie-le pour qu'il affiche exactement Hello World!.
public class Main {
public static void main(String[] args) {
System.out.println("Bonjour");
}
}Les variables
Mémoriser des informations, effectuer des calculs et construire des phrases.
Les notions à connaître
Une variable est une donnée identifiée par un nom. On peut lire sa valeur et, selon le besoin, la modifier.
Le type indique quelle sorte de valeur la variable peut contenir. En Java, on écrit le type avant le nom de la variable.
=Le signe = affecte une valeur à une variable. On écrit le type, puis le nom de la variable, puis la valeur à lui attribuer.
Les opérateurs +, -, * et / permettent respectivement d'additionner, soustraire, multiplier et diviser.
Quatre types utiles pour commencer
| Type | À quoi sert-il ? | Exemple |
|---|---|---|
int | Un nombre entier | int age = 15; |
double | Un nombre pouvant avoir une partie décimale | double taille = 1.70; |
String | Un texte, placé entre guillemets doubles | String prenom = "Lina"; |
boolean | Une valeur vraie ou fausse : true ou false | boolean aimeLesMaths = true; |
En Java, on écrit les nombres décimaux avec un point, et non une virgule. L'opérateur + peut additionner des nombres ou assembler des morceaux de texte : c'est la concaténation.
Parler de toi avec des variables
Remplace les valeurs d'exemple par les tiennes, puis complète les quatre affichages.
- Crée et utilise des variables représentant ton prénom, ton âge, si tu aimes les maths et ta taille exprimée en mètres.
- Affiche les quatre lignes ci-dessous en remplaçant les indications entre crochets par les valeurs des variables.
Indice : pour afficher une phrase et une valeur, assemble les morceaux avec +. Pour afficher la taille augmentée de 1, calcule taille + 1.0.
public class Main {
public static void main(String[] args) {
// TODO 1 : déclarer une variable pour ton prénom.
// TODO 2 : déclarer une variable pour ton âge.
// TODO 3 : déclarer une variable pour savoir si tu aimes les maths.
// TODO 4 : déclarer une variable pour ta taille en mètres.
// TODO 5 : afficher les quatre lignes demandées.
}
}Comparer deux divisions
Affiche le résultat de la division de 5 par 2 de deux façons :
- avec deux variables de type
int; - avec deux variables de type
double.
Déclare les quatre variables nécessaires, puis ajoute les instructions qui affichent les deux résultats et observe la différence.
public class Main {
public static void main(String[] args) {
// TODO : déclarer les deux variables de type int.
// TODO : déclarer les deux variables de type double.
// TODO : afficher les deux résultats.
}
}Les conditions
Faire prendre des décisions au programme.
Les notions à connaître
== égal à!= différent de< inférieur à> supérieur à<= inférieur ou égal à>= supérieur ou égal à
if exécute un bloc si une condition est vraie.else if teste une autre condition si les précédentes sont fausses.else traite les autres cas.
&& signifie « et » : les deux conditions doivent être vraies.|| signifie « ou » : au moins une condition doit être vraie.! inverse une valeur booléenne.
= affecter une valeur à une variable.
== comparer deux valeurs.
Exemple
Le programme vérifie si le moteur du robot chauffe trop. Cet exemple illustre une condition simple, dans un contexte différent des exercices.
int temperatureMoteur = 65;
if (temperatureMoteur > 80) {
System.out.println("Laisser refroidir le moteur");
} else {
System.out.println("Température normale");
}Le bras articulé
Le robot peut positionner son bras à différentes hauteurs pour déposer un élément de jeu.
Crée une variable hauteur en centimètres et affiche le niveau correspondant :
- Si la hauteur est inférieure à 10 cm :
Position basse. - Si elle est comprise entre 10 cm et 30 cm inclus :
Position moyenne. - Si elle est supérieure à 30 cm :
Position haute.
public class Main {
public static void main(String[] args) {
// TODO : déclarer et initialiser la variable hauteur.
// TODO : écrire tes conditions ici
}
}L'accès à la zone de lancement
Le robot ne peut lancer un élément que si plusieurs conditions sont réunies.
Crée deux variables booléennes :
robotAligne: le robot est correctement aligné ;zoneLibre: la zone de lancement est dégagée.
Le robot peut lancer uniquement si les deux conditions sont vraies. Affiche Lancement autorisé ou Lancement interdit.
public class Main {
public static void main(String[] args) {
// TODO : déclarer et initialiser robotAligne.
// TODO : déclarer et initialiser zoneLibre.
// TODO : écrire tes conditions ici
}
}Le score du match FTC
Le robot vient de terminer une action. Le programme doit analyser le score de l'équipe, la réussite de l'action et le temps restant pour déterminer le message à afficher.
Crée ou utilise les trois variables suivantes :
score: le nombre de points de l'équipe ;elementDepose: indique si l'élément a été déposé correctement ;tempsRestant: le nombre de secondes restantes.
Le programme doit afficher le message correspondant à la situation :
Action échouéesi l'élément n'a pas été déposé correctement.Sécuriser le scoresi l'élément a été déposé correctement, que le score est supérieur ou égal à 100 et qu'il reste 10 secondes ou moins.Continuer à marquersi l'élément a été déposé correctement et que le score est inférieur à 100.Victoire en vue !dans tous les autres cas.
Respecte l'ordre des règles ci-dessus : dès qu'une condition est satisfaite, le programme affiche son message et ne teste pas les suivantes.
public class Main {
public static void main(String[] args) {
// TODO : déclarer et initialiser score.
// TODO : déclarer et initialiser elementDepose.
// TODO : déclarer et initialiser tempsRestant.
// TODO : écrire tes conditions ici
}
}À tester : modifie les valeurs des trois variables pour vérifier que chaque message peut être affiché. Les règles de score sont fictives et servent uniquement à l'exercice de programmation.
Les boucles
Répéter des instructions sans avoir à les écrire plusieurs fois.
Pourquoi utiliser une boucle ?
Si tu veux afficher plusieurs fois le même message, tu pourrais recopier l'instruction à chaque fois. Une boucle permet de demander à Java de répéter un bloc d'instructions.
for (int i = 1; i <= 4; i++) {
System.out.println("Test du capteur");
}Ce programme affiche quatre fois Test du capteur.
Les notions à connaître
whileRépète un bloc d'instructions tant qu'une condition est vraie.
forRépète un bloc d'instructions. Il est souvent utilisé lorsqu'on connaît le nombre de répétitions souhaité.
{ }Les accolades délimitent les instructions qui seront répétées par la boucle.
++Augmente une variable de 1.
--Diminue une variable de 1.
La boucle while
La boucle while répète les instructions tant que sa condition est vraie. Il faut prévoir une évolution qui permettra à la condition de devenir fausse, sinon la boucle peut ne jamais s'arrêter.
int niveau = 4;
while (niveau > 0) {
System.out.println("Niveau de puissance : " + niveau);
niveau--;
}À chaque tour, le programme affiche le niveau actuel puis le diminue de 1. Lorsque le niveau n'est plus supérieur à 0, la boucle s'arrête.
La boucle for
La boucle for rassemble sur une même ligne les éléments qui permettent de compter les répétitions : le départ, la condition et l'évolution du compteur.
for (int i = 1; i <= 4; i++) {
System.out.println("Essai numéro " + i);
}Le compteur i commence à 1. Après chaque répétition, il augmente de 1. La boucle s'arrête après l'affichage du numéro 4.
Utilise souvent for lorsque tu sais combien de répétitions tu veux effectuer. Utilise souvent while lorsque la répétition dépend d'une condition qui peut évoluer pendant le programme.
Les exercices
Répéter un message
Écris un programme qui affiche cinq fois le message suivant :
public class Main {
public static void main(String[] args) {
}
}Afficher les nombres
Écris un programme qui affiche les nombres de 1 à 6, avec un nombre par ligne.
public class Main {
public static void main(String[] args) {
}
}Réduire la puissance
Un robot commence avec une puissance de 5. Écris un programme qui affiche la puissance actuelle tant qu'elle est supérieure à 1, puis diminue la puissance de 1 après chaque affichage.
public class Main {
public static void main(String[] args) {
}
}Simuler une série de matchs FTC
Tu veux simuler trois essais de ton robot. Pour chaque essai, le programme affiche le numéro de l'essai et un score fictif égal au numéro de l'essai multiplié par 10. Il indique ensuite si l'objectif est atteint.
- Prévois une variable qui indique le nombre d'essais restants, ainsi qu'un compteur pour numéroter les essais.
- Tant qu'il reste des essais, affiche le numéro de l'essai.
- Calcule le score de l'essai en multipliant son numéro par 10, puis affiche ce score.
- Si le score est supérieur ou égal à 20, affiche
Objectif atteint !. Sinon, afficheObjectif non atteint. - Fais évoluer les variables pour passer à l'essai suivant et terminer après trois essais.
- Lorsque les trois essais sont terminés, affiche
Série de tests terminée.
public class Main {
public static void main(String[] args) {
}
}Résultat attendu
Essai numéro 1
Score : 10
Objectif non atteint
Essai numéro 2
Score : 20
Objectif atteint !
Essai numéro 3
Score : 30
Objectif atteint !
Série de tests terminéeÀ vérifier : le programme doit réaliser exactement trois essais, afficher le score calculé à chaque tour et finir par le message de fin.
À retenir
- Une boucle permet de répéter un bloc d'instructions.
whilerépète tant qu'une condition est vraie.forest pratique lorsqu'on veut répéter un nombre déterminé de fois.- Vérifie toujours que la boucle peut se terminer.
Pour chaque exercice : copie le squelette, lis-le, fais une petite modification, lance le programme et observe le résultat. Si une erreur apparaît, vérifie d'abord les points-virgules, les guillemets, les parenthèses et les accolades.