Programme de baccalauréat en informatique Algorithmique et programmation IFT-1001 Thierry EUDE Hatem Mahbouli Laboratoire #12 Département dinformatique.

Slides:



Advertisements
Présentations similaires
Rappels C.
Advertisements

Développement logiciel sur micro-contrôleurs PIC en C
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
GEF 243B Programmation Informatique Appliquée
(Classes prédéfinies – API Java)
C.
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Tableaux Certains problèmes nécessitent beaucoup de variables du même type. Exemple : relevé de températures matin et soir dans 10 villes pour 10 jours.
FLSI602 Génie Informatique et Réseaux
FLSI602 Génie Informatique et Réseaux
FLSI602 Génie Informatique et Réseaux
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
Langage C Révision.
ALGORITHMES RECURSIFS
Récursivité.
Les dates Recherche d’un algorithme pour déterminer si une année est bissextile ou non.
Connexion en mode application. Bases de données - Yann Loyer2 Connexion en mode application Pour tout type dutilisateurs : –passif, actif, gérant Permettre.
TRAITEMENT DE STRUCTURES
Les fichiers et les chaînes de caractères
Introduction à la programmation (Java)
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Abder Alikacem Semaine 13 La récursivité
Code des opérateurs Appartenance à une liste ( appartient_l ) –Prototype: Bool appartient_l(type_el x, liste L) –Pré-conditions: aucunes. –Post-conditions:
IFT-2000: Structures de données
IFT-2000: Structures de données Les graphes Dominic Genest, 2009.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Structures de données IFT-2000 Abder Alikacem Espace de nommage Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 5 : La surcharge des opérateurs Département dinformatique.
Structures de données IFT-2000
Structures de données IFT-10541
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
IFT Structures de données
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Les enregistrements (struct) suite. Struct Rappel Enregistrement : Suite de données pouvant être de types différents, accessibles via une seule variable.
IFT 6800 Atelier en Technologies d’information
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Structures de données IFT-2000
Structures de données IFT-10541
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-10541
Structures alternative et répétitive
Structures de données IFT-2000
Structures de données IFT Abder Alikacem Semaine 2 Tests sur les pointeurs Département d’informatique et de génie logiciel Édition Janvier 2009.
L’essentiel du langage C
Le langage C Structures de données
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
et quelques rappels sur certains éléments du langage C
Les adresses des fonctions
SIF-1053 Architecture des ordinateurs
8PRO107 Éléments de programmation Les chaînes de caractères.
Argc et argv Utilisation des paramètres de la ligne de commande.
Autres éléments du langage
Un survol du language C.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Les chaînes de caractères
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
8PRO100 Éléments de programmation Les pointeurs de caractères.
Chaînes de caractères en langage c, c'est en fait un tableau
Fiabilisation des lectures au clavier. Problèmes liés à scanf: rencontre de caractères invalides Sans arrêt prématuré: compte = scanf(``%d%c``;&n,&c);
Le Préprocesseur. Sujets abordés: Préprocesseur –Qu’est ce? –Qu’est ce qu’une directive? Les macros –Les définir, les redéfinir, les dé-définir –Les macros.
Conception de Programmes - IUT de Paris - 1ère année – Cours 8 – Les entrées/sorties Comment fonctionnent les opérateurs > pour les types élémentaires.
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
1 Les caractères En informatique, les caractères sont très importants puisqu’ils sont utilisés pour la communication personne-machine. Puisque les ordinateurs.
Les chaînes de caractères
Exercices sur les pointeurs. lireCar/remettreCar Lorsque l’on lit caractère par caractère, on ne peut pas savoir qu’on a atteint un caractère avant de.
Conception de Programmes - IUT de Paris - 1ère année Les classes Introduction Déclaration d’une classe Utilisation d’une classe Définition des.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
Transcription de la présentation:

Programme de baccalauréat en informatique Algorithmique et programmation IFT-1001 Thierry EUDE Hatem Mahbouli Laboratoire #12 Département dinformatique et de génie logiciel

2 Département dinformatique et de génie logiciel Pointeurs et chaines de caractères Fonction à écrire char * strcpy(char but[ ], char source[ ], int *codeErr); précondition: il y a assez de mémoire dans but pour faire la copie. postconditions: but contient une copie de source et * err = OK si la précondition a été satisfaire, *err=ERREUR sinon. valeur retournée: l'adresse de but si la précondition a été satisfaite. int strlen(char* str, int *err); préconditions: la chaîne str est correctement initialisée. postconditions: la taille (le nombre de caractères) dans str est déterminée et *err=OK si la précondition est satisfaite, *err=ERREUR sinon. valeur retournée: La taille de str si la précondition a été satisfaite. char* strcat(char* dest, char* srce, int *err); préconditions: dest: La chaîne de caractères de destination a une taille suffisante pour faire la concaténation postcondition: la chaîne dest contient la concaténation de srce à la chaîne originale dest et *err=OK si les préconditions sont satisfaites, *err = ERREUR sinon valeur retournée: l'adresse de dest si la précondition a été satisfaite. int strcmp(char* str1, char* str2, int *err); préconditions: str1: une chaîne de caractères. str2: une chaîne de caractères, sont correctement initialisées postconditions: comparaison str1 et str2 selon l'ordre alphabétique et *err=OK, si les préconditions ont été satisfaites, *err=ERREUR sinon. valeur retournée: 0 si str1 = str2 un entier > 0 si str1 > str2 un entier < 0 si str1 < str2

3 Département dinformatique et de génie logiciel Proto.h #define OK 0 #define ERREUR 1 #define FDC '\0' char * strcpyT( char but[], char source[], int *err); /*pré condition: il y a assez de mémoire dans but pour faire la copie. post conditions: but contient une copie de source et * err = OK si la précondition a été satisfaire, *err=ERREUR sinon valeur retournée: l'adresse de but si la précondition a été satisfaite. */ int strlenT( char* str, int *err); /*pré conditions: la chaîne str est correctement initialisée. post conditions: la taille (le nombre de caractères) dans str est déterminée et *err=OK si la pré condition est satisfaite, *err=ERREUR sinon. valeur retournée: La taille de str si la pré condition a été satisfaite. */ char* strcatT( char* dest, char* srce, int *err); /*pré conditions: dest: La chaîne de caractères de destination a une taille suffisante pour faire la concaténation post condition: la chaîne dest contient la concaténation de srce à la chaîne originale dest et *err=0si les pré conditions sont satisfaites, *err = 1 sinon valeur retournée: l'adresse de dest si la pré condition a été satisfaite. */ int strcmpT( char* str1, char* str2, int *err); /*pré conditions: str1: une chaîne de caractères. str2: une chaîne de caractères, sont correctement initialisées post conditions: Comparaison str1 et str2 selon l'ordre alphabétique si les préconditions ont été satisfaites et *err=OK, *err=ERREUR sinon valeur retournée: 0 si str1 = str2; > 0 si str1 > str2; < 0 si str1 < str2; */ Pointeurs et chaines de caractères

4 Département dinformatique et de génie logiciel Fonction strcmpT int strcmpT( char* str1, char* str2, int *err) {/*A: str1: une chaîne de caractères. str2: une chaîne de caractères,sont correctement initialisées*/ int cmp = 0; int i = 0; int j = 0; while( (*(str1 + i) != FDC ) && *(str2 + i) != FDC ) { if ( *(str1 + i) < *(str2 + i) ) {*err=OK; return -1; } if ( *(str1 + i) > *(str2 + i) ) {*err=OK; return 1; } i++; } if ( (*(str1 + i) == FDC ) && *(str2 + i) == FDC ) {*err=OK; return 0; } if( (*(str1 + i) != FDC ) && ( *(str2 + i) == FDC ) ) {*err=OK; return 1; } else {*err=OK; return -1; } Pointeurs et chaines de caractères

5 Département dinformatique et de génie logiciel Fonction strcatT char* strcatT(char* dest, char* srce, int *err) { /*A: dest: La chaîne de caractères de destination et srce: La chaîne de caractères à concaténer sont correctement initialisées*/ int i=0; int j=0; while( *(dest + i) != FDC ) { i++; } while( *(srce + j) != FDC ) { *(dest + i) = *(srce + j); i++; j++; } *err=OK; return dest; } Pointeurs et chaines de caractères

6 Département dinformatique et de génie logiciel Fonction strlenT int strlenT(char* str, int *err) { /*A:la chaîne str est correctement initialisée.*/ int ln = 0; int i =0; while( *str != FDC ) { ln++; str++; } *err=OK; return ln; } Pointeurs et chaines de caractères

7 Département dinformatique et de génie logiciel Fonction strcpyT char * strcpyT( char but[], char source[], int *err) { /*A: source, la chaîne de caractères à copier est correctement initialisée */ int i =0; while( source[i] != FDC ) { but[i] = source[i]; i++; } *err= OK; return source; } Pointeurs et chaines de caractères

8 Département dinformatique et de génie logiciel Fonction main pour effectuer les tests #include #include "Proto.h" int main () {char source[20] = "IFT-17582"; char but[20] = "Cours "; char *str; int err,ln; str = strcatT(but,source,&err); if (err !=0) { printf("\n erreur dans la fonction de concatenation.."); exit(1); } printf("%s\n",but); ln = strcmpT(source,but,&err); if (err !=0) { printf("\n erreur dans la fonction de comparaison.."); exit(1); } if (ln>0) printf("%s est plus grande que %s\n",source, but); else { if (ln==0)printf("%s est egale a` %s\n",source, but); else printf("%s est plus petite que %s\n",source, but); } return 0; } Pointeurs et chaines de caractères