March 5, 2016 "مقدمة إلى البرمجة الكينونية" oop Chapter 11: "struct" إعداد وتلخيص:- محمد المشرقي **تطلب من )معتز فرعون غرايبة && محمد مارس القرعان( عب

ملفّات مشابهة
Principles of C++ (Precedence)

المحاضرة الثانية

Microsoft Word - SolutionOOPFinal2011.doc

ABU DHABI EDUCATION COUNCIL Abu Dhabi Education Zone AL Mountaha Secondary School g-12 science section Mathematics Student Name:.. Section: How Long i

مختبر البرمجة والتحليل العددي قسم علوم الجو جمل التحكم والشرط والتكرار المرحلة الثانية PROGRAM CONTROL, CONDITION AND LOOP STATEMENTS الجمل الشرطية :-

الأول في السي شارب((c#للمبتدائين

Microsoft Word - Excel VBA

Microsoft Word - new.doc

Microsoft Word - Access VBA

اردوينو – الدرس الثامن – تغيير درجة الالوان لـ RGB LED

The Global Language of Business دليل ارشادي الستخدام صفحة خدمات الشركات األعضاء Members Area 1

Allomani Warehouse User Guide

Microsoft Word - C#2

Slide 1

1 New system technology Mahmoud said Object-Oriented Programming in C ++ Cookbook 1

محاضرات C++

عربي Sign-Code Website Guide فيما يلي دلي ا ل لطلب اسم مستخدم جديد لConnect Sell من خ لل موقع.Sign-Code يسمح لك الموقع بالدخول اإلداري على اسم المستخد

التاريخ: االمتحان النهائي لمساق برمجة متقدمة תכנות מתקדם موعد أ الزمن: ساعتان فقط الخميس 2017/7/27 )10 عالمات( السؤال األول for او )while الالزمة لما

ورقة عمل الدرس الثاني تطبيقي اخلاص على هاتفي... برنامج App Inventor اعداد املعلمة : اماني ممدوح املصري مدرسة امحد شوقي الثانوية للبنات اختار اإلجابة ا

Banner – Hold Information SOAHOLD

عرض تقديمي في PowerPoint

الدليل التدريبي لطلب شهادة مطابقة إرسالية )للمنتجات المستوردة( البوابة االلكترونية للمطابقة )سابر( الدليل التدريبي لطلب شهادة مطابقة إرسالية )للمنتجات

دليل المستخدم لبوابة اتحاد المالك التفاعلية

Certified Facility Management Professional WHO SHOULD ATTEND? As a Certified Facility Management Professional course, Muhtarif is the ideal next step

السالم عليكم ورحمة هللا وبركاتة كتاب تعلم برمجة االلعاب بأستخدام محرك االلعاب Unity 3D الكتاب مقدم من االستاذ : عماد عارف التوي موقع : Home OF Games ا

Microsoft Word - moneybookers

التصمیم والبرمجة غرضیة التوجھ الدكتورساميخیمي ISSN: X Books & Refrences

Determinants

1

Microsoft Word - Oracle1

الوحدة التاسعة

دولة فلسطين و ازرة التربية والتعليم العالي المبحث: تكنولوجيا المعلومات / النظري بسم هللا الرحمن الرحيم مدة االمتحان : ساعتان نموذج تجريبي مجموع العالم

دليل تدريبي : الحلول لما بعد اختراق الحسابات إعداد : محمد المسقطي Mohammed Al-Maskati بمساعدة : علي السباعي Ali Sibai

عرض تقديمي في PowerPoint

اللغة العربية Items الدروس المطلوبة المتحان الفصل الدراسى األول 2019/2018 Primary 2 القراءة المحفوظات : كل الدروس : االناشيد + اآليات واالحاديث األسال

) NSB-AppStudio برمجة تطبيقات األجهزة الذكية باستخدام برنامج ( ) برمجة تطبيقات األجهزة الذكية باستخدام برنامج ( NSB-AppStudio الدرس األول ) 1 ( الدرس

السالم عليكم و رحمة هللا شرح ربط قاعدة بيانات Access بال.. C# مذا ستستفيد من هذا الموضوع!! -معرفة طريقة صنع قاعدة بيانات بالAccess -ربط قاعدة البيانات

برنامج المساعدات المادية الذكي خطوات التقديم للمساعدة المادية...2 خطوات رفع المستندات المرفوضة...10 خطوات التاكد من حالة الطلب

الدليل التدريبي لتسجيل منتج البوابة االلكترونية للمطابقة )سابر( الدليل التدريبي لتسجيل منتج 0

AlZuhour Private School مدرسة الزهور الخاصة Term 1 Plan Subject Arabic Grade 2 Term 1 Contents ( كتاب الطالب ) الوحدة األولى :) صح تك بين يد

أساسيات البرمجة بلغة الجافا

Microsoft Word

How To Make Connection Between Oracle DB Server 9i & Oracle Developer 6i

التقريرالسنوي لمالكي الوحدات البيت 52 الفترة من يناير 2017 إلى ديسمبر 2017 تقارير الصندوق متاحة عند الطلب وبدون مقابل

المملكة العربية السعودية م ق س ..../1998

ماجستيرالعلوم في الرياضيات يحتوي على ثالث مسارات تخصصية : الرياضيات البحتة الرياضيات التطبيقية اإلحصاء الكلية : كلية العلوم بالدمام. احلرم اجلامعي : ا

Microsoft Word - إعلانات توظيف لسنة 2017

PowerPoint Presentation

WHAT’S NEW

الباب الثاني: تحليل الطلب

JIB

المحاضرة العاشرة الجديده لالساليب الكميه في االداره الفصل الثاني لعام 1439 ه للدكتور ملفي الرشيدي يجب الرجوع للمحاضره المسجله لفهم الماده وامثلتها تحل

حقيبة الدورة التدريبية التخزين السحابي Google Drive حقيبة المتدربة إعداد املدربة : عزة علي آل كباس Twitter 1438 ه

برمجة غرضية ال توجه oop:(object oriented programing) البنية األساسية ألي برنامج غرضي التوجه هي ال class بنية ال classعلى الشكل: Class name class {// b

INTERNATIONAL INDIAN SCHOOL RIYADH SA1 WORKSHEET SUBJECT: ARABIC STD.V أسنان في فرشاة صباح Write the meaning in English ينهض و معجون من نوم

Forum.zyzoom.net

دائرة اللغة العربية المادة المطلوبة المتحان اإلعادة للعام الدراسي : الصف: الثامن المهارة )الفهم واالستيعاب + التحليل األدبي( النحو المادة ال

جامعة حضرموت

اختر عنوان مناسب

عرض تقديمي في PowerPoint

INTERNATIONAL INDIAN SCHOOL RIYADH HALF YEARLY REVISED WORKSHEET SUBJECT: ARABIC STD.V Write the meaning in English أسنان في فرشاة صباح ينه

Oligopoly

متطلبات النظام متطلبات جهاز الكمبيوتر الشخصي معالج Pentium 1 Intel غيغا هرتز أو أسرع نظام التشغيل Windows 2000 أوXP Windows مع Service Pack 2 أو Vista

بسم هللا الرحمن الرحيم االسئلة المتوقعه لمادة الحاسوب م 3 شتوية 2016 االستاذ نور الدين بني عطا االسئلة المتوقعه على مادة الحفظ سؤال 1 : وضح

Al Kamal American Private School-ALR martha TEL: FAX: Weekly Plan Al Kamal American Private School Week (05) From12/05/2019 to 16/

PowerPoint Presentation

1 هذه الصفحة يحتفظ بها االولياء Ekapeli اللعبة االولى: التجربة و البحث LukiMat مشروع القراءة و الرياضيات Niilo Mäki معهد" نيلومكي" للبحث و جامعة يوفسك

نموذج السيرة الذاتية

الفصل الثاني

FS Future Series دليل البدء السريع الرجاء قراءة التعليمات التالية من أجل تثبيت وتنشيط 3D. Visualizer برنامج

السادة وگاالت اإلعالن والعمالء احملترمني املوضوع اسعار اإلعالنات لعام ابتداء من ابريل Subject Rate card 2015 starting from April تهديگم شرگة ال

منح مقد مة من مبادرة ألبرت أينشتاين األكاديمية األلمانية لالجئين إلى النازحين السوريين في لبنان يعرف باسم "دافي (DAFI) العام األكاديمي الجامعي 4102/41

الاتصال الفعال بين المعلم والطالب

تحليل الانحــدار الخطي المتعدد

محاضرة4-كورس1

Al-Furat Model Schools Dear parents, Once again, fun moments are in the sky. Its our pleasure to inform you about Alfurat school our awesome activity

النشر في مجلات ال ISI

دائرة اللوازم والمشتريات عطاء رقم )31/2017,18( توفير Spectrophotometer 2017, 2018

Microsoft PowerPoint - Session 7 - LIBYA - MOH.pptx

R.A.K Chamber of Commerce & Industry Studies & Commercial Cooperation Directorate Economic Studies Section 5510 /50/11 غرفة تجارة وصناعة رأس الخيمة إد

قسم تكنولوجيا الحاسوب والمهن الصناعية

1

الخدمة العربية للكرازة باإلنجيل Arabic Bible Outreach Ministry بين العقل واإليمان الجزء األول بقلم د. ھيرمان بافينك ترجمة د. عبد ا

قوانين اإلستعارة هذه هي قوانين اإلستعارة التي تسري في المكتبات الشعبية في كل من بيورهولم, نوردمالينغ, روبيرت فورش, اوميو, فيندلن و فيينسس. بطاقة المكت

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

حساب ختام موازنة السلطة المركز ة للسنة المال ة 2013 م قسم) 23 (:وزارة الصحة العامة والسكان فرع ( 02 ) :المعهد العال للعلوم الصح ة صنعاء

الفصل الثاني أوامر اإلدخال واإلخراج Input/Output Instructions 2.1 المقدمة جميع اللغات الطبيعية التي يتعامل بها اإلنسان كوسيلة للتخاطب والتواصل لها قوا

Slide 1

Department of Computer Information Systems

النسخ:

March 5, 2016 "مقدمة إلى البرمجة الكينونية" oop Chapter 11: "" إعداد وتلخيص:- محمد المشرقي **تطلب من )معتز فرعون غرايبة && محمد مارس القرعان( عبر قروب الفيسبوك الخاص بالمادة

مقدمة :- الفكرة في هذا الدرس هو االنتقال من استخدام انواع البيانات الجاهزة المعرفة مسبقا في لغة البرمجة )مثل )int,float,char,double الى نوع بيانات خاص بي يتناسب مع احتياجاتي وهو شكل من اشكال تخزين البيانات ويدعى لنفرض مثال انه طلب مني تخزين معلومات طالب والمعلومات هي )اسم االول,واالسم االخير,ومعدله التراكمي,ومجموع عالماته ) فيما سبق وتعلمناه في كورس ال 111 يتم ذلك من خالل انشاء متغير لكل معلومة وهذه العملية ستكون صعبة في حال تسجيل عالمات طالب جامعة كاملة او مدرسة سنحتاج لمئات المواقع بل اكثر لتخزين هذه المعلومات لذا ال بد من وجود حل والحل هو بناء نوع بيانات خاص بي يتكفل بحجز هذه االماكن من خالل موقع واحد يحتوي على كل المعلومات للطالب الواحد.. لحل هذه المشكلة ==< فيما سبق تم استخدام المصفوفة لكن استخدام المصفوفة مشروط ان يكون نوع البيانات المراد تخزينها من نفس النوع ف بذلك يكون الفرق الجوهري بين ال والمصفوفة ان الستركت يمكن تخزين انواع بيانات مختلفة فيه على عكس المصفوفة.كما انه يتم الوصول لكل عضو من خالل اسمه ومعامل الربط "." dot : collection of a fixed number of components (members), accessed by name. A is a definition عملية تعريف وبناء الستركت كالتالي :- Syntax :

example[1] studenttype string firstname; string lastname; char coursegrade; int testscore; int programmingscore; double GPA; example[2] empolyee string fname; string lname; int sallary; example[3] name string fname; string mname; string lname; في االمثلة السابقة هي عملية بناء نوع البيانات الخاص بي ووضعت فيه العناصر حسب احتياجاتي ورح نوخذ example[1] لنشرح عليه عملية الوصول لكل عنصر وما ينطبق عليه ينطبق على جميع الحاالت. لتسجيل بيانات الطالب رقم "1" يتم تعريف متغير من نوع البيانات التي قمنا بانشائها. فيما سبق عملية تعريف نوع كان البيانات يتم كالتالي :- int x; //double y;// char n; and so on.. بصورة عامة البد من ذكر نوع البيانات بالبداية ثم اسم المتغير متبوع باشارة ";" وبنرجع بنحكي انو عليها من عملية التعريف.. كالتالي :- هي data type وما ينطبق على ال dataالسابقة type الذكر ينطبق االن اريد انشاء متغير يحتوي على العناصر المطلوبة مني كل ما علي فعله هو

studenttype student; studenttype newstudent; كل متغير من المتغيرات التي قمنا بتعريفها يحتوي على جميع العناصر الموجودة في الستركت.مثال للتوضيح :- Accessing Members عملية الوصول لكل عنصر او لكل عضو من اعضاء المتغير تتم من خالل صورة عامة : النقطة هي معامل الوصول لكل عضو من اعضاء المتغير.مثال:- To initialize the members of newstudent: newstudent.gpa = 0.0; newstudent.firstname = "John"; newstudent.lastname = "Brown";

example:- Assignment عملية اسناد متغير من نوع ستركت الى متغير اخر من نوع ستكرت هي عملية صحيحة ومقبولة على عكس المصفوفة لكنها مشروطة بأن يكون المتغيرين من نفس نوع الستركت The statement student = newstudent; student سيقوم المترجم بنسخ البيانات المخزنة في المتغير newstudent بنجاح الن المتغيرين من نوع studenttype الى المتغير وتمت العملية The assignment statement: student = newstudent; is equivalent to the following statements: student.firstname = newstudent.firstname; student.lastname = newstudent.lastname;

student.coursegrade = newstudent.coursegrade; student.testscore = newstudent.testscore; student.programmingscore=newstudent.programmingscore student.gpa = newstudent.gpa; example[] Comparison (Relational Operators) في عملية المقارنة ال يجوز مقارنة متغيرين من نوع ستركت كما انه ال يجوز استخدام relational operator مثل )==,=>,=<,<,>(والحل هو مقارنة كل عضو في المتغير بآخر من المتغير الثاني مثال -:

Variables and Functions هل يجوز استخدام متغير من نوع ستركت ك باريمتر لفنكشن طبعا يجوز الننا سبق وتكلمنا ان المتغير من نوع ستركت هو داتا تايب. A variable can be passed as a parameter by value or by reference ما هو -:by reference هو ارسال النسخة االصلية من المتغير الى الفنكشن وما يجري عليه بالفنكشن من عمليات تبقى محفوظة فيه عند الخروج من الفنكشن علما ان هنالك عملية هدم اوتوماتيكية للذاكرة تحدث لها بمجرد الخروج من الفنكشن ولتجنب هذه العملية في حال الرغبة في حفظ البينات والتغييرات والعمليات التي حدثت للمتغير بالفنكشن يتم ارساله بطريقة.by reference. يمكن للفنكشن ان يقوم بارجاع قيمة من نوع ستركت كالتالي :-

array in نيجي االن لموضوع المصفوفات ومدى امكانية استخدامها بالستركت-: المصفوفات اهميتها بالستركت انو بقدر احجز اكثر من مكان كل مكان بحتوي على كل العناصر والوصول لكل عنصر بكون بنفس الطريقة الي تعلمناها والي رح نرجع نحكي فيها هسا:- student int student_num; string fname; string lname; double gpa;; في حال رغبتي بادخال معلومات اكثر من طالب يتم حجز متغير من نوع student لكل طالب يحتوي هذا المتغير على المعلومات والبيانات والعناصر المعرفة مسبقا بالستركت لتسهيل العملية وحجز هذه االماكن عن طريق جملة واحد نستخدم المصفوفة.كالتالي :- student arr[3]; االن حسب الحجم الي كالتالي :- بحددو بالمصفوفة سوف يتم حجز اماكن بالذاكرة المكان االول يكون arr[0].student_num; arr[0].fname; arr[0].lname; arr[0].gpa; بالنسبة للموقع الثاني الي حجزتو رح يكون كالتالي مع العناصر الي بحتويها arr[1].student_num; arr[1].fname; arr[1].lname; arr[1].gpa;

كما يمكن تعريف مصفوفة داخل ستركت تحتوي االماكن التي يم تحديد نوعها وعددها من خالل عملية التعريف :- s within a في حال كان عندي ستركت يحتوي على معلومات موظف اسمو االول والثاني والخير وعنوانه التفصيلي المنطقة والمحافظة والبلدة والشارع ورقم تلفونو وعنوان بريده االلكتروني وما الى ذلك يعني بصورة اخرى كل مجموعة من البيانات هاي بدل ما احطهم كلهم بستركت واحد ويكون شكلو مش حلو وكبير بعملهم الجزاء كل جزء مختص بطبيعة هذه البيانات وليس نوع هذه البيانات يعني معلومات السكن بحطهم بستركت لحال ومعلومات االسم بستركت لحال وبجمعهم كلهم في ستركت رئيسي يحتوي بداخله الستركت التي قمت بتجزيئها..المثال للتوضيح

االن ليتم فهم ما سبق يجب الدخول الى الميموري ورسمها حتى تصل المعلومة %100 شكل الميموري بعد تعريف متغير من نوع الستركت االرئيسي يكون كالتالي ==>

---------------------------------------------- ---------------------------------------------------------------------------------------------------

1 A int x; ; B int x; A var[2]; ; void fun(int & x, B & obj) x++; obj.x=obj.x+3; obj.var[1].x++; int main() A obj1; B obj2; obj1.x=10; obj2.var[0]=obj1; obj2.var[1].x=20; obj2.x=obj1.x; fun(obj2.x, obj2); cout<<obj2.x<<endl; return 0; 2 A int var1; int Arr[3]; ; B int var1; A varst; ; void main() A obja; B objb; obja.var1=10; for(int i=0; i<3; i++) obja.arr[i]=i+2; objb.var1=100; objb.varst=obja; objb.varst.var1++; cout<<objb.var1<<" "<<objb.varst.var1<<endl; for(int i=0; i<3; i++) cout<<objb.varst.arr[i]<<" "<<endl; 14

A complex int x; int y; ; void fun(complex &a,complex b, int &c) c++; a.x+=5; a.y*=3; cout<<b.x<<" "<<b.y<<endl; void main() complex m; m.x = 2; m.y = -1; fun(m,m, m.x); cout<<m.x<<" "<<m.y<<endl;

B A int x; double y; ; B int x; A Arr[2]; ; void main() A vara; B varb; vara.x=10; varb.x=30; vara.y=20; varb.arr[1].x=100; varb.arr[1].y= varb.x+3; varb.arr[0]=vara; cout<< varb.arr[1].y<<" "; cout<<varb.arr[0].y<<endl; cout<<varb.x<<" "<<vara.x<<endl;

what the output :- #include<iostream> usingnamespace std; A int x,y; ; Output: 5 10 7 12 A add(a s1, int b) s1.x+=b; s1.y+=b; return s1; void main() A d,k; d.x = 5; d.y = 10; cout<<d.x<<" "<<d.y<<endl; k = add(d,2); cout<<k.x<<" "<<k.y<<endl;

من اهم االمور التي يجب إتقانها لتفادي وتالشي الخطأ في حل إسالة االوتبوت المتعلقة بالستركت يجب رسم الميموري وفيما يلي رسم توضيحي لبعض االمثلة لنتعلم من خاللها الية رسم الستركت بالميموري. #include<iostream> usingnamespace std; A ; int x,y[2]; B h n int h,n; A a1; d a1 x Y[0] void main() Y[1] B d; A int x,y; ; d[0] x y void main() A d[2]; d[1] x y

(نظام فواتير) write a program to help a local book store automates its billing system the program should have the following : 1- a BookLabel with the following member :- a-name: string variable for the name of the book. b- price : float variable for the price of the book. )عدد النسخ c-quantity : integer variable for the number of copies sold of the book. المباعة( 2- a Bill with the following members : a- customername: string variable for the customer name. b- Book[5] : an array of type BookLabel with size 5. c- number_sold_books: integer variable for the number of type of sold book 3- function read data :this function reads the name of customer and the book's names,book's price, book's quantity using cin (from user). the function ask first the customer about how many types of books want to buy stores it into the variable number_sold_book. the function has one parameter of type Bill (by reference ) 4- function printbill : this function print the billing amount by printing the name of customer and all information (the book's name,book's prices,book's quantity about the sold book and the finally the total money. if the total money exceeds the 50JD then the book store gives 10% discount 5- in main function :- a-create object called b1 of type Bill b- fill this object b1 by call function readdata. c-display the bill b1 by calling function printbill.

#include<iostream> #include<string> using namespace std; BookLabel string Name; float Price; int quantity; ; Bill string CustomerName; BookLabel Arr[5]; int nunmber_sold_books; ; void ReadData (Bill & b) cout<<"please enter customer name :"<<endl; getline(cin,b.customername); cout<<"enter the number of sold books types[maximum 5]:"<<endl; cin>>b.nunmber_sold_books; int c=1; for (int i=0; i<b.nunmber_sold_books; i++) cout<<"please enter book name for book num "<<c<<endl; cin>>b.arr[i].name; cout<<"please enter book price for book num "<<c<<endl; cin>>b.arr[i].price; cout<<"please enter quantity for book num "<<c<<endl; cin>>b.arr[i].quantity; c++;

void PrintBill (Bill b) float sum=0; cout<<"****************bill******************"<<endl; cout<<"welcome Customer "<<b.customername<<endl; cout<<"bookname\tprice\tquantity"<<endl; for (int i=0; i<b.nunmber_sold_books ; i++) cout<<b.arr[i].name<<"\t\t"<<b.arr[i].price<<"\t"<<b.arr[i].quantity <<endl; sum+=(b.arr[i].price*b.arr[i].quantity); if (sum>50) cout<<"total Money is :"<<sum<<endl; sum=sum-(sum*10/100.0); cout<<"total Money After 10% discount is : "<<sum<<endl; else cout<<"total Money is : "<<sum<<endl; int main () Bill b1; ReadData(b1); PrintBill(b1); الحمدهلل الذي بحمده تتم الصالحات