Uploaded by soso.nene.s94

المحاضرة الاولى

advertisement
‫السنة األولى ‪2200-2202‬‬
‫البرمجة ‪ – 2‬نظري‬
‫المحاضرة األولى‬
‫عدد الصفحات ‪4 :‬‬
‫المجموعات ‪Sets‬‬
‫ انمجمىعت (‪ )Set‬ومظ ترتٍبً (‪ )Ordinal‬ومتقطع (‪ ,)District‬وٌمكه أن تكىن عىاصرها مه‬‫ومظ ‪ Integer‬أو ‪ Boolean‬أو ‪ , Char‬وٌجب أن تكىن جمٍع انعىاصر مه ومظ واحذ (كهها‬
‫أعذاد صحٍحت مثلا)‪.‬‬
‫ نىضع عىاصر فً مجمىعت وستخذو قىسٍه متىسطٍه ] [ ووضع داخههما انعىاصر‪.‬‬‫ انعمهٍاث عهى انمجمىعاث ‪:‬‬‫‪ ‬تقاطع مجمىعتٍه )*(‬
‫‪ ‬اجتماع مجمىعتٍه (‪)+‬‬
‫‪ ‬فرق مجمىعتٍه (‪)-‬‬
‫‪ ‬االحتىاء (=<) تعىً ⊆‪ ,‬كما أن (=>) تعىً ⊇‬
‫‪ ‬اوتماء عىصر (‪)in‬‬
‫مثال عه تعرٌف انمجمىعاث وانتعامم معها ‪:‬‬
‫;)(‪program test‬‬
‫‪var‬‬
‫;‪S1:Set of 1..100‬‬
‫;'‪S2:Set of 'a'..'z‬‬
‫;‪i,j:integer‬‬
‫ال يمكن فٍ باسكال أن وقىل{‬
‫;‪S:Set of Integer‬‬
‫وذلك بسبب وجىد محدودَة فٍ عدد عىاصس المجمىعة حُث َمكه أن تحتىٌ علً ‪652‬‬
‫}عىصسا علً األكثس‬
‫‪www.ite-sy.net‬‬
‫‪1‬‬
‫‪4Electron 0115424461‬‬
‫‪Begin‬‬
‫]‪S1:=[40,55,99,40,41,44..55‬‬
‫{عىد إجساء ‪ watch‬للمجمىعة ‪ S1‬سىف وسي أن فُها ‪:‬‬
‫]‪S1=[40,41,44..55,99‬‬
‫{‬
‫}الىتُجة ][=‪ S1‬خالُة ألن ‪ 033‬خازج المجال المعسف{ ;]‪S1:=[300‬‬
‫تستب{ ;]'‪S2:=['n','d'..'h‬‬
‫}الىتُجة ]'‪ S2=['d'..'h','n‬أٌ أن العىاصس ُ‬
‫}الىتُجة ]'‪S2:=['A','a']; {S2=['a‬‬
‫}ال َىجد هىا ‪ Compile Time Error‬أو ‪: Runtime Error‬‬
‫خطأ إمالئٍ فٍ ‪* Compile Time Error : Syntax Error in the Source Code‬‬
‫الكىد‬
‫خطأ مىطقٍ َظهس أثىاء التىفُر كالقسمة علً صفس ‪* Runtime Error :‬‬
‫}‬
‫}الىتُجة ][=‪ S1‬خالُة ألوىا لم وسىد قُما إلً المتحىلُه{ ;]‪S1:=[i,j‬‬
‫})‪S2:=[i,j]; { Incompatible Types ERROR ! (Compile Time Error‬‬
‫;‪i:=50‬‬
‫}]‪S1:=[i,i+3]; {S1=[50,53‬‬
‫}]‪S1:=S1+[i*2]; {S1=[50,53,100‬‬
‫‪end.‬‬
‫انتعهٍمت ]‪ S1:=S1+[i‬تمكىىا مه إضافت عىصر أو أكثر إنى مجمىعت مع االحتفاظ بانعىاصر‬
‫انمىجىدة مسبقا ا‪.‬‬
‫المجموعات الثابتة (‪:)Const‬‬
‫;‪Program test‬‬
‫‪type‬‬
‫;‪Digits=set of 0..9‬‬
‫‪const‬‬
‫وضع ومظ عىاصس { ;]'‪HexD:set of '0'..'z'=['0'..'9','A'..'F','a'..'f‬‬
‫}المجمىعة ثم عىاصسها‬
‫;]‪ED:Digits=[0,2,4,6,8‬‬
‫‪var‬‬
‫;‪d:Digits‬‬
‫‪begin‬‬
‫;]‪d:=[8‬‬
‫َمكه إسىاد قُمة الثابت إلً المتحىل إذا كاوا مه ومظ واحد{ ;‪d:=ED‬‬
‫}والىتُجة هىا ]‪d=[0,2,4,6,8‬‬
‫‪end.‬‬
‫‪www.ite-sy.net‬‬
‫‪2‬‬
‫‪4Electron 0115424461‬‬
: Enumerated Type ‫النمط التعدادي‬
‫ وٌمكه أن وعرف‬,‫ كتعرٌف ومظ ٌحىي عهى أٌاو األسبىع‬,‫تعرفىا عهى كٍفٍت تعرٌف األوماط انتعذادٌت‬
: ‫ تحىي عىاصر مه ومظ تعذادي‬Set ‫مجمىعت‬
program ET;
type
Day=(Sun,Mon,Tue,Wed,Thu,Fri,Sat);
Days=set of Day;
var
D:set of Day;
DD:Days;
begin
DD:=[Sun,Fri];
writeln(ord(Mon)); {ord(Sun)=0, ord(Mon)=1, ... , ord(Sat)=6}
end.
: ‫مثال عن العمليات على المجموعات‬
program SetsOp;
var
A0:set of 1..15;
A1:set of 1..10;
A2:set of 5..15;
i:integer;
begin
A1:=[1..10];
A2:=[5..15];
A0:=A1*A2; {A0=[5..10]
A0:=A1+A2; {A0=[1..15]
A0:=A1-A2; {A0=[1..4]
A0:=A0-[1]; {A0=[2..4]
‫}الىتُجة‬
‫}الىتُجة‬
‫}الىتُجة‬
‫}الىتُجة‬
A1:=[2,3];
A2:=[1,2,3,4,5];
if (A1<=A2) then
{‫ فٍ الشسط‬A6>=A1 ‫}وستطُع أَضا كتابة‬
writeln('A1 is a subset of A2');
4Electron 0115424461
3
www.ite-sy.net
readln(i);
if (i in A1) then
writeln(i,' is in A1')
else
writeln(i,' is not in A1');
end.
- ‫ انتهث المحاضرة‬-
4Electron 0115424461
4
www.ite-sy.net
Download