Exercices

Exercices #

Arbre Pythagore
Arbre de pythagore # Les différentes variantes et la construction de l’arbre de Pythagore sont détaillées sur la page Wikipedia en français ou en anglais Écrivez un programme qui trace l’arbre de Pythagore. Ci dessous, un arbre de Pythagore droit, en couleur, obtenu avec le module turtle de Python.
Conversion Contrainte C
Conversion sous contrainte # Conversion d’un entier # On souhaite écrire un programme qui traite une chaîne de caractères contenant un nombre entier en ASCII (par exemple : "206") et construit un entier contenant cette valeur. Pour faire cela toutefois, on se limitera à des calculs bas niveau, et on s’interdira d’utiliser : scanf ou les fonctions définies dans string.h. L’idée générale est de parcourir la chaîne (pointeur), et de construire le nombre en se limitant à des additions et des multiplications.
Fichier Donnees
Traitement d’un fichier de données # Vous disposez d’un fichier de données contenant 100 lignes, et 3 colonnes. Tous les nombres sont entre 0 et 10. Votre objectif est de produire un nouveau fichier de données qui contient encore 100 lignes avec sur chaque ligne, la moyenne géométrique et la moyenne arithmétique des 3 colonnes. Pour le fichier d’entrée : 2 3 7.5 1 2 1 2 3 10 .
Game of Life
Jeu de la vie # Nous proposons de programmer un automate cellulaire en 2D : le jeu de la vie, de John Conway. Avant de commencer la lecture du sujet, vous devez prendre connaissance de la manière de programmer un automate cellulaire en 2D. Ce point est abordé sur la page Automates cellulaires 2D : Généralités. Vous aurez peut être aussi besoin de vous renseigner sur la réalisation de graphismes.
Lecture Fichier C
Histogramme et lecture dans un fichier # Le fichier tailles.txt contient les tailles en centimètres d’un millier de personnes. Écrivez un programme qui lit ce fichier. Puis produisez un tableau de nombres indiquant, en case k, combien de personnes mesurent entre 5k et 5 (k+1) centimètres. Pour réaliser ceci vous devez vous documenter sur : les fonctions d’entrée sortie les tableaux
Mots8
Recherche de mots # Le fichier mots8.txt contient un peu plus de 50000 mots français de 8 lettres ou moins (les accents on été enlevés). Écrire un programme pour charger ce dictionnaire et le stocker en mémoire, puis rechercher les mots correspondant à un motif particulier. Les motifs seront donnés sous forme d’une chaîne contenant des lettres ou des points. Les points pourront représenter n’importe quelle lettre. Par exemple, le motif .
Racines Polynome C
Racines d’un polynôme # Nous allons calculer les racines dans l’ensemble des réels d’un polynôme donné du second degré à coefficients réels. Le programme doit indiquer par une phrase complète en français s’il n’y a aucune solution réelle, une solution réelle (et si oui laquelle) ou deux solutions réelles (et si oui lesquelles). Vous partirez du programme suivant : #include <stdio.h>#include <stdlib.h>typedef struct { float a,b,c; } polynome; typedef struct { float x1,x2; } racines; /* Fonction renvoyant les racines d'un polynome */ racines resolution(polynome p) { } /* Programme principal */ int main(void) { racines rac; polynome pol; printf("Entrez les trois coefficients :"); scanf("%f%f%f",&pol.
Romain
Conversion en chiffres romains # Dans cet exercice, vous devrez rendre un programme concis (i.e. écrit de manière élégante et astucieuse) et correctement commenté. Écrivez un programme qui demande un entier compris entre 0 et 3000 et l’écrit en chiffres romains. Les symboles sont les suivants : Romain I V X L C D M Décimal 1 5 10 50 100 500 1000 Vous devez éviter la répétition de 4 symboles identiques en utilisant le système de soustractions : Voici quelques exemples :
Solveur Sudoku
Solveur de Sudoku # Le but de ce travail (assez long) est d’écrire un programme qui peut résoudre des grilles de Sudoku. Prérequis # Connaître les règles du jeu Références # Vous pourrez trouver d’autres informations sur la résolution automatique des Sudoku dans “Le tsunami des Sudoku” de Jean-Paul Delahaye, Pour la Science n°338, Décembre 2005. Structure de données # La grille de Sudoku serait idéalement représentée par un tableau.
Cryptographie 02 (analyse fréquentielle)
Crypto 02 : Analyse fréquentielle # Pour réaliser ce TP, vous devez connaître les méthodes de chiffrement suivantes : Chiffre de César Chiffre de Vigénère Transposition : on prend 1 caractère tous les k caractères et on cycle… Écrivez une fonction qui lit un fichier et stocke son contenu dans une chaîne de caractères. Écrivez une fonction qui calcule la fréquence d’apparition des caractères dans une chaîne.
Exercices de programmation (divers)
Exercices de programmation (divers) # \(\) Années bissextiles # Écrivez une fonction qui prend en paramètre une année et indique si elle correspond à une année bissextile (la fonction renverra donc True ou False). Une année est généralement bissextile si elle est divisible par 4. Les exceptions sont les années divisibles aussi par 100, qui ne sont pas bissextiles. Les années multiples de 400, elles, sont cependant bissextiles…