Lesson Overview (نظرة عامة على
الدرس)
Students will understand computer storage and data types.
يسيتعلم
الطالب فى هذا الدرس كيفية تخزين البيانات فى الحاسب وما هى أنواع البيانات
In this lesson, you will learn:
§ How a computer stores programs and instructions
in computer memory
§
كيف يخزن
الحاسب البرامج والأوامر فى الذاكرة
§ Memory stacks and heaps
§
نوعى الذاكرة (Stack, Heap)
§ Memory size requirements for the various data
storage types
§
حجم الذاكرة
المطلوب لتخزين البيانات من أنواع مختلفة
§ Numeric data and textual data
§
البيانات
الرقمية والنصية
Guiding Questions (أسئلة مرشدة)
1.
How
are program instructions stored in a computer?
كيف تخزن تعليمات
البرنامج فى الحاسب ؟
2.
Identify
the different data types that can be used and the values they can hold.
تعريف أنواع
بيانات مختلفة نستطيع أن نضع بداخلها قيم ونستخدم هذه القيم ؟
Activator (إعداد)
§ Name the components of a computer.
أسماء مكونات
الحاسب
§ What components are involved in storing program
instructions?
ما هى مكونات
الحاسب المتداخله فى تخزين تعليمات البرامج ؟
Review Terms (استعراض المصطلحات)
§ Data type—a definition of a set of data that
specifies the possible range of values of the set, the operations that can be
performed on the values, and the way in which the values are stored in
memory.
نوع البيانات – تعريف مجموعة من البيانات التى تحدد المدى المتاح للقيم, والعمليات التى لابد أن تؤدى على هذه القيم, وتحديد الطريقة التى ستخزن بها القيم فى ذاكرة الحاسب.
§ Garbage collection—a process for automatic
recovery of heap memory.
تجميع
النفايات – عملية استخلاص
أتوماتيكية لجزء الذاكرة Heap.
§ Heap—a portion of memory reserved for a program
to use for the temporary storage of data structures whose existence or size
cannot be determined until the program is running.
الـ Heap: جزء من
الذاكرة محجوز للبرنامج لإستخدامها فى التخزين المؤقت لتراكيب البيانات عند وجودها أو المساحة التى لا يمكن تحديدها إلا حينما يكون
البرنامج فى أثناء التشغيل.
§ Memory —a device where information can be stored
and retrieved.
الذاكرة: هى الأداة التى توجد لتخزين المعلومات بها واسترجاعها
منها.
§ Stack—a region of reserved memory in which
programs store status data such as procedure and function call addresses,
passed parameters, and sometimes local variables.
الـ Stack: منطقة من الذاكرة
المحجوزة للبرامج لتخزين حالة البيانات مثلا عنوان استدعاء الإجراء أو الدالة, الوسائط المرسلة و فى بعض الأحيان للمتغيرات المحلية.
How a computer stores
programs in memory
كيف يخزن
الحاسب البرامج فى ذاكرته
§ A computer keeps data and programs in storage as
follows:
يحافظ الحاسب على البيانات والبرامج فى مخزن
كما يلى:
§ Primary storage—Otherwise known as random access
memory (RAM), it is made of memory chips. In common usage, it refers only to a
computer’s main memory, the fast semiconductor storage (RAM) directly connected
to the processor.
مخزن رئيسى: معروف أن
ذاكرة الوصول العشوائى (RAM) مصنوعة من رقائق
(Chips). والتعريف
الشهير لها الذاكرة الرئيسية
للحاسب, كما أن المخزن شبــــه
الموصل السريع (RAM) متصل بشكل
مباشر مع المعالج (Processor).
§ Secondary storage—Otherwise known as a hard
drive, it consists of a read/write head that floats above rotating platters
coated with a magnetic material.
مخزن ثانوى – معروف أنه (Hard Disk) وهو يتألف من
رأس للقراء/الكتابة فتلف
فوق اسطوانات دائرية مطلية بمادة مغناطيسية.
Memory–Stacks and Heaps
§ Variables are stored in either a stack or heap
based on their type:
تخزن المتغيرات فى كلا من (Stack or heap) على أساس النوع:
§ Value types (e.g.: int, double, float) go on the
stack.
الأنواع بالقيمة فى الـ (Stack) مثل متغيرات
من النوع (int,
double, …)
§ Reference types (String, Object) go on the heap.
الأنواع بالمرجع ف الـ (Heap) مثل متغيرات
من النوع (String,
Object, Random)
*Value types in classes are
stored with the instance of the class on the heap
* الأنواع
بالقيمة فى الفئات تخزن الكائن الممثل للفئة فى الـ (Heap)
Ø The stack
§ Values in the stack are managed without garbage collection
because items are added and removed from the stack as last in, first out (LIFO)
every time you enter or exit a scope, like a method or statement
القيم بداخل الـ (Stack) تدار بدون
تجميع للنفايات GC لأن العناصر
تضاف وتحذف من الـ Stack بناءا على آخر ما يضاف أول ما يخرج (LIFO) مثلا كل مرة
تدخل أو تخرج من نطاق برمجى معين أو إجراء أو جملة كود.
§ A StackOverFlowException occurs because you have
used up all the available space in the stack.
يحدث الاستثناء StackOverFlowException لأنك استخدمت أكثر من المساحة المتاحة للـ Stack
Ø The heap
§ A heap-based memory allocation occurs when we
create a new object, at which point the compiler figures out how much memory is
needed and allocates an appropriate amount of memory space and returns a reference
representing the memory address.
الـ Heap يعتمد على
توزيع الذاكرة ويحدث التوزيع عندما ننشئ كائن جديد, عندما تكون المساحة غير كافية يحدد المترجم كم المساحة
التى نحتاجها و توزيعها بكمية مناسبة من مساحة الذاكرة
و يعيد مرجع يمثل عنوان الذاكرة.
§ A heap is used for dynamic allocation of memory.
يستخدم الـ Heap للتوزيع خحج الحصص المتغيرة فى الذاكرة.
§ The Microsoft .NET Framework uses garbage
collection to free up space during run time.
يستخدم .NET تجميع النفايات GC لإخلاء
المساحات الغير مستغلة اثناء التشغيل
§ Garbage collection is an automatic process for
recovery of heap memory. Blocks of
memory that had been allocated but are no longer in use are freed, and blocks
of memory still in use may be moved to consolidate the free memory into larger
blocks.
تجميع النفايات GC عملية تلقائية للإستعادة من الذاكرة Heap. أجزاء الذاكرة
التى تم تخصيصها لشئ ولكنها لم تعد مستخدمه الآن فتمسح من الذاكرة, وأجزاء الذاكرة التى مازالت فى الذاكرة قد يتم ترحيلها
من مكان لآخر لدمج الذاكرة الخالية داخل أجزاء أكبر فى الحجم.
Data Types - أنواع
البيانات
§ Numeric data types - أنواع
البيانات الرقمية
§ Integral types (e.g.: byte, char, int) – الأنواع
الصحيحة
§ Floating-point types (float, double) – الأنواع
العشرية/الكسرية
§ Decimal
Boolean - المنطقى
§ Example:
bool done = false;
Integral Types
Type |
Range |
Size |
sbyte |
-128 to 127 |
Signed 8-bit integer |
byte |
0 to 255 |
Unsigned 8-bit integer |
char |
U+0000 to U+ffff |
Unicode 16-bit character |
short |
-32,768 to 32,767 |
Signed 16-bit integer |
ushort |
0 to 65,535 |
Unsigned 16-bit integer |
int |
-2,147,483,648 to 2,147,483,647 |
Signed 32-bit integer |
uint |
0 to 4,294,967,295 |
Unsigned 32-bit integer |
long |
-9,223,372,036,854,775,808 to
9,223,372,036,854,775,807 |
Signed 64-bit integer |
ulong |
0 to 18,446,744,073,709,551,615 |
Unsigned 64-bit integer |
Floating-Point Types
Type |
Approximate Range |
Precision |
float |
±1.5e−45 to ±3.4e38 |
7 digits |
double |
±5.0e−324 to ±1.7e308 |
15-16 digits |
Decimal Type
Type |
Approximate Range |
Precision |
decimal |
±1.0 × 10−28 to
±7.9 × 1028 |
28-29 significant digits |
Using the
Numeric Data Types
byte
numKids = 15;
char
letter = ‘p’;
int
worldPopulation = 6692030277;
float
money = 201.00f;
double
lotsaMoney = 2.4E+12;
decimal
testGrade = 89.5m;
Lesson Review – مراجعة الدرس
§ Describe how the program statement below is stored
in memory:
إوصف كيف تخزن
الجملة التالية فى الذاكرة
int tennisPoints = 30;
§ Identify the appropriate data types for each of
the following values.
عرف أنواع
البيانات المناسبة لكلا من القيم التالية.
§ 4233423.93
§ 100
§ -2323
§ true
جميع حقوق نقل المعلومات مسموح بها لوجه الله. ولكن يرجى الإشارة لأسم الموقع فقط.