Ce premier cours présente les notions d'objet et de classe, et le lien entre elles. Il présente aussi le premier concept clé de la programmation orientée objet, à savoir l'encapsulation des données. Les exemples sont fournis dans plusieurs langages (Python, C#, Java, C++ et PHP).
Voici le chapitre sur les classes et les objets en C++.
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture.
Ce premier cours présente les notions d'objet et de classe, et le lien entre elles. Il présente aussi le premier concept clé de la programmation orientée objet, à savoir l'encapsulation des données. Les exemples sont fournis dans plusieurs langages (Python, C#, Java, C++ et PHP).
Voici le chapitre sur les classes et les objets en C++.
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture.
Voici le chapitre sur les pointeurs et les références en C++.
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture.
Travaux Dirigés : Algorithmique et Structure de DonnéesAnass41
Introduction....................................................................................
Les variables...................................................................................
1. Objectif ....................................................................................
2. Déclaration ...............................................................................
3. Type des variables ....................................................................
4. L’instruction d’affectation .......................................................
Les variables ....................................................................................
Correction TD 1 ...............................................................................
Les structures de contrôle ................................................................
1. Objectif ....................................................................................
2. Les structures de contrôle: .......................................................
3. Les structures itératives ............................................................
Les structures de contrôle ................................................................
Correction TD 2 ...............................................................................
Les tableaux à une dimension ..........................................................
1. Objectif ....................................................................................
2. Définition .................................................................................
3. Exemple ...................................................................................
4. Algorithmes de tri ....................................................................
Les tableaux à une dimension.......................................................
Les tableaux à deux dimensions ......................................................
1. Objectif ....................................................................................
2. Définition .................................................................................
3. Exemple ...................................................................................
Les tableaux à deux dimensions ......................................................
Les fonctions ....................................................................................
Objectif ............................................................................................
Les enregistrements .........................................................................
Les fichiers séquentiels ....................................................................
Présente une description complète sur les curseurs avec exemples et exercices corrigés. Ainsi, vous allez trouver:
- Définition des curseurs
- Curseurs implicites
- Curseurs explicites
- Les curseurs paramétrables
- Accès concurrents (FOR UPDATE)
- Variables de types Curseurs: Curseurs non typés et typés
-
Ce cours présente comment définir de nouveaux objets en définissant des classes. Un objet est une instance d'une classe qui définit les variables d'instances (attributs) et méthodes (fonctionnalités) que les objets créés à partir de la classe auront.
Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
Ce fascicule de TP est destiné aux étudiants. Il est conforme au programme de première année Licence Appliquée : Technologies des communications..
Cet ouvrage est construit essentiellement autour de l’activité de l’étudiant. Son intention est de favoriser, chez l’étudiant, la maîtrise de la notion de résolution de problème à travers une démarche algorithmique suivi d’une traduction au langage C. Il comporte 8 TPs qui couvrent le programme de module Atelier Informatique I.
This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis.
Ce chapitre est destiné pour les étudiants de la 2ème année année master Mathématiques, Cryptologie et Sécurité Informatique (MMCSI) Semestre 3. Il traite les concepts de base du langage Java.
Voici le chapitre sur les pointeurs et les références en C++.
Si vous avez des remarques ou suggestions afin de le parfaire.
N’hésitez pas à me contacter via mon email:
pr.azizdarouichi@gmail.com.
Bonne lecture.
Travaux Dirigés : Algorithmique et Structure de DonnéesAnass41
Introduction....................................................................................
Les variables...................................................................................
1. Objectif ....................................................................................
2. Déclaration ...............................................................................
3. Type des variables ....................................................................
4. L’instruction d’affectation .......................................................
Les variables ....................................................................................
Correction TD 1 ...............................................................................
Les structures de contrôle ................................................................
1. Objectif ....................................................................................
2. Les structures de contrôle: .......................................................
3. Les structures itératives ............................................................
Les structures de contrôle ................................................................
Correction TD 2 ...............................................................................
Les tableaux à une dimension ..........................................................
1. Objectif ....................................................................................
2. Définition .................................................................................
3. Exemple ...................................................................................
4. Algorithmes de tri ....................................................................
Les tableaux à une dimension.......................................................
Les tableaux à deux dimensions ......................................................
1. Objectif ....................................................................................
2. Définition .................................................................................
3. Exemple ...................................................................................
Les tableaux à deux dimensions ......................................................
Les fonctions ....................................................................................
Objectif ............................................................................................
Les enregistrements .........................................................................
Les fichiers séquentiels ....................................................................
Présente une description complète sur les curseurs avec exemples et exercices corrigés. Ainsi, vous allez trouver:
- Définition des curseurs
- Curseurs implicites
- Curseurs explicites
- Les curseurs paramétrables
- Accès concurrents (FOR UPDATE)
- Variables de types Curseurs: Curseurs non typés et typés
-
Ce cours présente comment définir de nouveaux objets en définissant des classes. Un objet est une instance d'une classe qui définit les variables d'instances (attributs) et méthodes (fonctionnalités) que les objets créés à partir de la classe auront.
Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
Ce fascicule de TP est destiné aux étudiants. Il est conforme au programme de première année Licence Appliquée : Technologies des communications..
Cet ouvrage est construit essentiellement autour de l’activité de l’étudiant. Son intention est de favoriser, chez l’étudiant, la maîtrise de la notion de résolution de problème à travers une démarche algorithmique suivi d’une traduction au langage C. Il comporte 8 TPs qui couvrent le programme de module Atelier Informatique I.
This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis.
Ce chapitre est destiné pour les étudiants de la 2ème année année master Mathématiques, Cryptologie et Sécurité Informatique (MMCSI) Semestre 3. Il traite les concepts de base du langage Java.
Ce chapitre est destiné pour les étudiants de la 1ère année Master MMCSI, Semestre 1. Il traite les points suivants:
Définition des arbres binaires
Arbres binaires particuliers
Implantation d’un arbre binaire
Notion de parcours
Les primitives sur les arbres binaires
Les autres fonctions sur les arbres binaires
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24BenotGeorges3
Les informations et évènements agricoles en province du Luxembourg et en Wallonie susceptibles de vous intéresser et diffusés par le SPW Agriculture, Direction de la Recherche et du Développement, Service extérieur de Libramont.
https://agriculture.wallonie.be/home/recherche-developpement/acteurs-du-developpement-et-de-la-vulgarisation/les-services-exterieurs-de-la-direction-de-la-recherche-et-du-developpement/newsletters-des-services-exterieurs-de-la-vulgarisation/newsletters-du-se-de-libramont.html
Bonne lecture et bienvenue aux activités proposées.
#Agriculture #Wallonie #Newsletter #Recherche #Développement #Vulgarisation #Evènement #Information #Formation #Innovation #Législation #PAC #SPW #ServicepublicdeWallonie
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Formation
Suite à l'entrée en vigueur de la « Participation Financière Obligatoire » le 2 mai dernier, les règles du jeu ont changé !
Pour les entreprises, cette révolution du dispositif est l'occasion de revoir sa stratégie de formation pour co-construire avec ses salariés un plan de formation alliant performance de l'organisation et engagement des équipes.
Au cours de ce webinar de 20 minutes, co-animé avec la Caisse des Dépôts et Consignations, découvrez tous les détails actualisés sur les dotations et les exonérations, les meilleures pratiques, et comment maximiser les avantages pour les entreprises et leurs salariés.
Au programme :
- Principe et détails de la « Participation Financière Obligatoire » entrée en vigueur
- La dotation : une opportunité à saisir pour co-construire sa stratégie de formation
- Mise en pratique : comment doter ?
- Quelles incidences pour les titulaires ?
Webinar exclusif animé à distance en coanimation avec la CDC
1. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Chapitre 5
Les listes simplement chaˆın´ees
Module 5: Algorithmique et programmation
Master Math´ematiques, Cryptologie et S´ecurit´e Informatique (MMCSI)
Texte
Texte
Texte
mlahby@gmail.com
22 novembre 2014
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 1/ 16
2. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Plan
1 D´efinition d’une liste chaˆın´ee
2 Ajout d’un ´el´ement
Ajouter au debut : la fonction InsertDebut()
Ajouter `a la fin : la fonction InsertFin()
Ajout dans une liste tri´ee : la fonction InsertOrd()
3 suppression d’un ´el´ement
Supprimer au debut : la fonction SupprimerDebut()
Supprimer `a la fin : la fonction SupprimerFin()
Supprimer une valeur : la fonction SupprimerVal()
4 Autres op´erations sur les listes
Affichage d’une liste : la fonction AfficherListe()
Rechercher un ´el´ement : la fonction Rechercher()
Inverser une liste : la fonction InverserListe()
Trier une liste : la fonction TrierListe()
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 2/ 16
3. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Introduction
Pour stocker des donn´ees en m´emoire, nous avons utilis´e des variables simples (type
int, double. . .), des tableaux et des structures personnalis´ees. Si vous souhaitez
stocker une s´erie de donn´ees, le plus simple est en g´en´eral d’utiliser des tableaux.
Toutefois, les tableaux se r´ev`elent parfois assez limit´es. Par exemple, si vous cr´eez un
tableau de 10 cases et que vous vous rendez compte plus tard dans votre programme
que vous avez besoin de plus d’espace, il sera impossible d’agrandir ce tableau. De
mˆeme, il n’est pas possible d’ins´erer une case au milieu du tableau.
Les mod`eles de donn´ees dynamiques (liste chaˆın´ee, pile, file...) repr´esentent une fa¸con
d’organiser les donn´ees en m´emoire de mani`ere beaucoup plus exible. Comme `a la
base le langage C ne propose pas ce syst`eme de stockage, nous allons devoir le cr´eer
nous-mˆemes de toutes pi`eces. Les mod`eles de donn´ees dynamiques Une structure
dynamique est une structure dont la taille peut varier au cours de l’ex´ecution du
programme , l’acc`es aux informations stock´ees d´epend de la structure. Ce type de
structure utilise des pointeurs, dans ce chapitre nous allons traiter un seul type de
structures dynamiques : liste chain´ee.
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 3/ 16
4. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
D´efinition
Une liste est une s´equence finie d’´el´ements ;
Les ´el´ements sont rep´er´es selon leur rang ;
Il existe une relation d’ordre sur le rang des ´el´ements : le rang du premier
´el´ement est 1, le rang du second est 2, . . .
L’ajout et la suppression d’un ´el´ement peut se faire `a n’importe quel rang valide
de la liste
Une liste chaˆın´ee est un moyen d’organiser une s´erie de donn´ees en m´emoire ;
Cela consiste `a assembler des structures en les liant entre elles `a l’aide de
pointeurs.
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 4/ 16
5. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Listes : cellule
La cellule est la composante principale d’une liste ;
Une liste est un ensemble de cellules (´el´ements) chaˆın´ees entre elles `a l’aide de
liens ;
Une cellule est une structure qui comporte deux champs :
1 Le champ info : il contient des informations sur l’´el´ement repr´esent´e par la
cellule ;
2 Le champ suivant : il repr´esente un pointeur qui contient l’adresse de la
cellule suivante.
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 5/ 16
6. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
D´eclation d’une liste
Syntaxe pour d´efinifir le type liste
typedef struct cellule{
int info ; //le champ info peut avoir n’importe quel type
struct cellule *suiv ; //pointeur contenant l’adresse de la cellule suivante
}liste ;
D´eclaration d’une liste
Pour cr´eer une liste chaˆın´ee, il suffit de d´eclarer un pointeur qui
contient l’adresse de la premi`ere cellule :
liste *L ;
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 6/ 16
7. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Ajouter au debut : la fonction InsertDebut()
Ajouter `a la fin : la fonction InsertFin()
Ajout dans une liste tri´ee : la fonction InsertOrd()
Prototype : InsertDebut(liste *L, int x)
D´efinition de la fonction
liste *InsertDebut(liste *L, int x)
{ liste *c ;
c=(liste*)malloc(1*sizeof(liste)) ;
if(c !=NULL)
{
c− > info = x;
c− > suiv = L;
L=c ;
return(c);
}
else
return(L) ;
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 7/ 16
8. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Ajouter au debut : la fonction InsertDebut()
Ajouter `a la fin : la fonction InsertFin()
Ajout dans une liste tri´ee : la fonction InsertOrd()
Prototype : InsertFin(liste *L, int v)
D´efinition de la fonction
liste *InsertFin(liste *L, int x)
{ liste *c ;
c=(liste*)malloc(1*sizeof(liste)) ;
if(c !=NULL)
{ c− > info = x;
c− > suiv = NULL
}
if (L! = NULL) //liste n’est pa vide
//Chercher l’adresse de la derniere
{ P=L ;
while(P− > suiv! = NULL)
P = P− > suiv;
//brancher
P− > suiv = C;
return L ; }
else
L=C ;
return L ;
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 8/ 16
9. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Ajouter au debut : la fonction InsertDebut()
Ajouter `a la fin : la fonction InsertFin()
Ajout dans une liste tri´ee : la fonction InsertOrd()
Prototype : InsertOrd(liste *L, int x)
Fonction it´erative
liste *InsertOrd(liste *L, int x)
{ liste *C,*P,*N ;
while(C! = NULL&&C− > info! = x)
{P = C;
C = C− > suiv; }
N = (liste∗)malloc(sizeof (liste));
N− > info = x;
if (P == NULL)
L = insertdebut(L, x);
else
{ P− > suiv = N;
N− > suiv = C;
}
return(L) ;
}
Fonction r´ecursive
liste *InsertOrdR(liste *L, int x)
{
if(L !=NULL)
if (x < L− > info)
return(InsertDebut(L, x));
else
return(InsertDebut(L− > info, InsertOrdR(L− >
suiv, x)));
else
return(InsertDebut(L, x));
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 9/ 16
10. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Supprimer au debut : la fonction SupprimerDebut()
Supprimer `a la fin : la fonction SupprimerFin()
Supprimer une valeur : la fonction SupprimerVal()
Prototype :SupprimerDebut(liste *L)
D´efinition de la fonction
liste *SupprimerDebut(liste *L)
{ liste *p ; //pour lib´erer la cellule
qu’on va supprimer
if(L !=NULL)
{P = L;
L = L− > suiv;
free(p);
return(L);
}
else
return(NULL) ; // o`u return(L) ;
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 10/ 16
11. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Supprimer au debut : la fonction SupprimerDebut()
Supprimer `a la fin : la fonction SupprimerFin()
Supprimer une valeur : la fonction SupprimerVal()
Prototype : SupprimerFin(liste *L)
D´efinition de la fonction
liste *SupprimerFin(liste *L)
{ liste *p,*c ;
p=NULL ; //pour m´emoriser l’adresse
if (L! = NULL) //liste n’est pa vide
{c = L; //pour parcourir la liste
while(c− > suiv! = NULL)
{p = c;//contient l’adress de l’avt dernier
c = c− > suiv; }
if (p == NULL)//L contient un seul ´el´ement
{L = L− > suiv;
free(c); }
else
{
P− > suiv = NULL;
free(c);
}
return(L);
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 11/ 16
12. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Supprimer au debut : la fonction SupprimerDebut()
Supprimer `a la fin : la fonction SupprimerFin()
Supprimer une valeur : la fonction SupprimerVal()
Prototype : SupprimerVal(liste *L, int x)
D´efinition de la fonction
liste *SupprimerVal(liste *L, int x)
{ liste *C,*P ;
if(L !=NULL){
if (L− > info == x)
{C = L;
L = L− > suiv;
free(C); //liberer la cellule
}
else
{C = L;
while(C! = NULL&&C− > info! = x)
{P = C;
C = C− > suiv; }
if (C! = NULL)
{P− > suiv = C− > suiv;
free(C); }
} }
return(L) ;
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 12/ 16
13. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Affichage d’une liste : la fonction AfficherListe()
Rechercher un ´el´ement : la fonction Rechercher()
Inverser une liste : la fonction InverserListe()
Trier une liste : la fonction TrierListe()
Prototype : AfficherListe(liste *L)
Fonction it´erative
void AfficherListeIt(liste *L)
{ liste *P ;
P=L ; //pour sauvegarder la tˆete de L
while(P! = NULL)
{
printf (”%d− > ”, P− > info);
P = P− > suiv;
}
printf(”NULL”) ;
}
Fonction r´ecursive
void AfficherListeRe(liste *L)
{
if (L! = NULL)
{
printf (”%d− > ”, L− > info);
AfficherListeRe(L− > suiv)
}
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 13/ 16
14. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Affichage d’une liste : la fonction AfficherListe()
Rechercher un ´el´ement : la fonction Rechercher()
Inverser une liste : la fonction InverserListe()
Trier une liste : la fonction TrierListe()
Prototype : Rechercher(liste *L,int x)
Fonction it´erative
int RechercherIt(liste *L,int x)
{ liste *P ;
P=L ; //pour sauvegarder la tˆete de L
while(P! = NULL&&P− > info! = x))
{
P = P− > suiv;
}
if (P! = NULL)
return(1);
else
return(0);
}
Fonction r´ecursive
int RechercherRe(liste *L,int x)
{
if (L == NULL)
return(0);
if (L! = NULL&&L− > info == x)
return(1);
return(RechercherRe(L− > suiv, x));
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 14/ 16
15. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Affichage d’une liste : la fonction AfficherListe()
Rechercher un ´el´ement : la fonction Rechercher()
Inverser une liste : la fonction InverserListe()
Trier une liste : la fonction TrierListe()
Prototype : InverserListe(liste *L, int x)
Fonction it´erative : on
construit une nouvelle liste
liste *InverserListeIt(liste *L)
{ liste *LI ;
LI=NULL ; //liste vide
while(L! = NULL)
{
LI = InsertDebut(LI, L− > info);
L = L− > suiv;
}
return(LI) ;
}
Fonction r´ecursive : on affiche
la liste sans constuire une
nouvelle liste
void InverserListeRe(liste *L)
{
if (L! = NULL)
{
AfficherListeRe(L− > suiv);
printf (”%d− > ”, L− > info);
}
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 15/ 16
16. D´efinition d’une liste chaˆın´ee
Ajout d’un ´el´ement
suppression d’un ´el´ement
Autres op´erations sur les listes
Affichage d’une liste : la fonction AfficherListe()
Rechercher un ´el´ement : la fonction Rechercher()
Inverser une liste : la fonction InverserListe()
Trier une liste : la fonction TrierListe()
Prototype : TriSelection(liste *L)
Solution 1 : Boucle for
void TriSelection(liste *L)
{ liste *p,*q,*min ;
int aide ;
for(p = L; p− > suiv! = NULL; p = p− > suiv)
{min = p;
for(q = p− > suiv; q! = NULL; q = q− > suiv)
{
if (q− > info < min− > info)
min = q;
}
aide = p− > info;
p− > info = min− > info;
min− > info = aide;
}
}
Solution 2 : Boucle while
void TriSelection(liste *L)
{ liste *p,*q,*min ;
int aide ;
p=L ;
while(p− > suiv! = NULL)
{min = p;
q = p− > suiv;
while(q! = NULL)
{
if (q− > info < min− > info)
min = q;
q = q− > suiv;
}
aide = p− > info;
p− > info = min− > info;
min− > info = aide;
p = p− > suiv;
}
}
Module 5: Algorithmique et programmation ENS Casablanca 2014-2015 16/ 16