Outils et Logiciels d Optimisation - Cours 4 et 5



Documents pareils
Introduction au langage C


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)

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

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

Programme Compte bancaire (code)

Cours d Algorithmique et de Langage C v 3.0

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Architecture des ordinateurs

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

Algorithmique et Programmation, IMA

Java Licence Professionnelle CISII,

Programmation en C/C++

COMPARAISONDESLANGAGESC, C++, JAVA ET

Claude Delannoy. 3 e édition C++

INF 321 : mémento de la syntaxe de Java

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

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

Plan du cours. Historique du langage Nouveautés de Java 7

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

Une introduction à Java

Programmation système I Les entrées/sorties

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

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

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Introduction à l algorithmique et à la programmation M1102 CM n 3

Informatique III: Programmation en C++

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

Notions fondamentales du langage C# Version 1.0

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Programmation en Java IUT GEII (MC-II1) 1

Chap III : Les tableaux

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

Le prototype de la fonction main()

Programmation C++ (débutant)/instructions for, while et do...while

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Programmation Classique en langage C

Programmation C. J.-F. Lalande. 15 novembre 2012

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Programmation en langage C

Programmer en JAVA. par Tama

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

et Programmation Objet

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Programmation système de commandes en C

Langage Java. Classe de première SI

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Package Java.util Classe générique

Principes des langages de programmation INF 321. Eric Goubault

Rappels Entrées -Sorties

OS Réseaux et Programmation Système - C5

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

Lier Erlang avec d autres langages de programmation

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

I. Introduction aux fonctions : les fonctions standards

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

Le langage C++ (partie I)

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

as Architecture des Systèmes d Information

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

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

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

Corrigés des premiers exercices sur les classes

Introduction à C++ et à wxwidgets

Conventions d écriture et outils de mise au point

Département Automatisation et Informatisation Année Programmation en C++ Institut des Sciences et Techniques de l Ingénieur d Angers

Arguments d un programme

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

SUPPORT DE COURS. Langage C

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

ACTIVITÉ DE PROGRAMMATION

Les structures de données. Rajae El Ouazzani

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Recherche dans un tableau

Cours 6 : Tubes anonymes et nommés

INITIATION A LA PROGRAMMATION

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

Chapitre 10. Les interfaces Comparable et Comparator 1

Programmation système en C/C++

LE LANGAGE C++ ENAC 1997 A. DANCEL

Cours 14 Les fichiers

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

Corrigé des exercices sur les références

Initiation à la programmation en Python

Projet de programmation (IK3) : TP n 1 Correction

Les structures. Chapitre 3

Programmation stochastique

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C

IUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C

AWS avancé. Surveiller votre utilisation d EC2

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

PROGRAMMATION PAR OBJETS

Examen Médian - 1 heure 30

INF 104 (SELC) Introduction au langage C

Transcription:

Introduction C / C++ Outils et Logiciels d Optimisation - Cours 4 et 5 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 256

Introduction Introduction C / C++ Ceci n est qu une introduction à la programmation C / C++. On ne présente ici qu un minimum afin de pouvoir écrire rapidement un programme. On ne traitera pas des concepts objets et de la programmation objet. La synthaxe utilisée est celle du C aggrémentée de certaine fonctionnalités très utiles du C++. On utilisera quelques objets mais sans présenter les concepts qui sont derrières.

Introduction C / C++ Structure d un programme #include <iostream> // Inclusion des définitions de #include "mes_trucs.h" // fonction et objets externes typedef int entier; // définitions de nouveaux types int NbNodes; // déclarations de variables globales // fonctions supplémentaires int main(int argc, char** argv){ } // déclarations et instructions vector<int> V(10); for (int i=0; i < 10; i++){ cout << V[i]; } return 0;

Types Introduction C / C++ int : entier long : entier double précision float : réel double : réel double précision bool : booléen string : chaîne de caractères (nécessite #include <string>)

Types Introduction C / C++ int : entier long : entier double précision float : réel double : réel double précision bool : booléen string : chaîne de caractères (nécessite #include <string>) Vecteurs : vector<type> nom vec(nb elem) (nécessite #include <vector>) l indexation d un vecteur de n éléments va de 0 à n 1.

Introduction C / C++ Variables - Instructions Variables : type nom variable; int i; double x = 0.0; // Avec initialisation int x[10]; // Tableau de 10 entiers (de 0 à 9) La durée de vie d une variable est limitée au bloc {... } où elle est déclarée.

Introduction C / C++ Variables - Instructions Variables : type nom variable; int i; double x = 0.0; // Avec initialisation int x[10]; // Tableau de 10 entiers (de 0 à 9) La durée de vie d une variable est limitée au bloc {... } où elle est déclarée. Instructions : Chaque instruction se finit par un; Une instruction peut être écrite sur plusieurs lignes.

Introduction C / C++ Variables - Instructions Variables : type nom variable; int i; double x = 0.0; // Avec initialisation int x[10]; // Tableau de 10 entiers (de 0 à 9) La durée de vie d une variable est limitée au bloc {... } où elle est déclarée. Instructions : Chaque instruction se finit par un; Une instruction peut être écrite sur plusieurs lignes. Commentaires : /* Commentaires sur plusieurs lignes */ // Commentaire jusqu à la fin de la ligne

Opérateurs Introduction C / C++ Opérateurs numériques : + - * / ++ -- = += -= *= /= == < <= > >=!=

Opérateurs Introduction C / C++ Opérateurs numériques : + - * / ++ -- = += -= *= /= == < <= > >=!= Opérateurs booléens : && ==

Opérateurs Introduction C / C++ Opérateurs numériques : + - * / ++ -- = += -= *= /= == < <= > >=!= Opérateurs booléens : && == Opérateurs sur les flots : << >>

Introduction C / C++ Boucles - Alternative Boucles pour : for (initialisations; test continuité; incrément){ instructions } Il peut y avoir plusieurs initialisations séparées par des virgules.

Introduction C / C++ Boucles - Alternative Boucles pour : for (initialisations; test continuité; incrément){ instructions } Il peut y avoir plusieurs initialisations séparées par des virgules. Boucle tant que : while (test continuité) { instructions }

Introduction C / C++ Boucles - Alternative Boucles pour : for (initialisations; test continuité; incrément){ instructions } Il peut y avoir plusieurs initialisations séparées par des virgules. Boucle tant que : while (test continuité) { instructions } Alternative si : if (expr booléenne) { instructions à effectuer quand expr booléenne est vraie } else { instructions à effectuer quand expr booléenne est fausse }

Fonctions Introduction C / C++ type ret nom fct(param1, param2,...){ instructions return élément retourné; } avec param1 pouvant être : type & nom param const type & nom param pour une procédure, on remplace le type retourné par void et il n y a pas de return

Introduction C / C++ Entrées / Sorties Les entrées / sorties se font par des objets corespondants à des flots de données. nécessite #include <iostream> utiliser using namespace::std cout : flot de données sur la sortie standard (écran). cin : flot de données sur l entrée standard (clavier). opérateurs << >>. cout << i = << i << endl; endl : retour à la ligne. cin >> i;

Pointeurs Introduction C / C++ Emplacement mémoire pouvant stocker l adresse d un autre emplacement mémoire Déclaration : type pointé * nom pointeur; Obtention de l adresse d une variable & : int i; int * p; p = &i; Accès au pointeur directement par la variable pointeur. Accès au contenu du pointeur : int i; int * p; p = &i; *p = 10;

Pointeurs Introduction C / C++ Allocation dynamique : Allocation : nom pointeur = new type pointé; Libération mémoire : delete nom pointeur;

Pointeurs Introduction C / C++ Allocation dynamique : Allocation : nom pointeur = new type pointé; Libération mémoire : delete nom pointeur; Pointeurs et tableaux : Les tableaux peuvent être vu comme un pointeur sur un ensemble de cases : int * Tab; Allocation dynamique de tableaux : Tab = new int[10]; Libération d un tableau : delete [] Tab;

Introduction C / C++ Concert / Cplex Exemple en live sur ATSP