Programmation
Les sujets couvrent
quatre domaines clés : la
Programmation
Structurée (C),
l'Orientée Objet (Java/C+
+), le Web (HTML/CSS/
JS) et le Mobile
(Android).
Voici ton guide de
révision stratégique
divisé par "blocs de
points".
Bloc 1 :
Programmation
Structurée (C / C++)
C'est la base. Les
exercices demandent
presque toujours de
manipuler des tableaux
ou des matrices.
Les algorithmes de
tableaux à connaître
par cœur :
● Saisie et
Affichage : Utilise
toujours une
boucle for de $0$
à $n-1$.
● Filtrage (Ex: I.1
●
image 1) : Pour
copier les positifs
dans Tpos et les
négatifs dans
Tneg, tu dois gérer
trois indices
différents (un pour
le tableau source,
deux pour les
cibles).
● Recherche de
maximum/
minimum :
Initialise ta
variable max avec
le premier élément
du tableau, puis
compare avec les
autres.
● Matrices (Ex: I.2
image 1) : C'est
une double boucle
for (i pour les
lignes, j pour les
colonnes). Pour
l'addition, C[i][j] =
A[i][j] + B[i][j].
La gestion de la
mémoire (Ex: image
4) :
Si tu vois des pointeurs
(float* c) et la fonction
free c, c'est de
l'allocation dynamique.
● Règle : Toute
●
fonction qui
renvoie un pointeur
doit utiliser malloc.
● Profil de
fonction : float*
calcul(float x, float
y) doit allouer un
espace, faire
l'opération $x + 5y
- 2$ et retourner
l'adresse.
Bloc 2 :
Programmation
Orientée Objet
(Java / C++)
Ici, on teste ta
compréhension de
l'architecture logicielle.
Les concepts
fondamentaux (Ex:
II.1 image 1) :
● Classe : Le moule
(ex: Voiture).
● Objet : Une
instance du moule
(ex: Ma Toyota).
● Encapsulation :
Mettre les attributs
en private et créer
des Getters/
Setters.
● Héritage (Ex: B.2
image 6) : Utilise
le mot-clé extends.
Si CompteCourant
hérite de
CompteBancaire, il
récupère
automatiquement
solde et devise.
Traduction de
Diagramme UML en
Code :
Regarde l'image 1
(Voiture et Roue) ou
l'image 6 (Comptes) :
. Héritage : Flèche
avec un triangle
vide.
. Composition/
Agrégation :
Losange. Si une
Voiture a 4 Roue,
tu dois déclarer un
tableau ou une
liste de roues dans
la classe Voiture :
private Roue[]
roues = new
Roue[4];.
Bloc 3 :
Programmation Web
(HTML / CSS / JS)
Les sujets demandent
systématiquement de
créer un formulaire.
Structure HTML
Type (Ex: image 2 &
8) :
● Utilise les balises
<form>, <label>, et
<input>.
● Pour le sexe
(Masculin/
Féminin), utilise
type="radio" avec
le même name.
● Pour le mot de
passe,
type="password".
JavaScript de
validation (Ex: III.2
image 2) :
Tu dois savoir récupérer
une valeur :
[Link]-
ById('id').value et
afficher une alerte ou
modifier le contenu
d'une balise.
Bloc 4 : Terminaux
Mobiles (Android)
C'est souvent la partie
théorique ou la création
d'interfaces simples.
Composants IHM
(Ex: IV.1 image 3) :
Apprends à identifier les
vues sur une image :
● EditText : Pour
saisir le login/mot
de passe.
● Button : Pour
"Connecter".
● TextView : Pour les
libellés.
● Toast : Le petit
message
éphémère qui
s'affiche en bas.
Théorie OS Mobile
(Ex: D.1 image 9) :
● Android : Ouvert,
grande variété de
terminaux, langage
Java/Kotlin.
● iOS : Fermé,
optimisé, langage
Swift/Objective-C.
● Frameworks
Cross-
plateforme :
Flutter (Dart) ou
React Native (JS).
Ils permettent de
développer une
seule fois pour les
deux systèmes.
Ton plan d'action
pour ce mois :
. Semaine 1 (C/C+
+) : Refais
l'exercice de
l'organigramme
(image 5). C'est un
exercice de logique
pure (équation du
second degré). Si
tu sais traduire un
organigramme en
code if/else, tu as
les points.
. Semaine 2 (Java/
OO) : Entraîne-toi
à écrire des
classes complètes
avec constructeurs
et héritage à partir
de schémas.
. Semaine 3 (Web) :
Apprends par
cœur le code CSS
pour centrer un
formulaire et le
rendre propre
(flexbox).
. Semaine 4
(Annales) :
Reprends les
images 10 et 11
(Session 2022) et
traite-les en
conditions réelles
(4 heures).
Astuce d'expert : En
BTS, la propreté du code
et les commentaires
comptent. Même si ton
algorithme n'est pas
parfait, si ta structure de
classe est correcte, tu
auras la majorité des
points.
Exemple
Bloc 1 :
Programmation
Structurée (C)
L'objectif est de
manipuler les données
avec des boucles et des
conditions.
Manipulation de
Tableaux (Ex:
IMG_1215.jpg)
Le secret est de gérer les
indices correctement.
C
// Saisie et Filtrage
(Copier positifs dans
Tpos)
int j = 0; // Indice pour le
deuxième tableau
for(int i = 0; i < n; i++) {
if(T[i] > 0) {
Tpos[j] = T[i];
j++;
}
}
Allocation
Dynamique (Ex:
IMG_1218.jpg)
Si l'énoncé demande de
renvoyer un pointeur,
utilise malloc.
C
float* calcul(float x, float
y) {
float* res = (float*)
malloc(sizeof(float)); //
Allouer la mémoire
*res = x + 5*y - 2; //
Stocker la valeur
return res; // Retourner
l'adresse
}
Bloc 2 :
Programmation
Orientée Objet
(Java)
Ici, on structure le code
avec des classes.
Encapsulation et
Constructeur (Ex:
IMG_1215.jpg)
Toujours mettre les
attributs en private.
Java
public class Voiture {
private String
marque; // Attribut privé
// Constructeur pour
l'initialisation
public Voiture(String
m) {
[Link] = m;
}
}
Héritage (Ex:
IMG_1220.jpg)
Utilise extends et
super().
Java
public class
CompteEpargne extends
CompteBancaire {
private double
tauxInteret;
public
CompteEpargne(double
s, String d, double t) {
super(s, d); //
Appelle le constructeur
de CompteBancaire
[Link] = t;
}
}
Bloc 3 :
Programmation Web
(HTML/JS)
Tu dois créer un
formulaire et traiter les
données.
Formulaire HTML
(Ex: IMG_1216.jpg)
HTML
<form>
<label>Matricule :</
label>
<input type="text"
id="mat">
<button type="button"
onclick="valider()">Vali-
der</button>
</form>
Validation
JavaScript (Ex:
IMG_1216.jpg)
JavaScript
function valider() {
var m =
[Link]-
ById('mat').value;
if(m == "") {
alert("Matricule
vide !");
}
}
Bloc 4 : Terminaux
Mobiles (Android)
Il s'agit souvent de
définir l'interface ou les
concepts.
Interface XML (Ex:
IMG_1217.jpg)
XML
<EditText
android:id="@+id/
login"
android:hint="Saisir
login" />
<Button
android:id="@+id/
btnConnecter"
android:text="Connecter
" />
Logique Java
Android (Ex:
IMG_1217.jpg)
Java
[Link](this,
"Connexion réussie",
Toast.LENGTH_SHORT).
show();
Ton plan d'action
révisé :
● Semaine 1 :
Maîtrise les
boucles for et if en
C en refaisant
l'organigramme de
l'image
IMG_1219.jpg.
● Semaine 2 :
Pratique l'écriture
des classes Java
(attributs,
constructeurs,
getters/setters).
● Semaine 3 :
Apprends à créer
un formulaire
HTML propre et à
lire ses champs en
JS.
● Semaine 4 :
Simule un examen
complet avec les
sujets de 2022
(images
IMG_1215.jpg et
IMG_1224.jpg).