Les structures de données

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Introduction a L’algorithme
Introduction au Langage C,C++
Initiation à la programmation et algorithmique cours 4
Algorithmique (suite)
Algorithmes et structures de données Cours 8
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.
Algorithmique Résume.
GEF 243B Programmation informatique appliquée
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
3- Déclaration et accès aux objets
Notions fondamentales (Types, variables, affectations)
C.
Les fonctions de XPath et XSLT
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
8. Les tableaux P. Costamagna – ISEN N1.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
Algorithmique -les fichiers-
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
Chapitre IV. Structures linéaires (piles, files, listes chaînées)
Les bases de l’Algorithmique
Cours algorithme 2 S. Tabbone.
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
Partie 1 Etude de l'existant
Introduction à l’algorithmique
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.
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Démarche de résolution de problèmes
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
TP Fichiers et Tableaux Avril Un fichier Permet le stockage de données sur des supports de mémoire externes (donc les données ne seront pas perdues.
Outils de Programmation
CHAINE DE CARACTERES : Définition :
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 Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Principes de programmation
IFT 6800 Atelier en Technologies d’information
CSI3525: Concepts des Langages de Programmation Notes # 6: Langages de Programmation Fonctionelle II: Introduction au ML.
Programmation logique Le Langage PROLOG
Tableaux Introduction aux tableaux à une dimension. Déclaration, stockage, initialisation et accès en lecture ou en écriture aux composantes d’un tableau.
Types de données fondamentaux
L’essentiel du langage C
Animateur : Med HAIJOUBI
Les types.
Algorithmes de tri et de recherche
Les variables et les types standard des données
Exemple à faire: N°2 Ecrire l’Algorithme et le Programme PASCAL qui affiche la somme de deux nombres entiers donnés.
Module I3 algorithmique et programmation
Structures simples et tableaux Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Fonctions avancées et graphiques
Cours LCS N°4 Présenté par Mr: LALLALI
Les bases de l’algorithmique
Module algorithmique et programmation
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Les structures simples
Cours d’initiation en Informatique
PRO-1027 Programmation Scientifique en C
Algorithmique Tableaux de données
Algorithmique Instructions de base et Variables Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 10/09/2003 Dernière modification: 17/09/2003.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Les Structures simples
Introduction au langage PL/SQL
Introduction à L’Algorithmique
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Transcription de la présentation:

Les structures de données Chapitre n° :6 I. Objectifs : Définir les notions de constante et de variable. Déclarer des variables de type simple, de type chaine de caractères et de type tableau. Distinguer les types simples du type tableau. II. Les constantes : Activité 1 : Écrire un programme qui permet de calculer et d’afficher la surface d’un disque. 1. Définition : On appelle constante un objet ayant une valeur fixe tout le long d’un algorithme. Une constante est caractérisée par : Son nom (un identificateur unique) Sa valeur

Les structures de données Chapitre n° :6 2. Déclaration d’une constante : a. Déclaration algorithmique : Objet Type / Nature Rôle Nom de la constante Constante = Valeur de la constante Exemple : Objet Type / Nature Rôle PI Constante = 3,14 Constante connue b. Déclaration en turbo Pascal : Const Nom_constante = valeur_constante ; Exemple : PI = 3,14 ;

Les structures de données Chapitre n° :6 III. Les variables  1. Définition : une variable est un objet pouvant prendre différentes valeurs lors de l’exécution d’un algorithme. Une variable est caractèrisée par : Son identificateur (nom) Son type Son contenu (sa valeur)

Les structures de données Chapitre n° :6 2. Déclaration d’une variable : a. Déclaration algorithmique : Objet Type / Nature Rôle Nom de la variable Type de la variable Rôle de la variable dans l’algorithme Exemple : Objet Type / Nature Rôle Surface Réel Surface du disque R Rayon du disque b. Déclaration en turbo Pascal : VAR Nom_variable : Type_variable ; Exemple : r,surface : REAL ;

Les structures de données Chapitre n° :6 Activité 2 : Écrire un programme qui permet de permuter les valeurs de deux variables de type entier saisies par l’utilisateur. Remarques: Une variable peut être utiliser pour : Sauvegarder des valeurs saisies par l’utilisateur. Sauvegarder des résultats obtenus par le programme, intermédiaires ou définitifs. stocker provisoirement (temporairement) des valeurs dans ce cas on l’appelle variable intermédiaire, temporaire ou auxiliaire.

Les structures de données Chapitre n° :6 IV. Les types de données  1. Les types numériques : A. Le type entier Le type entier permet de manipuler des valeurs dans l’ensemble Z Type entier (INTEGER) Taille en mémoire centrale : 2 octets Domaine de valeurs : entre –32 768 et 32 767 Autres types entiers prédéfinis : Byte, Word, Shortint, Longint a. Les opérateurs arithmétiques sur les entiers : On ajoutera aux opérateurs arithmétiques usuels (+, - , * et / ), deux autres opérateurs DIV et MOD définis ci-dessous : DIV : Donne le quotient dans la division entière. Exemple : 11 DIV 3 vaut 3 MOD : Donne le reste de la division entière. Exemple : 11 MOD 3 vaut 2 a b q vaut a DIV b r q r vaut a MOD b

Les structures de données Chapitre n° :6 b. Les opérateurs relationnels sur les entiers : on peut appliquer les opérateurs relationnels usuels en adoptant les notations suivantes : Notation algorithmique Notation en Turbo Pascal = ≠ <> ≤ <= < ≥ >= >

Les structures de données Chapitre n° :6 c. La déclaration d’une variable entière : Tableau de déclaration des objets Objet Type / Nature Rôle Nom_variable ENTIER Déclaration en Turbo Pascal VAR Nom_variable : INTEGER ;

Les structures de données Chapitre n° :6 B. Le type réel Le type réel permet de manipuler des valeurs dans l’ensemble IR Type réel (REAL) Taille en mémoire centrale : 6 octets Domaine de valeurs : entre –10 38 et 10 38 format scientifique 2.000000000 E +3 <=>2000 Autres types réels prédéfinis : Single, double, Extended, Comp a. Les opérateurs applicables sur les réels : Les opérateurs arithmétiques sur les réels sont les mêmes que sur les entiers exceptés MOD et DIV. Ces derniers ne sont appliqués qu’avec des entiers. Tous les opérateurs relationnels sont applicables sur des réels.

Les structures de données Chapitre n° :6 b. La déclaration d’une variable réelle : Tableau de déclaration des objets Objet Type / Nature Rôle Nom_variable REEL Déclaration en Turbo Pascal VAR Nom_variable : REAL ; c. Les fonctions arithmétiques standards :

Les structures de données Chapitre n° :6 2. Le type booléen Domaine de valeurs : Deux valeurs logiques « VRAI » ou« FAUX » (TRUE or FALSE) a. Les opérateurs logiques sur les booléens  : Notation algorithmique Notation en Turbo Pascal Rôle NON NOT Négation ET AND Conjunction OU OR Disjunction OUex XOR Ou exclusif

Les structures de données Chapitre n° :6 Ci-dessous la table de vérités de ces opérateurs où P et Q des constantes, des variables ou des expressions logiques : P Q NON(P) P ET Q P OU Q P OUex Q FAUX VRAI Exemples : La proposition (7>5) ET (2<3) a la valeur VRAI La proposition (7>5) ET (5<3) a la valeur FAUX

Les structures de données Chapitre n° :6 b. Priorité des opérateurs : Opérateurs Priorité Catégorie -, NOT Haute Opérateur unaires *, /, DIV, MOD, AND Deuxième Opérateurs multiplicatifs +, - , OR, XOR Troisième Opérateurs additifs =, <>, <, >, <=, >= Quatrième Opérateurs relationnels Règles de priorité : Un opérande entre deux opérateurs de priorité différente est lié à l’opérateur de plus haute priorité. Un opérande entre deux opérateurs de même priorité est lié à celui de gauche. Les expressions entre parenthèses ont la priorité quel que soit le niveau interne.

Les structures de données Chapitre n° :6 c. La déclaration d’une variable booléenne : Tableau de déclaration des objets Objet Type / Nature Rôle Nom_variable BOOLEEN Déclaration en Turbo Pascal VAR Nom_variable : BOOLEAN ;

Les structures de données Chapitre n° :6 3. Le type caractère : On distingue plusieurs types de caractères : Les lettres alphabétiques : Les lettres en majuscules [‘’A’’...’’Z’’] et les lettres minuscules [‘’a’’..’’z’’] Les chiffres [‘’0’’..’’9’’] Les symboles comme ‘’ !’’, ‘’§’’, ‘’>’’, ‘’ç’’, ‘’è’’, … Les caractères non imprimables comme le retour chariot, la touche Échappe (Esc), … Une variable de type caractère occupe un octet en mémoire A chaque caractère correspond un code ASCII qui est un entier variant de 0 à 255. Notation : En analyse : "A" , En Pascal : ‘A’ Opérateurs relationnels : On peut comparer les caractères entre eux. Exemples : "a" ≠ "A" , "A" > "a" Vrai Faux a. La concaténation des caractères : On peut concaténer deux caractères ou plusieurs caractères en employant l’opérateur ‘’+’’. Exemples : Caractère c1 Caractère c2 c1+c2 ‘’a’’ ‘’b’’ ‘’ab’’ ‘’1’’ ‘’6’’ ‘’16’’ ‘’5’’ ‘’‘’

Les structures de données Chapitre n° :6 b. La déclaration d’une variable caractère : Tableau de déclaration des objets Objet Type / Nature Rôle Nom_variable CARACTERE Déclaration en Turbo Pascal VAR Nom_variable : CHAR ;

Les structures de données Chapitre n° :6 b. Les fonctions prédéfinies relatives au type caractère  : Fonction Rôle Exemples ORD(c) Renvoie le code ASCII du caractère c. ORD(‘’A’’) vaut 65 ORD(‘’a’’) vaut 97 CHR(n) Renvoie le caractère dont le code ASCII est n. CHR(66) vaut ‘’B’’ CHR(98) vaut ‘’b’’ SUCC(c) Renvoie le caractère successeur de c. SUCC(‘’F’’) vaut ‘’G’’ SUCC(‘’0’’) vaut ‘’1’’ PRED(c) Renvoie le caractère prédécesseur de c. PRED(‘’b’’) vaut ‘’a’’ PRED(‘’0’’) vaut ‘’/’’ UPCASE(c) Convertit le caractère c en majuscule si c’est possible. UPCASE(‘’a’’) vaut ‘’A’’ UPCASE(‘A’’) vaut ‘’A’’ UPCASE(‘’5’’) vaut ‘’5’’ UPCASE(‘’ !’’) vaut ‘’ !’’

Les structures de données Chapitre n° :6 4. Le type chaîne de caractères : Une variable de type chaîne de caractères est une suite ordonnée et finie de caractères. Capacité : la longueur d’une chaîne peut varier entre 0 et 255. Notation : En analyse : "l’algorithmique" , En Pascal : ‘l’’algorithmique’ Une chaîne peut être manipuler caractère par caractère grâce à la notation nom_chaine[i]. i est l’indice (rang) du caractère voulu. Exemple : nom  "Ben Foulen" nom[5] contient "F" Nom[4]  "_" nom = "Ben_Foulen"

Les structures de données Chapitre n° :6 a. La déclaration d’une variable de type chaîne de caractères  : Première formulation  Tableau de déclaration des objets Objet Type / Nature Rôle Nom_variable CHAINE Déclaration en Turbo Pascal VAR Nom_variable : STRING ; Dans ce cas la chaîne peut atteindre 255 caractères

Les structures de données Chapitre n° :6 Deuxième formulation   Tableau de déclaration des objets Objet Type / Nature Rôle Nom_variable CHAINE[taille_max] Déclaration en Turbo Pascal VAR Nom_variable : STRING[taille_max]; Dans ce cas, la chaîne à une taille maximale égale à celle spécifiée dans la déclaration

Les structures de données Chapitre n° :6 Exemple :  Tableau de déclaration des objets Rôle Type / Nature Objet Le nom d’un élève CHAINE Nom Adresse de l’élève CHAINE[48] Adresse Déclaration en Turbo Pascal VAR Nom : STRING; Adresse : STRING[48]; b. Les fonctions et procédures prédéfinies standards sur les chaînes :

Les structures de données Chapitre n° :6 5. Les tableaux à une dimension : a. Définition :  Un tableau unidimensionnel ou vecteur est une structure de données permettant de ranger un nombre fini d’éléments de même type. Un vecteur est caractérisé par : Un nom servant d’identificateur. Une taille. Le type des éléments qu’il contient.

Les structures de données Chapitre n° :6 Exemple: Soit le tableau « Moyenne » contenant 5 moyennes du type réel : 20 13.5 9.25 17.75 11 1 2 3 4 5 Remarques: Les cases d’un vecteur sont indicées. Les indices doivent être du type scalaire(entier, caractère, ..).

Les structures de données Chapitre n° :6 b. La déclaration d’un vecteur : Première formulation : En analyse : Tableau de déclaration des objets : Objet Type Rôle Nom_variable Tableau de taille_max de type_éléments En Turbo Pascale : VAR Nom_variable : ARRAY[Binf..Bsup] OF type_éléments ;

Les structures de données Chapitre n° :6 Deuxième formulation : En analyse : Tableau de déclaration nouveaux types : Type Nom_type = tableau de taille_max de type_éléments Tableau de déclaration des objets : Objet Type / Nature Rôle Nom_variable Nom_type

Les structures de données Chapitre n° :6 Déclaration en Turbo Pascal : TYPE Nom_type = ARRAY[Binf..Bsup] OF type_éléments ; VAR Nom_variable : Nom_type ;

Les structures de données Chapitre n° :6 c. Accès au ième élément d’un tableau T d’entiers : En analyse : Saisie : T[i] = donnée Affectation : T[i]  20 Affichage : écrire(T[i]) En Pascal : Saisie : readln(T[i]) ; Affectation : T[i] := 20 ; Affichage : writeln(T[i]);