0% ont trouvé ce document utile (0 vote)
3 vues13 pages

Programmation

Le document présente un guide de révision pour la programmation, structuré en quatre blocs : Programmation Structurée (C/C++), Programmation Orientée Objet (Java/C++), Programmation Web (HTML/CSS/JS) et Terminaux Mobiles (Android). Chaque bloc détaille les concepts clés, les exercices pratiques et les techniques de programmation essentielles à maîtriser. Un plan d'action mensuel est également proposé pour guider l'apprentissage et la révision des compétences en programmation.

Transféré par

ploic71
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues13 pages

Programmation

Le document présente un guide de révision pour la programmation, structuré en quatre blocs : Programmation Structurée (C/C++), Programmation Orientée Objet (Java/C++), Programmation Web (HTML/CSS/JS) et Terminaux Mobiles (Android). Chaque bloc détaille les concepts clés, les exercices pratiques et les techniques de programmation essentielles à maîtriser. Un plan d'action mensuel est également proposé pour guider l'apprentissage et la révision des compétences en programmation.

Transféré par

ploic71
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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).

Vous aimerez peut-être aussi