حلقة do while loop في لغة دارت Dart 9 - Programmer Tech
Dart and flutter

حلقة do while loop في لغة دارت Dart 9

حلقة do while loop في دارت

حلقة do while loop في لغة دارت Dart

إن حلقة (Do While Loop) نستخدمها في حال كنا نُريد أن ننفذ الكود عدة مرات, و لكننا لا نعرف كم عدد المرات في التحديد لأننا نريد إيقاف التنفيذ إذا تحقق شرط معين و هذه الحلقة تتوقف عن تكرار نفسها إذا تحقق الشرط الذي وضعناه لها.

أي يتم إستخدامها لأجل تكرار جزء من البرنامج عدة مرات إذا كان رقم التكرار غير ثابت فيلزم علينا إستخدام الحلقة مرة واحدة على الأقل. و الأفضل إستخدام هذه الحلقة do while, و يتم تنفيذ التكرار مرة على الأقل لأنه يتم التحقق من الحالة أثناء الحلقة.

أمر do while هو شبيه بالأمر while و شبيه بأمر for, و حلقة while كانت مهمتها هي القيام بالفحص ثم التنفيذ و مهمة do while عكسها تماماً يقوم بالتنفيذ ثم الفحص.

الفرق بين الحلقتين هو أن حلقة while تختبر إذا كان الشرط صحيح ام لا أما do while تنفذ الجملة التالية لها اولاً ثم تختبر الشرط, فإذا كان صحيح تعيد تنفيذ الا تتوقف التكرار.

في لغة دارت (Dart)، لا يوجد حلقة “do-while” محدَّثة حتى تاريخ القطعة المعلوماتية الخاصة بي في سبتمبر 2021. ومع ذلك، يمكنك تحقيق نفس النتيجة باستخدام حلقة “while” التقليدية بشكل مشابه.

طريقة إستخدام زحلقة Do While Loop في دارت

do {
    STATEMENT(s) TO BE EXECUTED;
    } while (expression);

إليك كيفية تنفيذ حلقة “do-while” في دارت باستخدام حلقة “while” العادية:

void main() {
  var i = 0;
  
  do {
    print('قيمة i هي $i');
    i++;
  } while (i < 5);
}

في هذا المثال، يتم طباعة قيمة المتغير i ثم يتم زيادتها بمقدار واحد في كل تكرار. تستمر الحلقة في التكرار طالما أن قيمة i أقل من 5.

يتم تنفيذ الحلقة على النحو التالي:

قيمة i هي 0
قيمة i هي 1
قيمة i هي 2
قيمة i هي 3
قيمة i هي 4

يرجى ملاحظة أنه يجب عليك تثبيت إصدارة Dart المناسبة والتحقق من وجود تحديثات حديثة للغة للتأكد من وجود حلقة “do-while” المدمجة في اللغة.

مثال

void main (List<String> arguments) {
    	int i = 0;
    do {
        print (i);
        	} while (i < = 100);
    }

أنشأنا متغير عددي int و هو i و قيمته هي 0 أي أنها بداية العدّاد, ثم فتحنا حلقة do while و طلبنا طباعة المتغير i ثم وضعنا شرط أن i أصغر من 100.

مثال 1: طباعة الأعداد من 1 إلى 5 باستخدام حلقة “do-while”.

void main() {
  var i = 1;
  
  do {
    print(i);
    i++;
  } while (i <= 5);
}

مثال 2: حساب مجموع الأعداد من 1 إلى 10 باستخدام حلقة “do-while”.

void main() {
  var i = 1;
  var sum = 0;
  
  do {
    sum += i;
    i++;
  } while (i <= 10);
  
  print("مجموع الأعداد هو: $sum");
}

مثال 3: قراءة الأرقام من المستخدم حتى يقوم بإدخال الرقم صفر باستخدام حلقة “do-while”.

import 'dart:io';

void main() {
  var number;
  
  do {
    print("الرجاء إدخال رقم (0 للخروج): ");
    number = int.parse(stdin.readLineSync()!);
    print("لقد أدخلت الرقم: $number");
  } while (number != 0);
  
  print("تم الخروج من البرنامج.");
}

هل يمكنني استخدام حلقة “do-while” في لغة برمجة أخرى؟

نعم، حلقة “do-while” هي هيكل تحكم تكراري مشترك في لغات البرمجة العديدة. تختلف بعض التفاصيل في البناء الدقيق وتركيبة اللغة، ولكن فكرة الحلقة هي نفسها في جميع اللغات التي تدعمها.

في حلقة “do-while”، يتم تنفيذ الجزء الذي يتبع الكلمة المفتاحية “do” أولاً، ثم يتم فحص شرط التكرار بعد ذلك. إذا كان الشرط صحيحًا، فسيتم تكرار التنفيذ. إذا كان الشرط غير صحيح، فسيتم الخروج من الحلقة.

فيما يلي بعض الأمثلة حول كيفية استخدام حلقة “do-while” في بعض اللغات البرمجية:

C++:

#include <iostream>
using namespace std;

int main() {
    int i = 0;
    do {
        cout << "قيمة i هي " << i << endl;
        i++;
    } while (i < 5);
    return 0;
}

Java:

public class Main {
    public static void main(String[] args) {
        int i = 0;
        do {
            System.out.println("قيمة i هي " + i);
            i++;
        } while (i < 5);
    }
}

C#:

using System;

class Program
{
    static void Main(string[] args)
    {
        int i = 0;
        do
        {
            Console.WriteLine("قيمة i هي " + i);
            i++;
        } while (i < 5);
    }
}

PHP:

<?php
$i = 0;
do {
    echo "قيمة i هي " . $i . "\n";
    $i++;
} while ($i < 5);
?>

تذكر أنه يجب استخدام بناء الحلقة الصحيح للغة البرمجة التي تعمل عليها، حيث قد تكون هناك اختلافات طفيفة في الصياغة الدقيقة للحلقة بين لغات البرمجة المختلفة.

Ahmedkaissar

من مصر من محافظة الجيزة مبرمج ويب و خبير أمن معلومات محب للتقنية و الأمن المعلوماتي مدرب للغات "Python,html, css, php, js, laravel"
زر الذهاب إلى الأعلى