You are on page 1of 20

‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫البرمجة ( ‪) 1‬‬
‫الفصل الخامس‪ :‬أنماط (بنى) معطيات ُمركّبة‬

‫‪-0-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫رقم الرفحة‬ ‫العنهان‬


‫‪4‬‬ ‫َّ‬
‫المركبة‬ ‫‪ .1‬أنماط المعطيات‬
‫‪5‬‬ ‫‪ .2‬سالسل المحارف‬
‫‪5‬‬ ‫‪ .3‬سالسل المحارف ‪ -‬الترريح عن سلدلة محارف‬
‫‪ .4‬سالسل المحارف ‪ -‬التمثيل الداخلي لدلدلة محارف والهصهل إلى ِمحرف من‬
‫‪6‬‬
‫محارف الدلدلة‬
‫‪7‬‬ ‫‪ .5‬سالسل المحارف ‪ -‬التعديل‪ :‬الحذر ‪Insert‬‬
‫‪8‬‬ ‫‪ .6‬سالسل المحارف ‪ -‬التعديل‪ :‬الدمج باستخدام عملية "‪"+‬‬
‫‪ .7‬سالسل المحارف ‪ -‬التعديل‪ :‬الحرهل على مهقع سلدلة جزئية من سلدلة محارف‬
‫‪9‬‬
‫‪IndexOf‬‬
‫‪ .8‬سالسل المحارف ‪ -‬التعديل‪ :‬تحهيل سلدلة محارف إلى جدول محارف‬
‫‪11‬‬
‫‪ToCharArray‬‬
‫‪11‬‬ ‫‪ .9‬سالسل المحارف ‪ -‬التعديل‪ :‬اإلسناد والمقارنة‬
‫‪13‬‬ ‫‪ .11‬الجداول والمرفهفات ‪ -‬تعريف جدول‬
‫‪14‬‬ ‫‪ .11‬الجداول والمرفهفات ‪ -‬استخدام الجداول والمرفهفات‬
‫‪15‬‬ ‫‪ .12‬الجداول والمرفهفات ‪ -‬أمثلة برمجية‬
‫‪ .13‬الجداول والمرفهفات ‪ -‬تعريف مرفهفة (جدول متعدد األبعاد)‪ ،‬تهليد خانات‬
‫‪19‬‬
‫مرفهفة لم تتحدد أبعادها عند التعريف‬

‫‪-1-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫الكلمات المفتاحية‪:‬‬
‫سمدمة حرفية‪ ،‬جدول‪ ،‬مرفؽفة‪ ،‬صف جاىز‪.‬‬

‫ملخص‪:‬‬
‫الرررفؽا الجرراىزة‬‫السقدمررة فررا ع ر‬
‫ركبررة ّ‬
‫يتعرررا الطال ر فررا ى ر ا القدررػ (مررى أنسرراط (بشررى) معطيررات ُم ّ‬
‫لإلستخدام كدالسل السحارا والجداول والسرفؽفات‪ .‬ويتعمػ كيفية استخدتػ تؽا ع (طرائق) ى ه الرفؽا‪.‬‬

‫أهداف تعليمية‪:‬‬
‫فا ى ا الفرل استخدام‪:‬‬ ‫يتعمػ الطال‬
‫‪ ‬سالسل السحارا‬
‫‪ ‬الجداول والسرفؽفات‬

‫‪-2-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫المخطط‪:‬‬
‫َّ‬
‫السركبة‬ ‫‪ .1‬أنساط السعطيات‬
‫‪ .2‬سالسل السحارا‬
‫‪ .3‬سالسل السحارا‪ -‬الترريح (ؼ سمدمة محارا‬
‫‪ .4‬سالسل السحارا‪ -‬التسثيل الداخما لدمدمة محارا والؽصؽل إلى ِمحرا مؼ محارا الدمدمة‬
‫‪ .5‬سالسل السحارا‪ -‬التعديل‪ :‬الحذر ‪Insert‬‬
‫‪ .6‬سالسل السحارا‪ -‬التعديل‪ :‬الدمج استخدام (سمية "‪"+‬‬
‫‪ .7‬سالسل السحارا‪ -‬التعديل‪ :‬الحرؽل (مى مؽقع سمدمة جزئية مؼ سمدمة محارا ‪IndexOf‬‬
‫‪ .8‬سالسل السحارا‪ -‬التعديل‪ :‬تحؽيل سمدمة محارا إلى جدول محارا ‪ToCharArray‬‬
‫‪ .9‬سالسل السحارا‪ -‬التعديل‪ :‬اإلسشاد والسقارنة‬
‫‪ .11‬الجداول والسرفؽفات‪ -‬تعريف جدول‬
‫‪ .11‬الجداول والسرفؽفات‪ -‬استخدام الجداول والسرفؽفات‬
‫‪ .12‬الجداول والسرفؽفات‪ -‬أمثمة برمجية‬
‫‪ .13‬الجداول والسرفؽفات‪ -‬تعريف مرفؽفة (جدول متعدد األ عاد)‪ ،‬تؽليد خانات مرفؽفة لػ تتحدد‬
‫أ عادىا (شد التعريف‬

‫‪-3-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫َّ‬
‫المركبة‬ ‫‪ .1‬أنماط المعطيات‬
‫تعريف‬
‫السركبررة ىرا أنسرراط معطيررات ريررر دريطة‪ .‬أن ىررا نسررم معطيرات مختمررف (ررؼ األنسرراط‬
‫ّ‬ ‫أنسراط السعطيررات‬
‫األساسية التا (رفشاىا‪.‬‬
‫مركبة ألنيا خالا األنساط البديطة‪/‬األساسية تتكؽن مؼ مجسؽ(ة مرؼ العشاصرر‪ ،‬كس رؼ الؽصرؽل‬
‫ندسييا ّ‬
‫ألن (شرر مشيا‪.‬‬
‫السركبررة الستاحررة فررا مععررػ ل ررات البرمجررة ىررا الدالسررل الحرفيررة‬
‫ّ‬ ‫األمثمررة الؽاةررحة (ررؼ أنسرراط السعطيررات‬
‫‪ string‬والجداوال ‪.array‬‬
‫فالدالسل الحرفية مركبة مؼ مجسؽ(ة حروا‪.‬‬
‫والجرداول ىررا تجسيرع لعشاصررر مررؼ الرشسم نفدررو كس رؼ الؽصررؽل إلررى أن (شررر مشررو بررقػ العشرررر ةررسؼ‬
‫الجدول‪.‬‬
‫في لغة ‪ C#‬جميع األنماط المختلفة عن األنماط البديطة هي صفهف ‪.class‬‬
‫َّ‬
‫السركبررة (مررى مررا‬ ‫‪ ‬إن ل ررة ‪ C#‬ىررا ل ررة ررة رية التؽجررو‪ ،‬و تعتسررد فررا تعريررف أنسرراط السعطيررات‬
‫كدسى الرف ‪ .class‬لكششا فا أساسيات البرمجة‪ ،‬لدشا معشييؼ سعرفة كيفية بشاء الررفؽا فرا‬
‫‪ ...C#‬قدر ما نحؼ معشيؽن استخداماتيا‪.‬‬
‫رشعرا الررف ( سرا كعشيشرا فرا أساسرريات البرمجرة) نرو نسرم معطيااات َّ‬
‫مركا كدرسح لشرا بتعريررف‬ ‫‪ ‬س ِّ‬
‫متحؽالت مؼ ى ا الشسم كسا فا حالة األنساط البديطة‪.‬‬
‫نررو تجسيررع لمعطيااات ووئااائ ‪ .‬والؽظررائف (ىررا رالب رام ماندررسييا تؽا ررع‪،‬‬ ‫‪ ‬وكشررا قررد (رفشررا الر ا‬
‫دتخدم ى ه الؽظائف (مى متحؽالت الرف فتشجز العديد مرؼ العسميرات الترا‬
‫إجرائيات‪ ،‬طرائق)‪ ،‬تُ َ‬
‫نحتاجيا مؼ ى ا الشسم (الرف)‪.‬‬
‫‪ ‬مررؼ الشاحيررة العسميررة البرمجيررة والقؽا(دكررة ندر ررتخدم‪/‬ندتد(ا وظيفررة‪/‬تا ع (مررى متحااهل ماان ص ا‬
‫الذ ل )(‪varName.F‬‬
‫كسا فا السثال‪:‬‬
‫"‪string s="abcdef‬‬
‫)‪s.IndexOf(def‬‬
‫فزاء األسساء ‪ namespace‬ىؽ تجسيع لعدد مؼ الرفؽا‪ .‬أىسيا ىؽ ‪ System‬ال ن كزػ (رددام مرؼ‬
‫الرفؽا ذات االستخدام الكبير كرف التؽا ع الرياةية ‪ Math‬وصف الدالسل ‪.string‬‬

‫‪-4-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫‪ .2‬سالسل المحارف‬
‫(السعبررر (ررؼ سمدررمة محررارا) صررفام مررؼ صررفؽا فزرراء األسررساء (الس تبررة‬
‫ُكعتبررر نسررم السعطيررات ‪ُ String‬‬
‫السرجعية) ‪ ،System‬فا إطار العسل ‪.DotNet‬‬
‫التررالا‪ ،‬الكس ررؼ اسررتخدام أن سمدررمة محررارا مررؼ نسررم ‪ string‬إال مررؼ خررالل مجسؽ(ررة الطرائق‪/‬التؽا ررع‬
‫التا عة لي ا الرف‪.‬‬

‫‪ .3‬سالسل المحارف ‪ -‬الترريح عن سلدلة محارف‬


‫كجرن الترريح (ؼ سمدمة محارا وفقام لسايما‪:‬‬

‫; ‪string ch1‬‬
‫;"‪ch1 = "abcdefghijk‬‬

‫;"‪string ch2 = "abcdefghijk‬‬

‫‪-5-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫‪ .4‬سالسل المحارف ‪ -‬التمثيل الداخلي لدلدلة محارف والهصهل إلى ِمحرف من محارف‬
‫الدلدلة‬
‫ك ؽن لدمدة السحارا التسثيل الداخما التالا‪:‬‬

‫تُقر أر الدمدررمة كجردول محررارا)‪،‬‬ ‫كس رؼ الؽصرؽل إلررى أحرد محرارا الدمدررمة اسرتخدام العسميرة ”] [“ (حير‬
‫وفقام لمسثال التالا‪:‬‬

‫;"‪string ch1 = "abcdefghijk‬‬


‫'‪char car = ch1[4] ; // contains the character 'e‬‬

‫الكس ررؼ تعررديل محرررا مررؼ محررارا الدمدررمة‬ ‫ولكررؼ (سميررة الؽصررؽل تمررغ تقترررر (مررى القرراءة فقررم‪ ،‬حير‬
‫استخدام السؤشر ]‪ ،[i‬وإنسا ا(تسادام (مى أدوات أخرى سرشراىا فرا الفقررات الالحقرة‪ .‬فعمرى سربيل السثرال‪ ،‬إذ‬
‫كعطا السترجػ خط م (شد كتا ة‪:‬‬

‫‪ch1[7]=car; // … Error‬‬
‫‪ch1[8]=’x’; // … Error‬‬

‫‪-6-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫‪ .5‬سالسل المحارف ‪ -‬التعديل‪ :‬الحذر ‪Insert‬‬


‫لي ؼ لديشا الدمدمة ‪ ch1‬التالية‪:‬‬

‫ولششف (مييا (سمية الحذر العاىرة فا الذ ل‪ ،‬فشحرل (مى الدمدمة ‪ ch2‬الشاتجة التالية‪:‬‬

‫جسيررع‬ ‫كستمررغ الرررف ‪ string‬مجسؽ(ررة مررؼ الط ارئررق‪ ،‬لحذررر‪ ،‬أو ند ر ‪ ،‬أو دمررج‪ ،‬أو ‪ ...‬ريرىررا‪ .‬والتدررب‬
‫ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية‪.‬‬

‫‪-7-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫‪ .6‬سالسل المحارف ‪ -‬التعديل‪ :‬الدمج باستخدام عملية "‪"+‬‬


‫لي ؼ لديشا الؽةع التالا‪:‬‬

‫; ‪string str1,str2,str3‬‬

‫; "‪str1 = "bon‬‬
‫; "‪str2 = "jour‬‬

‫; ‪str3 = str1+str2‬‬

‫نحرل بشتيجة الجسع (الدمج) (مى‪:‬‬

‫ونحرل (مى طهل الدلدلة باستخدام "الخاصة" ‪ Length‬كسا يما‪:‬‬

‫;"‪string str4 = "abcdef‬‬


‫;‪int Len‬‬
‫‪Len = str1.Length ; // length = 6‬‬

‫جسيررع‬ ‫كستمررغ الرررف ‪ string‬مجسؽ(ررة مررؼ الط ارئررق‪ ،‬لحذررر‪ ،‬أو ند ر ‪ ،‬أو دمررج‪ ،‬أو ‪ ...‬ريرىررا‪ .‬والتدررب‬
‫ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية‪.‬‬

‫‪-8-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫‪ .7‬سالسل المحارف ‪ -‬التعديل‪ :‬الحراهل علاى مهقاع سلدالة جزئياة مان سلدالة محاارف‬
‫‪IndexOf‬‬
‫كس ررؼ أن نحر ررل (م ررى مؽق ررع بداك ررة الدمد ررمة الجزئي ررة ”‪ “cde‬م ررثالم ة ررسؼ الدمد ررمة ”‪ “abcde‬اس ررتخدام‬
‫التا ع‪/‬الطريقة ‪ IndexOf‬التا تعيد (دد صحيح برقػ مؽقع أول ظيؽر لمدمدمة الجزئية كسايما‪:‬‬

‫;"‪string str5 = "abcdef" , ssch="cde‬‬

‫;‪int ord‬‬

‫;) ‪ord = str1.IndexOf ( ssch‬‬

‫جسيررع‬ ‫كستمررغ الرررف ‪ string‬مجسؽ(ررة مررؼ الط ارئررق‪ ،‬لحذررر‪ ،‬أو ند ر ‪ ،‬أو دمررج‪ ،‬أو ‪ ...‬ريرىررا‪ .‬والتدررب‬
‫ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية‪.‬‬

‫‪-9-‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫‪ .8‬سالسااااال المحاااااارف ‪ -‬التعااااااديل‪ :‬تحهيااااال سلدااااالة محااااااارف إلاااااى جااااادول محااااااارف‬


‫‪ToCharArray‬‬
‫اسررتخدام سمدررمة السحررارا كجرردول لمسحررارا لكررا يتدررشى لشررا تطبيررق (سميررات خاصررة‬ ‫كس ررؼ أن نرر ر‬
‫الجداول (مييا‪ .‬ندتخدم فا ى ه الحالة الطريقة ‪ ToCharArray‬التا كس ؼ أن ندتخدميا كسايما‪:‬‬

‫; "‪string str6 = "abcdef‬‬


‫; ‪char [ ] tCarac‬‬

‫; ) (‪tCarac = str6.ToCharArray‬‬

‫;) (‪tCarac = "abcdefghijk".ToCharArray‬‬

‫يؽةح الجدول التالا التبديل ال ن حرل مع تشفي كل تعميسة مؼ التعميسات الدا قة‪:‬‬

‫; "‪string str6 = "abcdef‬‬

‫; ‪char [ ] tCarac‬‬
‫; ) (‪tCarac = str6.ToCharArray‬‬

‫;)(‪tCarac="abcdefghijk".ToCharArray‬‬

‫جسيررع‬ ‫كستمررغ الرررف ‪ string‬مجسؽ(ررة مررؼ الط ارئررق‪ ،‬لحذررر‪ ،‬أو ند ر ‪ ،‬أو دمررج‪ ،‬أو ‪ ...‬ريرىررا‪ .‬والتدررب‬
‫ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية‪.‬‬

‫‪- 10 -‬‬
‫ أنساط (بشى) معطيات ُمرّكبة‬:‫الفرل الخامس‬ )1( ‫مقرر البرمجة‬

‫ اإلسناد والمقارنة‬:‫ التعديل‬- ‫ سالسل المحارف‬.9


‫ كسررا كس ررؼ أن ندررتخدم (سميررة مقارنررة‬،‫”=” مررع سالسررل السحررارا‬ ‫كس ررؼ أن ندررتخدم (سميررات اإلسررشاد‬
‫ كس ششررا ا(تبررا امر مررؼ‬،‫ اإلةررافة إلررى ماسرربق‬.“Equals” ‫سمدررمتيؼ متدرراويتيؼ ”==“ أو اسررتخدام الطريقررة‬
‫“ وىا (سمية مختمفة (رؼ (سميرة‬new” ‫محتؽى سمدمة أن نبشا سمدمة جديدة مداوية ليا استخدام تعميسة‬
:‫ما سشؽةحو فيسا يما‬ ‫اإلسشاد حد‬

string s1,s2,s3,s4, ch;

ch = "abcdef";
s1 = ch;
s2 = "abcdef";
s3 = new string("abcdef".ToCharArray( ));
s4 = new string(s3.ToCharArray( ));

Console.WriteLine("s1="+s1);
Console.WriteLine("s2="+s2);
Console.WriteLine("s3="+s3);
Console.WriteLine("s4="+s4);
Console.WriteLine("ch="+ch);

if( s2 == ch )Console.WriteLine("s2==ch");
else Console.WriteLine("s2<>ch");

if( s2 == s3 )Console.WriteLine("s2==s3");
else Console.WriteLine("s2<>s3");

if( s3 == s4 )Console.WriteLine("s3==s4");
else Console.WriteLine("s3<>s4");

if( s3 == ch )Console.WriteLine("s3==ch");
else Console.WriteLine("s3<>ch");

if( s3.Equals(ch) )Console.WriteLine("s3==ch");


else Console.WriteLine("s3<>ch");

- 11 -
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫;)"‪if( s3.Equals(s4) )Console.WriteLine("s3==s4‬‬


‫;)"‪else Console.WriteLine("s4<>ch‬‬

‫ك ؽن الفرق بريؼ (سميرة اإلسرشاد (حالرة ‪ ch‬و ‪ )s1‬و(سميرة ندر السحترؽى (حالرة ‪ s3‬و ‪ )s4‬مؽةرحام فيسرا‬
‫يما‪:‬‬

‫ويعطا تشفي البرنامج الخرج التالا‪:‬‬

‫جسيررع‬ ‫كستمررغ الرررف ‪ string‬مجسؽ(ررة مررؼ الط ارئررق‪ ،‬لحذررر‪ ،‬أو ند ر ‪ ،‬أو دمررج‪ ،‬أو ‪ ...‬ريرىررا‪ .‬والتدررب‬
‫ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية‪.‬‬

‫‪- 12 -‬‬
‫ أنساط (بشى) معطيات ُمرّكبة‬:‫الفرل الخامس‬ )1( ‫مقرر البرمجة‬

‫ تعريف جدول‬- ‫ الجداول والمرفهفات‬.11


:‫ تعريف جدول بدون تحديد حجسو‬

int [ ] table1; // Table of integre


char [ ] table2; // Table of char
float [ ] table3; // Table of float
string [ ] tableStr;// Table of string

:‫ تعريف جدول مع تحديد حجسو‬

int [ ] table1 = new int [5];


char [ ] table2 = new char [12];
float [ ] table3 = new float [8];
string [ ] tableStr = new String [9];

‫ أو ريرره) عردد خانرات‬char ‫ أو‬،int( ‫السحردد‬


ُ ‫ إلى بشاء ررض جديد مؼ الشسم‬new ‫حي تذير‬
.‫ُمحدد العدد السؽةؽع ةسؼ قؽسيؼ‬

:‫ تعريف جدول مع إ(طائو قيسام ابتدائية مباشرمة‬

int [ ] table1 = {17,-9,4,3,57};


char [ ] table2 = {'a','j','k','m','z'};
float [ ] table3 = {-15.7f, 75, -22.03f, 3 ,57 };
string [ ] tableStr = {"cat","dog","mouse","cow"};

- 13 -
‫ أنساط (بشى) معطيات ُمرّكبة‬:‫الفرل الخامس‬ )1( ‫مقرر البرمجة‬

‫ استخدام الجداول والمرفهفات‬- ‫ الجداول والمرفهفات‬.11


‫كس ؼ تشفي (سميات اسشاد (مى الجداول والسرفؽفات واستخداميا ةسؼ تعميسرات مختمفرة مرع اإلنتبراه إلرى‬
.n-1 ‫ والخانة رقػ‬0 ‫ تكؽن خاناتو مؽز(ة بيؼ الخانة رقػ‬،n ‫أن الجدول ال ن طؽلو‬
:‫أمثلة‬

int [ ] table1 = new int [5];

// Assignment Operations:
table1[0] = -458;
table1[4] = 5891;
table1[5] = 72; // Error table1[5] does not exists

// Loop:
for (int i = 0 ; i<= table1.Length-1; i++)
table1[i] = 3*i-1;
// Result: table1 = {-1,2,5,8,11}

char [ ] table2 = new char [7];

// Assignment Operations:
table2[0] = '?' ;
table2[4] = 'a' ;
table2[14] = '#' ; // Error table1[5] does not exists

//Loop
for (int i = 0 ; i<= table2.Length-1; i++)
table2[i] =(char)('a'+i);
// Result: table2 = {'a', 'b', 'c' ,'d', 'e', 'f'}

- 14 -
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫‪ .12‬الجداول والمرفهفات ‪ -‬أمثلة برمجية‬


‫مثال ‪ :1‬كتا ة (دد األكام السؽافق لكل شير‪.‬‬
‫الدخل‪ :‬رقػ الذير‪ ،‬الخرج‪( :‬دد أكام الذير‪.‬‬
‫ال يؽجررد أن (القررة حدررابية برريؼ الخرررج والرردخل‪ ،‬وال بررد مررؼ وةررع تعررداد الحرراالت التررا ك ررؽن فييررا الذررير‬
‫مداويام ‪ 31‬يؽم‪ ،‬والحاالت ‪ 30‬يؽم‪ ،‬وحالة الذير ‪( 2‬شباط) ‪ 22‬يؽم‪.‬‬
‫الشص البرمجا‪:‬‬

‫;‪using System‬‬
‫‪namespace ExampleArray‬‬
‫{‬

‫‪class ArrayMonth‬‬
‫{‬

‫)‪public static void Main(String[] arg‬‬


‫{‬

‫;‪int m; string Sm‬‬


‫;} ‪int[] mDays = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31‬‬

‫‪// Read m‬‬


‫;)" ‪Console.Write(" Input m :‬‬
‫;)‪Sm = Console.ReadLine(); m = Int32.Parse(Sm‬‬

‫‪// give the number of days‬‬ ‫‪(mDays) per month‬‬ ‫)‪(m‬‬


‫‪Console.WriteLine(" Month‬‬ ‫;)"‪"+m+" has " + mDays[m - 1] + " days‬‬
‫}‬
‫}‬
‫}‬

‫‪- 15 -‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫التشفي ‪:‬‬

‫مالحظات‪:‬‬
‫‪ ‬كػ ىؽ مخترر ى ا الشص البرمجا! قارن مع نفس البرنامج استخدام التعميسة ‪switch case‬‬
‫‪ ‬أرقام العشاصر فا جداول الم ات الذبيية بم ة ‪ C‬تبدأ مؼ ‪ !0‬ل لغ كتبشا‬
‫]‪ mDays[m - 1‬ألخ (دد أكام الذير ‪.m‬‬

‫تدري ‪ :‬كتا ة االسػ السخترر لمذير ( اإلنكميزية) باستخدام الجداول‪:‬‬


‫‪،Jan‬‬ ‫كتا ة االسػ السخترر (الحروا الثالثرة األولرى) لذريؽر الدرشة الم رة اإلنكميزيرة‪ January :‬تكتر‬
‫‪.…Feb‬‬ ‫‪ February‬تكت‬

‫‪- 16 -‬‬
‫ أنساط (بشى) معطيات ُمرّكبة‬:‫الفرل الخامس‬ )1( ‫مقرر البرمجة‬

‫ قراءة قيػ جدول وحداب القيسة الر رى والععسى والستؽسم الحدابا‬:2 ‫مثال‬
)‫ قيػ الجدول ((المات طالب مثالم‬،‫ (دد (شاصر الجدول‬:‫الدخل‬
‫ القيسة الر رى والععسى والستؽسم الحدابا‬:‫الخرج‬
:‫الشص البرمجا‬

using System;
namespace ExampleArray
{
class ArrayStat
{
public static void Main(String[] arg)
{
int N; string SN;
int[] T;
int i, minT, maxT;
float sum;

Console.Write(" Input Total Student Number : ");


SN = Console.ReadLine(); N = int.Parse(SN);

T = new int[N];

// input Table
for (i = 0; i <= N - 1; i++)
{
Console.Write(" input score : ");
SN = Console.ReadLine();
T[i] = int.Parse(SN);
}

sum = minT = maxT = T[0];

for (i = 1; i <= T.Length - 1; i++)


{
sum = sum + T[i];
if (T[i] < minT)

- 17 -
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫;]‪minT = T[i‬‬
‫)‪if (T[i] > maxT‬‬
‫;]‪maxT = T[i‬‬
‫}‬
‫;)(‪Console.WriteLine‬‬
‫;)‪Console.WriteLine(" Min = " + minT‬‬
‫;)‪Console.WriteLine(" Max = " + maxT‬‬
‫;))‪Console.WriteLine(" Average = " + (sum / N‬‬
‫}‬
‫}‬
‫}‬
‫}‬

‫التشفي ‪:‬‬

‫مالحظات‪:‬‬
‫‪ ‬الحظ فكرة الحجػ الديشامي ا لمجدول‪ :‬نق أر ‪ N‬طؽل الجدول ثػ نشذئ جدول بي ا الحجػ‬
‫‪T = new int[N].‬‬
‫‪ ‬الجديررد خؽارزمي رام ىشررا‪ ،‬فقررم اسررتخدمشا ماتعمسشرراه سررا قام‪ :‬إكجرراد أص ر ر (شرررر (أو أكبررر (شرررر)‬
‫وحداب السجسؽع لسجسؽ(ة أ(داد (ى ه السجسؽ(ة ىشا ىا (شاصر الجدول)‬

‫‪- 18 -‬‬
‫الفرل الخامس‪ :‬أنساط (بشى) معطيات ُمرّكبة‬ ‫مقرر البرمجة (‪)1‬‬

‫‪ .13‬الجاااداول والمرااافهفات ‪ -‬تعرياااف مرااافهفة (جااادول متعااادد األبعااااد)‪ ،‬تهلياااد خاناااات‬


‫مرفهفة لم تتحدد أبعادها عند التعريف‬
‫كجرررن تؽليررد خانررات مرررفؽفة لررػ تتحرردد أ عادىررا وتيي تيررا يرردويام وفق رام لمسثررال التررالا وال ر ن نريررد فيررو تؽليررد‬
‫خانات السرفؽفة ]‪:t[n+1][p+1‬‬

‫;‪int n=10, p=8‬‬

‫;] []‪int [ ][ ] table = new int [n+1‬‬

‫)‪for (int i=0; i<n+1; i++‬‬


‫;]‪table[i] = new int [p+1‬‬

‫ويس ؼ تسثيل مثل ى ه السرفؽفة الذ ل‪:‬‬

‫‪- 19 -‬‬

You might also like