تعلم برمجه

الاثنين، 5 يونيو 2017



تعرف المتحولات في لغة البرمجة بأنها مواقع محجوزة في الذاكرة تستخدم لتخزين القيم. هذا يعني انك عندما تقوم بإنشاء متحول ما فإنك تحجز فراغا معينا من الذاكرة.
بناء على نموذج البيانات الخاص بالمتحول يقوم المترجم بتخصيص الذاكرة وتحديد ما يمكن تخزينه في الذاكرة المحجوزة لذلك عندما يقوم المستخدم بإسناد نماذج مختلفة من البيانات إلى المتحولات مثل الأعداد الصحيحة والأعداد العشرية والاحرف فإنه يتم تخزينها في الذاكرة.

إسناد القيم إلى المتحولات

لا تتطلب المتحولات في لغة البرمجة إعلاناً عن نفسها عند حجز الفراغ الخاص بها في الذاكرة. يتم ذلك بشكل تلقائي عند إسناد القيم إلى هذه المتحولات. يتم إسناد القيم للمتحولات باستخدام إشارة المساواة (=).
المعامل الواقع إلى يسار إشارة المساواة يمثل العامل الذي هو اسم المتحول والمعامل الواقع إلى يمين إشارة المساواة هو المعامل الذي يمثل القيمة المخزنة التي يمثلها المتحول.
مثال:
#!/usr/bin/python

counter = 100         # An integer assignment
miles   = 1000.0       # A floating point
name   = "John"       # A string

print counter
print miles
print name
يمثل التالي 100,1000.0 و اسم “John” والتي هي عبارة عن قيم تم إسنادها إلى المتحول فكانت النتيجة كالتالي:
100

1000.0

John

الإسناد المتعدد

أي إنه بالإمكان إسناد قيمة واحدة إلى عدة متحولات.
مثال
a = b = c =1
يمثل السابق غرضاً صحيحاً يأخذ القيمة 1 وثلاثة متحولات تم إسنادها إلى موقع الذاكرة نفسه. يمكن أيضاً إسناد عدة أغراض إلى عدة متحولات.
مثال
a, b, c =1,2,"john"
هنا تم إسناد غرضين صحيحين يأخذان القيمة 1 و 2 إلى المتحولين a وb كما تم إسناد سلسلة محارف “John” إلى المتحول c.

نماذج البيانات المعيارية

يمكن أن تكون البيانات المخزنة في الذاكرة بنماذج مختلفة. فمثلاً يتم تخزين عمر الإنسان كقيمة عددية وعنوانه يخزن كأحرف. هناك العديد من نماذج البيانات المعيارية المختلفة التي تستخدم لتعريف العمليات الممكن إجراؤها عليها وطريقة تخزين كل منها.
نماذج البيانات المعيارية في لغة البرمجة Python هي :
  1. الأرقام
  2. السلسلة
  3. القائمة
  4. الصف
  5. القاموس

الأرقام في Python

حيث تخزن على شكل قيم عددية. يتم إنشاء الأغراض الرقمية عند إسناد قيمة لها.
مثال:
var1 =1

var2 =10
يمكن حذف الغرض الرقمي باستخدام بيانات الحذف التي يتم إنشاؤها وفق التركيبة التالية:
del var1[,var2[,var3[....,varN]]]]
حيث يمكن حذف غرض واحد مفرد او عدة أغراض وذلك باستخدام بيانات الحذف.
مثال
delvar

delvar_a,var_b
تدعم لغة البرمجة Python أربعة نماذج عددية مختلفة:
  • int : تمثل الأعداد الصحيحة.
  • long : تمثل الأعداد الصحيحة الطويلة وأيضاً الأعداد الثمانية والست عشرية.
  • float : القيم الحقيقية ذات الفاصلة العائمة.
  • complex: تمثل الأعداد العقدية.
يبين الجدول التالي أمثلة على نماذج الأعداد
complexfloatlongint
3.14j0.051924361L10
45.j15.20-0x19323L100
9.322e-36j-21.90122L786
.876j32.3+e180xDEFABCECBDAECBFBAEl080
-.6545+0J-90.535633629843L-0490
3e+26J-32.54e100-052318172735L-0x260
4.53e-7j70.2-E12-4721885298529L0x69
تتيح لغة البرمجة Python للمستخدم استخدام الحرف الصغير في كلمة long ولكن يفضل عموما استخدام الحرف الكبير L كي لا يتم الخلط بين الرقم 1 والحرف l .

السلاسل في Python

تعرف السلاسل بأنها مجموعة من الأحرف المتجاورة الواقعة ضمن إشارتي تنصيص حيث يمكن استخدام إشارة تنصيص مفردة او مزدوجة. يمكن أخذ السلاسل الفرعية باستخدام العلامتين ([ ] and [:] ) مع دلائل تبدأ من الصفر عند بداية السلسلة حتى قيمة -1 في نهاية السلسلة.
إن إشارة (+) تمثل عملية سلسلة السلسلة بينما النجمة (*) تمثل عملية التكرار ضمن السلسلة.
مثال
#!/usr/bin/python

str='Hello World!'

printstr# Prints complete string

printstr[0]# Prints first character of the string

printstr[2:5]# Prints characters starting from 3rd to 5th

printstr[2:]# Prints string starting from 3rd character

printstr*2# Prints string two times

printstr+"TEST"# Prints concatenated string
فتظهر النتيجة التالية
Hello World!

H

llo

llo World!

Hello World!Hello World!

Hello World!TEST

القوائم في Python

تعتبر القوائم من أكثر نماذج البيانات تنوعاً. تتضمن القوائم مكونات مفصولة عن بعضها بفواصل ومحصورة بأقواس مربعة([]).
يشبه مبدأ القوائم هنا المصفوفات في لغة البرمجة C مع اختلاف رئيسي أنه في حالة القوائم يمكن أن تكون المكونات من نماذج بيانات مختلفة عن بعضها.
يمكن الوصول إلى القيم المخزنة في القوائم باستخدام العلامة الترقيمية الخاصة بالشرائح ([ ] و [:])مع دلائل تبدأ من الصفر عند بداية السلسلة حتى قيمة -1 في النهاية. إن إشارة (+) تمثل عملية سلسلة السلسلة بينما النجمة (*) تمثل عملية التكرار ضمن السلسلة.
مثال:
#!/usr/bin/python

list =['abcd',786,2.23,'john',70.2]

tinylist=[123,'john']

print list         # Prints complete list

print list[0]# Prints first element of the list

print list[1:3]# Prints elements starting from 2nd till 3rd

print list[2:]# Prints elements starting from 3rd element

printtinylist*2# Prints list two times

print list +tinylist# Prints concatenated lists
فتظهر النتيجة التالية
['abcd', 786, 2.23, 'john', 70.200000000000003]

abcd

[786, 2.23]

[2.23, 'john', 70.200000000000003]

[123, 'john', 123, 'john']

['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

الصفوف في Python

الصف عبارة عن تتالي من نماذج البيانات شبيه بالقائمة ويتكون من عدد من القيم المفصولة عن بعضها باستخدام فواصل وبخلاف القوائم يكون الصف محصورا بين قوسين.
إن الاختلاف الرئيسي بين القوائم والصفوف هو أن العناصر في القائمة تكون محصورة بين قوسين من الشكل ( [ ] )وقابلة لتغيير حجمها بينما في الصف تكون العناصر محصورة بين قوسين من الشكل ( ( ) ) ولا يمكن تغيير حجمها. يمكن تعريف الصف بانه قائمة معدة للقراءة فقط.
مثال:
#!/usr/bin/python

tuple =('abcd',786,2.23,'john',70.2)

tinytuple=(123,'john')

print tuple         # Prints complete list

print tuple[0]      # Prints first element of the list

print tuple[1:3]    # Prints elements starting from 2nd till 3rd

print tuple[2:]     # Prints elements starting from 3rd element

printtinytuple*2    # Prints list two times

print tuple +tinytuple# Prints concatenated lists
فتظهر النتيجة التالية
('abcd', 786, 2.23, 'john', 70.200000000000003)

abcd

(786, 2.23)

(2.23, 'john', 70.200000000000003)

(123, 'john', 123, 'john')

('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

القاموس في Python

يعرف القاموس هنا بأنه مزيج من النماذج حيث يعمل كمجموعة من المصفوفات التي توجد في لغة Perl ويتألف من أزواج قيمة – مفتاح. إن مفتاح القاموس يمكن أن يأخذ تقريبا أي نموذج للنماذج المستخدمة في لغة البرمجة Python ولكنه غالياً يكون أرقام أو سلسلة محارف. من ناحية أخرى يمكن للقيم أن تكون اية غرض اعتباطي.
تغلق القواميس بأقواس من الشكل ({ }) ويمكن إسناد القيم باستخدام الأقواس ([]).
مثال
#!/usr/bin/python

dict={}

dict['one']="This is one"

dict[2]="This is two"


tinydict={'name':'john','code':6734,'dept':'sales'}

printdict['one']# Prints value for 'one' key

printdict[2]# Prints value for 2 key

printtinydict# Prints complete dictionary

printtinydict.keys()# Prints all the keys

printtinydict.values()# Prints all the values
فتظهر النتيجة التالية
This is one

This is two

{'dept': 'sales', 'code': 6734, 'name': 'john'}

['dept', 'code', 'name']

['sales', 6734, 'john']
لا يتضمن القاموس أي مفهوم عن ترتيب العناصر ضمنه أبداً.

تحويل نماذج البيانات

يمكن التحويل بين نماذج البيانات بسهولة من خلال اسم النموذج كتابع حيث يوجد العديد من توابع البناء التي تستخدم للتحويل بين نماذج البيانات.
التابعالوصف
int(x [,base])يحول x الى عدد صحيح. وعلى مبدأ القاعدة تصف القاعدة إذا كان x سلسلة.
long(x [,base] )يحول x الى عدد صحيح طويل. وعلى مبدأ القاعدة تصف القاعدة إذا كان x سلسلة.
float(x)يحول x الى عددحقيقي بفاصلة عائمة.
complex(real [,imag])يقوم بإنشاء عدد عقدي.
str(x)يحول x إلى سلسلة محارف
repr(x)يحول x إلى سلسلة تعبيرية
eval(str)يقيم السلسلة ويعيد الغرض
tuple(s)يحول s إلى صف
list(s)يحول s إلى قائمة
set(s)يحول s إلى مجموعة
dict(d)يقوم بإنشاء قاموس. يجب أن تكون d تتالي من صفوف (قيمة , مفتاح)
frozenset(s)يحول s إلى مجموعة غير قابلة للتعديل
chr(x)يحول الرقم الصحيح إلى حرف
unichr(x)يحول الرقم الصحيح إلى حرف غير مرمز
ord(x)يحول الحرف المفرد إلى قيمته الصحيحة
hex(x)يحول العدد الصحيح إلى سلسلة ست عشرية
oct(x)يحول العدد الصحيح إلى سلسلة ثمانية

الجمعة، 2 يونيو 2017

 المهندسين أو غير المهندسين الراغبين في دخول مجال التكنولوجيا يجب أن يملكون المهارة المناسبة في إستخدام مجموعة من لغات البرمجة والتي تعد الأكثر إحتياجًا هذه الأيام … ويبقى السؤال المحير ما هي أهم لغات البرمجة التي يجب أن تتعلمها لكي تواكب العصر الحديث:

 لغات البرمجة 

أهم لغات البرمجة
1. C:
المهندسين غالبًا ما سيكون لهم الدراية الكافية بالبرمجة عن طريق السي ولكن إن كنت من غير المهندسين يجب أن تتعلم لغة C خاصة أنها أقرب لغاب البرمجة إلى فهم لغة الآلة والتي ستستطيع عن طريقها التعرف على كيفية تعامل لغات البرمجة مع الكمبيوتر بمعنى آخر هي الأساس التي يجب أن تبني عليه لذلك يجب أن تتعلمها بشكل جيد
وهذه أهم المواقع التي تساعدك في البداية لكي تتعلمها
Learn c
CProgramming.com
Lynda .com
Learn c the hard way
أهم لغات البرمجة
2. C++:
تعد C++ أول لغة بعد السي التي تتعامل عن طريق Object Oriented Programming وهي لغة البرمجة الأساسية التي نشأ عليها FireFox وكل منتجات شركة Adobe وعندما تريد أن تصنع برنامج سريع قوي وأكثر إستقرارًا يمكنك أن تستخدم C++ كما أنها من أهم لغات البرمجة التي يتجب أن تتعلمها إن كنت تريد الدخول في مجال المصادر المفتوحة Linux
وهذه أهم المواقع لتعلم C++
Udemy
Lynda.com
LearnCpp.com
CProgramming.com
cplusplus.com
أهم لغات البرمجة
3. C#:

تسمى في لغة المبرجين سي شارب لغة لها الكثير من الإستخدامات تم تطويرها في الأصل عن طريق ميكروسوفت وهي نتاج من دمج بين C , C++ ويمكن تعلمها عن طريق أحد المواقع التالية
Lynda.com
Microsoft Virtual Academy
TutorialsPoint.com

أهم لغات البرمجة
4. الجافا java :
الجافا من أهم لغات البرمجة الموجودة هذه الأيام من نوع object oriented programming والتي أنشأتها شركة sun عام 1990. تستخدم لغة الجافا في الكثير من التطبيقات البرمجية وتطبيقات الويب وتطبيقات الموبايل والألعاب وتستطيع عن طريقها عمل برمجيات تعمل على كل الأنظمة من الويندوز والماك واللينكس وهي من أكثر لغات البرمجة المطلوبة في العالم كله
ومن أهم مواقع تعليم لغة الجافا
Lynda.com
learnjavaonline.org
كما يمكنك أن تحصل على هذين الكتابين فهما مفيدان بشكل كبير مع تعلم الجافا
introduction to java programming Y Daniel liang
Java How To Program, Seventh Edition January 2007
أهم لغات البرمجة
5. PHP:
هي أحد لغات البرمجة التي تعمل على برامجها بشكل مجاني والتي تقوم بالبرمجة عليها من خلال جمل نصية لكي تقوم ببرمجة بعض الأجزاء على مواقع الإنترنت من نوع Dynamic وتطبيقات الويب. يمكن أن تدمج بسهولة مع لغة HTML لكي تقوم بعمل تطبيقات على مواقع الإنترنت بشكل متكامل. والمذهل والذي يدل على قوة هذه اللغة هو أنها تعمل على أكثر من 200 مليون موقع حول العالم منها wordpress, facebook ويمكنك أن تتعلم لغة PHP على أحد هذه المواقع
Lynda.com
Codecademy
Zend Developer Zone
PHP.net
أهم لغات البرمجة
6. Python:

تعتبر لغة Python من لغات البرمجة ذات المستوى العالي high level تستخدم في برمجة تطبيقات الموبايل والويب وهي تعتبر أسهل اللغات بالنسبة للمبتدئين وكودها من الأكواد المقروءة بشكل سهل ويمكنك القيام بأكواد مضغوطة بحيث تقوم بالأكثر من مهمة في نفس الأمر. تعمل هذه اللغة على برمجة الكثير من المواقع مثل Instagram , Pinterest كما تستخدم في ناء منصات جوجل وناسا
ويمكن أن تتعلم لغة Python من أحد هذه المواقع
Lynda.com
Codecademy
LearnPython.org
Python.org
أهم لغات البرمجة
7. Java Script:
هي أحد لغات البرمجة التي تصنف Scrtipting language وهي تستمد الكثير من أوامرها من لغة السي التي تحدثنا عنها في أول المقال. ومن صفاتها أنها تعمل على كل المتصفحات الموجودة تقريبًا بحيث يمكنك تطبيق أهم مبدأ في تصميم المواقع والذي يقوم على عمل الموقع على كل المتصفحات. وتستخدم هذه اللغة أيضًا في برمجة الألعاب وتطبيقات سطح المكتب. ومن الظريف أن تجد لغة Java Script في برمجة Google chrome , Safari
ويمكنك أن تتعلم java scriptعن طريق هذه المواقع
Codecademy
Lynda.com
Code School
Treehouse
Learn-JS.org
أهم لغات البرمجة
8. SQL:
SQL اختصار لمجموعة كلمات Structured Query Language هي لغة برمجة خاصة بإدارة البيانات داخل قواعد البيانات وقد تم إعتمادها من المنظمة الدولية للقياسات ISO والمعهد القومي الأمريكي للقياسات ANSI عام 1980 وهي من أهم لغات البرمجة التي يمكنك بها إنشاء قاعدة بيانات محترفة للغاية ومستقرة بشكل كبير وتحتاجها الكثير من الشركات لتنظيم أعمالها ويمكنك تعلم SQL عن طريق أحد هذه المواقع:
Lynda.com
SQLCourse.com
TutorialsPoint.com
SQLZoo.net
أهم لغات البرمجة
9. HTML and CSS:
HTML, CSS يستخدمان في برمجة وتصميم المواقع وهي تنتمي ل لغات البرمجة من نوع markup language وليس لها أي إستخدامات أخرى فهي موجودة خصيصًا من أجل تصميم المواقع ويمكنك تعلمها عن طريق
W3school
وستجدون الكثير من المواقع الأخرى فهي لغتان مشهورتان يمكن التعلم فيها بسهولة
أهم لغات البرمجة
10. XML:
تنتمي إلى لغات البرمجة markup language وسوف تجدها في كل مكان وهي تستخدم لتحديد مجموعة من المعلومات في شكل منظم ومحدد ويمكن ربطها مع قواعد البيانات و لغات javascript , AJAXومن المميز في هذه اللغة أنها لا تستخدم لأغراض الويب فقط ولكن يمكن برمجة بعض تطبيقات سطح المكتب وتطبيقات الويندوز أيضًا