C et Python appartiennent à des paradigmes de programmation différents : C est procédural et bas niveau, tandis que Python est impératif, orienté objet et de haut niveau. Malgré ces différences, ils partagent des concepts comme les variables, les structures de contrôle et les opérateurs. Voici comment ces similarités et différences se reflètent à travers les objectifs :
Bases de la programmation : Les deux langages utilisent des fonctions pour afficher des données (printf
en C, print
en Python), mais Python a une syntaxe plus simple et une gestion automatique de la mémoire.
Manipulation des variables : C exige une déclaration explicite des types de variables, tandis que Python utilise un typage dynamique et peut également supporter des annotations pour le typage statique.
Opérateurs : Les deux langages utilisent des opérateurs arithmétiques, logiques, de comparaison, bit à bit, ainsi que des opérateurs d’assignation.
Boucles et structures de contrôle : C utilise des accolades pour les blocs de code, tandis que Python utilise l’indentation. Les deux langages ont des boucles (for
, while
) et des structures conditionnelles (if
, else
).
Conversion et formatage : Les deux langages nécessitent des techniques de formatage (comme la conversion en binaire), mais C utilise des fonctions spécifiques tandis que Python propose des f-strings et des méthodes intégrées pour un formatage plus flexible.
Écrire des programmes simples en C et en Python qui affichent le message “Bonjour le Monde!” à l’écran.
Écrire le programme en C :
Écrivez un programme C nommé bonjour.c
qui affiche le message “Bonjour le Monde!” à l’écran.
Compiler et exécuter le programme en C:
Ouvrez un terminal et compilez le fichier en utilisant GCC :
$ gcc bonjour.c
Cela générera un fichier exécutable par défaut appelé a.out
. Vous pouvez exécuter le programme avec :
$ ./a.out
Vous devriez voir le message “Bonjour le Monde!” affiché à l’écran.
Renommer l’exécutable (optionnel) :
Pour générer un exécutable avec un nom spécifique (par exemple, bonjour
), utilisez l’option -o
lors de la compilation :
$ gcc -o bonjour bonjour.c
Exécutez le programme avec le nouveau nom d’exécutable :
$ ./bonjour
Afficher les avertissements (optionnel) :
Pour voir tous les avertissements pendant la compilation, utilisez les options -Wall
et -Wextra
:
$ gcc -Wall -Wextra -o bonjour bonjour.c
Exécutez le programme avec les avertissements activés :
$ ./bonjour
Écrire le programme en Python :
Écrivez un programme Python nommé bonjour.py
qui affiche le message “Bonjour le Monde!” à l’écran.
Exécuter le programme :
Ouvrez un terminal et exécutez le programme avec Python :
$ python3 bonjour.py
Vous devriez voir le message “Bonjour le Monde!” affiché à l’écran.
python3
si vous utilisez Python 3).Calcul de l’aire et du périmètre d’un cercle en C et Python
Dans le fichier cercle.c, écrivez un programme en C qui calcule à la fois l’aire et le périmètre d’un cercle. Utilisez une variable rayon
de type float
ou double
pour stocker le rayon du cercle.
Dans un second fichier cercle.py, écrivez un programme Python qui effectue les mêmes opérations.
Les étapes à suivre pour les deux programmes sont les suivantes :
math.pi
de la bibliothèque math
).Compilez le fichier cercle.c en utilisant GCC pour créer un exécutable nommé “cercle”. Utilisez la commande suivante dans le terminal :
$ gcc -o cercle cercle.c -lm
L’option -lm
est utilisée pour lier la bibliothèque mathématique standard (<math.h>
).
Exécutez le programme en utilisant la commande suivante :
$ ./cercle
Exécutez le fichier cercle.py directement à partir du terminal avec la commande suivante :
$ python3 cercle.py
Assurez-vous que vous obtenez les mêmes résultats pour les valeurs de l’aire et du périmètre du cercle en fonction du rayon saisi, dans les deux programmes.
Écrivez un programme qui affiche la taille en octets des différents types de base, en utilisant l’opérateur sizeof()
pour les types suivants :
char
short
int
long int
long long int
float
double
long double
Affichez également les versions signées (signed
) et non-signées (unsigned
) pour les types char
, short
, int
, et long int
.
Compilez et exécutez ce programme :
$ gcc -o sizeof_types sizeof_types.c
$ ./sizeof_types
Python n’a pas les mêmes types statiques que C, mais voici les types de base que vous pouvez examiner pour obtenir leur taille avec la fonction sys.getsizeof()
:
int
(pour les entiers, qui sont dynamiques en Python)float
(qui correspond au type double
en C)bool
(pour les valeurs booléennes)str
(pour les chaînes de caractères)list
(pour les listes)tuple
(pour les tuples)dict
(pour les dictionnaires)char
signed char
unsigned char
short
unsigned short
int
unsigned int
long int
unsigned long int
long long int
float
double
long double
Assigne une valeur à chaque variable. Choisis des valeurs représentatives pour chaque type de donnée, y compris des valeurs négatives pour les types signés et des valeurs maximales pour les types non-signés.
Affiche les valeurs de toutes les variables à l’aide de la fonction printf()
.
Compile et exécute le programme en utilisant les commandes suivantes :
$ gcc -o variables variables.c
$ ./variables
int
float
str
(chaîne de caractères)bool
(valeur booléenne)list
(liste)tuple
(tuple)dict
(dictionnaire)Assigne une valeur à chaque variable. Choisis des valeurs représentatives pour chaque type de donnée.
Affiche les valeurs de toutes les variables à l’aide de la fonction print()
.
Exécute le programme en utilisant la commande suivante :
$ python3 variables.py
Écrivez un programme dans les langages C et Python qui utilise deux variables a
et b
avec les valeurs suivantes :
a = 16
b = 3
Pour chaque langage, effectuez les opérations suivantes et affichez les résultats :
a
et b
.b
de a
.a
par b
.a
par b
(assurez-vous de gérer les types de données correctement pour obtenir un résultat précis).%
) pour calculer le reste de la division de a
par b
.a
est égal à b
et affichez le résultat sous forme de booléen.a
est supérieur à b
et affichez le résultat sous forme de booléen.a
et b
.printf()
pour afficher les résultats.Compilez et exécutez le programme :
$ gcc -o operateurs operateurs.c
$ ./operateurs
a
et b
.print()
pour afficher les résultats.Exécutez le programme :
$ python3 operateurs.py
Assurez-vous que les opérations sont correctement réalisées et que les résultats sont affichés correctement pour les deux langages.
Écrire des programmes en C et en Python pour afficher un triangle rectangle. La taille du triangle sera déterminée par une variable entrée par l’utilisateur, et les caractères alternés (*
et #
) seront utilisés pour remplir le triangle.
Entrez une valeur pour taille
(strictement inférieure à 10) pour voir le triangle rectangle.
Voici un exemple de ce que le programme doit afficher lorsque compteur
est égal à 5 :
*
* *
* # *
* # # *
* * * * *
Testez le code en utilisant différentes valeurs de compteur
.
Après avoir réussi avec des boucles for
, écrivez une nouvelle version du code en utilisant soit une boucle while
ou do..while
. Vous pouvez utiliser des branchements conditionnels (if
) et inconditionnels (break
ou continue
) pour atteindre cet objectif.
Écrivez des programmes en C et en Python pour tester diverses structures de contrôle en utilisant des boucles et des branchements conditionnels. Vous devez :
Afficher les nombres de 1 à 1000 qui répondent à une condition donnée.
Utiliser des boucles (for
, while
, do..while
) pour parcourir les nombres et appliquer les conditions.
Utiliser des branchements conditionnels (if
, else
, break
, continue
) pour contrôler le flux du programme.
Divisibilité : Affichez les nombres de 1 à 1000 qui sont divisibles par 4 mais pas par 6.
Paire ou Impair : Affichez les nombres de 1 à 1000 qui sont pairs et divisibles par 8.
Divisibilité multiple : Affichez les nombres de 1 à 1000 qui sont divisibles par 5 ou 7, mais ne sont pas divisibles par 10.
Compilez et exécutez le programme :
$ gcc -o controle controle.c
$ ./controle
for
pour parcourir les nombres de 1 à 1000.for
pour parcourir les nombres de 1 à 1000.for
pour parcourir les nombres de 1 à 1000.Exécutez le programme :
$ python3 controle.py
Assurez-vous que les boucles et les conditions fonctionnent correctement pour les deux programmes.
Écrire des programmes en C et en Python qui utilisent une structure de contrôle (switch
en C et une série de if-elif
en Python) pour effectuer différentes opérations en fonction d’un opérateur.
Écrivez un programme qui :
num1
(entier)num2
(entier)op
(un caractère représentant un opérateur)switch
en C ou des conditions if-elif
en Python pour effectuer l’opération correspondant à la valeur de op
:
+
: Addition-
: Soustraction*
: Multiplication/
: Division%
: Modulo&
: Opération bitwise AND|
: Opération bitwise OR~
: Opération bitwise NOT (un seul opérande)switch
pour déterminer l’opération en fonction de la valeur de op
.Compilez et exécutez le programme :
$ gcc -o calculs calculs.c
$ ./calculs
Exécutez le programme :
$ python3 calculs.py
Écrire des programmes en C et en Python pour convertir et afficher un nombre entier en format binaire.
Écrivez un programme qui :
Vous devez utiliser la division par 2 et le reste de la division pour obtenir chaque chiffre binaire et afficher ces chiffres dans l’ordre correct.
for
pour traiter les bits du nombre entier.Compilez et exécutez le programme :
$ gcc -o binaire binaire.c
$ ./binaire
Exécutez le programme :
$ python3 binaire.py
Exercice : Comparaison entre C et Python
Objectif : Créer un document comparaisons.md qui résume les différences et similarités entre les langages C et Python en tenant compte des concepts suivants :
Bases de la programmation : Compare l’utilisation des fonctions pour afficher des données (printf
en C vs print
en Python) et discute des différences de syntaxe et de gestion de la mémoire.
Manipulation des variables : Compare la déclaration explicite des types en C avec le typage dynamique en Python, ainsi que l’utilisation des annotations pour le typage statique en Python.
Opérateurs : Détaille les opérateurs arithmétiques, logiques, et bit à bit en C, et explique comment Python gère les opérations.
Boucles et structures de contrôle : Compare l’utilisation des accolades pour délimiter les blocs de code en C avec l’indentation en Python, ainsi que les boucles (for
, while
) et les structures conditionnelles (if
, else
).
Conversion et formatage : Compare les techniques de formatage et de conversion (comme la conversion en binaire) en C et Python, en mettant en évidence les différences entre les fonctions spécifiques en C et les f-strings en Python.
Instructions :
1. NOM Prénom
2. NOM Prénom
# Bibliothèques:
* stdio.h
* ..
# Références:
* groupe..
* http://www.example.com
* ..
# Difficulté: ..
* ..
# Commentaires
* commentaire 1
* commentaire 2
* ..