Entraînement en vue de la synthèse

Denis Dréano
PROG5-03

Entraînement en vue de la synthèse

Objectifs cantonaux : O1.1 – O2.4 (révision).

Pas de nouvelle théorie aujourd’hui : cette page rassemble les thèmes déjà vus, en préparation de l’examen de synthèse (coefficient 2, commun à toutes les classes de 1GY).

Ce qui a été vu depuis le début de l’année

▷ Programmation (PROG)

  • Instructions, séquences, modules (gturtle, math, random)
  • Boucles for _ in range(n) et while, break
  • Fonctions (sans/avec paramètre(s)), variables locales/globales
  • Types de données (int, float, str, bool), input()/print()
  • Branchements conditionnels if/elif/else

▷ Représentation de l’information (INFO)

  • Numération binaire : conversions, addition, plus grand nombre sur \(N\) bits
  • Numération hexadécimale : conversions décimal/binaire/hexadécimal
  • Codage des caractères (ASCII) : ord(), chr()
  • Codage des couleurs (RGB, notation hexadécimale)

Méthode de révision conseillée

◈ Comment réviser efficacement

  1. Reprenez chaque page de cours et essayez de refaire les exercices sans regarder la solution.
  2. Pour les exercices de programmation, tracez le code à la main avant de vérifier sur l’ordinateur.
  3. Pour les conversions (binaire/hexadécimal/décimal), entraînez-vous à les faire sans outil de conversion en ligne : à l’examen, il n’y en aura pas.

Exercices d’entraînement

→ Programmation — tracer un programme
def mystery(n):
    total = 0
    i = 1
    while i <= n:
        if i % 2 == 0:
            total += i
        i += 1
    return total

print(mystery(10))

Sans exécuter le programme, déterminez ce qu’il affiche. Que calcule cette fonction, en une phrase ?

→ Représentation — conversions mélangées

Sans outil de conversion :

  • Convertissez \(2A_{16}\) en binaire, puis en décimal.
  • Convertissez \(101101_2\) en hexadécimal.
  • Quel est le code ASCII (en hexadécimal) du caractère e ? (indice : E vaut 0x45)
→ Synthèse — combiner if / while / fonctions

Écrivez une fonction est_dans_l_intervalle(x, a, b) qui affiche "dans l'intervalle" si \(a \leq x \leq b\), sinon "hors intervalle". Puis utilisez une boucle pour tester tous les nombres de 0 à 20 avec \(a = 5\), \(b = 15\).