أساسيات لغة سويفت – الجزء الثاني

By , 01/07/2014 2:00 PM

المصفوفات arrays

كما تعلمنا في أساسيات البرمج فالمصفوفة هي مجموعة من القيم الموجودة داخل متغير واحد كمجموعة . و المصفوفة تحتوي على رقم تسلسلي تسهل عليك الوصول لأي قيمة داخل المصفوفة الواحدة . لنقل مثلا أن لدينا مصفوفة خاصة بقائمة التسوق shoppingList و هي تحتوي على قيم من نوع نص string و نريد أن نقوم بتغيير قيمة من قيم المصفوفة .

في السطر الأول قمنا بإنشاء مصفوفة متغيرة بإستخدام الأمر var ووضعنا القيم داخل المصفوفة داخل هذا الرمز [] و نفصل بين كل قيمة بالرمز ,

في السطر الثاني قمنا بتغيير القيمة الثانية من القيمة water للقيمة bottle of water . نلاحظ أننا إستخدمنا الرقم 1 داخل القوسين بعد كتابة اسم المصفوفة shoppingList رغم أننا نريد تغيير القيمة الثانية . بما أننا لم نحدد الأرقام التسلسلية للمصفوفة فإن النظام بشكل أوتوماتيكي يبدأ بالرقم 0  للأرقام التسلسلية . و لكن بالإمكان إنشاء مصفوفة و تحديد الارقام التسلسلية بل بالإمكان إستخدام نوع آخر غير الأرقام كأرقام تسلسلية . مثلا لدينا هذا المثال لمصفوفة الرقم التسلسلي فيها هو إسم الموظف و القيمة هي وظيفة هذا الموظف

swift2-2

لإنشاء هذه المصفوفة نجد هنا النص البرمجي :

swift2-3

نفصل بين الرقم التسلسلي و القيمة بإستخدام الرمز : و بين كل متغير و متغير بإستخدام الرمز  ,

إذا أردنا أن نضيف متغير جديد يحمل الرقم التسلسلي Mariam و  القيمه officer نقوم بكتابة هذا السطر

swift2-4

و لإنشاء مصفوفة فارغة ما عليك سوى كتابة هذا الأمر

swift2-5

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

swift2-6

أساسيات لغة سويفت – الجزء الأول

By , 22/06/2014 12:50 PM

ما هي لغة السويفت Swift  ؟ 

Apple_Swift_Logo

أعلنت شركة أبل في الثاني من يونيو 2014 إطلاق لغة سويفت . و هي أحدث لغة برمجة في العالم و كما أعلنت أبل فإن هذه اللغة هي تأخذ ما هو أفضل من لغات السي (اوبجيكتيف سي و السي) حيث أن أبل إعتمدت بشكل كامل لمده عشرين سنه على لغات السي و بالتحديد الأوبجيكتيف سي التي أعلنت عنه أبل في عام 1983 .

 

و التطور الأكبر الذي حصل للغة الأوبجيكتيف سي كان من خلال نظام التشغيل (نيكست) من خلال شركة نكست و الذي كان الهدف الرئيسي من منتجات الشركة تطوير مجال الأبحاث و المختبرات العلمية . لك أن تعلم أن بروتوكول الإنترنت الرئيسي صمم من خلال جهاز نكست و نظام تشغيل نكست

و كان التأثير الأكبر للغة الاوبجيكتيف سي هو على لغة الجافا و التي ظهرت للعامه في عام 1995 من خلال شركة سن . و كان الهدف الرئيسي منها تصميم لغة تعمل على كل الأجهزه و البيئات .

العودة الكبرى للغة الاوبجيتيف سي كان بشراء أبل لشركة نكست و الإعتماد على بيئة الكوكا في برمجة لغات نظام التشغيل الجديد التي طورته أبل من الشركة التي إشترتها (نكست) بنظام التشغيل Mac OSX و الذي يعتبر أكثر أنظمة التشغيل قوة حتى هذا اليوم .

زادت قوة بيئة الكوكوا بعد أن أطلقت أبل بيئة الكوكوا تاتش مع إصدار نظام التشغيل IOS و الذي يعتمد في أساسة على نظام Mac OSX و هذه البيئة هي لتصميم برامج نظام التشغيل IOS سواء لهواتف الأيفون أو لأجهزة الآيباد .

و من هنا زاد عدد مستخدمي الاوبجيكتيف سي بشكل كبير و خصوصا بعد التحديث التي أصدرته أبل بعد شراء نكست و الذي حمل إسم Modern Syntax . و في عام 2006  أصدرت أبل تحديث جديد للغة حمل إسم Objective-C 2.0 و الذي حمل كثير من حزم البرمجية و دعم لكثير من المعالجات .

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

هناك من يغضب من إصدار هذه اللغة فالبعض تعلم لغة الاوبجيكتيف سي لسنوات و تعامل معها كثيرا . لكن ما يميز لغة السويفت انها تقبل الأوامر التي يصدرها المبرمج بلغة الاوبجيكتيف سي . فأنت تستطيع أن تصمم برنامج بالأوبجيكتيف سي داخل بيئة عمل سويفت .

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

لنبدأ الآن بتعلم لغة سويفت .

المتغيرات و الثوابت في سويفت

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

كما تعلم في أي لغة برمجة هناك ثوابت و متغيرات constant and vaiabl  فالمتغير هي قيمة تتغير خلال وقت عمل البرنامج أما الثابت فهي قيمة لا تتغير أبدا .

بالنسبة للثابت فأمر let هو الذي تستخدمة لتعيين قيمة للثابت الذي حددته . أما بالنسبة للمتغير فالأمر var هو الذي تستخدمه .

swift1

تلاحظ أننا في السطر الأول قمنا بإنشاء متغير بإسم myVariable و ربطه بالقيمة 42 و في السطر الثاني قمنا بتغيير هذه القيمة ل50 . و لكن ما هو نوع هذا المتغير تلاحظ أننا لم نحدد النوع خلال إنشاء هذا المتغير . لا حاجة للتحديد فبيئة العمل تحدد لك النوع بحسب القيمة التي قمت بربطها بالمتغير . من خلال السطر الأول نلاحظ أن نوع المتغير هو (عدد صحيح) integer

في السطر الثالث إستخدمنا الأمر let لإنشاء ثابت يحمل إسم myConstant و ربطناه بقيمه هي 42 و كما في السطر الأول لم نحدد نوع الثابت و لكنه هنا (عدد صحيح) integer

لنفرض أننا قمنا بإنشاء ثابت (أو متغير) و أردنا تحديد النوع بنفسنا هل هذا ممكن ؟ . نعم هذا ممكن . لنرى هذا النص البرمجي :

swift2

في السطر الأول نرى أننا أنشأنا ثابت و ربطناه بالقيمة 70 و طبعا بدون تحديد النوع فهنا قامت بيئة العمل بتحديد النوع بinteger (رقم صحيح) . أما في السطر الثاني بالثابت كتب بطريقة أخرى و هو 70.0 و هو رقم غير صحيح Floating number و في هذه اللغة مثل بعض لغات البرمجة يرمز للرقم غير الصحيح بإسم double .

و أخيرا في السطر الثالث نجد أننا ربطنا الثابت بالرقم 70 و لكن لأننا إستخدمنا الأمر :Double مع إسم القيمة . أجبرنا بيئة العمل على تحديد نوع الثابت ب(رقم غير صحيح)  double رغم أننا ربطناه برقم صحيح .

الآن لنفرض أننا قمنا بإنشاء ثابت (أو متغير) و ربطناه بقيمة معينه (رقم ثابت) و أردنا خلال البرنامج أن نعامل هذه القيمة ليست كرقم بل كنص . هل هذا ممكن ؟ طبعا ممكن لنشاهد معا هذا النص البرمجي

swift3

قمنا هنا بإنشاء ثلاث ثوابت . الثابت الأول حددناه بإسم label  و هو هنا عبارة عن نص كتابي string و الثابت الثاني عبارة عن رقم صحيح string و هو يحمل إسم width و أردنا أن نربط الثابت الأول في الثابت الثاني في جملة نصية واحده تحت الثابت الذي يحمل إسم widthLabel . المشكله هنا أننا نربط نص برقم صحيح لهذا فمن الأفضل أن نقوم بتحويل الرقم الصحيح لنص حتى نستطيع أن نستخدم علامة الربط + . و لهذا أضفنا الأمر String() ووضعنا إسم الثابت الذي نريد تغييرة داخل الأقواس .

الأمر بسيط لكن هناك طريقة أخرى لإضافة الثوابت أو المتغيرات ضمن نص كتابي رغم أنها أرقام دون الحاجة لإستخدام الأمر string() .

swift4

قمنا بتحويل الثوابت هنا بإستخدام الرمز \() ووضعنا بين الأقواس الثوابت التي نريد تغييرها . الأمر \() هنا يقوم بتحويل المتغيرات أو الثوابت التي توجد داخل الأقواس لنفس نوع المتغير أو الثابت الرئيسي . في حالتنا هذه ثم تغيير الثابت apples في السطر الثالث من رقم صحيح integer  لنفس نوع الثابت appleSummary و هو نص string

و تم تغيير الثوابت apples و oranges في السطر الرابع من أرقام صحيحة integers لنص ثابت string

Continue reading 'أساسيات لغة سويفت – الجزء الأول'»

مشروع التلسكوب الأوربي الكبير

By , 09/11/2013 5:50 PM

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

Continue reading 'مشروع التلسكوب الأوربي الكبير'»

تحليل النظم : الدرس الأول

By , 05/02/2013 8:29 AM

في عام 1975 سأل فريدريك بروكس جونيور مهندس النظم و المبرمج المشهور الأمريكي المولود في 1931 عن الطريقة المثلى لتصميم النظم و التخطيط للبرامج فقال بجملة واحدة (لا توجد طلقة فضية واحدة) و يقصد بروكس هنا بأنه لا توجد طريقة واحدة بسيطة فقط لتصميم النظم . فتحليل و تصميم النظم يعتبر علم بحد ذاته له كتب كثيرة متعمقة في هذا المجال . في دروسنا البسيطة هذه سندخل هذا العالم بدون تعمق لنفهم أكثر عن تحليل النظم .

الهدف هنا أن يستفيد الدارس في مجال البرمجة بلغة عربية هذا المجال و أن يفهم من يتعامل مع قسم نظم المعلومات في عملة أو يتعامل مع مبرمجين ما هي الخطوات التي تتبع منذ أخذ المشروع للحصول علية في النهاية بشكل متكامل .

Continue reading 'تحليل النظم : الدرس الأول'»

درس سريع : المجموعات Arrays في لغة c+

By , 25/11/2012 11:13 PM

طلب مني التحدث بتفصيل عن الArrays و بالتحديد في لغة السي بلس بلس . أحيلكم قبل أن أبدأ بهذا الدرس السريع لسلسلة أساسيات البرمجة .

المجموعات Arrays هي طريقة لترتيب المعلومات ذات نوع واحد في مكان واحد في الذاكرة .و تعريفها المنتشر بين المبرمجين هي (مجموعة متغيرات من نفس النوع ) .لو أردت مثلا أن تقوم بعملية حسابية في برنامجك مكون من ثلاث متغيرات فأنت ستقوم بتحديد نوع المتغيرات الثلاث في بداية البرنامج .لنفرض أن هذه الثلاث المتغيرات من نوع واحد . فأنت ستقوم بتحديد هذه المتغيرات كل منهم على حده . لكل متغير إسم مختلف .

Continue reading 'درس سريع : المجموعات Arrays في لغة c+'»

سلسلة جلفار – المجموعة الكاملة

By , 19/11/2012 12:06 PM

 

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

سلسلة جلفار هي مجموعة من التغريدات قمت بطرحها للمتابعين من خلال وسم(هاشتاغ) #جلفار . على مدى ثمانية أيام خلال الأربع أشهر الماضية . كل جلسه إستغرقت حوالي الساعة و بعد كل جلسة إستمتعت بالنقاشات الدائرة في وسم (#جلفار) .

و اليوم أضع بين أيديكم السلسلة كاملة لتكون مرجع لكم . قمت بترتيب التغريدات لتكون كالمواضيع في المدونة لتسهل قراءتها . كما قمت بتقسيم السلسلة لثمانية أجزاء . كل جزء يضمن تغريدات جلسلة واحدة.

شكرا لكل من ساندني و لكل من ساهم بنشر تغريدات هذه السلسلة .

حلقات السلسلة : 

سلسلة جلفار – الجزء الثامن

By , 08/11/2012 12:07 AM
أحست شركة الهند الشرقية بأنها أنهت على قوة جلفار بعد الحملة الثانية و لكن القواسم في جلفار عادوا لقوتهم البحرية و في 1815 أحكم القواسم السيطرة على السواحل و تم منع أي من السفن البريطانية و الهندية من المرور أمام سواحل رأس الخيمة . و بهذا أحست شركة الهند بأنها لم تقضي على هذه القوة بعد الحملة الثانية . تم العمل على إسال حملة ثالثة لإيقاف قوة رأس الخيمة في 1816 و خصوصا بعد أن وصلت قوة إسطول رأس الخيمة للبحر الأحمر . و قدرت خسائر الإنجليز في إحدى الحملات بمئات الآلاف .

لدينا حساب في تويتر …. التواصل الإجتماعي في مؤسساتنا

By , 02/11/2012 7:25 PM

خبر عبر جريدة محلية إماراتية يقول (مؤسسة محلية تطلق مدونة و 5 صفحات تواصل اجتماعي) . لن أعلق على صيغة الخبر والذي غفل عن ذكر عناوين المدونه و صفحات التواصل الإجتماعي (كالعاده) و لا عن الخطأ المطبعي الذي ذكر أسم موقع فيسبوك ليكون (فيسب بوك) . و لكن سيكون حديثي حول مواقع التواصل و المؤسسات عندنا .

مثال آخر لشركة إماراتية تقوم بفتح حساب لها (غير حسابها الرسمي و المتابع من فئه كبيرة) و تكون صيغة الإعلان عن فتح هذا الحساب (لأول مرة في المنطقه حساب لتلقى مشكلات العملاء في تويتر) . بعيدا عن المبالغة الممله هذه و غير الواقعيه . يا ترى هل وجدت مؤسساتنا الطريق الصحيح بإستخدامحسابات التواصل الإجتماعي ؟ أم أنها من قبيل التفاخر لا غير . كثير من المؤسسات تفتح حساب في تويتر من أجل أن يكون فيه إعلان بأن لها حساب في تويتر و تكون المتابعه لهذا الحساب صفر . لا تجد أي تحديث لحسابهم أبدا .و لكن من الفائدة من وجود حساب لمؤسستك في تويتر ؟ و هل أنت مجبر على الدخول لهذا المجال ؟

Continue reading 'لدينا حساب في تويتر …. التواصل الإجتماعي في مؤسساتنا'»

مباشر : مؤتمر أبل 23 اكتوبر 2012

By , 23/10/2012 11:36 AM

سأقوم بإذن الله بنقل مؤتمر أبل والذي سيقام الليلة . توقعات لمؤتمر اليوم (الأمر مجرد تخمينات صحفيه)

- المؤتمر سيركز على التعليم

- إصدار جهاز الأيباد ميني (أو الايباد اير) بحجم قد يكون  7  انش

- تحديث للآيتونز (النسخه 11)

- تحديث للآيبوك (النسخة الثالثة)

- هناك من يقول أن أجهزه الماك بوك برو سيتم تحديثها و الاي ماك أيضا

Continue reading 'مباشر : مؤتمر أبل 23 اكتوبر 2012'»

سلسلة جلفار – الجزء السابع

By , 22/10/2012 10:20 PM

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

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

علم شركة الهند الشرقية البريطانية

Continue reading 'سلسلة جلفار – الجزء السابع'»

Panorama Theme by Themocracy