UE1 - Langage C Fiche TP1
|
|
- Nathalie Desroches
- il y a 8 ans
- Total affichages :
Transcription
1 1 UE1 - Langage C Fiche TP1 Objectifs 1. Connaître quelques commandes linux 2. Savoir manipuler les outils de compilation tels que gcc, make 3. Ecrire des algorithmes, les coder en C, et les exécuter 1. L environnement : linux (cygwin pour le moment) Lancement : double cliquer sur cygwin, taper la commande : startx& Commande de base man cmd : fichier d aide sur la commande cmd (exemple : man man) ls : lister le contenu d un répertoire ls l : donne la liste détaillée du répertoire (droits d accès, propriétaires, tailles, date de création, nom) ls a : liste également les fichiers cachés (un fichier est caché lorsque son nom commence par un «.» ls rep1 rep2 : liste les répertoires rep1 et rep2 pwd : connaître le chemin d accès du répertoire courant mkdir NOM : créer un répertoire cp fichier1 fichier2 : copier un fichier cp r rep1 rep2 : copie récursive du répertoire rep1 sur le répertoire rep2 mv fichier1 fichier2 : déplacer/renommer un fichier rm fic : supprime le fichier fic rm r rep : supprime le répertoire rep rm i fic : demande la confirmation avant d effacer!! : rappel la dernière commande!r : rappel la dernière commande commençant par r history : donne l historique des commandes!xxx : exécute la commande numéro xxx dans l historique * : n importe quoi (ex : ls *.c : liste tous les fichiers portant l extension c) grep : recherche d une chaîne de caractère dans l entrée standard cat : liste le contenu d un fichier wc : permet de compter le nombre de lignes, de mots, d octet sur l entrée standard wc l : compte uniquement le nombre de lignes wc -m : compte uniquement le nombre de caractères wc w : compte uniquement le nombre de mots : le pipe, permet d enchaîner plusieurs commandes (cat fic wc l : permet de compter le nombre de lignes du fichier fic) locate : permet de localiser un fichier ou un répertoire find : idem mais moins rapide (find repsrc name nom : recherche nom depuis le répertoire repsrc (y compris dans les sous répertoires))
2 2 touch nom : remplace la date de dernière mise à jour du fichier nom par la date courante.. : le répertoire courant.. : le répertoire parent / : la racine./rep1/rep2/ : un chemin d accès à partir du répertoire courant cd rep : aller dans le répertoire rep Droits d accès Les utilisateurs ont la possibilité de gérer l accès à leurs fichiers. chmod utilisateur mode fichiers utilisateur : u (user), g (group), o (autre que groupe), a (all) mode : x : exécution, w : écriture, r : lecture + : donne l accès - : retire l accès Exemple : chmod a +r w * : tous les utilisateurs ont le droit de lire mais pas d écrire sur tous les fichiers et répertoires du répertoire courant Un indicateur d indique si le nom listé (ls l) correspond à un répertoire ou non. Manipuler des fichiers : la commande tar Assembler plusieurs fichiers et répertoires en un seul tar cvf nom.tar fic1 rep1 fic2 Extraire des fichiers tar xvf nom.tar [<liste>] Lister le contenu d un fichier tar tar -tvf nom.tar Editer des fichiers : vim (pour le moment) 2 modes : commande, édition au lancement (vim toto.c) on est en mode commande passage du mode commande vers le mode édition : i passage du mode édition vers le mode commande : ESC le déplacement (flèches) n est possible qu en mode commande En mode commande :w [toto] : enregistre sous le nom toto (facultatif si un nom a déjà été défini) : :q : quitter : q! : quitter sans sauver :e toto : Editer le fichier toto [nn] x : supprime [nn] caractères à partir du caractère courant a : passe en mode insertion après le caractère suivant MAJ + a : passe en mode insertion en fin de ligne o : passe à la ligne suivante MAJ + o : ajoute une ligne avant la ligne courante r : remplace le caractère courant par le caractère tapé après r [nn] dd : supprime [nn] lignes (dd : supprime la ligne courante) [nn] yy : copie [nn] lignes (yy : copie la ligne courante) p : colle la copie après la ligne courante CTRL + b : retour 10 lignes en arrière
3 3 CTRL + f : va 10 lignes plus loin :$ : va en fin de fichier. : répète la dernière commande 2. gcc Fichier.c : fichier contenant le code source Fichier.o : fichier binaire objet (obtenu après compilation) Fichier : exécutable (obtenu après édition des liens) Syntaxe : gcc [option filename] -c : réalise uniquement la compilation gcc c fichier.c : compile fichier.c et génère fichier.o gcc fichier.c : compile et réalise l édition des liens sur les binaires objets, génère l exécutable a.out sans générer le binaire objet. -o : spécifie le nom du fichier exécutable, par défaut le nom donné est a.out. gcc fichier.c o fichier : génère l exécutable fichier -w : aucun warning affiché -Wall : active tous les warning à la compilation -WXXX : ajoute un niveau de warning (cf. man gcc) -O1, -O2, -O3 : niveau d optimisation du code -O0 : pas d optimisation -ansi : compilation avec le standard ANSI (incompatible sur certains points avec le compilateur GNU) -lm : si la librairie mathématique math.h est utilisée 3. makefile et commande make Lorsque l on développe une application, il est souvent utile voir nécessaire de séparer le code développé en plusieurs fichiers. Ceci est particulièrement vrai lorsque plusieurs personnes développent ensemble, lorsque l on développe des bibliothèques de fonctions que l on veut pouvoir réutiliser dans d autres programmes ou tout simplement dans un souci de clarté. La commande gcc permet d inclure des fichiers d origine diverse (binaire objet, code source, ) afin de générer un fichier exécutable. Compilation et édition des liens Dans ce premier test, l ensemble du code est contenu dans le même fichier. Exécutez : gcc test1.c c Exécutez : gcc test.o ou gcc test.c test1.c #include <stdio.h> int troisfois(int x) { return 3*x ; } int main() { int a, b ; a = 3 ; b = troisfois(a) ; printf("a=%d,b=%d\n",a,b); return 0; }
4 4 On décide de créer une librairie contenant le code de la fonction troisfois. Les fichiers lib.h et lib.c sont donc créé. Lib.h contient le prototype de la fonction (c est à dire son interface). Le fichier lib.c contient le code de la fonction. Lors de la compilation, le compilateur vérifie que le code est syntaxiquement correct. Si une fonction n est pas définie, il y a déclaration implicite de celle-ci (c est à dire un prototype standard int f(param)). Sur ce point les compilateurs C sont très tolérants. Exécutez : gcc test2.c c Exécutez : gcc test2.c c Wall test2.c #include <stdio.h> int main() { int a, b ; a = 3 ; b = troisfois(a) ; printf("a=%d,b=%d\n",a,b); return 0; } lib.c int troisfois(int x) { return 3*x ; } lib.h int troisfois(int x) ; Ajouter #include "lib.h" dans le fichier test2.c. Exécutez : gcc test2.c c -Wall Exécutez : gcc test2.c ou gcc test2.o Exécutez : gcc test2.c lib.c ou gcc c test2.c puis gcc c lib.c puis gcc test2.o lib.o Lorsque le programme développé est de petite taille, on peut s en sortir avec la ligne de commande de gcc. Par contre, la commande gcc test2.c lib.c recompile la librairie lib.c même si celle-ci n a pas évolué depuis la dernière compilation. Il serait donc plus judicieux d exécuter gcc test2.c lib.o afin d éviter une perte de temps. Afin d automatiser ce type de raisonnement, on a introduit la notion de makefile. Elle permet par un jeu de dépendances de réduire au maximum les fichiers compilés. Exemple : test1.o dépend de test1.c, si on modifie test1.c il faut générer test1.o à nouveau. De même l exécutable test2 dépend des binaires objets test2.o et lib.o qui dépendent respectivement de test2.c et lib.c. Si test2.c est modifié, cela entraîne une mise à jour de test2.o et de test2 sans pour autant que lib.o soit modifié. L ensemble des dépendances sont stockées dans le fichier makefile présent dans le répertoire de lancement de la compilation. La commande gcc est remplacée par un simple appel à la commande make. La commande make est un générateur de commande Shell, elle permet une automatisation des opérations de compilation, édition des liens, nettoyage de répertoires, liées à la gestion de programmes impliquant un ensemble de modules. L objectif est le maintien de la cohérence du programme global lorsque des modifications sont faîtes dans un ou plusieurs modules. Pour mettre en œuvre cette automatisation il est nécessaire de décrire les dépendances qui existent entre les modules. Un module M1 dépend d un module M2 si une modification de M2 implique une mise à jour de M1. La commande make réalise une telle mise à jour à partir de la description des dépendances entre modules et de la spécification des actions à exécuter pour
5 5 obtenir une version cohérente. Le critère de mise à jour est donc la date de dernière modification des fichiers. Le processus de mise à jour est récursif : si M1 dépend de M2 qui dépend de M3 alors M1 est mis à jour en fonction de la version à jour de M2 qui dépend des modifications de M3. Exemple de makefile Règle : prog.o dépend de prog.c, si prog.c est modifié, on met à jour prog.o avec la commande gcc c prog.c. Traduction en langage make prog.o : prog.c #expression de la dépendance gcc c prog.c #expression de l action, attention à la tabulation le fichier makefile est placé dans le même répertoire que prog.c, et la commande d appel est «make prog.o». Formulation générale A : B # A : cible, B : fichier(s) dont dépend A Action # Action à exécuter Algorithme de make Traiter(A) Si B existe ou Si B existe comme cible Alors Si B existe comme cible alors Traiter(B) Finsi Si (A plus ancien que B) ou (A n existe pas et B existe) ou (B n existe pas) alors Exécuter Action Finsi Sinon Erreur FinSi Le langage make # commentaire, \ : permet de continuer une commande sur la ligne suivante Les macros Définition : <nom de macro> = <chaîne de caractère> Exemple : SOURCE : prog1.c prog2.c prog3.c OBJET : prog1.o prog2.o prog3.o OPTIONS : -c CMD : gcc Appel : $m ou $(macro) où m désigne un nom de macro à une seule lettre et macro un nom de macro à plusieurs lettres. Exemple : $(OBJET) : $(SOURCE) $(CMD) $(OPTIONS) $(SOURCE) Règles d usage : utiliser des majuscules pour les noms de macro Macros : nom du fichier à mettre à jour (avec le suffixe)? : liste de noms de fichiers (de la liste de dépendance) plus récents que la cible * : le préfixe éventuel commun au fichier courant et à un fichier dépendant < : désigne le(s) nom(s) de fichiers (préfixe et suffixe) dont dépend le fichier à mettre à jour
6 6 Exemple : prog : prog1.o prog2.o prog3.o gcc o prog c prog1.o prog2.o prog3.o echo édition des liens et génération de prog equivalent à prog : prog1.o prog2.o prog3.o gcc o $@ c $< echo edition des liens et génération de $@ Règles implicites : définissent des dépendances génériques à partir des seuls suffixes, ainsi que les commandes de mise à jour associées. La clause.suffixes permet de définir les suffixes reconnus par make.suffixes :.o.c Une règle de dépendance, par exemple.c.o, définit une règle de transformation d un fichier de suffixe.c à un fichier de suffixe.o. L ordre est donc l inverse de celui des spécifications de dépendances. Exemple :.c.o : gcc c $*.c l exécution de make permet de mettre à jour tous les.o dont le.c associé a été modifié..c.o : est équivalent à %.o : %.c L exécution de make toto.o permet de mettre à jour toto.o si toto.c a été modifié. La commande make make [options] [liste de fichiers cible] [définition de macros] Options : -s : mode muet (pas d affichage des commande exécutées) -n : mode passif (les commandes sont affichées mais pas exécutées) -r : les règles implicites ne sont pas utilisées -d : mode debug (informations détaillées) -p : mode bavard (affiche les macros et les dépendances) -f <nom> : spécification d un fichier de dépendances autre que makefile ou Makefile. Exemple : soit le fichier make nommé maj suivant COMP = gcc OPTS = -c FILE1 = prog1.o lib.o FILE2 = prog2.o lib.o all : prog1 prog2 prog1 : $(FILE1) $(COMP) $(FILE1) o $@ prog2 : $(FILE2) $(COMP) $(FILE2) o $@.c.o : $(COMP) $(OPTS) $*.c clean : rm *.o Utilisation
7 7 make f maj prog1 : mise à jour de prog1 make f maj all : mise à jour de prog1 et prog2 make f maj prog.o : mise à jour de prog.o (dernière règle) make f maj : utilisation de la première dépendance trouvée make f maj clean : supprime les binaires objets On peut ajouter dans un Makefile des commandes shell (cd rep ; ) 4. Exercices Les commandes Shell : manipuler les commandes en créant entre autre une arborescence pour vos TPs de C et en changeant les droits d accès. La commande Tar : lister puis extraire les fichiers contenus dans tp-make.tar, en fin de TP créer une archive tar contenant les fichiers sources. La commande Make : un répertoire principal contient deux sous répertoires lib et pgm. Le répertoire lib contient des modules et des interfaces permettant de construire une librairie. Le répertoire pgm contient un programme principal utilisant la librairie. Les dépendances pour la construction du programme sont les suivantes Répertoire lib Répertoire pgm main lib.a inv.o comp.o mathinfo.o main.o inv.c inv.h comp.c comp.h mathinfo.c mathinfo.h main.c Ecrire les différents makefile permettant Dans le répertoire lib de générer les binaires objets inv.o, comp.o, mathinfo.o d créer la librairie lib.a, la commande étant ar rc nom file1 file2 ranlib nom nom étant le nom de la librairie, file1, file2 étant les noms des binaires objets dont dépend la librairie Dans le répertoire pgm : on suppose que la librairie est créée all : permet de tout compiler main : permet de générer l exécutable clean : efface l exécutable et le binaire objet Dans le répertoire principal all : compilation de la librairie et du programme clean : supprimer les binaires objets distrib : regrouper dans un fichier tar les répertoires pgm et lib Le makefile présent dans le répertoire principal doit appeler les deux makefiles, l un situé dans le répertoire lib et l autre situé dans le répertoire pgm
8 8 Pour chacun de ces makefile, essayez dans un premier temps d écrire des choses simples avant d écrire des macros et des règles implicites. Petit rappel : tests et affectation Taper et exécuter le code suivant. x=0 ; y= 1 ; if (x = y) printf("x=%d et y=%d donc x=y\n",x,y); else printf("x=%d et y=%d donc x /= y \n",x,y) ; Le crible d Eratosthène Eratosthène a défini une méthode de recherche des nombres premiers utilisant un minimum d opérations arithmétiques. Pour chercher les nombres premiers inférieurs à N, un tableau de N booléens est défini et initialisé à VRAI. Lee rang initial de l algorithme est 2 et correspond à l indice de la prochaine case à analyser. Cette case a comme valeur VRAI ce qui indique que l indice correspond à un nombre premier. Il faut donc éliminer tous ses multiples en affectant FAUX aux cases associées. On recherche ensuite le prochain nombre premier non encore traité et on recommence ce même traitement tant que c est possible. Ecrire l algorithme du crible et l exécuter. Suite numérique : Considérons une suite numérique pour laquelle U0 est un nombre entier naturel non nul et définie par 3U n + 1 Si Un est impair U n+ 1 = U n / 2 Sinon On admettra qu à partir d une certaine valeur de n suffisamment grande, la suite prend les valeurs 1, 4, 2, 1, 4, 2, 1, On appellera temps de vol, le nombre d itérations nécessaires afin d obtenir pour Un la valeur 1 pour la première fois. On appellera altitude maximale atteinte, la valeur maximale atteinte par Un. Ecrire une fonction qui calcule et qui renvoie Un+1 en fonction de Un Ecrire un programme en C permettant de lire la valeur de U0 et d afficher la suite Un jusqu à ce que l on obtienne Un = 1. Ecrire une fonction qui calcule et qui renvoie le temps de vol en fonction de U0 Ecrire une fonction qui calcule et qui renvoie l altitude maximale atteinte en fonction de U0. Ecrire un programme permettant pour U0 allant de 1 à U0max (donné par l utilisateur) d afficher pour chaque valeur de U0 : Le temps de vol L amplitude maximale atteinte De plus, on indiquera la valeur de U0 (parmi les valeur allant de 1 à U0max) correspondant : Au temps de vol maximum A l altitude maximale atteinte
Quelques éléments de compilation en C et makefiles
Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable
Plus en détailOutils pour la pratique
Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.
Plus en détailTP1 - Prise en main de l environnement Unix.
Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailCours Langage C/C++ Programmation modulaire
Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation
Plus en détailSeance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Plus en détailBon ben voilà c est fait!
Bon ben voilà c est fait! Au programme : - Exploration de l arborescence et informations systèmes - Action sur les dossiers et fichiers - Gestion des autorisations - Conversion pdf en text - Connexion
Plus en détailTP 1 Prise en main de l environnement Unix
Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session
Plus en détailIntroduction à Linux (pour le HPC) «Linux 101» Présentation : http://goo.gl/bvfyn
Introduction à Linux (pour le HPC) «Linux 101» Présentation : http://goo.gl/bvfyn maxime.boissonneault@calculquebec.ca U. Laval - Mars 2013 1 2 Plan de la présentation 1.Accéder à une grappe 2.Fichiers
Plus en détailTP1 : Initiation à l algorithmique (1 séance)
Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailIntroduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5
Système d'exploitation Sommaire Introduction...3 Objectif...3 Manipulations...3 La Sauvegarde...4 Les différents types...4 Planification...4 Les outils...5 Quelques commandes...5 La commande tar...5 La
Plus en détailChapitre 10 : Logiciels
Chapitre 10 : Logiciels Installation de logiciels dans Linux IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 1 10.1 Installation manuelle Cette partie explique comment on compile et installe un logiciel
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailMon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2
Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................
Plus en détailIntroduction au Système d Exploitation Unix/Linux
1 iere partie: Système de Gestion de Fichier B. Jacob IC2/LIUM 17 septembre 2013 Plan 1 Notions de fichier 2 Notions de répertoire 3 Organisation des répertoires 4 Identification d un fichier dans l arborescence
Plus en détailPRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille
PRESENTATION RESSOURCES Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille 1) Introduction, Objectifs et Intentions Le BTS SN (Systèmes Numériques) intègre la formation
Plus en détailAtelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014
Atelier individuel Linux 101 Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014!1 !2 Se connecter à Colosse colosse.calculquebec.ca SSH est un protocole
Plus en détailAide-Mémoire unix. 9 février 2009
Aide-Mémoire unix Nicolas Kielbasiewicz 9 février 2009 Le système d exploitation unix est de plus en plus présent aujourd hui. Comme tous les projets Open Source, on le trouve sous différentes formes :
Plus en détailLa mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
Plus en détailProgrammation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
Plus en détailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailC.M. 1 & 2 : Prise en main de Linux
Grégory Bonnet gregory.bonnet@unicaen.fr GREYC Université Caen Basse Normandie Diaporama original : Jean-Philippe Métivier - Boris Lesner But de cet enseignement 1 - Apprendre à manipuler un système Unix/Linux
Plus en détailLe prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
Plus en détailNotes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon
Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon 13 janvier 2015 2 Table des matières Organisation générale du cours 7 1 Notions générales d algorithmique et de programmation
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailURECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2
Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont
Plus en détailPremiers pas en Linux
Premiers pas en Linux 1 Bref historique Linux Système d'exploitation créé en 1991. Par Linus Torvalds un étudiant nlandais. Développé et amélioré par des centaines de spécialistes dans le monde. Particularité
Plus en détail1 Description générale de VISFIELD
Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit
Plus en détail1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :
1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : La procédure d installation démarre. La fenêtre suivante vous indique
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailInstallation d'un serveur sftp avec connexion par login et clé rsa.
Installation d'un serveur sftp avec connexion par login et clé rsa. 1- Installation d'openssh-server 2 2- Installation de Vim pour modifier plus facilement les fichiers 2 3- Installation et configuration
Plus en détailInitiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailLangage Éric Guérin 5 octobre 2010
Langage Éric Guérin 5 octobre 2010 Langage C TABLE DES MATIÈRES Table des matières 1 Introduction 7 1.1 Historique........................................... 7 1.2 Architecture matérielle....................................
Plus en détailLe langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Plus en détailLe langage C. Introduction, guide de reference
Le langage C Introduction, guide de reference Ce document est une présentation du langage de programmation C, de sa syntaxe et de ses spécificités. Il est destiné essentiellement à servir de mémo-guide
Plus en détailTuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO
Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO Dans Virtual box, la machine virtuelle xibo éteinte, sélectionner la et cliquer sur l icône configuration : Dans la fenêtre
Plus en détailCours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Plus en détailPROJET ALGORITHMIQUE ET PROGRAMMATION II
PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du
Plus en détailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
Plus en détailCours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février
Plus en détailCompression de Données - Algorithme de Huffman Document de Conception
ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs
Plus en détail[DEVELOPPEMENT SUR LA CIBLE 2440] 19 avril 2010
I n s t a l l a t i on e t U t i l i sa t i o n : C I B L E 2 4 4 0 Sommaire 1. Introduction... 3 2. Dialogue avec la cible 2440... 4 1. Par Port Série... 4 2. Par TFTP... 8 3. Par FTP... 14 4. par NFS...
Plus en détailProjet Administration Réseaux
EL KHATIT Zouhair, L3 ASR N : 20072486 Projet Administration Réseaux Thème : SFTP & SCPOnly I- SFTP (Secure File Transfer Protocol) : Introduction: Le SFTP permet de transférer des fichiers par une connexion
Plus en détailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailIntroduction à l algorithmique et à la programmation M1102 CM n 3
Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détail1 Démarrage de Marionnet
Institut Galilée Administration Système Année 2011-2012 INFO 2ème année Master Info 1 Master Image & Réseau 1 T.P. 1 Administration Système Le logiciel Marionnet (www.marionnet.org) offre la possibilité
Plus en détailTutorial uclinux ARM7 Development Starter Kit. Pragmatec Produits et services dédiés aux systèmes embarqués. uclinux - Mise en oeuvre
Pragmatec Produits et services dédiés aux systèmes embarqués Tutorial uclinux ARM7 Development Starter Kit 15 Octobre 2006 Rev 1.06 1 / 36 2 / 36 Le kit de développement ARM7 est un kit réalisé par la
Plus en détailUtiliser Dev-C++ .1Installation de Dev-C++ Table des matières
Utiliser Dev-C++ Voici quelques explications sur l utilisation de Dev-C++, un excellent environnement de développement en C et C++ pour Windows qu on peut télécharger librement depuis le site www.bloodshed.net
Plus en détailUnix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Plus en détail«Astrophysique et instrumentations associées» Cours UNIX. 2006 Benoît Semelin
M2 «Astrophysique et instrumentations associées» Cours UNIX 2006 Benoît Semelin Les OS OS = Operating System : Programme de base qui assure la gestion du matériel (clavier, écran, disque dur...), du système
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailContents. 1 Premiers pas en Linux. 1.2 Généralités. 1.1 Bref historique Linux
Contents 1 Premiers pas en Linux 1 1.1 Bref historique Linux....................... 1 1.2 Généralités............................. 1 1.3 Arborescence sous Linux...................... 2 1.4 Commandes fondamentales....................
Plus en détailLe Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Plus en détail1 Mesure de la performance d un système temps réel : la gigue
TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailTP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts
E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond
Plus en détailCréer le schéma relationnel d une base de données ACCESS
Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...
Plus en détailModule : Informatique Générale 1. Les commandes MS-DOS
1 Les commandes MS-DOS I. Introduction Le DOS est le système d'exploitation le plus connu, sa version la plus commercialisée est celle de Microsoft, baptisée MS-DOS (Microsoft Disk Operating Système).MS-DOS
Plus en détailTD séances n 3 et n 4 Répertoires et Fichiers sous Unix
Ce TP est destiné à vous familiariser avec les fichiers sous l'environnement UNIX. Fortement axé sur la pratique, il aborde la création, la manipulation et la suppression des répertoires et fichiers. 1
Plus en détailIntroduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un
Plus en détailL informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
Plus en détailAlgorithmique, Structures de données et langage C
UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure
Plus en détailTP Bases de données réparties
page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure
Plus en détailLes structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
Plus en détail1.1 L EXPLORATEUR WINDOWS
Gérer les fichiers et les dossiers Cette partie du T.P. a pour objectifs de vous familiariser avec les méthodes pour copier, déplacer, effacer, renommer des dossiers et des fichiers. 1.1 L EXPLORATEUR
Plus en détailChap III : Les tableaux
Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction
Plus en détailLangages et Concepts de Programmation Introduction à la programmation en langage C
Langages et Concepts de Programmation Introduction à la programmation en langage C Cours 1A 2013-2014 Jean-Jacques Girardot, Marc Roelens girardot@emse.fr, roelens@emse.fr Septembre 2013 École Nationale
Plus en détailTD3 - Facturation avec archivage automatisé
TD3 - Facturation avec archivage automatisé Objectifs Insérer les formules nécessaires aux calculs d une facture. Créer une macro- commande avec l enregistreur de macros et l affecter à un bouton. Utiliser
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Plus en détailProgrammation en langage C
Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailSéance 0 : Linux + Octave : le compromis idéal
Séance 0 : Linux + Octave : le compromis idéal Introduction Linux est un système d'exploitation multi-tâches et multi-utilisateurs, basé sur la gratuité et développé par une communauté de passionnés. C'est
Plus en détailTutoriel Création d une source Cydia et compilation des packages sous Linux
Tutoriel Création d une source Cydia et compilation des packages sous Linux 1. Pré-requis 1. Quelques connaissances sous Linux 2. Avoir à disposition un Serveur FTP pour héberger votre source 3. Un thème
Plus en détailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailInformatique I. Sciences et Technologies du Vivant (Semestre 1)
Informatique I Sciences et Technologies du Vivant (Semestre 1) Vincent Lepetit vincent.lepetit@epfl.ch http://cvlabwww.epfl.ch/~lepetit/courses/sv https://www.coursera.org/course/intro-cpp-fr 1 Cours 1
Plus en détailDate M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B
Excel : Réalisation d un classeur Compta Saisir les étiquettes Renommer la première feuille Compta Laisser la première ligne vide et sur la deuxième ligne saisir les étiquettes Se placer sur A2 et saisir
Plus en détailPLAN Introduction à UNIX Patrick Fuchs Dynamique des Structures et Interactions des Macromolécules Biologiques Université Paris Diderot patrick.fuchs@univ-paris-diderot.fr 2 PLAN Système d'exploitation
Plus en détailPROCEDURE D'INSTALLATION OPENREPORTS
PROCEDURE D'INSTALLATION OPENREPORTS Table des matières Prérequis...2 1 Installation linux...2 2 Installation JAVA...3 2.1 Installation de la jdk...3 2.2 Configuration de l'environnement...3 3 Installation
Plus en détailALGORITHMIQUE ET PROGRAMMATION En C
Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailAnnée 2007. Cours Unix-Shell. par. Karam ALLALI. Ecole Spéciale d Informatique
Année 2007 Cours Unix-Shell par Karam ALLALI Ecole Spéciale d Informatique Table des matières 1 Introduction. 5 1.1 Historique.................................... 6 1.2 Système d exploitation.............................
Plus en détailTP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL
TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours de ce TP, vous allez installer un serveur de courrier sur un réseau local. Les étapes par lesquelles vous allez passer sont les suivantes
Plus en détail