تعلم البرمجة C # لالروبوت

مؤلف: John Stephens
تاريخ الخلق: 24 كانون الثاني 2021
تاريخ التحديث: 1 تموز 2024
Anonim
HOW TO CODE ELECTRONICS & ROBOTS in C Language
فيديو: HOW TO CODE ELECTRONICS & ROBOTS in C Language

المحتوى


في هذا المنشور ، سوف تتعرف على برمجة C # لنظام Android ، وكذلك عن المكان المناسب لها في المخطط الكبير لتطوير Android.

إذا كنت مهتمًا بأن تصبح مطور Android ، فقد تشعر بأنك بحاجة إلى تعلم إحدى لغتين: Java أو Kotlin. هذه هي اللغتان المدعومتان رسميًا بواسطة Android Studio ، وبالتالي فإن اللغتين يركز عليهما الكثير من الأدلة والبرامج التعليمية. تطوير Android أكثر مرونة وتنوعًا من ذلك ، وهناك طرق أكثر بكثير للتعامل معه. العديد من هذه تنطوي C #.

اقرأ:أرغب في تطوير تطبيقات Android - ما هي اللغات التي يجب أن أتعلمها؟

C # هي لغة البرمجة التي ستستخدمها إذا اخترت إنشاء لعبة في Unity على سبيل المثال - والذي يصادف أنه محرك الألعاب الأكثر شعبية والأكثر استخدامًا في متجر Play. بشكل عام ، من المفيد تعلم برمجة C # إذا كنت مهتمًا مطلقًا بتطوير اللعبة.

يجب أن تتعلم أيضًا برمجة C # إذا كنت تريد استخدام Xamarin. Xamarin هي أداة تتيح للمطورين إنشاء تطبيقات باستخدام Visual Studio يمكن نقلها بسهولة إلى كل من iOS و Android ، مما يجعله مثاليًا لمشاريع الأنظمة الأساسية المشتركة.


لذلك ، مع ذلك ، هناك بالتأكيد سبب وجيه لتعلم برمجة C # لنظام Android. دعونا نلقي نظرة على ما تحتاج إلى معرفته.

مقدمة سريعة - C # مقابل Java

C # هي لغة برمجة موجهة للكائنات تم تطويرها بواسطة Microsoft في عام 2000 تقريبًا ، بهدف أن تكون حديثًا وبسيطًا ومرنًا. مثل Java (التي طورتها شركة Sun Microsystem في عام 1990) ، تطورت في الأصل من C ++ ، مما يضمن وجود الكثير من أوجه التشابه بين الاثنين. على سبيل المثال ، يستخدم كلاهما "الأساس النحوي" نفسه ، مما يعني أنهما يستخدمان بشكل فعال الكثير من المصطلحات والبنية نفسها. هناك بعض الاختلافات الطفيفة ، ولكن إذا كنت معتادًا على لغة واحدة ، فيجب أن تكون قادرًا على فهم الكثير من اللغات الأخرى دون الحاجة إلى تعلمها على وجه التحديد. بالنسبة للمبتدئين ، سيجد الكثيرون أنه من الأسهل قليلاً تعلم برمجة C #.

كلغة موجهة للكائنات ، سيصف كل من C # و Java الكائنات من خلال الفئات. هذه طريقة معيارية للبرمجة ، والتي تسمح باستخدام قصاصات الكود مرارًا وتكرارًا.


حيث يختلف C # عن Java ، فهو يستخدم المفوضين ، ونهجه في الاستماع إلى الأحداث ، والخصائص الافتراضية مقابل النهائية ، والإرسال الضمني ، وأكثر من ذلك.

والخبر السار: أنت في الواقع لا تحتاج إلى معرفة ما يعنيه معظم هذا عندما تبدأ في تعلم C # لأول مرة. الوجبات السريعة الرئيسية هي أن الهيكل أسهل قليلاً في التعلم في لغة C # ويميل إلى طلب كتابة أقل. هذا صحيح بشكل خاص بالنظر إلى أنك عندما تتعلم Java for Android ، ستحتاج أيضًا إلى التعرف على العديد من الفئات وواجهات برمجة التطبيقات اللازمة لإنشاء تطبيقات Android. وبالتالي ، قد تتعلم أيضًا برمجة C # كنقطة انطلاق إلى Java.

مرحبا بالعالم! في C #

التقليد في عالم الترميز هو أنه في أي وقت تتعلم فيه لغة جديدة ، يجب عليك إنشاء برنامج بسيط لعرض "Hello World!" على الشاشة. يضمن هذا بشكل أساسي قدرتك على الحصول على الأدوات اللازمة وتشغيلها وتجميع شيء بسيط. يشبه قراءة "الاختبار ، الاختبار ، 1 ، 2 ، 3" في ميكروفون!

في هذه الحالة ، سنستخدم Visual Studio لإنشاء تطبيق وحدة تحكم. لذلك بمجرد المضي قدمًا وتنزيل Visual Studio (إنه مجاني) ، انقر فوق:

ملف> جديد> مشروع

وثم:

Visual C #> Windows Classic Desktop> تطبيق وحدة التحكم (.NET Framework)

هذه هي الطريقة التي نصمم بها تطبيقًا سيتم تشغيله في وحدة التحكم في Windows.

مع القيام بذلك ، سوف تظهر بنية العارية لمشروعك في النافذة الرئيسية. سيتم تزويدك برمز يشبه هذا:

مساحة الاسم ConsoleApp3 {class Program {static void Main (سلسلة args) {}}}

الآن يمكنك ببساطة إضافة سطرين ، مثل:

مساحة الاسم ConsoleApp3 {class Program {static void Main (string args) {Console.WriteLine ("Hello World!")؛ Console.ReadKey ()؛ }}}

سيقوم هذا بكتابة "Hello World!" على الشاشة ، ثم ننتظر الضغط على المفتاح. بمجرد أن يلمس المستخدم أي مفتاح ، سينتهي البرنامج وسيخرج تلقائيًا.

لاحظ أن كلا الخطين ينتهي بفاصلة منقوطة. هذا لأن أي عبارة في C # يجب أن تنتهي بفاصلة منقوطة ، والتي تتصل بـ C # بأن الخط قد انتهى (هو نفسه في Java). الاستثناء الوحيد هو عندما يتبع الخط فورًا شريحة مفتوحة ، والتي سنشرحها في لحظة.

اضغط على زر "ابدأ" في الجزء العلوي من الشاشة ، وسيؤدي ذلك إلى تشغيل التطبيق ، مما يتيح لك رؤية ذلك في الممارسة العملية.

الفصول الدراسية عبارة عن أجزاء من التعليمات البرمجية التي تصف الكائنات ، والتي تعد أجزاء من البيانات بشكل فعال

فما هو بالضبط ما يحدث هنا؟

البدء باستخدام C #: الأساليب والفصول الدراسية

لتعلم برمجة C # لنظام Android ، يلزمك فهم الفصول والأساليب.

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

ضمن كل فصل ، سيكون لديك أيضًا طرق. هذه الطرق عبارة عن قصاصات من التعليمات البرمجية التي يمكنك الرجوع إليها في أي وقت من داخل تلك الفئة - وأحيانًا من خارجها.

في هذه الحالة ، يسمى الفصل برنامج. يتم تعريف هذا مباشرة في الجزء العلوي من السطر الذي يقرأ: class Program. وإذا فتحت نافذة "Solution Explorer" على اليمين ، فستتمكن من العثور على Program.cs. اسم الفصل دائمًا هو نفس اسم الملف.

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

يتبع ذلك الطريقة الأولى التي حددناها في السطر التالي:

ثابت الفراغ الرئيسي (سلسلة args)

ثم يتبع ذلك المزيد من الأقواس المفتوحة ، مما يعني أن الجزء التالي من الكود هو جزء من الطريقة "الرئيسية" (التي لا تزال داخل فئة البرنامج). وهذا هو المكان الذي وضعنا فيه "Hello World".

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

السطرين التاليين هما الخطان اللذان أضفناهما: فهم يحصلون على وحدة التحكم ، ثم يصلون إلى أوامرها للكتابة على الشاشة وانتظر الضغط على المفتاح.

أخيرًا ، نقوم بإغلاق جميع الأقواس: أولاً الطريقة ، ثم الفصل الدراسي ، ثم "مساحة الاسم" التي هي اسم المشروع الذي تنتمي إليه الفئة (في هذه الحالة "ConsoleApp3" - قمت بإجراء تطبيقات تجريبية سابقة بهذه الطريقة) .

مشوش؟ لا تقلق ، إنه على وشك أن يكون أكثر منطقية.

باستخدام الطرق

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

لذا ، قم بإنشاء طريقة جديدة تعيش داخل فئة البرنامج (لذلك يجب أن تكون داخل تلك الأقواس المتعرجة ، ولكن خارج الأقواس المعقوفة التي تنتمي إلى "الرئيسي").

اتصل بهذا "NewMethod" ، ثم ضع السطرين اللذين كتبتهما للتو هنا. هذا يجب أن يبدو هكذا:

class Program {static void Main (string args) {} static void NewMethod () {Console.WriteLine ("Hello World!")؛ Console.ReadKey ()؛ }}

أضف الآن مرجعًا إلى NewMethod في طريقتك الرئيسية ، مثل ذلك:

static void Main (string args) {ar ​​NewMethod ()؛ }

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

خلال برنامج ضخم ، تصبح القدرة على الرجوع إلى مقتطفات من التعليمات البرمجية مثل هذه قوية بشكل لا يصدق. يعد هذا أحد أهم الأشياء التي يجب فهمها عند محاولة تعلم برمجة C # لنظام Android.

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

ولذلك ، فإن الوسائط المضمنة في الأقواس في هذه الحالة تكون مطلوبة فقط لأن هذه هي الطريقة التي صممت بها Microsoft الطريقة الرئيسية. ومع ذلك كنا بخير لترك أقواسنا فارغة.

باستخدام المتغيرات

الآن حان الوقت للقيام بشيء مثير للاهتمام بعض الشيء في نظامنا. على وجه التحديد ، دعنا نلقي نظرة على كيفية استخدام المتغيرات لجعل البرنامج أكثر ديناميكية. هذا أحد أهم الأشياء التي يجب فهمها إذا كنت تريد تعلم برمجة C #.

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

10 + س = 13
البحث عن x

هنا ، "x" هو متغير ، وبالطبع فإن القيمة التي تمثلها هي "3".

هذا هو بالضبط كيف يعمل المتغير في البرمجة. فيما عدا هنا ، يمكن للمتغير أن يمثل الكثير من أنواع البيانات المختلفة: بما في ذلك النص.

لإنشاء متغير جديد ، نحتاج أولاً إلى إخبار C # بنوع البيانات التي سيتم استخدامها لاحتواءها.

إذن داخل طريقة NewMethod () الخاصة بك ، ستقوم أولاً بإنشاء المتغير الخاص بك ، ثم تقوم بتعيين قيمة له. ثم سنقوم بإضافته إلى أمر "WriteLine" الخاص بنا:

عدد كثافة العمليات رقم = 10 ؛ Console.WriteLine ("Hello World!" + number) ؛

لقد استخدمنا نوعًا من المتغيرات يسمى "عددًا صحيحًا" والذي يمكن أن يكون أي رقم صحيح. في C # ، نشير إلى هذه باستخدام "int". ومع ذلك ، كان بإمكاننا استخدام "تعويم" بسهولة على سبيل المثال ، وهو "متغير الفاصلة العائمة" ويسمح لنا باستخدام المنازل العشرية.

إذا قمت بتشغيل هذا الرمز ، فيجب أن يكتب الآن "Hello World! 10 "إلى الشاشة. وبالطبع ، يمكننا تغيير قيمة "الرقم" في أي وقت من أجل تغيير.

نظرًا لأنه يتم إنشاء "الرقم" داخل NewMethod () ، لا يمكننا الوصول إليه من أي مكان آخر في الكود الخاص بنا. ولكن إذا وضعناها خارج كل الطرق ، فسوف تصبح متاحة على مستوى العالم. للقيام بذلك ، نحتاج إلى التأكد من أن المتغير ثابت أيضًا:

برنامج الصف {static int number = 10؛ static void Main (string args) {NewMethod ()؛ } static void NewMethod () {Console.WriteLine ("Hello World!" + number)؛ Console.ReadKey ()؛ }}

أخيرًا ، هناك طريقة أخرى يمكننا بها تمرير هذه البيانات ، وهي استخدامها كوسيطة ، وبالتالي نقلها إلى طريقتنا. قد يبدو هذا كالتالي:

static void Main (string args) {int number = 10؛ Console.WriteLine ("مرحبًا ، ما اسمك؟") ؛ NewMethod (عدد)؛ } static void NewMethod (int number) {Console.WriteLine ("Hello World!" + number)؛ Console.ReadKey ()؛ }}

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

هناك سيناريوهات مختلفة يكون فيها استخدام كل هذه الاستراتيجيات المختلفة لتزييف البيانات مناسبًا. البرمجة الجيدة تعني إيجاد الشخص المناسب لهذا المنصب!

تمرير الحجج واستخدام السلاسل

حاول تشغيل هذا الجزء التالي من التعليمات البرمجية ومعرفة ما يحدث:

class Program {static void Main (string args) {Console.WriteLine ("مرحبًا بكم ، ما اسمك؟") ؛ NewMethod (Console.ReadLine ())؛ } static void NewMethod (String UserName) {Console.WriteLine ("Hello" + UserName)؛ Console.ReadKey ()؛ }}

يجب أن تجد أنه تتم مطالبتك بإدخال اسمك ، وأن وحدة التحكم تعاملك به. يحتوي هذا الجزء البسيط من التعليمات البرمجية على عدد من الدروس المفيدة.

أولاً ، نرى مثالًا على كيفية استخدام نوع مختلف من المتغيرات ، يُطلق عليه سلسلة. السلسلة عبارة عن سلسلة من الأحرف ، يمكن أن تكون اسمًا ، أو يمكن أن تكون قصة كاملة.

لذلك ، يمكنك بسهولة كتابة اسم المستخدم = "آدم". ولكن بدلاً من ذلك ، نحصل على السلسلة من وحدة التحكم باستخدام العبارة: Console.ReadLine ().

يمكن أن نكتب:

سلسلة المستخدم المستخدم = Console.ReadLine () ؛ NewMethod (مستخدم).

ولكن للحفاظ على أكوادنا نظيفة بقدر الإمكان ، فقد تخطينا تلك الخطوات ووضعنا "ReadLine" مباشرة بين الأقواس.

بعد ذلك ننقل هذه السلسلة إلى NewMethod الخاص بنا ، ونحيي المستخدم ، باستخدام الطريقة التي تعرفها بالفعل.

السلسلة عبارة عن سلسلة من الأحرف ، يمكن أن تكون اسمًا ، أو يمكن أن تكون قصة كاملة.

من المأمول أن تبدأ الآن في فهم بعض الشيء حول سبب كتابة C # بالطريقة التي يتم بها ، وكيف يمكنك استخدام أشياء مثل المتغيرات والأساليب لإنشاء بعض البرامج المرنة والقوية.

ولكن هناك جانبًا مهمًا آخر يجب أن تعرفه إذا كنت تريد تعلم برمجة C #: التحكم في التدفق.

تعلم التحكم في التدفق C # وبناء مسابقات بسيطة!

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

ولكن ربما يكون أفضل سبب لتعلم متغيرات C # ، هو أن البرامج الخاصة بك يمكن أن تصبح ديناميكية: بحيث يمكن أن تتفاعل بشكل مختلف اعتمادًا على كيفية استخدامها.

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

واحدة من أقوى الطرق للقيام بذلك هي عبارة "إذا". في هذا المثال ، دعنا نحيي مستخدمنا الرئيسي بشكل مختلف عن الآخرين من خلال البحث عن اسم المستخدم الخاص بهم.

static void NewMethod (String UserName) {Console.WriteLine ("Hello" + UserName)؛ if (UserName.Equals ("Adam")) {Console.WriteLine ("Welcome back sir")؛ } Console.ReadKey ()؛ }

تعمل عبارات "إذا" من خلال اختبار صلاحية بيان ، والذي سيدخل بين قوسين. في هذه الحالة ، نسأل ما إذا كانت سلسلة اسم المستخدم هي نفس السلسلة "آدم". إذا كانت هذه العبارة الموجودة بين الأقواس صحيحة - تكون السلسلتان متماثلتان - فسيتم تنفيذ التعليمات البرمجية الموجودة في الأقواس المعقوفة التالية. إذا لم يكن الأمر كذلك ، فسيتم تخطي هذه الخطوط.

وبالمثل ، يمكننا مقارنة الأعداد الصحيحة والعوامات ، ويمكننا اختبار لمعرفة ما إذا كان أحدهما أكبر من الآخر ، وما إلى ذلك. يمكننا حتى استخدام عبارات مختلفة مختلفة إذا كانت بعضها داخل دمى مثل الدمى الروسية. نحن نسمي هذه "ifs المتداخلة".

المره القادمة

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

في نهاية المطاف C # مع أدوات مثل الوحدة سوف تسمح لك لبناء ألعاب تعمل بكامل طاقتها!

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

في الدرس التالي ، ستكتشف كيفية إنشاء حلقات تتكرر بمرور الوقت ، وكذلك كيفية إنشاء فئات جديدة والتفاعل معها. اراك لاحقا!

في وقت سابق من اليوم، الحافة ذكرت أن التطبيق خدمة السيارات ذاتية القيادة Waymo متاح الآن في متجر Google Play. لم يكن التطبيق متاحًا من قبل إلا من خلال رابط خاص في رسائل البريد الإلكتروني الخاصة بالدعو...

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

مثير للاهتمام