La ligne de commande 1. La ligne de commande. Mohamed N. Lokbani v2.00 Programmation avancée en C++

Documents pareils
Arguments d un programme

3IS - Système d'exploitation linux - Programmation système

Le prototype de la fonction main()

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Programmation système de commandes en C

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

1/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)

Cours d initiation à la programmation en C++ Johann Cuenin

Programmation C. Apprendre à développer des programmes simples dans le langage C

Introduction au langage C

Programmation système I Les entrées/sorties

I. Introduction aux fonctions : les fonctions standards

OS Réseaux et Programmation Système - C5

Programmation système en C/C++

Utilisation d objets : String et ArrayList

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Chap III : Les tableaux

Principes des langages de programmation INF 321. Eric Goubault

Rappels Entrées -Sorties

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Une introduction à Java

Le langage C. Séance n 4

INFO-F-404 : Techniques avancées de systèmes d exploitation

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

STAGE IREM 0- Premiers pas en Python

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Compression de Données - Algorithme de Huffman Document de Conception

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Architecture des ordinateurs

Bases de programmation. Cours 5. Structurer les données

Programmation Classique en langage C

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Algorithmique et Programmation, IMA

Les chaînes de caractères

INFO-F-105 Language de programmation I Séance VI

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Initiation à la programmation en Python

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Cours 1: Java et les objets

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Chapitre I Notions de base et outils de travail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

TP : Gestion d une image au format PGM

Java Licence Professionnelle CISII,

Cours Programmation Système

Programme Compte bancaire (code)

TP 1. Prise en main du langage Python

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Cours d Algorithmique et de Langage C v 3.0

Langage Java. Classe de première SI

Manuel d'installation

Généralités sur le Langage Java et éléments syntaxiques.

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Chapitre 4 : Édition de fichiers texte - Vi

Archivage des mails dans Outlook 2010

TD3: tableaux avancées, première classe et chaînes

Corrigé des TD 1 à 5

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Examen d informatique première session 2004

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Chapitre 5 : Les procédures stockées PL/SQL

Flux de données Lecture/Ecriture Fichiers

UE Programmation Impérative Licence 2ème Année

Structurer ses données : les tableaux. Introduction à la programmation

Premiers Pas en Programmation Objet : les Classes et les Objets

Dérivation : Résumé de cours et méthodes

Notions fondamentales du langage C# Version 1.0

4. Groupement d objets

Exercice sur les Dockers


PROJET ALGORITHMIQUE ET PROGRAMMATION II

Simulation d un système de paiement par carte bancaire

COMPARAISONDESLANGAGESC, C++, JAVA ET

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Cylindre interrupteur

Programmation en C. École Nationale Supérieure de Techniques Avancées. Pierre-Alain Fouque et David Pointcheval

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Sciences de l'information et de la communication. Enseignant-e-s. Année/Structure/Enseignements. H/sem.

Le système de gestion des fichiers, les entrées/sorties.

Cours Langage C/C++ Programmation modulaire

ALGORITHMIQUE ET PROGRAMMATION En C

Langages et Concepts de Programmation Introduction à la programmation en langage C

INF 104 (SELC) Introduction au langage C

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java


Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Module 16 : Les fonctions de recherche et de référence

Recherche dans un tableau

Support de Cours de Langage C. Christian Bac

Calcul Formel et Numérique, Partie I

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

MANUEL DRIVELINK DRIVELINK

Programmation impérative

Traduction des Langages : Le Compilateur Micro Java

Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail

Formation au e-business

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Transcription:

La ligne de commande 1 La ligne de commande

La ligne de commande 2 1. Définition d'une fonction 1 La définition se fait comme suit : type identificateur (paramètres) {... /* Instructions de la fonction. */ } «type» est le type de la valeur renvoyée. «identificateur» est le nom de la fonction. «paramètres» est une liste de paramètres. 1 Pour plus de détails, voir le chapitre 7 des notes de cours IFT1166 disponible à cette adresse : http://www.iro.umontreal.ca/~pift1166/cours/ift1166/communs/cours/notes_de_cours.html

La ligne de commande 3 Une définition = entête + corps Entête Corps int soustraction(int x, int y) { return (x-y); } Une fonction en C++ peut être définie globalement dans une autre fonction ou dans une classe. Dans ce dernier cas, la fonction porte le nom de «méthode». Il n y a pas de fonctions en Java seulement des méthodes.

La ligne de commande 4 2. Fonction «main» La fonction «main» est une fonction ordinaire quelconque avec quelques petites particularités propres à elle. Cette fonction constitue le point d entrée du programme. Quand un programme exécutable écrit en C++ est lancé, la première chose que ce programme va chercher à exécuter est la fonction «main». Prenons l exemple de cette commande : test.exe fichier.txt 3 c Quand on exécute le programme «text.exe», ce dernier va exécuter le contenu de la fonction «main» codée dans le programme C++, «test.cpp». En plus de cela, il va transmettre à la fonction «main» les éléments supplémentaires fournis sur la ligne de commande. Dans cet exemple, les éléments supplémentaires sont : «fichier.txt 3 c».

La ligne de commande 5 La fonction «main» est définie comme suit : int main(int argc, char*argv[]) ; La fonction «main» est une fonction quelconque qui retourne un entier et accepte deux arguments. L entier retourné permet de donner une indication sur l état d exécution du programme. Si la fonction retourne «0», l exécution du programme s est déroulée sans erreur. Dans le cas contraire, le programme a probablement planté pour une raison à déterminer. Les arguments de la fonction «main» représentent ce qui suit : La variable «argc» contient le nombre d arguments sur la ligne de commande. La variable «argv» est un tableau de pointeurs 2 sur les arguments de la ligne de commande. 2 Pour plus de détails, voir le chapitre 8 des notes de cours IFT1166 disponible à cette adresse : http://www.iro.umontreal.ca/~pift1166/cours/ift1166/communs/cours/notes_de_cours.html

La ligne de commande 6 Pour l appel «test.exe fichier.txt 3 c» : Dans cet exemple, l argument entier «argc» vaut «4». Cette valeur représente le nombre d éléments sur la ligne de commande, incluant le nom du programme. L argument «argv» va contenir la ligne de commande découpée en chaînes de caractères {" test.exe ", " fichier.txt ", " 3 ", " c "}. En C++, l argument «0» est le nom du programme exécutable. Indice de l argument Argument argv[ ] 0 test.exe argv[0] 1 fichier.txt argv[1] 2 3 argv[2] 3 c argv[3] Les éléments sont transmis par le système d exploitation (Linux, Mac ou Windows) à votre programme de manière transparente. Ceci ne doit pas constituer une préoccupation pour vous. Voyez cette transmission comme un appel ordinaire à une fonction à deux arguments : int exemple (int vv, char** ww) {// une fonction quelconque}; int zz = 4 ; char* xx = {" test.exe ", " fichier.txt ", " 3 ", " c "} ; int aa = 0 ; aa = exemple (zz, xx) ;

La ligne de commande 7 Par convention, pour désigner une option, on utilise la convention «-lettre». Pour l appel «test.exe h e=1» : argc=3 Indice de l argument Argument argv[ ] 0 test.exe argv[0] 1 -h argv[1] 2 -e=1 argv[2] On doit faire une analyse syntaxique pour extraire des informations pertinentes de la ligne de commande. Nous devons par exemple analyser «argv [2]» caractère par caractère, afin d arriver à la conclusion, c est une option qui a été choisie «-». Elle porte le nom de «e» et elle a une valeur «1». Les langages C/C++ fournissent la fonction «getopt» qui permet d effectuer une analyse lexicale de la ligne de commande. Pour pouvoir utiliser les fonctionnalités de «getopt», il faudra inclure le fichier d en-tête : #include<getopt.h>

La ligne de commande 8 La syntaxe de la fonction «getopt» est : int getopt(int argc, char **argv, char *optstring) ; Il faudra définir dans le programme les variables suivantes : extern char *optarg ; extern int optind, opterr; La fonction «getopt» retourne la lettre de l'option courante de la ligne de commande qui correspond à l'une des lettres d'option présente dans la chaîne «optstring». La chaîne de référence «optstring» doit contenir l'ensemble des lettres des options possibles. Si une lettre d'option est suivie d'un caractère «:», cette option annonce un ou plusieurs arguments séparés par un espace. La variable «optarg» est alors préinitialisée pour pointer sur le début de l'argument de l'option. La variable «optind» est l'index de la chaîne courante. Cet index est compris entre «0» et «argc».