INFO-F-103 Algorithmique I Exercices d entrainement. Année académique
|
|
- Abel Rivard
- il y a 7 ans
- Total affichages :
Transcription
1 INFO-F-103 Algorithmique I Exercices d entrainement Année académique
2 Table des matières 1 Table des matières 1 ADT Liste : Fonction générique Énonce Solution Tesseract Énonce Solution Recursivite Damier Énonce Solution Tête à toto Énonce Solution Arbres Supprimer doublon Énonce Solution
3 Liste des codes 2 Liste des codes 1 Liste : Fonction générique : Solution 1/ Liste : Fonction générique : Solution 2/ Liste : Fonction générique : Solution 3/ Liste : Fonction générique : Solution 4/ Liste : Fonction générique : Solution 5/ Liste : Fonction générique : Solution 6/ Liste : Fonction générique : Solution 7/ Boucles : Tesseract : Solution 1/ Boucles : Tesseract : Solution 2/ Boucles : Tesseract : Solution 3/ Boucles : Tesseract : Solution 4/ Boucles : Tesseract : Solution 5/ Récursivité : Damier : Solution 1/ Récursivité : Tête à toto : Solution 1/ Arbres : Suppression de doublons : Solution 1/
4 1 ADT 1 1 ADT 1.1 Liste : Fonction générique Énonce Nous vous demandons d écrire une fonction récursive appliquer qui prend en paramètre une liste d entiers (plus précisément une Place pointant vers la tete de la liste) et une opération (sous forme d un pointeur vers une fonction, voir explications ci-dessous), et qui applique ladite opération sur tous les éléments de la liste. Une telle fonction est bien utile car elle permet, à l aide d une unique fonction, de réaliser une multitude d opérations sur la liste : afficher tous les éléments, les réinitialiser à 0, les remplacer par leur double, par leur carré, etc... Votre fonction devra respecter l en-tête suivant : void appliquer(liste::place tete, void (*op) (int &i)) La syntaxe particulière "void (*op) (int &i)" signifie que op est un pointeur vers une fonction void qui prend un entier comme paramètre par référence. La fonction appliquer prend donc une fonction comme deuxième paramètre. Le passage de ce paramètre se fait simplement en donnant le nom de la fonction (l opérateur & n est pas nécessaire). Par exemple, si vous disposez d une fonction afficher(int &i), vous pourrez afficher tous les éléments de la liste l en appelant : appliquer(l.tete(), afficher) Nous vous demandons : 1. Le code de la fonction appliquer. Ce code devra être récursif et ne pourra contenir aucune boucle. Il importe également de bien respecter l en-tête donnée ci-dessus, où le passage par référence est indispensable afin de pouvoir modifier les éléments de la liste. 2. Votre code sera testé à l aide de la liste ListeSL vue au cours et disponible sur le site web du cours. Vous la modifierez toutefois afin que la fonction info() de la classe Place renvoie une référence vers un entier, plutôt qu un entier, ceci afin de pouvoir modifier les éléments de la liste. 3. Vous fournirez un fichier de test contenant les quatre fonctions suivantes : (a) void afficher(int &i); (b) void doubler(int &i); (c) void carre(int &i); (d) void annuler(int &i); Ces fonctions, respectivement, affichent, remplacent par son double (2 i), par son carré (i 2 ), et par 0, l entier i. Votre fichier contiendra aussi un main qui construira la liste (7,2,9,1,8), puis lui appliquera les quatre fonctions ci-dessus (dans l ordre donné), en affichant à chaque fois le résultat Solution Code 1, 2, 3, 4, 5, 6, Tesseract Énonce L équipe dans laquelle vous travaillez s est lancée dans le développement d un jeu de démineur en 4 dimensions. L espace de jeu est donc un tesseract alias octachore, alias 8-cellules, alias hypercube de dimension 4, alias tableau à 4 dimensions, alias cube temporel
5 1 ADT 2 Code 1 Liste : Fonction générique : Solution 1/7 #include<iostream> #include"listesl.hpp" using namespace std; void afficher(int &i) cout << i << " "; void doubler (int &i) i= 2*i; void carre(int &i) i=i*i; void annuller(int &i) i=0; void appliquer(liste::place tete, void (*op) (int &i)) if(tete.valide()) op(tete.info()); appliquer(tete.suivant(),op);
6 1 ADT 3 Code 2 Liste : Fonction générique : Solution 2/7 int main() Liste l; l.insererentete(8); l.insererentete(1); l.insererentete(9); l.insererentete(2); l.insererentete(7); appliquer(l.tete(), afficher); cout << endl; appliquer(l.tete(), doubler); appliquer(l.tete(), afficher); cout << endl; appliquer(l.tete(), carre); appliquer(l.tete(), afficher); cout << endl; appliquer(l.tete(), annuller); appliquer(l.tete(), afficher); cout << endl; Lors de la répartition des taches, vous avez insisté pour obtenir le développement de la fonction d initialisation des cases dites «vides» dont le prototype est «void ajustementvaleurcases(tesseract tesseractde- Jeu)». Après la création du tableau vide à 4 dimensions, après le placement des mines, votre fonction devra modifier les cases vides pour qu elles contiennent une valeur équivalente au nombre de mines se trouvant dans les cases adjacentes (toutes directions confondues). Lors de cette même réunion, la façon dont les fonctions sont utilisées, dont elles sont appellées et donc leur prototype a été fixé. Vous pouvez donc vous baser sur le Code 8 pour démarrer votre travail. Lors de cette même réunion, vous et votre équipe avez établi, pour votre fonction, l hypothèse suivante : les bords du tesseract sont remplis de mines. Cette propriété doit être conservée pendant et après l appel à votre fonction. Vous n avez donc pas à ajuster les valeurs se trouvant sur les bords. Afin de s assurer que le concept soit bien compris, voici la figure 1 qui illustre le contenu d un tel tableau, après sa création, si il avait été en 2 dimensions. 2 FIGURE 1 Affichage du résultat 2. Les valeurs égales à zéro ne sont pas affichées
7 1 ADT 4 Code 3 Liste : Fonction générique : Solution 3/7 class Liste class Elem public: Elem(int, Elem *); int info; Elem *suiv; ; public: class Place public: friend class Liste; Place suivant() const; int& info() const; bool valide() const; Place(); private: Place(Elem *); Elem *elem; ; Place tete() const; int longueur() const; bool vide() const; Place insererentete(int); Place insererapres(place, int); void supprimer(place); Place trouver(int) const; Liste& operator=(const Liste &); Liste(); Liste(const Liste &); ~Liste(); private: void effacer(); void copier(place); Elem *teteptr; ; Code 4 Liste : Fonction générique : Solution 4/7 Liste::Elem::Elem(int info, Elem *suiv) this->info = info; this->suiv = suiv;
8 1 ADT 5 Code 5 Liste : Fonction générique : Solution 5/7 Liste::Place Liste::Place::suivant() const return Place(elem->suiv); int& Liste::Place::info() const return elem->info; bool Liste::Place::valide() const return (elem!= NULL); Liste::Place::Place() this->elem = NULL; Liste::Place::Place(Elem *elem) this->elem = elem; Solution Code 8, 9, 10, 11, 12
9 1 ADT 6 Code 6 Liste : Fonction générique : Solution 6/7 Liste::Place Liste::tete() const return Place(tetePtr); int Liste::longueur() const int res = 0; for (Place p = tete(); p.valide(); p = p.suivant()) ++res; return res; bool Liste::vide() const return!tete().valide(); Liste::Place Liste::insererEnTete(int i) teteptr = new Elem(i, teteptr); return tete(); Liste::Place Liste::insererApres(Place p, int i) p.elem->suiv = new Elem(i, p.elem->suiv); return p.suivant(); void Liste::supprimer(Place p) Elem *i = p.elem; if (i == teteptr) teteptr = teteptr->suiv; else Elem *j = teteptr, *k = NULL; while (j!= i) k = j; j = j->suiv; k->suiv = i->suiv; delete i;
10 1 ADT 7 Code 7 Liste : Fonction générique : Solution 7/7 Liste::Place Liste::trouver(int i) const Place p; for (p = tete(); p.valide() && p.info()!= i; p = p.suivant()) ; return p; Liste& Liste::operator=(const Liste &l) if (&l!= this) effacer(); copier(l.tete()); return *this; Liste::Liste() teteptr = NULL; Liste::Liste(const Liste &l) copier(l.tete()); Liste::~Liste() effacer(); void Liste::effacer() while (!vide()) supprimer(tete()); void Liste::copier(Place p) if (p.valide()) insererentete(p.info()); p = p.suivant(); Place q = tete(); while(p.valide()) q = insererapres(q,p.info()); p = p.suivant();
11 1 ADT 8 Code 8 Boucles : Tesseract : Solution 1/5 const int taille = 4; typedef int tesseract[taille][taille][taille][taille]; const double probabilitemine = 0.1; const int casevide = 0; const int mine = -1; void remplissagedemines(tesseract tesseractdejeu); void affichage(tesseract tesseractdejeu); void placementvide(tesseract tesseractdejeu); void ajustementvaleurcases(tesseract tesseractdejeu); int main() int pause; /*<Solution>*/ srand ( time(null) ); tesseract tesseractdejeu; /*<Mise en place aléatoire de mines>*/ remplissagedemines(tesseractdejeu); placementvide(tesseractdejeu); affichage(tesseractdejeu); /*</Mise en place aléatoire de mines>*/ /*<Ajustement des valeurs des cases>*/ ajustementvaleurcases(tesseractdejeu); affichage(tesseractdejeu); /*</Ajustement des valeurs des cases>*/ /*</Solution>*/ cout << "Entrez un nombre pour quitter l application" << endl; cin >> pause; return 0;
12 2 RECURSIVITE 9 Code 9 Boucles : Tesseract : Solution 2/5 void affichage(tesseract tesseractdejeu) for (int i = 0; i < taille; i++) cout << "Cube num " << i << " : " << endl; for (int j = 0; j < taille; j++) cout << "Couche num " << j << " : " << endl; for (int k = 0; k < taille; k++) for (int l = 0; l < taille; l++) cout << setw(4) << setfill( ) << tesseractdejeu[i][j][k][l ]; cout << endl; cout << endl << endl; cout << "*************************" << endl; 2 Recursivite 2.1 Damier Énonce Soit m une matrice carrée n n de booléens. Nous vous demandons d écrire une fonction récursive qui rempli m à la manière d un damier. Le damier obtenu sera basé sur la valeur initiale de la case m[0][0]. Ainsi par exemple, pour n valant 5, si m[0][0] vaut initialement 0 (false), le résultat obtenu sera : Par contre si m[0][0] vaut initialement 1 (true), le résultat obtenu sera : Les boucles sont interdites (non-négociable!) dans cette fonction, ainsi que dans toute les fonctions intermédiaires (*ceci est un indice*) dont vous auriez besoin. Par ailleurs, vous veillerez à limiter autant possible le nombre de paramètres de vos différentes fonctions.
13 2 RECURSIVITE 10 Code 10 Boucles : Tesseract : Solution 3/5 void remplissagedemines(tesseract tesseractdejeu) for (int i = 0; i < taille; i++) for (int j = 0; j < taille; j++) for (int k = 0; k < taille; k++) for (int l = 0; l < taille; l++) tesseractdejeu[i][j][k][l] = mine; void placementvide(tesseract tesseractdejeu) for (int i = 1; i < taille-1; i++) for (int j = 1; j < taille-1; j++) for (int k = 1; k < taille-1; k++) for (int l = 1; l < taille-1; l++) if( rand() % (int)(1/probabilitemine)!= 0) //9 chance sur 10 d avoir du vide tesseractdejeu[i][j][k][l] = casevide;
14 2 RECURSIVITE 11 Code 11 Boucles : Tesseract : Solution 4/5 void ajustementvaleurcases(int tesseractdejeu[taille][taille][taille][taille]) //ajustement en calculant soit même tous les mouvements const int nombrevariations = 80;//le nombre de cases adjacentes G_(n) = 3*G_ (n-1) + 2 donc G_1 = 2, G_2 = 8, G_3 = 26, G_ 4 = 80. Il y a bien 3^4-1 possibilité. => 3^n -1 = G_(n) const int di[nombrevariations] = 0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1, -1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1, 0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1; const int dj[nombrevariations] = -1,-1,0,0,0,1,1,1,-1,-1,-1,0,0,0,1,1,1,-1,-1,-1,0,0,0,1,1,1,-1,-1,-1,0,0,0, 1,1,1,-1,-1,-1,0,0,0,1,1,1,-1,-1,-1,0,0,0,1,1,1,-1,-1,-1, 0,0,0,1,1,1,-1,-1,-1,0,0,0,1,1,1,-1,-1,-1,0,0,0,1,1,1; const int dk[nombrevariations] = -1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1, -1,-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1, -1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1; const int dl[nombrevariations] = -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; for (int i = 1; i < taille-1; i++) for (int j = 1; j < taille-1; j++) for (int k = 1; k < taille-1; k++) for (int l = 1; l < taille-1; l++) if(tesseractdejeu[i][j][k][l]!= mine) for (int m = 0; i < nombrevariations; ++i) if(tesseractdejeu[i+di[m]][j+dj[m]][k+dk[m]][l+dl[m ]] == mine) tesseractdejeu[i][j][k][l]++;
15 2 RECURSIVITE 12 Code 12 Boucles : Tesseract : Solution 5/5 void ajustementvaleurcases(int tesseractdejeu[taille][taille][taille][taille]) //ajustement en générant les mouvements avec 4 boucles for imbriquées for (int i = 1; i < taille-1; i++) for (int j = 1; j < taille-1; j++) for (int k = 1; k < taille-1; k++) for (int l = 1; l < taille-1; l++) if(tesseractdejeu[i][j][k][l]!= mine)//si ce n est pas une mine alors il faut l ajuster en fonction des cases adjacentes for (int deltai = -1; deltai < 2; ++deltai)//pour les trois déplacements sur la dimension I for (int deltaj = -1; deltaj < 2; ++deltaj)//pour les trois déplacements sur la dimension J for (int deltak = -1; deltak < 2; ++deltak)// pour les trois déplacements sur la dimension K for (int deltal = -1; deltal < 2; ++deltal) //pour les trois déplacements sur la dimension L if(tesseractdejeu[i+deltai][j+deltaj][k+ deltak][l+deltal] == mine) // si on a une mine (et donc qu on est plus sur la case de base) tesseractdejeu[i][j][k][l]++;
16 2 RECURSIVITE Solution Code Tête à toto Énonce La tête à... Vous le saviez sans doute, 0+0 = 0. Autrement dit 0 = (0+0). Ainsi, si l on pousse le vice plus loin, nous pouvons même affirmer avec conviction que 0 = ((0 + 0) + (0 + 0)). Sachant que 0 vaut (0 + 0), il nous a suffit, en effet, de remplacer les 0 de (0 + 0) par leur valeur. En continuant, nous obtenons donc : 0 = (((0 + 0) + (0 + 0)) + ((0 + 0) + (0 + 0))). Libre à vous d étendre cette formule à la main. Cependant, estimant cette tache trop rébarbative, nous vous demandons donc d écrire un programme qui le fera pour vous. Il devra lire un entier N au clavier et afficher la chaine de caractères voulue en ayant bien sûr remplacé N fois les zéros à droite de l égalité 0 = 0, par leur valeur : (0 + 0). Exemple : n = 0 : affiche 0 = 0 n = 2 : affiche 0 = ((0 + 0) + (0 + 0)) Les boucles sont interdites (non-négociable!) dans cette fonction, ainsi que dans toute les fonctions intermédiaires dont vous auriez besoin. Par ailleurs, vous veillerez à limiter autant que possible le nombre de paramètres de vos différentes fonctions Solution Code 14
17 2 RECURSIVITE 14 Code 13 Récursivité : Damier : Solution 1/1 #include <iostream> using namespace std; void afficher(bool **m, int n) for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) cout << m[i][j] << " "; cout << endl; bool **allocmatrice(int n) bool **m = new bool*[n]; for (int i = 0; i < n; ++i) m[i] = new bool[n]; return m; void deletematrice(bool **m, int n) for (int i = 0; i < n; ++i) delete[] m[i]; delete[] m; /******************** Solution ********************/ int n = 5; bool **m; void remplirlignecolonne(int i, int j) if (j < n) m[j][i] = m[i][j] =!m[i][j-1]; remplirlignecolonne(i, j+1); void damier(int i = 0) if (i < n) m[i][i] = m[0][0]; remplirlignecolonne(i,i+1); damier(i+1); /**************************************************/ int main() m = allocmatrice(5); m[0][0] = true; afficher(m, 5); cout << endl; damier(); afficher(m,5); deletematrice(m, 5);
18 2 RECURSIVITE 15 Code 14 Récursivité : Tête à toto : Solution 1/1 #include <iostream> using namespace std; void teteatoto(int const nombrederemplacement) if(nombrederemplacement == 0) cout << "0"; else if(nombrederemplacement > 0) // si nombrederemplacement < 0, on choisit de ne rien afficher à droite de l équation cout << "("; teteatoto(nombrederemplacement-1); cout << " + "; teteatoto (nombrederemplacement-1); cout << ")"; int main() int nombrederemplacement; cin >> nombrederemplacement; cout << "0 = "; teteatoto(nombrederemplacement); return 0;
19 3 ARBRES 16 3 Arbres 3.1 Supprimer doublon Énonce On peut définir certains arbres binaires de recherche comme étant soit un arbre binaire vide, soit un arbre binaire dont les éléments du sous-arbre gauche de la racine sont plus petits ou égaux que la racine et dont les éléments du sous-arbre droit sont strictement plus grands que la racine. Sur base de cette définition, on vous demande d écrire une fonction récursive en C++ qui, à partir d un arbre binaire de recherche, crée et renvoie un nouvel arbre binaire de recherche avec les mêmes éléments que l arbre de départ, mais sans aucun doublon. Votre fonction devra permettre au nouvel arbre résultant d avoir une structure similaire à celle de l arbre de départ. Plus précisément, (1) pour tout élément e de l arbre résultat, tout élément se trouvant dans le sous-arbre gauche (respectivement droit) de e devra apparaître dans le sous-arbre gauche (droit) de e dans l arbre de départ, et (2) pour tout élément initialement dupliqué, seul l exemplaire se trouvant le plus près de la racine apparaîtra dans l arbre résultat. Indice : déterminez, sur base de la définition d arbre binaire de recherche donnée, quels sont les différents cas de figure où l on peut rencontrer des éléments de même valeur que la racine Solution Code 15
20 3 ARBRES 17 Code 15 Arbres : Suppression de doublons : Solution 1/1 #include "interro/arbre2rpl.hpp" #include <string> #include <cassert> Arbre2 supprimerdoublons(const Arbre2 &a, int plusgranddoublon = INT_MAX) if (a.vide()) return Arbre2(); else if (a.racine().info() == plusgranddoublon) return supprimerdoublons(a.sousarbregauche(), a.racine().info()); else return Arbre2(a.racine().info(), supprimerdoublons(a.sousarbregauche(), a.racine().info()), supprimerdoublons(a.sousarbredroit(), plusgranddoublon)); void verifier(std::string input, std::string output) Arbre2 a(input); Arbre2 b = supprimerdoublons(a); assert(b.commestring() == output); int main() verifier("3", "3"); verifier("(5 5)", "5"); verifier("(5 (3 () (5 (5 (4 4 5)))) 7)", "(5 (3 () 4) 7)"); verifier("(6 (1 (1 0)\ (2 (2 2)\ (5 (5 (4 (3 () 4)\ (5 5)\ )\ )\ (6 6)\ )\ )\ )\ (7 7 (8 (8 8)\ (9 (9 (9 9)))\ )\ )\ )", "(6 (1 0 (2 () (5 (4 3)))) (7 () (8 () 9)))"); return 0;
Programmation 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étailINFO-F-105 Language de programmation I Séance VI
INFO-F-105 Language de programmation I Séance VI Jérôme Dossogne Année académique 2008 2009 Un grand merci à Yves Roggeman pour ses relectures et remarques des codes et commentaires qui ont contribuées
Plus en détailProgramme Compte bancaire (code)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public
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étailClaude Delannoy. 3 e édition C++
Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.
Plus en détailCours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan
Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre
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étail1.6- Génération de nombres aléatoires
1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale
Plus en détailProjet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.
Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
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étailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
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é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étailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
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é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étailProgrammation en C/C++
INSA de Lyon Département Génie Electrique Module IF1,IF3,IF4 Programmation en C/C++ Thomas Grenier Nicolas Ducros Tanneguy Redarce Lyon, le 3 mars 2015 2 / 63 Table des matières 1 Développement en C++
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é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étailIntroduction au pricing d option en finance
Introduction au pricing d option en finance Olivier Pironneau Cours d informatique Scientifique 1 Modélisation du prix d un actif financier Les actions, obligations et autres produits financiers cotés
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
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étailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
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é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étailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
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étailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailExamen Médian - 1 heure 30
NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une
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é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étailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailet Programmation Objet
FACULTE POLYTECHNIQUE DE MONS Service d Informatique et Programmation Objet Mohammed Benjelloun 2 ème Bachelier Année académique 2008-2009 Table des matières Avant-propos--------------------------------------------------------------------------
Plus en détailIUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C
IUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C myriam.chesneau@univsavoie.fr Mots clefs : Initiation à la programmation Langage C Variables Opérations Structures
Plus en détailC++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy
Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,
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étailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailSolutions du chapitre 4
Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (
Plus en détailDépartement Automatisation et Informatisation Année 2005-2006. Programmation en C++ Institut des Sciences et Techniques de l Ingénieur d Angers
Département Automatisation et Informatisation Année 2005-2006 Programmation en C++ Institut des Sciences et Techniques de l Ingénieur d Angers 1 Bertrand Cottenceau 1. Introduction du cours de C++...3
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étailProgrammation avec des objets : Cours 7. Menu du jour
1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes
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étailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailSub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
Plus en détailDécouverte de Python
Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en
Plus en détailCHAPITRE V. Recherche et tri
Cherchez et vous trouverez,... car qui cherche trouve. Matthieu 7 7-8 et Luc 11 9-10 CHAPITRE V Recherche et tri Objectif. Comprendre les techniques de base pour organiser des données ordonnées. Ce chapitre
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
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étailGénie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string
Génie Logiciel I Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M.
Plus en détailINF111. Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1/inf111/ Massih-Reza Amini
Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1// Massih-Reza Amini Université Joseph Fourier Laboratoire d Informatique de Grenoble 2/52 Introduction Structures de contrôle
Plus en détailInformatique III: Programmation en C++
Informatique III: Programmation en C++ Listes haînées Lundi 9 Janvier 2006 1 2 Introdution Les listes hainées permettent de stoker un nombre d objets qui n a pas besoin d être spéifié a priori. Rajouter
Plus en détailTP : Gestion d une image au format PGM
TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples
Plus en détailIntroduction à l héritage en C++
Algorithmique/Langage 1ère année Introduction à l héritage en C++ Yacine BELLIK IUT d Orsay Yacine.Bellik@iut-orsay.fr 1 Bibliographie Ce cours est basé sur le livre suivant : Programmer en C++, 5ème édition
Plus en détailAnalyse de sécurité de logiciels système par typage statique
Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction
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étailBrefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs
Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales
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étailLe langage C++ (partie I)
Master Informatique des Organisations 1 ère et 2 ème années Spécialité ID/MIAGE-IF/MIAGE-SITN Le langage C++ (partie I) Maude Manouvrier Qu est ce que le C++? Rappels sur la gestion de la mémoire Premiers
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailPrésentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailClasse ClInfoCGI. Fonctions membres principales. Gestion des erreurs
Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement
Plus en détail# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>
94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue
Plus en détailETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C
ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C La société C fabrique des pièces métalliques réalisées dans son atelier. La société C est en relation commerciale uniquement
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
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étailSUPPORT DE COURS. Langage C
Dpt Informatique 2010-2011 SUPPORT DE COURS Langage C Semestre 1 par : «CaDePe» Marie-Françoise Canut Marianne de Michiel André Péninou Table des Matières 1 Généralités...8 1.1 Introduction aux langages
Plus en détailCours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Plus en détailProgrammation stochastique
Programmation stochastique (Partie 1) IFT-6512 Hiver 2008 Présentation succinte COIN-OR? COmputational INfrastructure for Operations Research. Préalablement, COIN-OR tenait pour Common Optimization INterface
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailSTS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
Plus en détailProgrammation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous
Plus en détailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailLE LANGAGE C++ ENAC 1997 A. DANCEL
LE LANGAGE C++ ENAC 1997 A. DANCEL 1 - GENERALITES "L'homme se découvre quand il se mesure avec l'objet." Antoine de Saint-Exupéry, Terre des hommes 1.1 INTRODUCTION Ce cours est conçu pour permettre aux
Plus en détailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailPHP. PHP et bases de données
Accés aux bases de données Une des raisons du succès de PHP Support d un grand nombre de bases - MySQL - Oracle - PostgreSQL - SQLite - Microso> Access - DBM - IBM Informix -... Accés aux bases de données
Plus en détailM06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS
IB INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1 DIPLOMA PROGRAMME PROGRAMME DU DIPLÔME DU BI PROGRAMA DEL DIPLOMA DEL BI M06/5/COMSC/SP1/FRE/TZ0/XX 22067017 Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS
Plus en détailFlux de données Lecture/Ecriture Fichiers
Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d
Plus en détailA.P.I. Kuka Manuel de l utilisateur Version 0.0.5
A.P.I. Kuka Manuel de l utilisateur Version 0.0.5 Paul Chavent Kubrick 8 septembre 2003 1 kuka api 0.0.5 : Manuel de l utilisateur Table des matières 1 Utilisation sur le robot (serveur) 3 1.1 Installation............................................
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 de C/C++ par la pratique. Hugues Talbot
Cours de C/C++ par la pratique Hugues Talbot 24 octobre 2008 2 Table des matières 1 Comment démarrer? 7 1.1 Un programme simple en C pur.......................... 7 1.2 Un programme en C ++...............................
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détail.NET - Classe de Log
.NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de
Plus en détail4. Groupement d objets
Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux
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étailAlgorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??
Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailChapitre 2 Devine mon nombre!
Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction
Plus en détail