Notions de base de programmation en langage C, le syntaxe, les opérateurs, l'affichage et le saisie, les structures de contrôle, les boucles.
cours par Benouini Rachid.
Notions de base de programmation en langage C, le syntaxe, les opérateurs, l'affichage et le saisie, les structures de contrôle, les boucles.
cours par Benouini Rachid.
Cette diapositive présente l'essentiel de langage C# pour des personnes qui'ont deja des notions en POO, dans cette présentation on traite les bases de C# comme les variables, les boucles, les classes, les exception, et aussi on traite des concepts avancés comme les delegates et les événements.
C'est le premier chapitre du cours en C++ de la programmation procédurale à la POO.
Partie 1: La Programmation Procédurale.
Partie 2: La Programmation Orientée Objet.
Partie 3: Les Exceptions, Entrées/Sorties, Structures, Unions, Énumérations…
Partie 4: Les interfaces Graphiques avec Qt.
C'est la version 2019 du chapitre 1 sur C++:
https://fr.slideshare.net/AzizDarouichi/chap1-cours-en-c
Si vous avez des remarques ou des suggestions afin d'améliorer ce support du cours merci de me contacter via 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.
Les variables, telles que nous les avons vues dans les chapitres précédents, ne permettent de stocker qu'une seule donnée à la fois. Or, pour de très nombreux programmes, on a besoin d'avoir plusieurs données du même type et qui jouent quasiment le même rôle. Pensez par exemple à la liste des utilisateurs d'un site web, cela représente plusieurs variables de type string.
L’utilisation des variables distinctes, dans ce cas, seraient beaucoup trop lourdes à gérer. Heureusement, le C++ propose un moyen simple de regrouper ces données dans un seul support. Il s’agit des tableaux.
Les tableaux sont des structures de données constituées d'un certain nombre d'éléments de même type. Ils correspondent aux vecteurs et matrices en mathématiques. Un tableau est caractérisé par sa taille et par le type de ses éléments.
Dans ce chapitre, je vais vous apprendre à manipuler deux sortes de tableaux :
Les tableaux statiques : ceux dont la taille est connue à l'avance, elle est donc figée une fois pour toute et ne peut pas être modifiée en cours d'exécution du programme.
Les tableaux dynamiques : ceux dont la taille peut varier au cours de l'exécution du programme.
Les chaînes de caractères sont déclarées en C++ comme tableaux de caractères et permettent l'utilisation d'un certain nombre de notations et de fonctions spéciales. Les particularités des tableaux de caractères seront traitées séparément à la fin de ce chapitre.
Notions fondamentales en développement informatique :
- Variables, et constantes,
- Conversion des types de variables,
- Expressions et
- Instructions.
Opérateurs arithmétiques
Opérateurs d’incrémentation et de décrémentation
Opérateurs d’affectation
Voir comment demander des informations à l'utilisateur et comment les stocker dans la mémoire :
- Lecture depuis la console
- Afficher la valeur d'une variable
Découvrir la directive cmath.h
Un cours d'initiation en Visual Basic.
Merci de me faire part de vos remarques et suggestions pour le parfaire et le perfectionner via mon email:
pr.azizdarouichi@gmail.com
Cette diapositive présente l'essentiel de langage C# pour des personnes qui'ont deja des notions en POO, dans cette présentation on traite les bases de C# comme les variables, les boucles, les classes, les exception, et aussi on traite des concepts avancés comme les delegates et les événements.
C'est le premier chapitre du cours en C++ de la programmation procédurale à la POO.
Partie 1: La Programmation Procédurale.
Partie 2: La Programmation Orientée Objet.
Partie 3: Les Exceptions, Entrées/Sorties, Structures, Unions, Énumérations…
Partie 4: Les interfaces Graphiques avec Qt.
C'est la version 2019 du chapitre 1 sur C++:
https://fr.slideshare.net/AzizDarouichi/chap1-cours-en-c
Si vous avez des remarques ou des suggestions afin d'améliorer ce support du cours merci de me contacter via 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.
Les variables, telles que nous les avons vues dans les chapitres précédents, ne permettent de stocker qu'une seule donnée à la fois. Or, pour de très nombreux programmes, on a besoin d'avoir plusieurs données du même type et qui jouent quasiment le même rôle. Pensez par exemple à la liste des utilisateurs d'un site web, cela représente plusieurs variables de type string.
L’utilisation des variables distinctes, dans ce cas, seraient beaucoup trop lourdes à gérer. Heureusement, le C++ propose un moyen simple de regrouper ces données dans un seul support. Il s’agit des tableaux.
Les tableaux sont des structures de données constituées d'un certain nombre d'éléments de même type. Ils correspondent aux vecteurs et matrices en mathématiques. Un tableau est caractérisé par sa taille et par le type de ses éléments.
Dans ce chapitre, je vais vous apprendre à manipuler deux sortes de tableaux :
Les tableaux statiques : ceux dont la taille est connue à l'avance, elle est donc figée une fois pour toute et ne peut pas être modifiée en cours d'exécution du programme.
Les tableaux dynamiques : ceux dont la taille peut varier au cours de l'exécution du programme.
Les chaînes de caractères sont déclarées en C++ comme tableaux de caractères et permettent l'utilisation d'un certain nombre de notations et de fonctions spéciales. Les particularités des tableaux de caractères seront traitées séparément à la fin de ce chapitre.
Notions fondamentales en développement informatique :
- Variables, et constantes,
- Conversion des types de variables,
- Expressions et
- Instructions.
Opérateurs arithmétiques
Opérateurs d’incrémentation et de décrémentation
Opérateurs d’affectation
Voir comment demander des informations à l'utilisateur et comment les stocker dans la mémoire :
- Lecture depuis la console
- Afficher la valeur d'une variable
Découvrir la directive cmath.h
Un cours d'initiation en Visual Basic.
Merci de me faire part de vos remarques et suggestions pour le parfaire et le perfectionner via mon email:
pr.azizdarouichi@gmail.com
Articulé autour de C++ 11, cette session amène celui qui y assiste aux fondamentaux du développement logiciel : libraries, dépendances, TR1 et C++0X les fondations de C++ 11, runtime C alias CRT, runtime C++ alias STL, agilité en C++, ALM en C++, Windows 8 et C++, C++ et Windows 8 avec le nouveau modèle COM nommé WRL.
Support Dot Net avec C#. Ce cours traite les points suivants :
- Architecture .Net
- Les bases de C#
- Objet et Classe
- Héritage
- Encapsulation
- Polymorphisme
- Les exceptions
- Les entrées sorties
- Les interfaces graphiques
- Le multi Threading
- Programmation réseaux (Sockets et DataGram)
- Accès aux bases de données
In mathematics and computer science, an algorithm is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing.
Tutorial 2 - Basics of Digital PhotographyFahad Golra
In the first session of this 5 session workshop, I am going to explain the photography gear (camera) with special focus on different sensor types. Then we will discuss about the fundamental concepts of photography.
Tutorial 1 - Basics of Digital PhotographyFahad Golra
In the second session of this 5 session workshop, I am going to explain the photography gear (lens) with special focus on focal length and maximum aperture. Then we will discuss about the introduction of exposure in photography.
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
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
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Seance 2 - Programmation en langage C
1. Programmation en langage C
Fahad R. Golra
Faculté des Sciences et Technologies
Université de Lorraine
Séance 2 – Tableaux, Tri
2. 2 25/09/2017
Tableaux
Programmation en langage C, Université de Lorraine
• Les tableaux constituent une
collection d’objets de même
type, implémentés
consécutivement en mémoire
et représentés par un même
identificateur.
• Ces objets peuvent être de
type très variés (char, int,
float, double etc.).
• Chaque élément du tableau
est une variable
int tab[5];
type nom[ taille du tableau ];
tab[0]
tab[1]
tab[2]
tab[3]
tab[4]
int
3. 3 25/09/2017
Tableaux
Programmation en langage C, Université de Lorraine
• La taille du tableau doit être
exprimé avec un chiffre pour
pouvoir compiler
• Pour accéder à un élément du
tableau il suffit d’utiliser un
indice qui peut être compris
entre 0 et MAX_ELEM-1
• Ainsi dans l’exemple du
tableau
• tab[3] est le quatrième
élément du tableau,
• tab[0] est le premier.
#include <stdio.h>
#define MAX_ELEM 5
int main(void)
{
int tab[MAX_ELEM];
-
-
}
tab[0]
tab[1]
tab[2]
tab[3]
tab[4]
int tab[MAX_ELEM];
4. • Il est possible d’affecter une valeur par affectation à un
élément quelconque du tableau
• Cette instruction permet d’affecter la valeur 3 au
troisième élément du tableau. Rappelons à ce sujet que
le premier élément du tableau à comme indice 0.
4 25/09/2017
Affectation à un élément du tableau
Programmation en langage C, Université de Lorraine
tab[2] = 3;
5. 5 25/09/2017
Initialisation des tableaux
Programmation en langage C, Université de Lorraine
• Un tableau peut être
initialisé à
• Déclaration
• Durant l'exécution du
programme
• Est équivalent à :
tab[0]=2, tab[1]=4, tab[2]=6,
tab[3]=8, tab[4]=10
#include <stdio.h>
int main(void)
{
//declaration
int tab[5] = { 2, 4, 6, 8, 10};
…
//durant l’exécution
for(i = 0; i < 5; i++)
tab[i] = (i+1)*2;
…
//durant l’exécution
for(i = 0; i < 5; i++)
scanf("%d", &tab[i]);
…
}
6. • La boucle for est l’instruction itérative la mieux adaptée pour
parcourir un tableau. Illustration, on souhaite sommer tous les
éléments d’un tableau :
• A la fin de l’exécution de l’instruction for la variable somme
contiendra la somme des nombres entiers de 1 à 10.
6 25/09/2017
Parcourir un tableau
Programmation en langage C, Université de Lorraine
#include <stdio.h>
int main(void)
{
int tab[10]= {1,2,3,4,5,6,7,8,9,10};
int somme=0;
for(i=0; i<10; i++) somme+=tab[i];
printf("somme : %d", somme);
}
7. 7 25/09/2017
Exemple 1 : le minimum d’un tableau
Programmation en langage C, Université de Lorraine
#include <stdio.h>
int main(void)
{
int i;
int tab[10]= {1,-2,3,4,0,-6,-7,8,9,10};
int min=tab[0];
for(i=0; i<10; i++)
if (min<tab[i]) min=tab[i];
printf("Le minimum du tableau est %d n", min);
return 0;
}
8. 8 25/09/2017
Exemple 2 : déterminer la présence
Programmation en langage C, Université de Lorraine
#include <stdio.h>
int main(void)
{
int tab[10]= {1,2,3,4,5,6,7,8,9,10};
int trouve=0;
int i, x;
printf("Enter un nombre : ");
scanf("%d", &x);
for(i=0; (!trouve && (i<10)); i++)
trouve=(tab[i] == x);
if (trouve) printf("x est présent dans le tableaun");
else printf("x n'est pas présent dans le tableaun");
return 0;
}
9. • On peut ne pas préciser la dimension du tableau lors de son
initialisation
• Le nombre d’éléments du tableau (si on ne veut pas les
compter) est :
9 25/09/2017
Initialisation des tableaux (suite)
Programmation en langage C, Université de Lorraine
#include <stdio.h>
int main(void)
{
//declaration
int tab[]= {1,0,9,7,6,4,8,9,10,5};
...
//nombre d'elements du tableau
N=sizeof(tab)/sizeof(tab[0]);
...
}
10. 10 25/09/2017
Remarques importantes
Programmation en langage C, Université de Lorraine
• Les tableaux sont
statiques : La taille d'un
tableau en mémoire
dépend à la fois de son
type et de sa dimension.
En langage C, cette taille
doit être connue au
moment de la
compilation.
• Débordement d'indice : Il
est interdit de lire ou
d'écrire dans un élément
du tableau qui se trouve
en dehors du tableau
#include <stdio.h>
int main(void)
{
int dimension;
scanf("%d", &dimension);
int tab[dimension]; // interdit
int tab[10];
tab[12] = 1; // débordement d'indice
...
}
11. 11 25/09/2017
Exemple 3 : le tri à bulles
Programmation en langage C, Université de Lorraine
#include <stdio.h>
int main (void)
{
int tab[10]= {10,1,6,-8,5,3,7,8,9};
int n ,i ,temp;
for (n=0; n<10; n++)
for (i=0; i<9; i++)
{
if (tab[i]>tab[i+1])
{
temp=tab[i];
tab[i]=tab[i+1];
tab[i+1]=temp;
}
}
for (i=0; i<10; i++)
printf("%d ", tab[i]);
return 0;
}
10 1 6 -8 5 3 7 8 9 0
1 10
6 10
-8 10
5 10
3 10
7 10
8 10
9 10
0 10
1 6 -8 5 3 7 8 9 0 10
13. 13 25/09/2017
Exemple 3 : le tri à bulles (cond. permutations)
Programmation en langage C, Université de Lorraine
int tab[10]= {10,1,6,-8,-4,5,3,7,8,9};
int i ,temp;
int permut;
do
{
permut=0;
for (i=0; i<9; i++)
{
if (tab[i]>tab[i+1])
{
temp=tab[i];
tab[i]=tab[i+1];
tab[i+1]=temp;
permut=1;
}
}
} while (permut);
for (i=0; i<10; i++)
printf("%2d ", tab[i]);
10 1 6 -8 -4 5 3 7 8 9
1 6 -8 -4 5 3 7 8 9 10
1 -8 -4 5 3 6 7 8 9 10
-8 -4 1 3 5 6 7 8 9 10
-8 -4 1 3 5 6 7 8 9 10
permute = 0
-8 -4 1 3 5 6 7 8 9 10
14. 14 25/09/2017
Tableaux multidimensionnels
Programmation en langage C, Université de Lorraine
• Tableau dont chaque case est
elle-même un tableau.
• tab peut être considéré
comme un tableau à trois
lignes et deux colonnes.
int tab[3][2];
type nom[ taille][taille];
…
tab[0][0]
tab[0][1]
tab[1][0]
tab[1][1]
tab[2][0]
tab[2][1]
…
tab[0]
tab[1]
tab[2]
tab[0][0] tab[0][1]
tab[1][0] tab[1][1]
tab[2][0] tab[2][1]
Colonne 0 Colonne 1
Ligne 0
Ligne 1
Ligne 2
15. 15 25/09/2017
Initialisation des tableaux multidimensionnels
Programmation en langage C, Université de Lorraine
• Un tableau multi-
dimensionnel peut être
initialisé à
• Déclaration
• Durant l'exécution du
programme
• Pour accéder à un
élément quelconque de
matrice il suffit d’écrire
par exemple :
tab[1][2]=0 ;
printf("%d", tab[1][2]);
#include <stdio.h>
int main(void)
{
…
//déclaration
int tab[3][2] = {{1,2},{3,4},{5,6}};
//durant l'éxecution
for (i=0; i<3; i++)
for (j=0; j<2; j++)
tab[i][j]=1;
…
}
16. 16 25/09/2017
Exemple 4 : l'affichage d’un tableau multidi.
Programmation en langage C, Université de Lorraine
#include <stdio.h>
int main (void)
{
int i,j;
int tab[3][3]= {{1,2,3},{4,5,6},{7,8,9}};
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
printf("%2d ", tab[i][j]);
printf("n");
}
return 0;
}
17. 17 25/09/2017
Exemple 5 : Produit de matrices
Programmation en langage C, Université de Lorraine
#include <stdio.h>
int main (void)
{
int i,j,k;
int A[3][3]= {{1,2,3},{4,5,6},{7,8,9}};
int B[3][3]= {{-1,2,-3},{-4,5,-6},{-7,8,-9}};
int C[3][3];
for (i=0; i<3; i++)
for (j=0; j<3; j++)
{
C[i][j]=0;
for (k=0; k<3; k++) C[i][j]+=A[i][k]*B[k][j];
}
return(0);
}