Révisions NSI

Introduction aux NSI

Cette section couvre les bases du Numérique et des Sciences Informatiques pour le concours. Vous y trouverez des cours sur la programmation en Python, les structures de données, les algorithmes, la théorie des graphes et SQL.

Programmation en Python

Apprenez les bases de Python : syntaxe, variables, conditions, boucles et fonctions.


def fib(n):
    if n <= 1:
        return n
    else:
        return fib(n-1) + fib(n-2)

print(fib(10))  # Affiche 55
        

Structures de Données

Les listes, tuples, ensembles et dictionnaires permettent de stocker et manipuler des données en Python.


# Exemple avec une liste
ma_liste = [1, 2, 3, 4]
ma_liste.append(5)
print(ma_liste)  # Affiche [1, 2, 3, 4, 5]
        

Algorithmes Fondamentaux

Étude des algorithmes de tri, de recherche et d’optimisation. Par exemple, le tri rapide (quicksort).


def quicksort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quicksort(left) + middle + quicksort(right)

data = [3, 6, 8, 10, 1, 2, 1]
print(quicksort(data))  # Affiche [1, 1, 2, 3, 6, 8, 10]
        

Graphes et Arbres

Les graphes modélisent des relations. Les algorithmes de parcours tels que BFS et DFS sont essentiels.


from collections import deque

def bfs(graph, start):
    visited = set()
    queue = deque([start])
    while queue:
        vertex = queue.popleft()
        if vertex not in visited:
            print(vertex, end=" ")
            visited.add(vertex)
            queue.extend(set(graph[vertex]) - visited)

graph = {
    'A': ['B', 'C'],
    'B': ['A', 'D', 'E'],
    'C': ['A', 'F'],
    'D': ['B'],
    'E': ['B', 'F'],
    'F': ['C', 'E']
}
bfs(graph, 'A')  # Affiche : A B C D E F
        

SQL et Bases de Données

Introduction au langage SQL pour interroger et manipuler des bases de données.


SELECT * 
FROM etudiants
WHERE moyenne > 15;