Seminar Data Types صفية ناجح نوري البدري ياسمين يوسف عبد العليم.

Slides:



Advertisements
Similar presentations
ISBN Lecture 06 Data Types. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.6-2 Lecture 06 Topics Introduction Primitive Data.
Advertisements

ISBN Chapter 6 Data Types: Structured types.
CSE 452: Programming Languages Data Types. 2 Organization of Programming Languages-Cheng (Fall 2004) Where are we? High-level Programming Languages Logic.
ISBN 0-321— Chapter 6 Data Types. Copyright © 2007 Addison-Wesley. All rights reserved.1-2 Chapter 6 Topics Introduction Primitive Data Types Character.
CS 355 – Programming Languages
ISBN 0-321— Chapter 6 Data Types. Copyright © 2007 Addison-Wesley. All rights reserved.1-2 Chapter 6 Topics Introduction Primitive Data Types Character.
College of Computer Science and Engineering
ISBN 0-321— Chapter 6 sections 1-4, 9 Primitive Data Types Numbers Strings Ordinal Types Pointers.
1 Data Types In Text: Chapter 5. 2 Chapter 5: Data Types Outline What is a type? Primitives Strings Ordinals Arrays Records Sets Pointers.
6-1 Chapter 6: Data Types Introduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types Associative Arrays Record Types.
ISBN Chapter 6 Data Types Introduction Primitive Data Types User-Defined Ordinal Types.
ISBN Chapter 6 Data Types. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Chapter 6 Topics Introduction Primitive Data Types Character.
ISBN Chapter 6 Data Types. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Chapter 6 Topics Introduction Primitive Data Types Character.
ISBN Chapter 6 Data Types. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.6-2 Chapter 6 Topics Introduction Primitive Data.
ISBN 0-321— Chapter 6 Data Types. Copyright © 2007 Addison-Wesley. All rights reserved.1-2 Chapter 6 Topics Introduction Primitive Data Types Character.
C H A P T E R S I X Data Types.
CS 363 Comparative Programming Languages Data Types.
1 CS Programming Languages Class 08 September 19, 2000.
ISBN Chapter 6 Structured Data Types Array Types Associative Arrays Record Types Union Types.
ISBN Chapter 6 Data Types. Copyright © 2006 Addison-Wesley. All rights reserved. 6-2 Chapter 6 Topics Introduction Primitive Data Types.
1 Data Types Primitive Data Types Character String Types User-Defined Ordinal Types Array Types Associative Arrays Record Types Union Types Pointer Types.
Data Types W E E K F O U R. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Chapter 6 Topics Introduction Primitive Data Types Character String.
CSE 452: Programming Languages
Chapter 6 © 2002 by Addison Wesley Longman, Inc Introduction - Evolution of Data Types: FORTRAN I (1957) - INTEGER, REAL, arrays … Ada (1983) -
CS 330 Programming Languages 11 / 01 / 2007 Instructor: Michael Eckmann.
MT311 Java Application Development and Programming Languages Li Tak Sing ( 李德成 )
ISBN Chapter 6 Data Types. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Chapter 6 Topics Introduction Primitive Data Types Character.
ISBN Chapter 6 Data Types. Copyright © 2006 Addison-Wesley. All rights reserved.2 Primitive Data Types Almost all programming languages.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Chapter 5 Evolution of Data Types: FORTRAN I (1956) - INTEGER, REAL, arrays … Ada (1983) - User can.
Chapter 6 Chapter 6 Data Types. Data Types  A data type defines  a collection of data objects, and  a set of predefined operations on the objects type:
Structure of Programming Language Data Types. 2 A data type defines a collection of data objects and a set of predefined operations on those objects An.
مقدمة قواعد بيانات - أوراكل الفـصـل الــرابــع دوال الصف الواحد أ. جمانه الحازمي.
Data Types Chapter 6: Data Types Lectures # 11. Topics Introduction Primitive Data Types Character String Types Array Types Associative Arrays Record.
6.1 Introduction 6.2 Primitive Data Types - Evolution of Data Types:
Data Types In Text: Chapter 6.
Dr. Vamsi Paruchuri University of Central Arkansas
Data Types I Subject : T0152 – Programming Language Concept
Chapter 6 Data Types.
Chapter 6 – Data Types CSCE 343.
Chapter 6: Data Types Saad Alshahrani
Chapter 6 Data Types.
Concepts of Programming Languages
Type Checking Generalizes the concept of operands and operators to include subprograms and assignments Type checking is the activity of ensuring that the.
6.1 Introduction 6.2 Primitive Data Types - Evolution of Data Types:
Chapter 6: Data Types Lectures # 10.
Structure of Programming Language
Instructor : Ahmed Alalawi Slides from Chung –Ta King
CSE 452: Programming Languages
Records Design Issues: 1. What is the form of references?
Concepts of programming languages Names, Bindings, and Scopes
Chapter 6 Data Types.
Data Types Chapter 6.
Data Types In Text: Chapter 6.
تابع :تطبيع البيانات.
1.الدوال Function 2.الاجراءاتSub Procedure 3.وحده نمطيه Add Module
Complex Data Types One very important measure of the “goodness” of a PL is the capability of its data types to model the problem space variables Design.
Chapter 6 Data Types.
Chapter 6 Data Types.
الفصل الثالث حصر و ترتيب البيانات.
Programming -2 برمجة -2 المحاضرة-1 Lecture-1.
Chapter 6 Data Types.
Chapter 6 Data Types.
أ.إسراء الطريقي , 306 عال , المحاضره الثالثه
3. Browsing the Web تصفح الانترنت
Chapter 6 Data Types.
Chapter 6 Data Types.
Chapter 6 Data Types.
Chapter 6 Data Types.
Chapter 6 Data Types Introduction:
Chapter 6 Data Types.
Presentation transcript:

Seminar Data Types صفية ناجح نوري البدري ياسمين يوسف عبد العليم

Chapter 6 Topics Introduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types Associative Arrays Record Types Union Types Pointer Types

Data Type هو عبارة عن مجموعة من ال data objects ومجموعة من العمليات محددة مسبقاً على ال objects. أي هو وصف مجموعة من صفات المتغير.

(1) Primitive Data Types أنواع البيانات البسيطة : هي نوع البيانات التي لاتعرف من حيث أنواع البيانات الأخرى . 1- Integer (العدد الصحيح) : وهو أي رقم صحيح لا يحتوي على علامة عشرية مثل 5 ، 9 ، -11 ، صفر. وهناك العديد من لغات البرمجة التي تتعامل مع الرقم الصحيح كإحدى نوعين هما : أ- رقم صحيح قصير Short Integer ويخزن في 2 بايت(Byte). ب- رقم صحيح طويل Long Integer يتراوح طوله ما بين 4 بايت إلى 8 بايت .

Primitive Data Types(Cont.) 2- Floating Point : هو أي رقم يحتوي على علامة عشرية مثل 11.5 ، أي هو عبارة عن model من الreal number لكن هو عبارة عن تقريب للأعداد ، وهي تدعم اللغات للإستعمال العلمي. وينقسم إلي نوعين هما : أ- دقة فردية Single Precision ويتكون عامة في معظم لغات البرمجة من 6 أرقام كحد أقصى مثل 65.4321 . ب- دقة مزدوجة Double Precision و يتكون عامة في معظم لغات البرمجة من 14 رقما أو 15 رقما كحد أقصى سواء كانت رقما صحيحا أو كسرا.

Primitive Data Types(Cont.) 3- Decimal (عشري): - يسخدم لل business application. - تخزن عدد ثابت من الأرقام العشرية decimal digits . - مميزاتها : الدقة. - عيبها : المدى العشري محدود ، تستهلك الذاكرة .

Primitive Data Types(Cont.) 4- Boolean (منطقي) : ويأخذ هذا النوع إحدى قيمتين هما true (صحيح) أو false (خطأ) وهذا النوع يوجد في بعض لغات البرمجة فقط وليس في جميع لغات البرمجة. ويوجد هذا النوع في لغة Java ولغة Visual Basic. - ميزته : سهولة القراءة readability .

Primitive Data Types(Cont.) 5- Character : هو عبارة عن حرف أبجدي أو رقم أو علامة خاصة ولايزيد طولها عن حرف واحد ويتم كتابتها بين Single Quote (' ') ويتم تخزين القيمة في بايت واحد مثل ASCII, Unicode .

(2) Character String Types أنواع سلسة الحروف - Values : هي عبارة عن sequences of characters . - Operations: Assignment . Comparison (=, >, etc.) . مقارنة Catenation. Substring reference. Pattern matching. نموذج المطابقة - e.g. (Ada) N := N1 & N2 (catenation). N(2..4) (substring reference).

Character String Types (Cont.) - String Length Options: 1. Static - FORTRAN 77, Ada, COBOL e.g. (FORTRAN 90) CHARACTER (LEN = 15) NAME; 2. Limited Dynamic Length الطول الديناميكي المحدود- C and C++. 3. Dynamic - SNOBOL4, Perl, JavaScript.

Character String Types (Cont.) - التقييم Evaluation : - تساعد في ال writability . - primitive type with static length غير مكلفه (يتم إستخدام الذاكرة بكفاءة). - Dynamic length يتم الإستفادة منه في بعض الأحيان.

Character String Types (Cont.) -التنفيذ Implementation : - Static length : يتم تحديد الطول في compile-time. - Limited dynamic length : يتم تحديد الطول في run-time. - Dynamic length : يتم تحديد الطول في run-time و ال allocation/deallocation هي المشكلة الأكبر في التنفيذ.

Character String Types (Cont.) -التنفيذ Implementation (Cont.): Compile-time descriptor for static strings Run-time descriptor for limited dynamic strings

(3) User-Defined Ordinal Types

User-Defined OrdinalTypes(Cont.) 1- Enumeration Types : هو عبارة عن نوع تراتبياً آخر محدد من قبل المستخدم ، فبدلاً من الإشارة إلى مدى من نوع موجود فإنه يتم عرض القيم المحتملة للنوع . - بمعنى آخر Enumeration هي عبارة عن قائمة بالقيم. - e.g. (pascal) type Colors = (Red, Yellow, Green, Cyan, Blue, Violet);

User-Defined OrdinalTypes(Cont.) - Evaluation (of enumeration types) : 1- تساعد على سهولة القراءة readability. 2- تساعد على الموثوقية reliability إذ يقوم ال compiler بالتحقق من : i. operations. ii. ranges of values.

User-Defined OrdinalTypes(Cont.) 2- Subrange Type : هو عبارة عن سلسة فرعة مرتبة من ordinal type . أي هو تحديد مدىً من القيم داخل نوع مدى آخر . - e.g. (pascal) type pos = 0 .. MAXINT; - Evaluation (of subrange types) : 1- تساعد على سهولة القراءة readability. 2- الموثوقية Reliability: إذ يمكن إكتشاف الأخطاء بسهولة لأن المدى range محدود.

User-Defined OrdinalTypes(Cont.) - Implementation of user-defined ordinal types : - يتم تنفيذ Enumeration types على أنها أعداد صحيحة integer . - Subrange types هي parent types with code تدرج بواسطة ال compiler لتحديد المهام لل subrange variables.

(4) Arrays - المصفوفات: هي عبارة عن مجموعة من العناصر ذات النوع الواحد والتي تحمل نفس الإسم (إسم المصفوفة) ويمتاز كل عنصر برقم صحيح يدل عليه (index). - Indexing: هو تعيين أرقام قياسية لعناصر المصفوفة (array_name, index_value_list) . - Index Syntax: في معظم لغات البرمجة تستخدم الأقواس () ، {}. - عند تعريف المصفوفة، تحتاج إلى تمرير نوع مدى فرعي subrange بين قوسين مربعين، أو تحديد نوع مدى فرعي جديد خاص باستخدام ثابتين constant من نوع تراتبي .

Arrays (Cont.) Subscript Types: - FORTRAN, C - integer only. - Pascal - any ordinal type (integer, boolean, char, enum). - Ada - integer or enum (includes boolean and char). - Java - integer types only.

Arrays (Cont.) - Categories of arrays (based on subscript binding and binding to storage) : 1- Static : مدى ال subscripts و storage هو static. مثلاً تحديد طول المصفوفة 20 . - ميزتها : كفاءة التفيذ لعدم وجود allocation/deallocation.

Arrays (Cont.) 2- Fixed stack dynamic : مدى subscripts يحدد بشكل ثابت أما storage تحدد في وقت الإعداد elaboration time - ميزتها: space efficiency مثلاً في لغة c,java. 3- Stack-dynamic: range and storage are dynamic, but fixed from then on for the variable’s lifetime. - ميزتها: المرونة flexibility ليس بالضرورة أن يكون الحجم معروف.

Arrays (Cont.) 4- Heap-dynamic : subscript range and storage bindings are dynamic and not fixed. - في APL, Perl, JavaScript المصفوفات تنمو grow و تتقلص shrink حسب الحاجة. - في java كل المصفوفات عبارة عن heap-dynamic.

Arrays (Cont.) - Array Operations : e.g. (Ada) : Assignment , Catenation ,Relational operators (= and /= only). - Slices : هي عبارة عن substructure of array وهي مفيدة في اللغات التي لديها array operations . - associative array المصفوفات الترابطية : عبارة عن مجموعة غير مرتبة من عناصر البيانات data elements التي يتم فهرستها بواسطة عدد متساو من القيم تسمى Keys.

(5) Records السجلات : عبارة عن مجموعة ثابتة من عناصر ذات أنواع مختلفة. كل عنصر، أو حقل field ، له نوعا خاصا به ويتم تعريف قائمة بكل هذه الحقول، تعطي لكل منها اسما لتستخدمه لاحقا من أجل الوصول إليه. - e.g. (pascal) : Type Date = record Year: Integer; Month: Byte; Day: Byte; end; var BirthDay: Date; Begin BirthDay.Year := 1997; BirthDay.Month := 2; BirthDay.Day := 14;

Records (Cont.) - Record Operations 1. Assignment : Pascal, Ada, and C 2. Initialization. 3. Comparison.

Records (Cont.) - مقارنة بين Array و Record : 1- الوصول إلى عناصر المصفوفة أبطئ بكثير من الوصول إلى عناصر السجل وذلك لأن subscripts في المصفوفة هي dynamic أما أسماء الحقول هي static. 2- يمكن إستخدام Dynamic subscripts مع record field access لكن سيكون هنالك disallow type checking وسيكون أبطأ بكثير.

(6) Unions - الإتحاد : هو نوع من أنواع المتغيرات تسمح بتخزين قيم أنواع مختلفة في أوقات مختلفة أثناء التنفيذ . - e.g. (pascal) : type intreal = record tagg : Boolean of true : (blint : integer); false : (blreal : real); end;

(7) Pointers - المؤشرات : فيها يتم تحديد متغير يحوي عنوان متغير آخر في الذاكرة ذو نوع بيانات محدد أو غير محدد ، لذا فإن متغير المؤشر بطريقة غير مباشرة يشير إلى قيمة . - مشاكل ال Pointers : 1- Dangling pointers المؤشرات المعلقة : يشير مؤشر إلى heap-dynamic variable الذي تم تعيينه. أ- تخصيص heap-dynamic variable وتعيين مؤشر للإشارة إليه . ب- تعيين مؤشر ثاني يؤشر لقيمة المؤشر الأول . ج- Deallocate إلغاء تخصيص قيمة ال heap-dynamic variable وذلك بإستخدام المؤشر الأول .

(Pointers (Cont. 2- Lost Heap-Dynamic Variables فقدان قيمة ال Heap-Dynamic Variables : من المرحلة السابقة heap-dynamic variable لم يعد مشار إليها من قبل أي مؤشر في ا لبرنامج . أ- تعيين p1 (مؤشر) للإشارة ل heap-dynamic variable الذي تم إنشاءه حديثاً . ب- في وقت لاحق يتم تعيين p1 للإشارة إلى heap- dynamic variable جديد تسمى ب losing heap- dynamic variables is called memory leakage ، (تسرب الذاكرة).

Pointers (Cont. ) - Evaluation of pointers : 1- من مشاكل المؤشرات المؤشرات المعلقة وال objects المتعلقة بها. 2- في المؤشرات يمكن توسيع نطاق الخلايا التي يمكن الوصول إليها بواسطة متغير. 3- المؤشرات هي من هياكل البيانات الديناميكية الضرورية التي لايمكن الإستغناء عنها في لغات البرمجة.

End of Chapter 6