Le document se
trouvant ici détaille les connaissances attendues en
informatique / langage C de la part des élèves admis au niveau M1 à
l'ENSTA. Note : le niveau M1 correspond à la deuxième année du cursus standard ENSTA. |
The document available
here details the expected knowledge in computer science / C
language from students entering ENSTA at the M1 level . Note: the M1 level corresponds to the second year of the standard ENSTA curriculum. |
Une compilation des transparents de cours à maîtriser est disponible ici. Ces transparents sont extraits de deux cours dispensé aux élèves de première année à l'ENSTA (IN102 et IN103). Les informations contenues dans ces derniers sont censées faire partie de vos connaissances. L'ensemble des points abordés dans les transparents est présenté ci-dessous en 11 résumés. | A set of slides to be
mastered is available here.
These slides are extracted from the course material given to the
ENSTA first year students (IN102 and IN103). Information contained in these slides must be part of your knowledge. All the topics covered in the slides are presented below into 11 summaries. |
Écrire un programme prenant un
nom de fichier en ligne de commande, construisant la liste
chaînée des mots présents dans ce fichier, affichant les mots
de cette liste puis libérant la mémoire occupée par la liste.
Idéalement, votre programme devra traiter les cas d'erreur
(fichier absent, mémoire indisponible) et libérer les
ressources allouées.
Solution |
Write a program taking a file
name on the command line, building the linked-list of the
words contained in this file, printing the words of this list
then freeing the memory occupied by the list. Ideally, your
program will have to handle the error cases (file do not
exist, not enough memory) and free the allocated resources.
Solution |
Écrire un
programme permettant de manipuler des fractions (+, -, *, /,
affichage et mise en forme irréductible). Une fraction devra
être représentée comme une structure à 3 champs: un signe, un
entier non signé pour le numérateur et un entier non signé pour
le dénominateur. Les différentes fonctions écrites seront
testées dans votre main
(). Solution |
Write a program to deal with fractions (+,
-, *, /, printing and irreducible form). A fraction must be
represented by a structure with 3 fields: one sign, one unsigned
integer for the numerator and one unsigned integer for the
numerator. The various written functions must be tested in your
main (). Solution |
Pour les utilisateurs
de Emacs, vous
pouvez télécharger un fichier de
configuration à nommer .emacs
dansvotre homedir (ou
bien si vous en avez déjà un, vous pouvez le compléter avec) et
qui permet d'activer quelques fonctionnalités comme la mise en
surbrillance automatique des parenthèses ouvrantes/fermantes,
l'indentation par des espaces et non des tabulations, quelques
raccourcis utiles (aller à une ligne, un caractère, ...). Pour les utilisateurs de vi/vim, Xavier Olive vous a aimablement préparé un fichier de configuration semblable à nommer .vimrc dans votre homedir. |
Users of Emacs,
can download a configuration file
to rename .emacs
and put in their homedir
(or, if you already have one, extend it). This configuration
enables some features like syntax highlighting, matching
parentheses highlighting, indentation with spaces and not tabs,
some useful keyboard shortcuts (go to line, go to character, ...). Users of vi/vim, can download the alternative configuration file prepared by Xavier Olive. This file must be renamed .vimrc in the user's homedir. |
Peu après votre arrivée à l'ENSTA, une journée animée par François Pessaux sera consacrée à quelques exercices algorithmiques à implanter en langage C. Il s'agit d'apprécier et parfaire votre aisance technique et verbale (en langue française) sur ce sujet. | Shortly after your arrival at ENSTA, a one-day training ran by François Pessaux will be devoted to some algorithmic exercises implemented in C language. The point is to appreciate and improve your technical and French-speaking skills on this topic. |