تعلم جمل الدوران بلغة السي loop in C language

7/16/2015 1 تعليق

جمل الدوران في لغة السي 

Loop in C language

       prepared By:
Hamza Mohammed
*جمل الدوران (looping statements)...
قبل البدأ بموضوع جمل الدوران يجب ان نتعلم بعض الأمور المهمه التي سنحتاجها عند استخدام جمل الدوران وخصوصاً المتتابعات ..
************************
*اولاً: حصالة الجمع والضرب..
وهي عباره عن متغير يتم فيه خزن القيم التي نحصل عليها مع كل دوره (عده) للعداد تكون القيمه الابتدائيه لها صفر لأنه كما نعلم ان العنصر المحايد لعملية الجمع هو الصفر اما اذا اردنا إيجاد مضروب اعداد فتكون قيمتها الابتدائيه واحد(1)
ثانيا :
باقي القسمه (mod)ويرمز لها (%) ..
تقوم بأيجاد باقي قسمة عددين بشرط ان يكون العددين من نوع (integer)  مثلاً 20%2 سيكون الناتج صفر لأنه لايوجد باقي ..
مثال آخر 20%3 سيكون الناتج هو 2  لأنه 3*6 تساوي 18 يبقى 2 لنصل الى 20  مثال آخر 13%5 الناتج سيكون 3 لأنه 2*5 يساوي 10 ويبقى 3 لنصل الى 13 وهكذا ..
لكي نختبر الرقم زوجي او فردي نستخدم (%) فأن كان الناتج صفراً فهذا يدل على انه زوجي وان كان لايساوي صفر فهو فردي ...
ثالثاً : cast operator
تحويل صيغة العدد من صيغه الى أخرى مثلاً الــ (%) تستخدم بشرط العددين صحيحين لنفترض أنهُ في السؤال احد الاعداد المدخله هو من نوع  float على سبيل المثال كيف سنحل هذه المشكله ؟؟ LL
سنستخدم الــ cast operatorعلماً انه لها الأولويه بالتنفيذ قبل أي عمليه يتم تنفيذها
مثال:
int x=10;
float z=3;
int y;
y=x%(int)z;
بهذه العمليه قد قُمنا بتحويل جزء الــ float  الى  int  
*ستواجهنا مشكله عندما نستخدم القسمه مثلاً 10/3 سيكون الناتج هو
3.333333  لكن عندما نقوم بأجراء عملية القسمه فأن الناتج سيكون 3 وان كنا معلنين عن المعادله float  كيف سنحل هذه المشكله ؟؟ L
تعال معي لنأخذ مثال واستخدم ذكائك لأستنتاج ملاحظاتك التي ستحتاجها لاحقاً لحل الواجبات JJ
مثال :
int x=3;
float divided;
divided=(float)x/2;
مما سبق نقوم بوضع (float) قبل عملية القسمه لأي عددين اما اذا كان العددين من نوع float  اوdouble  لا حاجه لوضعها
والآن لنبدأ بجمل الدوران وان كانت هنالك إضافات سأقوم بأضافتها J
جمـــل الدوران ..
أو قبل ذلك لنفهم ماهي جمل الدوران
المقصود بالدوران هو التكرار مثلا نحتاج  إيجاد حل متتابعه تحتوي على عدة حدود بدلاً من ادخال الحدود نقوم بوضعها داخل عداد هذه فكره بسيطه الامثله ستوضح الفكره اكثر JJ
***************

اولاً : for_loop statement
تكون صيغتها كالآتي :
for(name=initial val;final val;step size)
نلاحظ ان في نهاية السطر لانضع فارزه منقوطه ..القيمه النهائيه تكون بصيغة شرط .. بأستخدام  (< أو ≤ ......الخ(
زياده بمقدار (1)i=i+1
زياده بمقدار(2)i=i+2
لنضع ما تعلمناه في صيغه قياسيه ..

Counter=counter+number
لنأخذ مثال:
المثال الأول:
 قم بطباعة أرقام من 0   الى 11 حيث ان مقدار الزياده (1) :
الحل:













i=i+1   ومعناه ان مقدار  
الزياده يساوي (1)
وممكن ان تكتب هكذا (i++) الشرط كان اقل او يساوي 11 سيبدأ العداد من الـ(1) ويتزايد بمقدار (1)اول دوره للعداد 1 هل الـ(1)اقل او يساوي (11)؟الجواب نعم سيأخذ ال(1) زادت قيمة العداد بقيمة (1) على الخطوه القادمه لتصبح (2) هل الـ(2) اقل او تساوي (11) الجواب نعم سيأخذ قيمة ال(2) وتزداد على الخطوه القادمه لتصبح (3) هل هي اقل او تساوي(11) ...وهكذا
لنأخذ مثال آخر ..

المثال الثاني:
قم بطباعة  الأرقام الزوجيه من 0  الى 14
بما أنهُ الأعداد التي نريدها زوجيه ستكون مقدار الزياده 2 أي ان العداد يبدأ من الصفر ويتزايد بمقدار 2
0←2←4←6←8←10←12←14
القيمه النهائيه هي 14 أي ان العداد ستكون قيمتهُ النهائيه اقل او يساوي 14 استنتج ملاحظاتك J














المثال الثالث :
 قم بطباعة اعداد من 25 الى 1 بصوره تنازليه ((descending order
الــــحل

















المثال الرابع:
قم بأيجاد المفكوك((factorial لأي عدد
الحل:





ثانياً  while _loop
وتكون صيغتها كالآتي :
while(condition)
{
Stat_1
Stat_2
. .
. .
. .
Stat_n
Step size
}

مثال  :
قم بأيجاد مضروب اعداد من 1 الى 5 بأستخدام while
الحل :






                  العنصر المحايد لعملية الضرب هو الواحد لذلك الحصاله تبدأ من الواحد والهدف منها لأن العداد في كل دوره له قيمه لذلك يجب استخدام حصاله للضرب او الجمع حسب السؤال في داله while القيمه الأبتدائيه للعداد نقوم بأعطائهاعندالأعلان عن المتغير(العداد)  .. حيث ان الــcondition  يمثل
 القيمه النهائيه (الشرط)الذي سيتوقف عنده العداد عن تكرار نفسه ..
*****************************
ثالثاُ:DO-while
do
{
Stat_1
Stat_2
. .
. .
. .
Stat_n
Step size
}while(condition)
المثال  :
قم بكتابة برنامج يقوم بأظهار الحروف الانكليزيه الصغيره ..

مثال  :
قم بأظهار الاعداد التاليه :
5,15,45,135,405
الحل:





نهاية المقاله ..

حمزه محمد مرهون
الجامعه المستنصريه_ كلية الهندسه

*لاتطلب من الآخربن مقابل فالطيور لا تطلب على تغريدها ..
تواصل معي على :

او على صفحة الفيس بوك:


هل أعجبك الموضوع ؟

هناك تعليق واحد:

  1. Casino Games - JWT Hub
    Casino Games. If you are interested in 동해 출장샵 learning how to play 부산광역 출장샵 casino 서귀포 출장안마 games, we will give you information on how 세종특별자치 출장마사지 to win, cash out and more. 경상북도 출장안마 Learn how to win

    ردحذف

جميع الحقوق محفوظة ©2013-2014 | ، | Privacy Policy

Programmers555