أخر الأخبار
دروس قواعد البيانات
منذ بضع اعوام

الدرس الخامس و العشرون -SQL Server 2014- إستدعاء إجراء مخزن...

إستدعاء إجراء مخزن من SQL Server الى الدلفي عن مكونات ADO و نخص بذلك المكون الموجود في الحزم...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس الثالث و العشرون -SQL server 2014- ربط قاعدة بيانات...

طريقة ربط الدلفي مع قاعدة بيانات SQL Server 2014 عن طريق المكونات المدمجة داخل النسخ ا...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس الثاني و العشرون -SQL Server 2014 - عرض لجمل...

جمل الإستعلام  الكلمات المفتاحية: جدول، حقل، عمود، بيانات، علاقة، قواعد بيانات علائقية...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس الواحد و العشرون من دروس -SQL Server 2014- الإجراءات...

في هذا الدرس الجديد الخاص بقواعد البيانات SQL Server 2014 الإٌجراءات المخزنة الخاصة بالت...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس العشرون من دروس -SQL Server 2014- عمليات Insert -...

اليوم في هذا الدرس سنتطرق الى العمليات الثلاث المهمة في SQL Server و هي  Insert - Up...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس التاسع عشر من دروس -SQL Server 2014- التعليمات Where...

في هذ الدرس الجديد من دروس SQL Server 2014  اليوم سنرى التعليمات الخاصة بتحديد ن...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس الثامن عشر من دروس -SQL Server 2014- التعليمة...

في هذا الدرس الجديد من دروس SQL Server 2014   ُتعتبر تعليمة  Select&nb...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس السابع عشر من دروس -SQL Server 2014- ...

في هذا الدرس الجديد من دروس SQL Server 2014 الإجراءات المخزنة (Les procédures stock...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس السادس عشر من دروس -SQL Server 2014- عمل...

في هذا الدرس الجديد من سلسلة دروس SQL Server 2014 Diagram  هي مجموعة من العناص...
اقرأ المزيد

كتاب عبارات الشرط و التكرار

كتاب عبارات الشرط و التكرار





عبارات الشرط في الدلفي :


الكلمات الأساسية        If----Then------Else


هناك بعض مظاهر البرمجة المشتركة في كل لغات البرمجة ومنها عبارة الشرط if 

تستخدم هذه العبارة لفحص شرط معين وثم تنفذ شيفرة معينة إذا تحقق الشرط True وعدم تنفيذه في حالة عدم تحقق الشرط 

:var

x:integer;

begin 
x:=StrToInt(Edit1.Text)
if x>10 then
Label1.Caption:='عليك أن تدخل عدد من 1 -10'; 
end;




في المثال السابق يقوم البرنامج بطلب إدخال من المستخدم ويقارن المدخل بشرط بحيث إذا كان الشرط x>10 متحققا وكان العدد المدخل أكبر من عشرة ينفذ البرنامج الجملة بعد الشرط ويطلب بإدخال عدد أصغر من 10
تنفيذ عدة عبارات داخل الشرط
لنفترض أن لديك عدة سطور من البرمجة يجب أن تنفذ عندما يكون الشرط محققاً عندها سوف تحتاج إلى begin..end لتجعل هذه السطور تشكل كتلة واحدة يكون داخلها تنفيذ الشرط إذا كان متحقق 

if x>10 then
begin
Label1.Caption:='عليك أن تدخل عدد من 1 -10';
Edit1.text:= '10';
end;

إستخدام الشرط
 Else 
أحياناً تحتاج لعمل تنفيذ ما إذا كان الشرط محققاً ولكن تريد البرنامج بأن يؤدي عملاً آخر إذا كان الشرط غير محقق مثل
if x=0 then 
y:=0
else
y:=sin(x);

حلقات التكرار 
تستخدم الحلقات لأداء عمل معين بشكل متكرر حتى يتحقق شرط معين. 
ويتم إستخدامها في البرامج بشكل واسع 

الحلقة التكرارية For 
وهي تعد أكثر أنواع الحلقات التكرارية شيوعا 
تتطلب هذه الحلقة محددتين القيمةالبدائية والقيمة النهائية إذا كانت الحلقة تصاعدية تستخدم To وإذا كانت تنازلية نستخدم كلمة DownTo . 

الصيغة العامة لجملة for التصاعدية هي :



for var := initial_value to end_value do
begin
statment;
end;


في المثال السابق حلقة تكرر الشيفرة الممثلة بعبارة statement حتى تصل إلى القيمة النهائية end_value . لا داعي لاستخدام begin , end إذا كان جسم التكرار يتكون من عبارة واحدة. ولكن عندما نريد إضافة العديد من السطور فنحتاج لإستخدام Begin – End 


الصيغة العامة لجملة for التنازلية:


for var := initial_value DownTo end_value do
begin
statment;
end;



في المثال السابق كتلة الشيفرة يجب أن تكون initial_value أكبر من end_value وتتناقص قيمة العداد المتغير var واحداً في كل تكرار للحلقة

مثال عملي : 

أنشئ مشروعاً جديداً 

وأضف له زراً Button1 ومكون المفكرة Memo1 غير الخاصة Caption للزر واجعله " ابدأ " أنشئ الحدث OnClick له ، واكتب معالج الحدث كالتالي


var
I:Integer;

begin

Memo1.Clear;

for I := 0 to 9 do
Memo1.Lines.Add('هذا السطر رقم '+IntToStr(I));

end;



الآن يمكنك تشغيل البرنامج ، إضغط الزر ابدأ وشاهد عمل الحلقة …


الحلقتين التكراريتين While - Repeat

والآن بعد أن رأيت كيف تعمل حلقة for لن يكون صعباً جداً عليك أن تطبق ذات المعنى على حلقتي while , repeat 

لنلقي الآن نظرة عليهما الآن. 

حلقة while 

تختلف حلقة while عن الحلقة For في كونها تحتوي على شرط يفحص عند بداية كل تكرار للحلقة . طالما أن الشرط محقق تستمر الحلقة في التنفيذ ويتوقف التنفيذ للحلقة عندما يكون الشرط غير محقق . 

إليك الشكل العام للحلقة while 


While cond_expr do 
Begin
Statements;
End;




حيث يفحص البرنامج الشرط cond_expr وعند تحقق الشرط فإن البرنامج ينفذ الأوامر بين الأمرين End – Begin ويعود لقراءة الشرط مرة أخرى وهكذا يستمر في تنفيذ التكرار إلى أن يصبح الشرط غير متحقق فيخرج من التكرار 

وإذا كان جسم الحلقة مؤلف من عبارة واحدة فليس هناك داعي لإستخدام Begin – End

حلقة Repeat 

مثل حلقة while ولكن الحلقة While تقوم بفحص الشرط في بداية الحلقة ولكن في حالة الحلقة Repeat فإن الشرط يفحص في نهاية الحلقة 

إليك هذا البرنامج الذي يبين عمل الحلقة Repeat وهو نفس مثال البرنامج للحلقة For مع تعديل سطور البرنامج 

ويمكن ملاحظة ان الحلقة repeat تتنفذ على الأقل مرة واحدة ولكن الحلقة While يمكن أن لا تنفذ ولا مرة 



Var
I:Integer;

begin
I:=5;
Memo1.Clear;

Repeat
Memo1.Lines.Add('هذا السطر رقم '+IntToStr(I));
Dec(I);
Until I=-1;

end;




الإجرائين Break , Continue 

قبل أن ننهي الحديث عن الحلقات يجب أن نتعرف على إجرائين يساعدان على التحكم بتنفيذ البرنامج ضمن الحلقة .

- استخدم الأمر Continue لتجبر البرنامج على الانتقال إلى نهاية الحلقة متجاوزاً كل العبارات التي تليه . 

- استخدم الأمر Break لتوقف عمل الحلقة مباشرة ولاتستحدم خارج الحلقات. 



عبارة case

يمكن اعتبار تركيب case كتركيب if موسعة ، إنها تمكنك من تنفيذ عبارة واحدة من عدة كتل برمجة معتمدة على نتيجة تعبير معين

التعبير ممكن يكون متغير ، أو نتيجة استدعاء تابع أو أية شفرة من باسكال كلها تعطي تعبيرا

للتعرف على الصيغة العامة لتركيب case نشاهد المثال


case var of
val_1 : statement_1;
val_2 : statement_2;
val_3 : statement_3;
; 
;
else
statement_else;

end;



عندما يبدأ البرنامج في تنفيذ تركيب case سيمر على قيمة val_1 ويقارن بين الثابت val_1 والمتغير Var إذا وجدهما متساويين سيقوم البرنامج بتنفيذ جميع الأوامر التي تليها حتى يصل إلى نهاية الكتلة ( تحدد الكتلة بالعبارات بين Begin , end في حالة استخدام أكثر من عبارة واحدة كما سبق شرحه ) أما إذا لم يجدهما متساويين فإنة سيتخطاها بجميع العبارات الواردة بعدها وينتقل إلى الثابت الآخر ويكرر المحاولة وهكذا يمر البرنامج عليها كلها فإذا لم يجد الثابت المطلوب منها فإنه سيتخطاها إلى كلمة else وينفذ العبارات الواردة بعدها حتى نهاية التركيب .

ملاحظة هامة : 

يجب أن يعطى التعبير ضمن الدالة case قيمة تنتمي إلى نمط مرتب من الأنواع ( Integer,Byte,Word ) 

بحيث لايمكنك كتابة مايلي مثلاً 



case str of
'Own' : {code};
'Two' : {code};
end; 



يمكن جعل البرنامج ينفذ كتلة أوامر عند أكثر من قيمة 
كما أن إستخدام الدالة else في الإجراء Case يعتبر اختياري ومثال على ذلك



case x of
1: y:=sin(x);
2,3 : y:=cos(x);
4,5,6: y:=x;

end
و في الكتاب تعلم عبارات الشرط و التكرار

كتاب رائع جدا فيه كل الجوانب الخاصة بعبارات الشرط و التكرار





نترككم مع التحميل

http://adf.ly/uhHiT

قد يعجبك ايضا
تعليقات
تعليقات Bloggerتعليقات Disqus



حجم الخط
+
16
-
تباعد السطور
+
2
-