Hiver 2006SEG2501 Chapître 51 Chapître 5 SDL – données.

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Cours n° 7 Standard Template Library II.
Le langage C++ Les types structurés
Spécification et qualité du logiciel
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
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.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
3- Déclaration et accès aux objets
Cours n° 8 Conception et Programmation à Objets
Approfondissement du langage
C.
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Structures et unions types énumérés Qu'est-ce qu'une structure
8. Les tableaux P. Costamagna – ISEN N1.
Algorithme et programmation
CSI3525: Concepts des Langages de Programmation Notes # 11: Sous-Programmes ( Lire Chapitre 8 )
Chapitre IV. Structures linéaires (piles, files, listes chaînées)
Principes de programmation (suite)
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
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.
Les structures de données
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Standard Template Library (STL)
Programmation multimédia 3
Complément Le diagramme des classes
Langage Oriente Objet Cours 2.
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
Structures de données IFT Abder Alikacem La classe string 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 7 : Classes et fonctions paramétrables Département.
Xpath XML Path language par Yves Bekkers
Revisé 2006 Modèle de performance dun serveur simple Nous supposons que le serveur traite une requête après lautre (sans parallisme) Modèle de files dattente.
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 9 Les sous-programmes.
Types de données abstrait et mécanismes d'encapsulation
Standard Template Library
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Structures de données IFT-10541
Procédures et fonctions
Animateur : Med HAIJOUBI
JavaScript Nécessaire Web.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Les variables et les types standard des données
Créer des packages.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Tutorat en bio-informatique
Réaliser par: Sadok Amel Cheboui hassiba
Le langage Racket (Lisp)
Strings et Tableaux en Java
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Les types composés Les enregistrements.
ISBN Chapitre 10 L'implémentation des sous- programmes.
Cours LCS N°4 Présenté par Mr: LALLALI
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
2 Processus de conception de BD
Les bases de l’algorithmique
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
1 Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation.
Classes abstraites, interface Classe interne Classes enveloppes
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
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.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
Transcription de la présentation:

Hiver 2006SEG2501 Chapître 51 Chapître 5 SDL – données

Hiver 2006SEG2501 Chapître 52 Contenu (1) Données simples en SDL (2) Constructeurs de types de données

Hiver 2006SEG2501 Chapître 53 SIGNAL Cid(integer), Digit(integer); DCL no_dig integer; DCL cardid integer; (1) Données simples en SDL

Hiver 2006SEG2501 Chapître 54 Déclaration de variables DCL est le mot clé introduisant une déclaration de variables. Après le(s) nom(s) de variable, il y a le nom du type (aussi appelé “sort” en SDL) de la variable. Il y a des types prédéfinis: Boolean, Character, Charstring, Integer, Natural, et Real.

Hiver 2006SEG2501 Chapître 55 Mise à jour des variables L’initalisation peut être définie avec la déclaration (voir ci-haut) Pendant une transition, les variables peuvent être affectées de nouvelles valeurs (voir à droite). Une variable est visible dans le processus où elle est déclarée. La valeur d’une variable peut être exportée et devient alors visible à d’autres processus qui l’importent (voir ci- dessous).

Hiver 2006SEG2501 Chapître 56 Le symbole de tâche: TASK Contient normalement des affectations; peut aussi contenir d’autres actions formellement définies (comme l’activation d’une horloge) ou une action décrite en français ou autre langue.

Hiver 2006SEG2501 Chapître 57 Signal d’entrée avec de paramètres (données) Les valeurs des paramètres doivent être affectées à des variables pour usage futur (voir ci-dessous), sinon elles sont perdues. On ne peut pas accéder aux paramètres d’un signal dans la file d’entrée, ni après la consommation du signal par un symbole d’entrée.

Hiver 2006SEG2501 Chapître 58 Exemple: le processus PanelControl (ii)

Hiver 2006SEG2501 Chapître 59 Symbole de décision Utilisé pour choisir différentes alternatives lors de l’exécution d’une transition.

Hiver 2006SEG2501 Chapître 510

Hiver 2006SEG2501 Chapître 511 Le processus PanelControl (iii) À remarquer: Initialisation –DCL Trial_no Integer := 0; Symbole de sortie avec indication du nom du processus de destination

Hiver 2006SEG2501 Chapître 512 (2) Constructeurs de types de données Comme la plupart des langages de programmation, SDL a des types de données pré- définis et des constructeurs qui peuvent être utilisés par le concepteur pour définir des types de données nouveaux. En SDL, un type de données est appelé sort. Associés avec les types, il y a des opérateurs (si vous voulez: « methods ») qui peuvent être utilisés avec des types de données particuliers. Des exemples sont donnés dans la suite.

Hiver 2006SEG2501 Chapître 513 Opérateurs généraux Pour chaque type pré-défini ou défini par une définition de type du concepteur, les opérateurs suivants sont automatiquement définis: Affectation ‘:=’ Tester l’égalité ‘=’ Tester la non-égalité ‘/=’

Hiver 2006SEG2501 Chapître 514 Des opérateurs peuvent être utilisés en notation préfixe ou “in-fixe” “+” : Integer,Integer -> Integer; num : Character -> Integer I := I+1; N := num(‘X’); I := “+”(I,1);

Hiver 2006SEG2501 Chapître 515 Boolean "NOT" : Boolean -> Boolean "AND" : Boolean, Boolean -> Boolean "OR" : Boolean, Boolean -> Boolean "XOR" : Boolean, Boolean -> Boolean "=>" : Boolean, Boolean -> Boolean

Hiver 2006SEG2501 Chapître 516 Character " Boolean; ">" : Character, Character -> Boolean; ">=" : Character, Character -> Boolean; Num : Character -> Integer; Chr : Integer -> Character;

Hiver 2006SEG2501 Chapître 517 Charstring MkString : Character -> Charstring; Length : Charstring -> Integer; First : Charstring -> Character; Last : Charstring -> Character; "//" : Charstring, Charstring -> Charstring; SubString : Charstring, Integer, Integer -> Charstring;

Hiver 2006SEG2501 Chapître 518 Duration "+" : Duration, Duration -> Duration; "-" : Duration -> Duration; "-" : Duration, Duration -> Duration; "*" : Duration, Real -> Duration; "*" : Real, Duration -> Duration; "/" : Duration, Real -> Duration; ">" : Duration, Duration -> Boolean; " Boolean; ">=" : Duration, Duration -> Boolean; " Boolean;

Hiver 2006SEG2501 Chapître 519 Time "+" : Time, Duration -> Time; "+" : Duration, Time -> Time; "-" : Time, Duration -> Time; "-" : Time, Time -> Duration; " Boolean; ">" : Time, Time -> Boolean; ">=" : Time, Time -> Boolean;

Hiver 2006SEG2501 Chapître 520 Integer, Natural "-" : Integer -> Integer; "+" : Integer, Integer -> Integer; "-" : Integer, Integer -> Integer; "*" : Integer, Integer -> Integer; "/" : Integer, Integer -> Integer; "mod" : Integer, Integer -> Integer; "rem" : Integer, Integer -> Integer; " Boolean; ">" : Integer, Integer -> Boolean; " Boolean; ">=" : Integer, Integer -> Boolean; Float : Integer -> Real; Fix : Real -> Integer;

Hiver 2006SEG2501 Chapître 521 Real "-" : Real -> Real; "+" : Real, Real -> Real; "-" : Real, Real -> Real; "*" : Real, Real -> Real; "/" : Real, Real -> Real; " Boolean; ">" : Real, Real -> Boolean; " Boolean; ">=" : Real, Real -> Boolean;

Hiver 2006SEG2501 Chapître 522 Constructeur de nouveaux types Les notations ” NEWTYPE nom-du-type … ENDNEWTYPE nom-du-type; “ et ” Syntype nom-du- type = type-de-base … Endsyntype; “ peuvent être utilisées pour définir de nouveaux types (voir exemples plus loin) –Subrange d’un type de base (comme en Pascal) –Type d’énumération des valeurs (comme en Pascal) –Structure –Tableau –STRING d’un type quelconque –SET d’un type quelconque –Type abstrait: L’idée d’un type abstrait est comme une classe OO avec interface défini et la définition de propriétés concernant le résultats d’exécution des méthodes (sans donner une implantation). En SDL, des mots clé OPERATORS et AXIOMS sont prévus à cet effet, mais cette notation est rarement utilisée et mal supportée par les outils.

Hiver 2006SEG2501 Chapître 523 Définition d’un Subrange syntype example2 = integer constant 0:10; endsyntype;

Hiver 2006SEG2501 Chapître 524 Définition d’un type d’énumération newtype KeyPosition literals Off, Stand_by, Service_mode endnewtype;

Hiver 2006SEG2501 Chapître 525 Définition d’une structure Défintion d’un type de structure: NEWTYPE Code STRUCT id Integer ; password Charstring ; ENDNEWTYPE Utilisation: DCL C Code; C!id := 4564; C!password := 'zzzzz';

Hiver 2006SEG2501 Chapître 526 Définition de tableaux Le générateur ARRAY prend deux paramètres –Le type de l’indice –Le type des élements Il n’y a pas de restriction sur les types qui peuvent être utilisés comme indice. Exemple: NEWTYPE IntXChar Array(Character,Integer) ENDNEWTYPE IntXChar ; /* Declaration d'un tableau */ DCL chrval IntXChar; /* Utilisation dans une TASK */ chrval('X') := chrval('Y') - 1;

Hiver 2006SEG2501 Chapître 527 Utilisation de structures et de tableaux