SIF-1053 Architecture des ordinateurs

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Les fonctions A quoi ça sert ?
Introduction au Langage C,C++
Rappels C.
Formation C débutant. Notion de compilation source.c executable Phase de compilation Fichier de texte brut, inexploitable directement par la machine Fichier.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
C.
FLSI602 Génie Informatique et Réseaux
FLSI602 Génie Informatique et Réseaux
2ième Classe (Mercredi, 13 Octobre) C++ Intro CSI2572.
Semaine #1 INF155 par Frédérick Henri.
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.
CPI/BTS 2 Programmation Web Introduction au PHP
Récursivité.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
TRAITEMENT DE STRUCTURES
Base de programmation Script unity en c#.
Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions les unes à la suite des autres. Instructions séparées.
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.
Structures de données IFT-2000
IFT1969 Programmation scientifique en C
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.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Principes de programmation
IFT 6800 Atelier en Technologies d’information
8PRO100 Éléments de programmation Les chaînes de caractères.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Structures de données IFT-2000
Procédures et fonctions
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Structures alternative et répétitive
L’essentiel du langage C
Animateur : Med HAIJOUBI
Introduction au C.
Structures des données
2.1 - Historique Chapitre 2 : Introduction au langage C++
Le langage C Rappel Pointeurs & Allocation de mémoire.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Notions de pointeurs en C
Sous-programmes.
et quelques rappels sur certains éléments du langage C
Les adresses des fonctions
ALGORITHMIQUE ET PROGRAMMATION C
8PRO107 Éléments de programmation Les chaînes de caractères.
Argc et argv Utilisation des paramètres de la ligne de commande.
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.
 Syntaxe du langage PHP
Introduction à la programmation objet en C++
Les types composés Les enregistrements.
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
ISBN Chapitre 10 L'implémentation des sous- programmes.
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.
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
Introduction au langage C Les entrées-sorties
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
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.
Conception de Programmes - IUT de Paris - 1ère année Quelques éléments du langage C++ Les références La surcharge de fonctions Les fonctions «
Programmation en C.
Les entrées-sorties élémentaires
8PRO107 Éléments de programmation Les adresses et les pointeurs.
PRO-1027 Programmation Scientifique en C
IFT209 – Programmation Système
Introduction à l’utilitaire
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
SIF-1053 Architecture de ordinateurs
Transcription de la présentation:

SIF-1053 Architecture des ordinateurs Int2Bin Sujets Structures des programmes en C Types, instructions, opérateurs Tableaux (matrices) Chaînes de caractères Fonctions Références: http://fr.wikipedia.org/wiki/C_(langage) http://www.commentcamarche.net/c/cintro.php3 http://www-rocq.inria.fr/codes/Anne.Canteaut/COURS_C/ http://www.iu.hio.no/~mark/CTutorial/CTutorial.html http://www.cplusplus.com/doc/tutorial/control/

Int2Bin Ce programme doit convertir une chaîne de caractères correspondant à un entier dans sa représentation interne binaire Étape 1: Demander le type d’entier à convertir, ‘c’ pour le type char, ‘s’ pour le type short et ‘i’ pour le type int. Étape 2: Valider le type d’entier et la valeur entière introduite. Étape 3: Convertir la valeur entière décimale en binaire et afficher le résultat. Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {} Structures du langage C utilisées pour résoudre l’étape 2: Opérateurs logiques &&, || et opérateur de mise à la puissance pow(). Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %.

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {}

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {}

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {}

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {} Caractères spéciaux dans les énoncés de formattage: \b retour arrière (backspace) \f saut de page (formfeed) \n nouvelle ligne (newline) \r retour chariot (return) \t tabulation horizontale \v tabulation verticale \\ le caractère ‘\’ \’ le caractère ‘’’ \" le caractère ‘"’ \0 le caractère NULL

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {}

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {}

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {} Important pour la validation des données introduites

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {}

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {}

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {}

Étape 1 Structures du langage C utilisées pour résoudre l’étape 1: printf(), scanf(), while() {}, if () {} else if () {} else {}

Étape 2 Structures du langage C utilisées pour résoudre l’étape 2: Opérateurs logiques &&, ||, opérateurs relationnels et opérateur de mise à la puissance pow().

Étape 2 Structures du langage C utilisées pour résoudre l’étape 2: Opérateurs logiques &&, ||, opérateurs relationnels et opérateur de mise à la puissance pow(). //operateurs logiques int i = 0 , j = 6 ; if (( i < j ) && (j < 10)) // vrai! if ( i || j ) // vrai! if ( i && j ) // faux! if ( !i ) // vrai! if ( ! (i < j )) // faux!

Étape 2 Structures du langage C utilisées pour résoudre l’étape 2: Opérateurs logiques &&, ||, opérateurs relationnels et opérateur de mise à la puissance pow().

Étape 2 Structures du langage C utilisées pour résoudre l’étape 2: Opérateurs logiques &&, ||, opérateurs relationnels et opérateur de mise à la puissance pow(). //operateurs relationnels int i = 0 , j = 6 ; if ( i <= j ) // test est vrai ….. k = (i > j) ; // k = 0 k = (i != j) ; // k = 1 if ( i ) // faux! if ( j ) // vrai (!= 0 est considere vrai)

Étape 2 Structures du langage C utilisées pour résoudre l’étape 2: Opérateurs logiques &&, ||, opérateurs relationnels et opérateur de mise à la puissance pow().

Étape 2 Structures du langage C utilisées pour résoudre l’étape 2: Opérateurs logiques &&, ||, opérateurs relationnels et opérateur de mise à la puissance pow().

Étape 3 Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %. Déclaration type-retour nom-fonction (type1 param1, type2 param2, …) float fct (int i, float x) // valeur de retour reelle, 2 arguments void fct1 (int i) // sans valeur de retour, un argument int fct2 () // fonction sans paramètre

Étape 3 Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %. Passage de paramètres Par défaut le passage de paramètre se fait par valeur. Cela signifie que le paramètre est une variable locale de la fonction, Si la valeur de l’argument est changé dans la fonction, elle le sera que localement (sur la pile). La valeur de la variable passée en argument ne change donc pas de valeur au niveau du programme appelant.

Étape 3 Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %. Passage de paramètres par adresse (référence) Ce type de passage de paramètres utilise des variables de type référence (pointeur). Une variable de type référence est une variable contenant l’adresse d’une autre variable (adressage indirect). Cette variable doit être initialisée lors de sa déclaration avec l’adresse dont elle est la référence. L’affectation est donc définitive.

Étape 3 Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %.

Étape 3 Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %.

Étape 3 Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %.

Étape 3 Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %.

Étape 3 //operateurs mathématiques (arithmetiques) Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %. //operateurs mathématiques (arithmetiques) int i = 13 , j = 5 , k ; double x = 12.45 ; x = x + i * j ; // x = 77.45 k = i % j ; // k = 3

Étape 3 Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %.

Étape 3 //operateurs ++ ou – (voir boucle for()) int x = 5; Structures du langage C utilisées pour résoudre l’étape 3: Fonction, for (;;), Opérateurs modulo %. //operateurs ++ ou – (voir boucle for()) int x = 5; int z = ++x; int y = x ++; // z = 6 y = 6 et x = 7

Structures des programmes en C (Instructions) Chaque instruction en C se termine par un délimiteur de fin d’instruction qui est le point-virgule. L’instruction la plus simple est l’affectation. Elle peut être simple ou multiple : i = 4 ; j = k = l = 12 ; Une structure de contrôle comme une boucle ou une conditionnelle s’adresse souvent qu’à une seule instruction. Il est possible de regrouper plusieurs instructions en un groupe d’instructions délimité par les accolades { }.

Structures des programmes en C (Instructions) #include <iostream.h> //#include <stdio.h> main ( ) { int i = 4, j = 5 ; // variables preinitialisees while ( i > 0) int j = 8; j = j + 1 ; cout << "\ni = " << i ; // printf("\ni = “, i ); cout << " j = " << j ; // printf(“ j = “, j ); i = i - 1; } cout << "\ni = " << i ; cout << " j = " << j ; Sorties: i=4 j=9 i=3 j=9 i=2 j=9 i=1 j=9 i=0 j=5

Structures des programmes en C (Opérateurs et expressions) Préséance des opérateurs Visibilité : : Primaires () [ ] -> Unaires ! ~ ++ -- + - * & sizeof new delete conversion de type Arithmétiques * / % Arithmétiques + - Décalages << >> Comparaisons < <= > >= Comparaisons == != Bit à bit & Bit à bit ^ Bit à bit | Logiques && Logiques || Affectations = op= a + b % c * d  (a + ((b % c) * d)) 3 2 1

Structures des programmes en C (Opérateurs et expressions) Conversion de type (cast) int i = 12 ; double x = 4 ; x = x + i ; // i devient double avant de faire le + unsigned k = 4 ; int l = 5 ; k = l + k ; // l devient unsigned avant de faire le + int i = 3 ; float x ; x = (i / 2) * 3.14 ; // x = 3.14, i/2 = 1 division entiere x = ((float) i / 2) * 3.14 ; // en C x = (float (i)/ 2) * 3.14 ; // en C++

Structures des programmes en C (Tableaux, matrices) Déclaration d’un tableau de 4 éléments (vecteur de 4 entiers): int vec[4]; Accès aux éléments d’un tableau: vec[0], vec[1], vec[2], vec[3] Déclaration d’un tableau de 6 éléments (matrice de 2 lignes et 3 colonnes) placés en mémoire de façon linéaire ligne par ligne: mat[0][0], mat[0][1], mat[0][2], mat[1][0], mat[1][2], mat[1][2]: int mat[2][3]; Initialisation et définition d’un tableau de 3 entiers: int vec2[ ]={1,2,3};

Structures des programmes en C (Chaînes de caractères) Une chaîne de caractères est stockée dans un tableau de "char". Pour permettre l’utilisation de plusieurs fonctions de gestion de chaînes de caractères il faut compléter une chaîne de caractères avec le caractère NULL ('\0'). char x[]="SIF1053"; // x est un tableau de 8 caractères // x[7]=='\0' x[7]==0

Structures des programmes en C (Fonctions) Passage de paramètres #include <iostream.h> int valeur-positive (int val); void main ( ){ const int val1 = -100; int pos1 = valeur-positive(val1); cout << pos1 ; // affichage de 0 const int val2 = 600; int pos2 = valeur-positive(val2) ; cout << pos2 ;} // affichage de 1 int valeur-positive (int n){ if (n > 0) return 1; else return 0;}

Structures des programmes en C (Fonctions) Passage de paramètres par adresse en C standard (référence) Type * nom de variable; int i ; int * j; j = &i ; // j pointe sur i, j fait reference a i i = 10; (*j)++ ; printf(“%d”,i); // i == 11

Structures des programmes en C (Fonctions) Passage de paramètres par adresse en C++ (référence) Type & nom = nom de variable int i ; int & j = i ; // j pointe sur i, j fait reference a i i = 10; j++ ; cout << i; // i == 11

Structures des programmes en C (Fonctions) Passage de paramètres par adresse (C++) (référence) #include <iostream.h> int valeur-positive (int val, int & valref); void main ( ){ const int val1 = -100; int val; int pos1 = valeur-positive(val1, val); cout << val ; // affichage de -200 const int val2 = 600; int pos2 = valeur-positive(val2, val) ; cout << val ;} // affichage de 700 int valeur-positive (int n, int & valref){ if (n > 0) {valref = n + 100; return 1} else {valref = n – 100; return 0;}}

Structures des programmes en C (Fonctions) Passage de paramètres par adresse (C) (référence) #include <stdio.h> int valeur-positive (int val, int * valref); void main ( ){ int val1 = -100; int val2 = 600; int val, pos1, pos2; pos1 = valeur-positive(val1, &val); printf(“%d”,val); // affichage de -200 pos2 = valeur-positive(val2, val) ; printf(“%d”,val);} // affichage de 700 int valeur-positive (int n, int * valref){ if (n > 0) {*valref = n + 100; return 1} else {*valref = n – 100; return 0;}}