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;