Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Types avancés (1)
|
|
- Thibaud Robichaud
- il y a 8 ans
- Total affichages :
Transcription
1 Objectifs du cours d aujourd hui Informatique I : Cours d introduction à l informatique et à la programmation Types avancés (1) Jamila Sam Haroud Présenter des structures de données plus avancées (que les types élémentaires) : Tableaux Tableaux de taille fixe Tableaux de taille variable (vector) Chaîne de caractères (string) Types élémentaires avancés Laboratoire d Intelligence Artificielle et la suite la semaine prochaine : Faculté I&C Structures Pointeurs Informatique I Cours 6 :Types composés 1 Informatique I Cours 6 :Types composés 2 Rencontre du 5 e type Exemples de données structurées À ce stade du cours, la représentation des données se réduit aux types élémentaires int, double, char et bool. Ils permettent de représenter, dans des variables, des concepts simples du monde modélisé dans le programme : dimensions, sommes, tailles, expressions logiques, Cependant, de nombreuses données plus sophistiquées ne se réduisent pas à un objet informatique élémentaire. un langage de programmation évolué doit donc fournir le moyen de composer les types élémentaires pour construire des types plus complexes, les types composés. Âge Nom Taille Âge Sexe 20 Dupond M 35 Dupont M 26 Durand F 38 Dugenou oui 22 Pahut F tableaux, structures de données hétérogènes (par exemple, «un enregistrement» dans la liste ci-dessus), chaînes de caractères (par exemple, le «nom»), etc. Informatique I Cours 6 :Types composés 3 Informatique I Cours 6 :Types composés 4
2 Les types composés : les tableaux Une première façon de composer les types élémentaires est de faire des tableaux. Les tableaux en C++ sont des types composés homogènes, c est-à-dire constitués d éléments qui sont tous du même type. On pourra donc définir des tableaux d int, de double, de char, mais aussi de types composés, par exemple des tableaux de tableaux (!!) Dans un premier temps, nous allons nous intéresser aux tableaux de taille fixe Les tableaux de taille variable (vector) viendront ensuite. Déclaration d un tableau de taille fixe La syntaxe de déclaration d un tableau de taille fixe est : type identificateur[taille] ; où type est le type des éléments constitutifs du tableau, identificateur est le nom du tableau et taille est le nombre d éléments que contient le tableau. Ce nombre doit être connu à l avance ( sinon vector) Exemples : int age[5] ; correspond à la déclaration d un tableau de 5 entiers. int const NB_CANTONS(26) ; double superficie[nb_cantons] ; correspond à la déclaration d un tableau de 26 double. Informatique I Cours 6 :Types composés 5 Informatique I Cours 6 :Types composés 6 Déclaration d un tableau de taille fixe (2) Initialisation d un tableau de taille fixe Attention! Ne pas confondre int age(5) ; un entier initialisé à la valeur 5 et int age[5] ; un tableau de cinq entiers Conseil : N écrivez jamais explicitement la taille d un tableau (valeur littérale) int age[5] ; mais préférez mettre sa taille dans une constante. int const NB_CANTONS(26) ; double superficie[nb_cantons] ; Cela vous permet par la suite de référencer à plusieurs endroit la taille (par exemple dans des boucles) sans recopier la valeur explicite. Ainsi en cas de changement du programme vous n aurez qu une seule valeur à modifier : l initialisation de la constante. Comme pour les variables de type élémentaire, un tableau de taille fixe peut être initialisé directement lors de sa déclaration. Par contre la syntaxe est différente (des autres types) : type identificateur[taille] = {val 1,, val taille ; int age[5] = {20,35,26,38,22 ; Âge Informatique I Cours 6 :Types composés 7 Informatique I Cours 6 :Types composés 8
3 Accès aux éléments d un tableau de taille fixe Le i+1 ème élément d un tableau d identificateur tab est référencé par tab[i] Attention! les indices correspondant aux éléments d un tableau de taille taille varient entre 0 et taille-1 et il n y a pas de contrôle de débordement!! tab[10000] Le 1 er élément d un tableau tablo précédemment déclaré est donc tablo[0] et son 10 e élément est tablo[9] int const TAILLE(5); int age[taille]; Le passage d un tableau en argument d une fonction Pour le passage d un tableau en argument d une fonction, on peut omettre de spécifier la taille : int f(double tableau[]) ; La fonction f prend comme argument un tableau dont on n a pas spécifié la taille Conseil : Veillez néanmoins à ce que la taille du tableau soit connue de la fonction, par exemple en faisant : int f(double tableau[], int const taille) ; for(int i(0); i < TAILLE; ++i) { cout << "Age de l employé " << i+1 << "? " << flush; cin >> age[i]; Informatique I Cours 6 :Types composés 9 Informatique I Cours 6 :Types composés 10 Le passage d un tableau en argument d une fonction (2) Tableaux à plusieurs dimensions Attention! Il faut avoir consience que le passage d un tableau de taille fixe en argument d une fonction se fait toujours par référence, bien que ce ne soit pas explicitement marqué par le signe &. void g(int tab[], int const taille) { for (int i(0); i < taille; ++i) tab[i] = i+1 ; main { int const TAILLE(3) ; int t[taille] = { 0, 0, 0 ; g(t, TAILLE) ; for (int i(0); i < TAILLE; ++i) cout << t[i] << " " ; Ce programme affichera donc l appel à la fonction g aura modifié le tableau tab. Si vous voulez évitez les effets de bord, ajoutez const Informatique I Cours 6 :Types composés 11 Comment déclarer un tableau à plusieurs dimensions? On ajoute simplement un niveau de [ ] de plus : C est en fait un tableau de tableaux Exemples : double rotation[2][2] ; int statistiques[nb_cantons][nb_statistiques] ; double tenseur[3][2][4] ; rotation[1][0] = ; En faisant une analogie avec les mathématiques, un tableau à une dimension représente donc un vecteur, un tableau à deux dimensions une matrice et un tableau de plus de deux dimensions un tenseur. Informatique I Cours 6 :Types composés 12
4 Tableaux à plusieurs dimensions Les tableaux multidimensionnels peuvent également être initialisés lors de leur déclaration. Il faut bien sûr spécifier autant de valeurs que les dimensions et ceci pour chacune des dimensions. Passage de tableaux à plusieurs dimensions Attention! Lors du passage d un tableau multidimentionnel seule la première taille a le droit de ne pas être spécifiée. Toutes les autres doivent l être : void f(int tab[][3][5]) ; int matrice[4][3] = { { 0, 1, 2, { 3, 4, 5, { 6, 7, 8, { 9, 0, 1, ; matrice[i][] matrice[][j] matrice[2][1] Informatique I Cours 6 :Types composés 13 int const N(3); int const M(3); void f(int tab[][m]); main() { int tablo[n][m]; f(tablo); Informatique I Cours 6 :Types composés 14 Les tableaux déclaration : type identificateur[taille] ; déclaration/initialisation : type identificateur[taille] = {val 1,, val taille ; Accès aux éléments : tab[i] i entre 0 et taille-1 Le passage type1 f(type2 tab[]) ; d un tableau tab à une fonction f se fait automatiquement par référence pour éviter les effet de bords : type1 f(const type2 tab[]) ; tableau multidimentionnel : type identificateur[taille1][taille2] ; tab[i][j] ; Les vector Nous avons jusqu ici vu les tableaux de taille fixe (i.e. connue à l avance). Que faire si la taille n est pas connue? Il existe en C++ ce que l on appelle des tableaux dynamiques, c est-à-dire dont la taille peut changer au cours du déroulement du programme, par exemple lorsqu on ajoute ou retire des éléments dans le tableau. Les tableaux dynamique sont définis en C++ par le biais du type vector. (ce n est en toute rigueur pas un type mais un «template». Nous verrons les «templates» bien plus tard dans le cours (vers Pâques)). Pour les utiliser, il faut tout d abord importer les définitions associées à l aide d un include : #include <vector> Informatique I Cours 6 :Types composés 15 Informatique I Cours 6 :Types composés 17
5 Déclaration d un tableau dynamique Une variable correspondant à un tableau dynamique se déclare de la façon suivante : vector< type > identificateur ; où identificateur est le nom du tableau et type correspond au type des éléments du tableau. Il peut être simple ou composé (on peut donc faire des vector de vector!). #include <vector> vector< int > tableau ; Initialisation d un tableau dynamique Le fait que l on s intéresse ici à des tableaux de taille potentiellement variable explique que la déclaration ne comporte pas d indication sur la taille initiale du tableau. Un tableau ainsi déclaré correspond alors tout simplement à un tableau vide (pas du tout d éléments!). Une taille initiale peut cependant être indiquée si nécessaire. La syntaxe de la déclaration est alors : vector< type > identificateur(taille) ; vector< int > tab(5) ; correspond à la déclaration d un tableau initialement constitué de 5 entiers. Attention! ce n est pas la même chose que int tab[5] car dans ce dernier cas on ne pourra plus changer la taille du tableau, alors que dans le cas de vector on le peut. Informatique I Cours 6 :Types composés 18 Informatique I Cours 6 :Types composés 19 Initialisation d un tableau dynamique (2) L indexation La déclaration d un tableau peut de plus être associée à une initialisation explicite des éléments contenus dans le tableau. Cela s écrit : soit : vector< type > identificateur(n, valeur) ; où valeur est la même valeur initiale affectée à tous les N éléments du tableau soit : vector< type > identificateur(reference) ; où reference est une référence à un tableau de type de base type. Exemples : vector< int > tab1(5,1); vector< int > tab2(tab1); correspondent toutes deux à la déclaration d un tableau d entiers dont les 5 éléments de départ sont initialisés à la valeur 1. Remarque : il n y a pas de moyen simple pour initialiser un tableau dont les éléments n ont pas tous la même valeur. Écrire une fonction Informatique I Cours 6 :Types composés 20 L indexation des différents éléments d un tableau dynamique (c est-à-dire l accès direct aux éléments du tableau) se fait de la même façon que pour un tableau de taille fixe : Si tableau est un vector, alors tableau[i] est une référence au (i+1)ème élément de tableau. Attention! Il est impératif que cet éléments existe effectivement! Sinon risque de Segmentation Fault! Exemple (à ne pas suivre!) d erreur classique : vector<double> v; v[0] = 5.4; // NON!! Informatique I Cours 6 :Types composés 21
6 Fonctions spécifiques Contrairement aux tableaux de taille fixe, un certain nombre d opérations sont directement attachées au type vector. L utilisation de ces opérations spécifiques se fait avec la syntaxe suivante : nom_de_tableau.nom_de_fonction(arg1,arg2,) ; vector<double> mesures ; nombre = mesures.size() ; Fonctions spécifiques Quelques fonctions disponibles pour un tableau dynamique tableau de type vector< type > : int tableau.size() : renvoie la taille de tableau Une manière usuelle pour parcourir les éléments d un tableau dynamique est donc l itération for suivante : for (int i(0) ; i < tableau.size() ; ++i) { bool tableau.empty() : détermine si tableau est vide ou non. void tableau.clear() : supprime tous les éléments de tableau (et le transforme donc en un tableau vide). void tableau.pop_back() : supprime le dernier élément de tableau. void tableau.push_back(valeur) : ajoute un nouvel élément de valeur valeur à la fin de tableau. Informatique I Cours 6 :Types composés 22 Informatique I Cours 6 :Types composés 22 Exemple Affectation globale d un tableau dynamique Voici un bout de code qui initialise un vecteur d entiers que l on suppose strictement positifs. Lors de la saisie, l utilisateur peut de plus recommencer à zéro en entrant 0 ou effacer le dernier élément en entrant un nombre négatif. void saisie(vector<int>& vect, int const TAILLE = 4) { int val; vect.clear(); cout << "Saisie de " << TAILLE << " valeurs :" << endl; while (vect.size() < TAILLE) { cout << "Entrez le coef. " << vect.size() << " : " << flush; cin >> val; if (val < 0) vect.pop_back(); else if (val == 0) vect.clear(); else vect.push_back(val); Informatique I Cours 6 :Types composés 23 Tout tableau dynamique (qui n a pas été déclaré comme constant) peut être modifié par une affectation globale du tableau en tant que tel. On parle ici de l affectation d un tableau complet, dans sa totalité. La syntaxe est : identificateur = tableau ; où tableau est un tableau dynamique de même type qu identificateur. vector< int > tab1(5,1) ; vector< int > tab2 ; tab2 = vector< int >(6,2) ; tab2 = tab1 ; Attention! On ne peut pas faire cela avec les tableaux statiques!! Informatique I Cours 6 :Types composés 24
7 Les tableaux multidimensionnels Les tableaux multidimensionnels Le type de base d un tableau peut être n importe quel type, y compris composé. En particulier, le type de base d un tableau peut être lui même un tableau. Les tableaux correspondants sont alors des tableaux de tableaux, i.e. des tableaux multidimensionnels. vector< vector< int > > tab(5, vector< int >(6)) ; correspond à la déclaration d un tableau de 5 tableaux de 6 entiers, autrement dit un tableau bidimensionnel (une matrice) à 5 lignes et 6 colonnes. Comme pour les tableaux multidimensionnels de taille fixe, tab[i][j] permet alors de référencer l élément de la (i+1)ème ligne et de la (j+1)ème colonne. Informatique I Cours 6 :Types composés 25 Notez que en toute rigueur vector< vector< int > > n est pas la même chose que int[][] : dans le premiers cas les lignes de la «matrice» n ont pas forcément toutes la même longueur alors que c est le cas pour les tableau de taille fixe. Un vector< vector< int > > n est pas une matrice mais un vecteur de vecteurs d entiers (pas nécessairement tous de la même taille!). vector< vector< int > > tableau ; tableau[i][] tableau[0].size() renvoie 4 tableau[2].size() renvoie 2 tableau[2][1] Informatique I Cours 6 :Types composés 26 Code de l exemple vector< vector <int> > tableau; tableau.push_back(vector<int>(4)); tableau.push_back(vector<int>(3)); tableau.push_back(vector<int>(2)); tableau.push_back(vector<int>(3)); tableau[0][0] = 0; tableau[0][1] = 1; tableau[0][2] = 2; tableau[0][3] = 3; tableau[1][0] = 4; tableau[1][1] = 5; tableau[1][2] = 6; tableau[2][0] = 7; tableau[2][1] = 8; tableau[3][0] = 9; tableau[3][1] = 0; tableau[3][2] = 1; for (unsigned int i(0); i < tableau.size(); ++i) { for (unsigned int j(0); j < tableau[i].size(); ++j) cout << tableau[i][j] << " "; cout << endl; for (unsigned int i(0); i < tableau.size(); ++i) cout << "tableau[" << i <<"].size()=" << tableau[i].size() << endl; #include <vector> Le template vector Déclaration : vector< type > identificateur ; Déclaration/Initialisation : vector< type > identificateur(taille) ; Accès au (i+1)-ème élément (quand il existe!) : tab[i] Fonctions spécifiques : int tab.size() : renvoie la taille bool tab.empty() : détermine s il est vide ou non void tab.clear() : supprime tous les éléments void tab.pop_back() : supprime le dernier élément void tab.push_back(valeur) : ajoute un nouvel élément à la fin Informatique I Cours 6 :Types composés 27 Informatique I Cours 6 :Types composés 28
8 La classe string Affectation de chaînes "Bonjour tout le monde!" Les chaînes de caractères C++ sont définies par le type string. (En toute rigueur, ce n est pas un type comme les types élémentaires mais une classe.) Pour utiliser des chaînes de caractères, il faut tout d abord importer les définitions : #include <string> La déclaration d une chaîne de caractères se fait alors avec : string identificateur ; #include <string> // déclaration string un nom; // déclaration avec initialisation string maxime("why use Windows when there are doors?"); Informatique I Cours 6 :Types composés 30 Comme pour n importe quel autre type, toute variable de type string (qui n a pas été déclarée comme constante) peut être modifiée par une affectation. string chaine ; // -> chaine vaut "" string chaine2("test") ; // -> chaine2 vaut "test" chaine = "test3" ; // -> chaine vaut "test3" chaine = chaine2 ; // -> chaine vaut "test" chaine = a ; // -> chaine vaut "a" Remarque 1 : dans le cas de l affectation d un caractère, la valeur affectée à la chaîne est la chaîne réduite au caractère affecté. Remarque 2 : Toute variable déclarée mais non initialisée est automatiquement initialisée à la valeur correspondant à la chaîne vide (""). Informatique I Cours 6 :Types composés 31 La concaténation La concaténation de chaînes est représentée par l opérateur +. chaine1 + chaine2 correspond à une nouvelle chaîne associée à la valeur littérale constituée de la concaténation des valeurs littérales de chaine1 et de chaine2. Les combinaisons suivantes sont possibles pour la concaténation de deux chaînes : string + string, string + "", "" + string, string + char, char + string où string correspond à une variable de type string, "" correspond à une valeur littérale et char à une variable ou une valeur littérale de type char. Remarque : les concaténations de la forme string+char (resp. char+string) constituent un moyen très pratique pour ajouter des caractères à la fin (resp. au début) d une chaîne. La concaténation : exemple Constitution du nom complet à partir du nom de famille et du prénom : string nom; string prenom; string famille; nom = famille + + prenom; Ajout d un s final au pluriel : string reponse("solution"); if (n > 1) { reponse = reponse + s ; Informatique I Cours 6 :Types composés 32 Informatique I Cours 6 :Types composés 33
9 Les opérateurs relationnels Les opérateurs relationnels == égalité!= non-égalité < strict. inférieur <= inférieur ou égal > strict. supérieur >= supérieur ou égal sont également définis pour les chaînes de type string. La relation d ordre utilisée pour ces différents opérateurs est l ordre alphabétique. Les opérateurs relationnels Exemples : do reponse=poser_question() ; while (reponse!= "oui") ; if ((nom <= "d") && (nom >= "b")) cout << "votre nom commence par b, c ou d" << endl ; Attention! L ordre alphabétique des ordinateurs ne respecte pas les lettres accentuées et l ensemble des majuscules est inférieur à n importe quelle minuscule : Z < a Note : Pour avoir l ordre alphabétique de l ordinateur, exécutez ce petit programme : for (unsigned char a(32); a < 255; ++a) cout << (int) a << " : " << a << " " << endl; Informatique I Cours 6 :Types composés 34 Informatique I Cours 6 :Types composés 34 L indexation Si chaine est une string, alors chaine[i] est le (i+1)ème caractère de chaine (de type char). Attention! Les éléments d une chaîne sont indicés de 0 à (taille 1), où taille est la taille (i.e. le nombre de caractères) de la chaîne. Exemples : string demo("abcd"); char prems; char der; prems = demo[0]; // recoit A der = demo[3]; // reçoit D L indexation Si chaine est une string, alors chaine[i] est le (i+1)ème caractère de chaine (de type char). Attention! Les éléments d une chaîne sont indicés de 0 à (taille 1), où taille est la taille (i.e. le nombre de caractères) de la chaîne. Exemples : string essai("essai"); string test; for (unsigned int i(1); i <= 3; ++i) { test = test + essai[6-2*i]; test = essai[i] + test; cout << test << endl; affichera : Informatique I Cours 6 :Types composés 35 Informatique I Cours 6 :Types composés 35
10 Fonctions spécifiques aux chaînes Certaines fonctions propres aux string sont définies. Elle s utilisent avec la syntaxe suivante : nom_de_chaine.nom_de_fonction(arg1,arg2,) ; Les fonctions suivantes sont définies (où chaine est une variable de type string) : chaine.size() : renvoie la taille (i.e. le nombre de caractères) de chaine. chaine.insert(position, chaine2) : insère, à partir de la position (indice) position dans la chaîne chaine, la string chaine2 string exemple("abcd") ; // exemple vaut "abcd" exemple.insert(1,"xx") ; // exemple vaut "axxbcd" construit la chaîne "axxbcd". Fonctions spécifiques aux chaînes chaine.replace(position, n, chaine2) : remplace les n caractères d indice position, position+1,, position+n-1 de chaine par la string chaine2. string exemple("abcd") ; exemple.replace(1,2,"1234") ; construit la chaîne "a1234d" (dans exemple). Remarque : la fonction replace() peut également servir à supprimer des caractères dans une chaîne. string exemple("abcd") ; exemple.replace(1,2,"") ; exemple vaut "ad". Informatique I Cours 6 :Types composés 36 Informatique I Cours 6 :Types composés 37 Fonctions spécifiques aux chaînes chaine.substr(depart, longueur) : renvoie la chaîne de chaine, de longueur longueur et commençant à la position depart. string("salut à tous!").substr(8, 4) renvoie la string "tous". chaine.find(souschaine) : renvoie l indice dans chaine du 1er caractère de l occurrence la plus à gauche de la string souschaine. string("baabbaab").find("ab") renvoie 2. chaine.rfind(souschaine) : renvoie l indice dans chaine du 1er caractère de l occurrence la plus à droite de la string souschaine. string("baabbaab").rfind("ab") renvoie 6. Dans les cas où les fonctions find() et rfind() ne peuvent s appliquer, elles renvoient la valeur prédéfinie string : :npos Informatique I Cours 6 :Types composés 38 Les chaînes de caractères #include <string> déclaration/initialisation : string identificateur("valeur") ; Affectation : chaine1 = chaine2 ; chaine1 = "valeur" ; chaine1 = c ; Concaténation : chaine1 = chaine2 + chaine3 ; chaine1 = chaine2 + "valeur" ; chaine1 = chaine2 + c ; Accès au (i+1)-ème caractère : chaine[i] ; Fonctions spécifiques : taille : chaine.size() insertion : chaine.insert(position, chaine2) replacement : chaine.replace(position, longueur, chaine2) suppression : chaine.replace(position, longueur, "") sous-chaîne : recherche : chaine.substr(position, longueur) chaine.find(souschaine) chaine.rfind(souschaine) valeur "pas trouvé" d une recherche : string : :npos Informatique I Cours 6 :Types composés 39
11 Types élémentaires «avancés» En plus des types composés, signalons qu il existe aussi d autres types élémentaires, dérivés des types élémentaires présentés. Trois modificateurs peuvent être utilisés : pour les int et les double, on peut demander d avoir une plus grande précision de représentation à l aide du modificateur long. long int nb_etoiles ; pour les int, on peut aussi demander d avoir une moins grande précision de représentation à l aide du modificateur short. short int nb_cantons ; pour les int (et les char), on peut demander de travailler avec des données non signées, à l aide du modificateur unsigned. unsigned int nb_cacahouetes ; On peut bien sûr combiner : unsigned long int nb_etoiles ; unsigned short int nb_cantons ; Types élémentaires «avancés» En C++, la taille des types n est pas spécifiée dans la norme. Seules indications : le plus petit type est char les inégalités suivantes sont toujours vérifiées sur les tailles mémoires : char short int int long int double long double Cependant, les tailles généralement utilisées sont 8 bits pour les char 16 bits pour les short int 32 bits pour les long int Informatique I Cours 6 :Types composés 41 Informatique I Cours 6 :Types composés 41 Types élémentaires «avancés» Ces choix typiques conduisent aux bornes suivantes : type min. max. char unsigned char short int unsigned short int long int unsigned long int type min. (valeur absolue) max. précision double e e e 16 long double e e e 19 Note : «précision» correspond au plus petit nombre x tel que 1 + x 1. Informatique I Cours 6 :Types composés 41 Type enuméré En C++, il est également possible de donner des noms aux valeurs de types énumérés, comme par exemple la liste des couleurs, la liste des cantons, etc Cela permet d utiliser ensuite ces valeurs sans avoir à se préoccuper de leur codage effectif. Ceci se fait à l aide du mot clé enum. Pour déclarer un type enuméré, la syntaxe est la suivante : enum Type { valeur1, valeur2, ; Par exemple : enum CantonRomand { Vaud, Valais, Geneve, Fribourg, Neuchatel, Jura ; On peut alors ensuite utiliser simplement ces valeurs comme pour un type entier : CantonRomand moncanton(vaud) ; moncanton = Valais ; switch (moncanton) { case Valais : case Vaud : Informatique I Cours 6 :Types composés 42
12 Type enuméré (2) On peut même les utiliser comme entiers, sachant que la convention utilisée est que la première valeur enumérée (Vaud dans l exemple précédent) correspond à 0. On pourrait alors par exemple faire : int const NB_CANTONS_ROMANDS(Jura+1) ; ou encore for (unsigned int i(vaud) ; i <= Jura ; ++i) Remarque : on peut aussi les utiliser pour indexer des tableaux : population[moncanton] = 616 ; Ce que j ai appris aujourd hui à structurer mes données en tableaux, de taille fixe ou variable comment représenter/manipuler des chaînes de caractères (mots/phrases) à mieux spécifier les types élémentaires en fonction de mes besoins (long/short, unsigned, enum) je peux maintenant écrire des programmes modélisant des données plus complexes Informatique I Cours 6 :Types composés 43 Informatique I Cours 6 :Types composés 44 La suite Exercices de cette semaine : Programmation : tableaux, chaînes de caractères Le prochain cours : les structures les pointeurs Informatique I Cours 6 :Types composés 45
INITIATION 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é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é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é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é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é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étailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
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é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étailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
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é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é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é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é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é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é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é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é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é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é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étailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
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étailUE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
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é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é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 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é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é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é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é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étailTP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
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étailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailPHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)
PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et
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étailLes chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
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é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é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é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étailArchitecture des Systèmes d Information Architecture des Systèmes d Information
Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau
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é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étailPoker. A rendre pour le 25 avril
Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles
Plus en détailLangage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289
Langage C Patrick Corde Patrick.Corde@idris.fr 22 juin 2015 Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Table des matières I 1 Présentation du langage C Historique Intérêts
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é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étailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détail1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
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é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étailChapitre 1 : La gestion dynamique de la mémoire
Chapitre 1 : La gestion dynamique de la mémoire En langage C un programme comporte trois types de données : Statiques; Automatiques ; Dynamiques. Les données statiques occupent un emplacement parfaitement
Plus en détailExercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Plus en détailObjectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)
Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter
Plus en détailCentre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Plus en détailRappels Entrées -Sorties
Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk
Plus en détailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
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é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étailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
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étailInformatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
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é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étailGrandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Plus en détailLangage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Plus en détailMISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année
2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par
Plus en détailAdama MBODJI MBODJ.SYSTEM
MBODJ.SYSTEM Tableaux & vecteurs Algorithmes de tris Chaînes de caractères Listes linéaires Piles & Files Arbres Fichiers Je dédie cet ouvrage à mon père Souleymane MBODJI 2 Dédicace... 2 Sommaire... 3
Plus en détailCréation et Gestion des tables
Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5
Plus en détailTravaux Dirigés n 1 : chaînes de caractères
UE LE315 Travaux Dirigés n 1 : chaînes de caractères Exercice 1 Ecrire une fonction int nombre_caract(char *chaîne) qui retourne la taille d une chaîne de caractères. Exercice 2 Ecrire la fonction void
Plus en détailExpression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e
P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement
Plus en détailRappel sur les bases de données
Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailDémonstration d utilisation De NesmaCom
Démonstration d utilisation De NesmaCom Envoi : SMS Marketing - 1 - Démonstration : NesmaCom I. Connexion à NesmaCom Entrer votre Email et votre mot de passe pour accéder à votre compte sur notre solution
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étailLe langage SQL Rappels
Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailCours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.
Université Montpellier-II UFR des Sciences - Département Informatique - Licence Informatique UE GLIN302 - Programmation Applicative et Récursive Cours No 3 : Identificateurs, Fonctions, Premières Structures
Plus en détailLa classification automatique de données quantitatives
La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations
Plus en détailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Plus en détailStructurer ses données : les tableaux. Introduction à la programmation
Structurer ses données : les tableaux Introduction à la programmation Plan du document Introduction Introduire la notion de type Types primitifs Types composés Tableaux de type primitif Page 2 Notion de
Plus en détailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
Plus en détailPackage Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Plus en détailExercices sur les interfaces
Exercices sur les interfaces Fabrice Rossi 18 octobre 1999 1 Le type Object 1.1 Manipulations élémentaires Exercice 1.1 : Indiquer l affichage produit par le programme suivant : public class UpCast1 {
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étailSouad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailInitiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
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é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étailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailQuelques é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étail