[[Template core/front/global/updateWarning is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]
المصفوفة هي عبارة عن صف أو مجموعة من متغيرات ذات نوع واحد، مثلاً إذا قلنا أن لدينا مصفوفة من الأعداد الصحيحة تحتوي على 10 عناصر فإن تعريفها يكون كالتالي
Numbers: array [1 .. 10] of Integer;
ويمكننا وضع قيمة في المتغير الأول في المصفوفة كالتالي:
Numbers[1]:= 30;
ويمكننا وضع قيمة في المتغير الثاني في المصفوفة كالتالي:
Numbers[2]:= 315;
في المثال التالي نقوم بتخزين درجات 10 طلاب ثم عرضها:
var Marks: array [1 .. 10] of Integer; i: Integer;begin for i:= 1 to 10 do begin Write('Input student number ', i, ' mark: '); Readln(Marks[i]); end; for i:= 1 to 10 do begin Write('Student number ', i, ' mark is : ', Marks[i]); if Marks[i] >= 40 then Writeln(' Pass') else Writeln(' Fail'); end; Writeln('Press enter key to close'); Readln;end.
نجد أننا إستخدمنا حلقة for لإدخال وطباعة الدرجات. كذلك قمنا بمقارنة نتيجة كل طالب داخل الحلقة لنعرف الناجح وغير الناجح.
يمكن تعديل البرنامج السابق لنعرف أكبر وأصغر درجة في الدرجات كالتالي:
var Marks: array [1 .. 10] of Integer; i: Integer; Max, Min: Integer;begin for i:= 1 to 10 do begin Write('Input student number ', i, ' mark: '); Readln(Marks[i]); end; Max:= Marks[1]; Min:= Marks[1]; for i:= 1 to 10 do begin // Get if current Mark is maximum mark or not if Marks[i] > Max then Max:= Marks[i]; // Check if current value is minimum mark or not if Marks[i] < Min then Min:= Marks[i]; Write('Student number ', i, ' mark is : ', Marks[i]); if Marks[i] >= 40 then Writeln(' Pass') else Writeln(' Fail'); end; Writeln('Max mark is: ', Max); Writeln('Min mark is: ', Min); Writeln('Press enter key to close'); Readln;end.
نلاحظ أننا إفترضنا أن الرقم الأول هو أكبر درجة لذلك قمنا بوضعه في المتغير Max كذلك إعتبرنا أنه أصغر درجة فوضعناه في المتغير Min إلى أن يثبت العكس في كلا الحالتين.
Max:= Marks[1]; Min:= Marks[1];
وفي داخل الحلقة عند طباعة الأرقام العشرة، قمنا بمقارنة كل رقم مع القيم max و min فإذا وجدنا رقم أكبر من max قمنا بإستبدال قيمة max بقيمة الدرجة الحالية ، ونفعل نفس الشيء مع القيمة min.
نلاحظ في المثال السابق أننا إستخدمنا تعليق مثل:
// Get if current Mark is maximum mark or not
وقد بدأنا السطر بالعلامة // وهي تعني أن باقي السطر عبارة عن تعليق لاتتم ترجمته، إنما يستفيد منه المبرمج كشرح حتى يصبح البرنامج مقروء له ولمن يريد الإطلاع على البرنامج.
هذه الطريقة تصلح للتعليق القصير، أما إذا كان التعليق أكثر من سطر يمكس إستخدام الأقواس المعكوفة {} أو الأقواس والنجمة (* *)
مثلاً:
for i:= 1 to 10 do begin { Get if current Mark is maximum mark or not check if Mark is greater than Max then put it in Max } if Marks[i] > Max then Max:= Marks[i]; (* Check if current value is minimum mark or not if Min is less than Mark then put Mark value in Min *) if Marks[i] < Min then Min:= Marks[i]; Write('Student number ', i, ' mark is : ', Marks[i]); if Marks[i] >= 40 then Writeln(' Pass') else Writeln(' Fail'); end;
كذلك يمكن الإستفادة من هذه الخاصية بتعطيل جزء من الكود مؤقتاً كالتالي:
Writeln('Max mark is: ', Max); // Writeln('Min mark is: ', Min); Writeln('Press enter key to close'); Readln;
في هذا المثال قمنا بتعطيل إجراء طباعة أصغر درجة.
=================================================
الدورة منقولة من كتاب الأستاذ الفاضل معتز عبد العظيم وما تراه باللون الأخضر فمن زياداتي
تم النشر منذ (معدل)
بسم الله الرحمن الرحيم
المصفوفات arrays
المصفوفة هي عبارة عن صف أو مجموعة من متغيرات ذات نوع واحد، مثلاً إذا قلنا أن لدينا مصفوفة من الأعداد الصحيحة تحتوي على 10 عناصر فإن تعريفها يكون كالتالي
ويمكننا وضع قيمة في المتغير الأول في المصفوفة كالتالي:
ويمكننا وضع قيمة في المتغير الثاني في المصفوفة كالتالي:
في المثال التالي نقوم بتخزين درجات 10 طلاب ثم عرضها:
نجد أننا إستخدمنا حلقة for لإدخال وطباعة الدرجات. كذلك قمنا بمقارنة نتيجة كل طالب داخل الحلقة لنعرف الناجح وغير الناجح.
يمكن تعديل البرنامج السابق لنعرف أكبر وأصغر درجة في الدرجات كالتالي:
نلاحظ أننا إفترضنا أن الرقم الأول هو أكبر درجة لذلك قمنا بوضعه في المتغير Max كذلك إعتبرنا أنه أصغر درجة فوضعناه في المتغير Min إلى أن يثبت العكس في كلا الحالتين.
وفي داخل الحلقة عند طباعة الأرقام العشرة، قمنا بمقارنة كل رقم مع القيم max و min فإذا وجدنا رقم أكبر من max قمنا بإستبدال قيمة max بقيمة الدرجة الحالية ، ونفعل نفس الشيء مع القيمة min.
نلاحظ في المثال السابق أننا إستخدمنا تعليق مثل:
وقد بدأنا السطر بالعلامة // وهي تعني أن باقي السطر عبارة عن تعليق لاتتم ترجمته، إنما يستفيد منه المبرمج كشرح حتى يصبح البرنامج مقروء له ولمن يريد الإطلاع على البرنامج.
هذه الطريقة تصلح للتعليق القصير، أما إذا كان التعليق أكثر من سطر يمكس إستخدام الأقواس المعكوفة {} أو الأقواس والنجمة (* *)
مثلاً:
كذلك يمكن الإستفادة من هذه الخاصية بتعطيل جزء من الكود مؤقتاً كالتالي:
في هذا المثال قمنا بتعطيل إجراء طباعة أصغر درجة.
=================================================
تم تعديل بواسطه أحمد أبو عبد البرالدورة منقولة من كتاب الأستاذ الفاضل معتز عبد العظيم وما تراه باللون الأخضر فمن زياداتي
شارك هذا الرد
رابط المشاركة
شارك الرد من خلال المواقع ادناه