Professional Documents
Culture Documents
البرمجة ( ) 1
الفصل الخامس :أنماط (بنى) معطيات ُمركّبة
-0-
الفرل الخامس :أنساط (بشى) معطيات ُمرّكبة مقرر البرمجة ()1
-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إال مررؼ خررالل مجسؽ(ررة الطرائق/التؽا ررع
التا عة لي ا الرف.
; string ch1
;"ch1 = "abcdefghijk
-5-
الفرل الخامس :أنساط (بشى) معطيات ُمرّكبة مقرر البرمجة ()1
.4سالسل المحارف -التمثيل الداخلي لدلدلة محارف والهصهل إلى ِمحرف من محارف
الدلدلة
ك ؽن لدمدة السحارا التسثيل الداخما التالا:
تُقر أر الدمدررمة كجردول محررارا)، كس رؼ الؽصرؽل إلررى أحرد محرارا الدمدررمة اسرتخدام العسميرة ”] [“ (حير
وفقام لمسثال التالا:
الكس ررؼ تعررديل محرررا مررؼ محررارا الدمدررمة ولكررؼ (سميررة الؽصررؽل تمررغ تقترررر (مررى القرراءة فقررم ،حير
استخدام السؤشر ] ،[iوإنسا ا(تسادام (مى أدوات أخرى سرشراىا فرا الفقررات الالحقرة .فعمرى سربيل السثرال ،إذ
كعطا السترجػ خط م (شد كتا ة:
ch1[7]=car; // … Error
ch1[8]=’x’; // … Error
-6-
الفرل الخامس :أنساط (بشى) معطيات ُمرّكبة مقرر البرمجة ()1
ولششف (مييا (سمية الحذر العاىرة فا الذ ل ،فشحرل (مى الدمدمة ch2الشاتجة التالية:
جسيررع كستمررغ الرررف stringمجسؽ(ررة مررؼ الط ارئررق ،لحذررر ،أو ند ر ،أو دمررج ،أو ...ريرىررا .والتدررب
ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية.
-7-
الفرل الخامس :أنساط (بشى) معطيات ُمرّكبة مقرر البرمجة ()1
; string str1,str2,str3
; "str1 = "bon
; "str2 = "jour
; str3 = str1+str2
جسيررع كستمررغ الرررف stringمجسؽ(ررة مررؼ الط ارئررق ،لحذررر ،أو ند ر ،أو دمررج ،أو ...ريرىررا .والتدررب
ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية.
-8-
الفرل الخامس :أنساط (بشى) معطيات ُمرّكبة مقرر البرمجة ()1
.7سالسل المحارف -التعديل :الحراهل علاى مهقاع سلدالة جزئياة مان سلدالة محاارف
IndexOf
كس ررؼ أن نحر ررل (م ررى مؽق ررع بداك ررة الدمد ررمة الجزئي ررة ” “cdeم ررثالم ة ررسؼ الدمد ررمة ” “abcdeاس ررتخدام
التا ع/الطريقة IndexOfالتا تعيد (دد صحيح برقػ مؽقع أول ظيؽر لمدمدمة الجزئية كسايما:
;int ord
جسيررع كستمررغ الرررف stringمجسؽ(ررة مررؼ الط ارئررق ،لحذررر ،أو ند ر ،أو دمررج ،أو ...ريرىررا .والتدررب
ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية.
-9-
الفرل الخامس :أنساط (بشى) معطيات ُمرّكبة مقرر البرمجة ()1
; ) (tCarac = str6.ToCharArray
يؽةح الجدول التالا التبديل ال ن حرل مع تشفي كل تعميسة مؼ التعميسات الدا قة:
; char [ ] tCarac
; ) (tCarac = str6.ToCharArray
;)(tCarac="abcdefghijk".ToCharArray
جسيررع كستمررغ الرررف stringمجسؽ(ررة مررؼ الط ارئررق ،لحذررر ،أو ند ر ،أو دمررج ،أو ...ريرىررا .والتدررب
ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية.
- 10 -
أنساط (بشى) معطيات ُمرّكبة:الفرل الخامس )1( مقرر البرمجة
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");
- 11 -
الفرل الخامس :أنساط (بشى) معطيات ُمرّكبة مقرر البرمجة ()1
ك ؽن الفرق بريؼ (سميرة اإلسرشاد (حالرة chو )s1و(سميرة ندر السحترؽى (حالرة s3و )s4مؽةرحام فيسرا
يما:
جسيررع كستمررغ الرررف stringمجسؽ(ررة مررؼ الط ارئررق ،لحذررر ،أو ند ر ،أو دمررج ،أو ...ريرىررا .والتدررب
ى ه الطرائق تعدكالم فا الدمدمة نفديا وإنسا تؽلد سمدمة جديدة ناتجة (ؼ العسمية.
- 12 -
أنساط (بشى) معطيات ُمرّكبة:الفرل الخامس )1( مقرر البرمجة
- 13 -
أنساط (بشى) معطيات ُمرّكبة:الفرل الخامس )1( مقرر البرمجة
// 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}
// 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
;using System
namespace ExampleArray
{
class ArrayMonth
{
- 15 -
الفرل الخامس :أنساط (بشى) معطيات ُمرّكبة مقرر البرمجة ()1
التشفي :
مالحظات:
كػ ىؽ مخترر ى ا الشص البرمجا! قارن مع نفس البرنامج استخدام التعميسة switch case
أرقام العشاصر فا جداول الم ات الذبيية بم ة Cتبدأ مؼ !0ل لغ كتبشا
] mDays[m - 1ألخ (دد أكام الذير .m
- 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;
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);
}
- 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
- 19 -