★ À maîtriser
📌 Un programme est une traduction compréhensible par un ordinateur d’un algorithme dans un langage de programmation, tandis qu’un algorithme est plus général et indépendant du langage.
Compléments
Algorithme indépendant du langage, programme traduit pour la machine
★ À maîtriser
📌 La compilation traduit tout le programme en code binaire avant l’exécution, l’interprétation simule chaque instruction à l’exécution, et une machine virtuelle exécute un langage compilé pour une machine générique.
Compléments
Analyser → programmer → compiler → exécuter → analyser
★ À maîtriser
Un bit représente un 0 ou un 1, et 8 bits forment un octet.
Un entier non signé stocké sur n bits est compris entre et .
La représentation IEEE-754 sur 32 bits utilise 1 bit de signe, 8 bits d’exposant et 23 bits de mantisse.
Compléments
★ À maîtriser
📌 En C++, cout est plus sûr et plus puissant que printf pour les sorties, tandis que cin joue le rôle de scanf pour les entrées.
Compléments
📌 La fonction main peut recevoir argc et argv, où argc indique le nombre d’arguments de la ligne de commande et argv contient ces arguments.
printf/scanf en C, cout/cin en C++
★ À maîtriser
📌 Le fichier d’en-tête .h ou .hpp contient les prototypes, tandis que le fichier .c ou .cpp contient les définitions et l’implémentation des fonctions.
Compléments
📌 Un include-guard utilisant #ifndef, #define et #endif empêche les inclusions multiples d’un même fichier d’en-tête.
Sources → objets → édition des liens → exécutable
vector dynamique sur le tas, array fixe sur la pile
★ À maîtriser
📌 La portée d’une variable locale est le bloc d’instructions dans lequel elle est déclarée, et une variable déclarée dans un bloc interne peut masquer une variable de même nom du bloc externe.
Compléments
📌 La forme préfixe ++b modifie b avant son utilisation, tandis que la forme suffixe b++ utilise d’abord l’ancienne valeur puis incrémente b.
📌 Une conversion explicite s’écrit var2 = (newtype)var1, mais une conversion vers un type moins précis peut entraîner une perte d’information.
★ À maîtriser
📌 Dans une condition C, 0 signifie faux et toute autre valeur signifie vrai, avec les opérateurs &&, ||, !, ==, !=, <, <=, >= et >.
Compléments
📌 L’instruction break sort de la structure de répétition correspondante, tandis que continue passe immédiatement à l’itération suivante.
Conditionner → répéter → factoriser en fonctions
★ À maîtriser
📌 Le passage par valeur transmet une copie de l’argument, le passage par référence utilise un même objet sous deux noms, et le passage par adresse transmet un pointeur contenant l’adresse de l’argument.
Compléments
La fonction echanger(int &x, int &y) peut échanger deux entiers en modifiant directement les variables reçues par référence.
La fonction sommediff(int a, int b, int *somme, int *diff) peut retourner plusieurs résultats en écrivant la somme et la différence dans les adresses fournies.
Valeur copiée, référence aliasée, pointeur adressé
★ À maîtriser
📌 L’opérateur & récupère l’adresse d’une variable, tandis que l’opérateur * déréférence un pointeur pour accéder au contenu de l’adresse.
Compléments
Après int a = 123, int *x = &a et *x = 342, les expressions a et *x valent toutes deux 342.
Les pointeurs sont notamment utiles pour:
Adresse → pointeur → déréférencement → modification de la donnée
Compilation et exécution
| Mode | Principe | Caractéristique |
|---|---|---|
| Compilation | Traduction complète en code binaire | Rapide après compilation |
| Interprétation | Simulation des instructions à l’exécution | Plus flexible mais moins rapide |
| Machine virtuelle | Compilation vers une machine générique | Nécessite une machine virtuelle |
Teste tes connaissances sur Spécification et programmation en C/C++ avec 24 questions à choix multiples et corrections détaillées.
1. Quelle définition décrit le mieux un algorithme ?
2. Quelle distinction entre un algorithme et un programme est correcte ?
Mémorisez les concepts clés de Spécification et programmation en C/C++ avec 66 flashcards interactives.
Qu'est-ce qu'un algorithme en informatique ?
Une séquence d'instructions décrivant des étapes reproductibles.
Quelle différence principale existe entre un programme et un algorithme ?
Le programme est une traduction d'un algorithme dans un langage compréhensible par un ordinateur.
Quelles sont les étapes du traitement d'un problème informatique ?
Analyse, conception d'algorithme, programmation, compilation, exécution, analyse des résultats.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches