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
جميع حقوق نقل المعلومات مسموح بها لوجه الله. ولكن يرجى الإشارة لأسم الموقع فقط.
Lesson Overview (نظرة عامة على
الدرس)
Students will understand the decision structures used by computers.
سيتعلم الطالب
أبنية القرار المستخدمة فى الحاسب
In this lesson, you will learn:
§ Various decision structures used in all computer
programming languages
مختلف أبنية
القرار المستخدمة فى لغات برمجة الحاسب
§ if decision structures
§ Multiple decision structures such as if…else and
switch/Select Case
§ Reading flowcharts
قراءة خرائط التدفق
§ Decision tables
جداول القرار
§ Evaluating expressions تقييم
التعبيرات
Guiding Questions (أسئلة مرشدة)
1.
What
are the different decision structures used to control the execution of program
commands?
ما هى أبنية
القرار المختلفة التى تستخدم للتحكم فى تنفيذ أوامر البرنامج؟
2.
How
do flowcharts and decision tables show the multiple outcomes of a decision
structure?
كيف تنشئ
خرائط تدفق وجداول القرار لعرض النتائج المختلفة لبناء قرار؟
Review Terms
§ Relational operator عوامل الوصل/المقارنة
§ Logical operator عوامل منطقية
§ and, or, not
§ Boolean
§ Expression
تعبير
§ Condition
شرط
§ Value
§ if
§ else
§ switch
§ break
§ case
§ Algorithm
§ Compound statement
جملة مركبة
§ Nested statements
الجمل المتداخلة
§ Precedence
الأولويات
Activator (إعداد) –Complete the following statements:
استكمل الجمل
التالية
§ If I do my homework, then …
§ If I do not study, then …
§ If I eat and _________, then …
Decisions in Real Life – القرارات فى
الحياة
§ A decision is a statement that says that if
something is true, then something will happen as a consequence.
القرار جملة
تقول لو شئ ما حدث إذن شئ ما سوف يحدث بناءا
عليه
For example:
§ If I do the
dishes, then I will get my allowance.
§ If Pat gets
a 90 percent or above, he will get an A.
§ Decisions are modeled in computers. القرارات تأخذ الشكل التالى فى الحاسب
For example:
if (volume
> 10)
radio.setVolume(2);
Relational Expressions
§ A relational operator is used to compare two
values, resulting in a relational expression.
عامل الصلة/المقارنة يستخدم لمقارنة قيمتين, والنتيجة فى تعبير المقارنة
For example:
number
> 16
grade == ‘F’
passing >= 60
§ A list of relational operators:
< less than
> greater than
<= less than or equal to
>= greater than or equal to
== equal to
!= not equal to
Logical Operators
§ && and
§ || or
§ ! not
switch
Statement:
int caseSwitch = 1;
switch (caseSwitch)
{
case 1:
Console.WriteLine("Case
1");
break;
case 2:
Console.WriteLine("Case
2");
break;
default:
Console.WriteLine("Default
case");
break;
}
Decision
Table
§ A concise way of demonstrating logic طريق مختصر ببرهان منطقى
§ Creates an association between conditions and
actions to execute
تنشئ إتحاد
بين الشروط و
الأوامر التى ستنفذ
Rules |
|||
Conditions الشروط |
Controller does not respond كابح الموجه
لا يستجيب |
Y |
N |
Green light flashing الأشارة
الخضراء منيرة |
N |
Y |
|
Actions السلوك |
Replace batteries تغيير
البطاريات |
Y |
N |
Synchronize with console يتزامن مع
الراديو |
N |
Y |
Fix the syntax errors : صحح الأخطاء
الموجودة فى شكل الكتابة
boolean isFun = F;
boolean isKind = F;
boolean isPopular = T;
if isFun && isKind || isPopular;
Console.Writeln("You are my
friend.");
else
Console.Writeln("Who are
you?");
Fix the syntax errors—Answers
bool isFun = false;
bool isKind = false;
bool isPopular = true;
if (isFun && isKind || isPopular)
Console.WriteLine("You are my
friend.");
else
Console.WriteLine("Who are
you?");
------------------------------
جميع حقوق نقل المعلومات مسموح بها لوجه الله. ولكن يرجى الإشارة لأسم الموقع فقط.
2.1-
Understand the Fundamentals of Classes
فهم مبادئ الفئات
Lesson Overview (نظرة عامة على
الدرس)
Students will understand the fundamentals of classes.
In this lesson, you will learn:
§ Properties, methods, events, and constructors
الخصائص
والإجراءات و الأحداث و المنشئ
§ How to create a class كيف تنشئ فئة
§ How to use classes in code
كيف تستخدم الفئات فى الأكواد
Guiding Questions (أسئلة مرشدة)
1.
What
are the key components of a class in object-oriented programming?
ما هى
المكونات الأساسية للفئة فى برمجة OOP؟
2.
How
do you implement a class and use it within the context of an overall program?
كيف يمكنك
تنفيذ فئة وكيف تستخدمها فى برنامجك عموما؟
Activator
§
Look
around the room. What objects do you see that are related to others?
أنظر من حولك
فى الغرفة. ما هى
الكائنات (Objects) التى تراها ومرتبطة
مع بعضها؟
§
What
general name would you give to each of these groups?
ما هو الأسم
العام الذى ستطلقه على كل مجموعة؟
§
If
we were to model a classroom as a computer program, how would these groups be
represented?
لو نحن على
سبيل المثال فى غرفة التدريس الخاص بتطبيقات الكمبيوتر, كيف تمثل كل مجموعة باسم يمثلهم؟
Activator—Explanation الشرح
§
All
the objects discussed interact with one another in the context of a classroom.
كل الكائنات
التى بحثتها تتفاعل مع كائن آخر فى نفس غرفة التدريس.
§
We
can represent objects with similar characteristics with a class by defining
properties and behaviors.
نستطيع تمثيل
الكائنات بمميزات متاشبه مع تعريف خصائص للفئة وبعض التصرفات أو الأفعال.
Review Terms - مراجعة
مصطلحات
§ Class—in object-oriented programming, a
generalized category that describes a group of more specific items, called objects,
that can exist within it.
الفئة: فى برمجة OOP تصنيف عام يصف مجموعة بها مجموعة محددة من
العناصر, تسمى كائنات (Objects) التى تستطيع أن توجد كتمثيل لها.
§ Constructor—a method that allows the programmer
to set default values, limit instantiation, and write code that is flexible and
easy to read.
المنشئ: إجراء يسمح للمبرمج ضبط القيم الإفتراضية, تحديد التجهيزات, ويكتب به كود مرن وسهل فى القراءة.
§ Event—an action or occurrence, often generated
by the user, to which a program might respond (for example, key presses, button
clicks, or mouse movements).
الحدث: هو سلوك أو فعل, غالبا ينشئ من خلال المستخدم ليجعل البرنامج يصدر ردا ما. ( على سبيل المثال الضغط على زر كيبورد, ضغط زر بالبرنامج أو تحريك مؤشر مثلا)
§ Method—in object-oriented programming, a process
performed by an object when it receives a message.
الإجراء: فى برمجة OOP هو أوامر تنجز من خلال كائن عندما يستقبل
رسالة ما.
§ Object—1. short for object code
(machine-readable code). 2. In object-oriented programming, a variable
comprising both routines and data that is treated as a discrete entity.
الكائن: بالمختصر تكلم عن (machine-readable Code) , فى برمجة OOP هو متغير
يتضمن كلا من الإجراءات الروتينية و البيانات التى تتعامل مع كيان منفصل.
§ Object-oriented programming—a programming
paradigm in which a program is viewed as a collection of discrete objects that
are self-contained collections of data structures and routines that interact
with other objects.
برمجة OOP: نموذج برمجى
وفيه البرنامج يظهر كمجموعة منفصلة من الكائنات تظهر كمجموعة تامه فى ذاتها من
تراكيب البيانات والإجراءات المرتبطة مع كل الكائنات الآخرى
§ Property—members of a class that provide a
flexible mechanism to read, write, or compute the values of private fields.
Properties are viewed or accessed by “accessor” methods within the class and
are changed or modified by “modifier” methods within the class.
الخاصية: عضو من أعضاء الفئة وهى تزودنا بطريقة مرنه كتقنية
للقراءة والكتابة أو حساب قيمة حقل خاص. والخصائص نصل إلى
قيمتها من خلال إجراء (accessor) داخل الفئة
وتتعدل القيمة من خلال إجراء (modifier) داخل الفئة.
Objects and Classes—The Relationship – العلاقة بين
الفئات والكائنات
§ Objects are instances of a given data type. The
data type provides a blueprint for the object that is created—or
instantiated—when the application is executed.
الكائنات
عبارة عن تمثيل لنوع البيانات المحدد. نوع البيانات
يمدنا بالنسخة الزرقاء "المكتوبة
المخطوطة" للكائن المنشئ, أو الكائن الممثل عندما ينفذ التطبيق.
§ New data types are defined using classes.
نوع البيانات
الجديد يعرف باستخدام الفئات.(الفئة نوع
بيانات جديد)
§ Classes form the building blocks of C#
applications, containing code and data. A C# application will always contain at
least one class.
تنشئ الفئات
من خلال بناء كتله فى تطبيق C#, يحتوى على البيانات والكود. تطبيق C# دائما يحتوى على الأقل على فئة واحدة.
Objects and Classes—A Comparison - مقارنة بين الكائنات
والفئات
§ An object belongs to a class and is an instance
of that class. The class is the blueprint of the object and defines the fields
and methods.
الكائن يعتمد
على الفئة وهو تمثيل لها. الفئة هى
المخطوطة الأساسية للكائن وهى ما تعرف الحقول والإجراءات.
§ The object exists during the time that a program
executes and must be explicitly declared and construed by the executing
program. For most programming languages, a class cannot be changed during
program execution.
الكائن يتواجد
خلال وقت تنفيذ البرنامج ولابد أن يتم تعريفه صريحا وإنشائه من خلال البرنامج. فى معظم لغات البرمجة الفئة لا يمكن أن تعدل خلال تنفيذ البرنامج.
§ Classes have fields that can change in value and
methods that can execute during program execution. The class to which the
object belongs defines these attributes and methods.
الفئة بها الحقول التى يمكن تغيير قيمتها و الإجراءات التى يمكن أن تنفذ خلال تنفيذ البرنامج. الفئة بالمقارنة مع الكائن تعتمد على تعريف الخواص والإجراءات.
§ Properties can be used as though they are public
data members, but they are actually special methods called accessors. This
enables data to be accessed easily while still providing the safety and
flexibility of methods.
الخواص يمكن
استخدامها كعضو يمثل بيانات عام الوصول, ولكنها فى
الحقيقة إجراءات خاصة تسمى "accssors". وهى تتيح
الوصول للبيانات بسهولة بينما مازال هناك أمان ومرونة فى الإجراءات.
§ Constructors are class methods that are executed
when an object of a given type is created. Constructors have the same name as
the class and usually initialize the data members of the new object.
المنشئ هو عبارة إجراء عادى يتم تنفيذه عندما يأخذ
الكائن نوع بياناته وينشئ. المنشئ أسمه
نفس أسم الفئة وفى العادة يجهز بيانات الأعضاء للكائن الجديد.
§ A method is a code block containing a series of
statements. Every executed instruction is performed in the context of a method.
الإجراء هو كتله من الكود تحتوى على جمل متسلسلة. تنفذ كل التعليمات وتنجز بناءا على استدعاء الإجراء.
---------------------------------------
جميع حقوق نقل المعلومات مسموح بها لوجه الله. ولكن يرجى الإشارة لأسم الموقع فقط.