في هذا الدرس من #دورة_الجافا - شرح المتغيرات
ماهي المتغيرات Variables
انواع المتغيرات
المتغيرات البسيطة Primitive data type
المتغيرات المتطورة Reference data type
تسمية المتغيرات
---
الدرس على يوتيوب http://youtu.be/KEM-h4Ffu6k
The outlines of this lecture:
- Memory Addresses in Computer
- Definition of Pointers
- Access to Pointer Value
- star and & Operators
- Passing Pointer as Parameters
- Pointers with Constants
- Pointers with String
- Arrays of Pointers
- cString library
- Exercise
In this lecture, I present the basics of C ++ , I cover :
- Introduction
- Your first program
- Escape characters
- Data types
- Variables
- Scope
- Constants
- Input and output
- Storage classes
- Mathematical calculations
- Shifting
- Logical operations
في هذا الدرس من #دورة_الجافا - شرح المتغيرات
ماهي المتغيرات Variables
انواع المتغيرات
المتغيرات البسيطة Primitive data type
المتغيرات المتطورة Reference data type
تسمية المتغيرات
---
الدرس على يوتيوب http://youtu.be/KEM-h4Ffu6k
The outlines of this lecture:
- Memory Addresses in Computer
- Definition of Pointers
- Access to Pointer Value
- star and & Operators
- Passing Pointer as Parameters
- Pointers with Constants
- Pointers with String
- Arrays of Pointers
- cString library
- Exercise
In this lecture, I present the basics of C ++ , I cover :
- Introduction
- Your first program
- Escape characters
- Data types
- Variables
- Scope
- Constants
- Input and output
- Storage classes
- Mathematical calculations
- Shifting
- Logical operations
In this lecture, I present concept of functions in C ++ , I cover :
-The concept of functions
-Function template and definition
-Explanation of an example of a Factorial function
-Mathematical examples
-Empty arguments
-Function of perfect number
-Function of prime number
-Function of friendly numbers
-Generate random numbers
-Example of dice game
-GRN problems
-Time function
-Enumeration
-Crops game
-The concept of recursion function
-Example of recursion function
-Fibonacci series with recursion
-Reference arguments
-Default arguments
-Overloading functions
-Examples of overloading
-Template functions
عُرف علم التشفير أو التعمية منذ القدم، حيث استخدم في المجال الحربي والعسكري. فقد ذكر أن أول من قام بعملية التشفير للتراسل بين قطاعات الجيش هم الفراعنة. وكذلك ذكر أن العرب لهم محاولات قديمة في مجال التشفير فقد كان القصد من استخدام التشفير هو إخفاء الشكل الحقيقي للرسائل حتى لو سقطت في يد العدو فإنه تصعب عليهم فهمها.
وفي عصرنا الحالي باتت الحاجة ملحة لاستخدام هذا العلم "التشفير" وذلك لإرتبط العالم ببعضه عبر شبكات مفتوحة. حيث يتم استخدام هذه الشبكات في نقل المعلومات إلكترونياً سواءً بين الأشخاص العاديين او بين المنظمات الخاصة والعامة، عسكرية كانت أم مدنية. فلابد من طرق تحفظ سرية المعلومات. فقد بذلت الجهود الكبيرة من جميع أنحاء العالم لإيجاد الطرق المثلى التي يمكن من خلالها تبادل البيانات مع عدم إمكانية كشف هذه البيانات.
In this lecture, I present concept of functions in C ++ , I cover :
-The concept of functions
-Function template and definition
-Explanation of an example of a Factorial function
-Mathematical examples
-Empty arguments
-Function of perfect number
-Function of prime number
-Function of friendly numbers
-Generate random numbers
-Example of dice game
-GRN problems
-Time function
-Enumeration
-Crops game
-The concept of recursion function
-Example of recursion function
-Fibonacci series with recursion
-Reference arguments
-Default arguments
-Overloading functions
-Examples of overloading
-Template functions
عُرف علم التشفير أو التعمية منذ القدم، حيث استخدم في المجال الحربي والعسكري. فقد ذكر أن أول من قام بعملية التشفير للتراسل بين قطاعات الجيش هم الفراعنة. وكذلك ذكر أن العرب لهم محاولات قديمة في مجال التشفير فقد كان القصد من استخدام التشفير هو إخفاء الشكل الحقيقي للرسائل حتى لو سقطت في يد العدو فإنه تصعب عليهم فهمها.
وفي عصرنا الحالي باتت الحاجة ملحة لاستخدام هذا العلم "التشفير" وذلك لإرتبط العالم ببعضه عبر شبكات مفتوحة. حيث يتم استخدام هذه الشبكات في نقل المعلومات إلكترونياً سواءً بين الأشخاص العاديين او بين المنظمات الخاصة والعامة، عسكرية كانت أم مدنية. فلابد من طرق تحفظ سرية المعلومات. فقد بذلت الجهود الكبيرة من جميع أنحاء العالم لإيجاد الطرق المثلى التي يمكن من خلالها تبادل البيانات مع عدم إمكانية كشف هذه البيانات.
شرحت في هذا الملف نظرية ذات الحدين المتعلقة بإيجاد صيغة عامة لتبسيط أي مقدار جبري رياضي ذو حدين مرفوعين لأس معين.
أول واضع لهذه النظرية هو العالم المسلم (عمر خيام) المولود فيما بين 1038 و 1048 م، المتوفى فيها ما بين 1123 و 1124 م، بعمر ناهز 83 عاما، قضى اكتشافات رياضية كثيرة، لكن للأسف أن غالبها مفقود.
اسم النظرية بالإنجليزية: (Binomial theorem)
Algorithm in discovering and correcting words errors in a dictionary or any word editor .
1. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
* جاهعة دهشق
* كلية الهنذسة الوعلوهاتية
* السنة الثانية
Algorithms and Data Structure
Student:
Kinan keshkeh
Eng :
Eng.Maher Al Sarem
2. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
خوارزمية نظام الي لاكتشاف الاخطاء وتصحيحيها في محرر
نصوص:
بنى المعطيات :
)1 مصفوفة مؤشرات على سلاسل من نوع word :
Dictionary=array*‘a’..’z’+ of pword
)2 مؤشر على العقدة :
Pword=*word
)3 العقدة word :
Word=Record
{
X:ineger; // عدد دٌل على عدد احرف الكلمة
Next:pword; مؤشر على الكلمة التال ةٌ //
Str:string;
}
1( بما اننا نحتاج لعمل ةٌ بحث عن الكلمة المدخلة)للتاكد منها ( ف كامل مفردات اللغة ,
فللسهولة نضع المفردات ببن هٌ بح ثٌ تفرز تلك المفردات باوائل الحروف , وكل حرف أجنب مفروز ف هٌ مفرداته )تصاعد اٌ( لسهولة البحث )حتى لا نبحث عن كلمات اللغة حتى ال
NULL , و نتوقف عندما نجد الكلمة الاكبر من الكلمة المرادة وذلك عند عمل ةٌ البحث
والتاكد ( .
- و لان كلمات اللغة الانكل زٌ ةٌ مثلا.. قابلة لاضافة المرادفات والتعد لٌات المستمرة ..
فتكون البن ةٌ الد نٌام كٌ ةٌ ه الملاءمة اكثر.. Linked List
2( اما من اجل العقدة Word ف اخترنا ان تكون السلسلة مؤلفة من تسج لٌة تحوي
)المؤشر( على الكلمة التال ةٌ بالقاموس و)الكلمة( و ) عدد احرف الكلمة (
وعدد احرف الكلمة فٌ دٌ من اجل طباعة البدائل ...
3. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
جداول التحليل الأولي لخوارزمية التاكد والتصحيح بالقاموس :
اسن التابع
Search الوهوة رٌى الكلمة المدخلة و رٌد اما موجودة او غ رٌ موجودة
)تابع مساعد للاجرائ ةٌ Bring _same )
يستخذم في اجرائ ةٌ طباعة البدائل
Bring_same التوصيف هذا التابع بٌحث عن الكلمة المدخلة بالسلسلة ذات الحرف الت تبدا به الكلمة
اسن الاجرائية
Bring_same الوهوة طباعة الكلمة اذا كانت موجودة
طباعة البدائل اذا كانت غ رٌ موجودة ثم اعادة الادخال ..
يستخذم في التابع الرئ سٌ main التوصيف جٌلب الكلمات ذات نفس طول الكلمة والمختلفة ببعض الاحرف ) مسح لاخر السلسلة(....
جٌلب الكلمات الت تطابق الكلمة وتز دٌ عنها بالاحرف المختلفة)حرف او حرف نٌ ل سٌ اكثر(
)مسح اخر لاخر السلسلة(..
4. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
جداول التحليل المفصلة لخوارزمية البحث والتاكد من وجود الكلمة بالقاموس :
اسن التابع
Search الوهوة رٌى الكلمة المدخلة و رٌد اما موجودة او غ رٌ موجودة
)تابع مساعد للاجرائ ةٌ Bring _same )
يستخذم في اجرائ ةٌ طباعة البدائل
Bring_same التوصيف
)الخوارزهية
بالعربي(
هذا التابع بٌحث عن الكلمة المدخلة بالسلسلة ذات الحرف الت تبدا به الكلمة c من اول السلسة dic[c] حتى ال NULL ان خرج ووجد الكلمة --- < اعادة موجود
والا ---- < اعادة غ رٌ موجود
شرط الاستذعاء وجود القاموس
مرتب تصاعد اٌ)ادخلت من الانترنت جم عٌ الكلمات للاحرف الخ a,b,s,..
عندما قمت بالتنف ذٌ(.
واستدعاء الكلمة وان تبدا الكلمة المدخلة بحرف ابجدي انكل زٌي لا رمز..
رأس التابع Search(Dic :Dictionary, Inputedword :string, var b:Boolean)
توصيف
الوتحولات
Dic من نوع القاموس
Inputedword الكلمة المدخلة
تع دٌ الاجرائ ةٌ متحول منطق b ان وجدت الكلمة ام لم توجد..
الخوارزهية
Search(Dic :Dictionary, Inputedword :string):Boolean begin L:pword; C: char; C:=inputedword[1]; L:=Dic[c]; (الدخول لسلسلة حرف البدا ةٌ ) While(L<>NuLL)and(L^.str<Inputedword) do )التفحص عن الكلمة(
Search:=p^.next; If(L<>Null)and(L^.str= Inputedword) then Search:=true; else Search:=false; End;
5. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
اسن الاجرائية
Bring_same الوهوة طباعة الكلمة اذا كانت موجودة
طباعة البدائل ) 6 او اكثر قل لٌا( اذا كانت غ رٌ موجودة ثم اعادة الادخال ..
يستخذم في التابع الرئ سٌ main التوصيف
)الخوارزهية
بالعربي(
-1 التابع وجد الكلمة طباعتها
-2 لم جٌدها:
** مسح اول للسلسلة )الكلمات ذات نفس الطول(: //قمت بمسح نٌ للاولو ةٌ فقط..والا بمسح وح دٌ
* اذا وجد نفس طول الكلمة :
اختبر تساوي)تطابق( الحروف:
اذا كان الاختلاف)بحرف واحد( او)حرف نٌ( )اوثلاثة(:
اطبع الكلمة الت وجدناها
**مسح ثان للسلسلة )الكلمات الاكبر والت تز دٌ ببعض الاحرف(:
* طباعة الكلمات)ار دٌ ل سٌ اكثر من 6 كلمات اقتراحات ( – -
الاكبر ف السلسلة من الكلمةالمدخلة والت لاتز دٌ بعدد احرفها عن الكلمة الاصل ةٌ
باكثر من )حرف او حرف نٌ او ثلاث ل سٌ اكثر( ..
**اعد ادخال الكلمة.
ملاحظة: اجر تٌ مسح نٌ للسلسسة.. لاجراء الاولو ةٌ.. ح ثٌ ان الكلمة ذات نفس عدد الاحرف
)رغم انها اخ رٌة ابجد اٌ( ابدى من الكلمات الاطول.
طرق اخرى
لو لم حٌدد بنص المسألة ان العمل ةٌ ))اتمام(( للكمات المدخلة وتصح حٌها..
** اذا كانت الكلمة المدخلة مز دٌة بحرف او حرف نٌ زٌ دٌ الشرط التال :
احذف حرف واسنده لمتحول string ..
اذا وجدت الكلمة --- - < اطبعها كخ اٌر اول ثم اتمم الاقتراحات..
والا
احذف حرف اخر واجري نفس العمل ةٌ ..
مثلا: ادخال booki ----- < قٌترح book
او: ادخال bookia ----- < قٌترح book شرط الاستذعاء
وجود القاموس مرتب تصاعد اٌ)ادخلت من الانترنت جم عٌ الكلمات للاحرف الخ a,b,s,.. عندما قمت بالتنف ذٌ(.
واستدعاء الكلمة وان تبدا الكلمة المدخلة بحرف ابجدي انكل زٌي لا رمز..
رأس التابع
Bring_same(Dic :Dictionary, Inputedword :string)
6. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
توصيف
الوتحولات
Dic من نوع القاموس
Inputedword الكلمة المدخلة
اجرائ ةٌ print(string) طباعة المحارف
اجرائ ةٌ length(string) تقوم بحساب طول السلسلة المحرف ةٌ
الخوارزهية
Bring_same(Dic :Dictionary, Inputedword :string)
F:Boolean;
L:pword;
Ch: char;
K:int ; (تعد عدد الاحرف المختلفة )
W:string; (اضع بها الكلمات الت امر عل هٌا بالسلسة )
f:=search(Dic,InputedWord); (التاكد من الوجود )
if( f) then )موجودة(
print(‘Correct word!!’,InputedWord);
else
begin
print(‘~~ Here you are some suggestion’);
ch:= InputedWord[1];
L:=Dic[ch]; ( امساك راس سلسلة حرف الكلمة الاول )
While(L<>Null) do
Begin
W:=L^.str;
K:=0;
If length(w(=length(InputedWord) then تساوي
الطول
begin
For(i:=1 to (length(InputedWord)) do
اختبارتطابق الحروف
If(w[i] <> InputedWord[i]) then
K:=k+1;
If(k=1) or(k=2)or(k=3) then
Print(w)
end;
7. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
l:=l^.next;
End;( المرور الاول )
L:=Dic[ch];( امساك راس سلسلة حرف الكلمة الاول )
Space:=0;
While(L<>Null) do
Begin
W:=L^.str;
If ( W> Inputedword)and(length(w)-
length(Inputedword) <=3 ) and(space<4)
then
begin
space:=space+1 الكلمات الت تز دٌ ب ثلاث
احرف
Print(w);
End;
L:=l^.next;
End;( المرور الثان )
end;
8. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
نتائج التنفيذ:
قراءة كلمات القاموس من ال NoteBad
9. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
كلمة موجودة بالقاموس
اما طباعة البدائل :
لاحظ ان الكلمات ذات نفس الطول)رغم انها اخ رٌة ابجد اٌ( تطبع بالاول !
10. 2013 تقر رٌ الخوارزم اٌت و بنى المعط اٌت 1
انتهى التقرير