اذهب إلى المحتوى
  • 0

كيفية كتابة الخوارزميات؟

yousef ahmed faez

السؤال

Recommended Posts

  • 0

مرحبًا،

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

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

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

الأمر يختلف من مشروع لآخر و لكن هذه هي الفكرة العامة. في حال كان سؤالك عن شيء محدد من فضلك اذكره حتى يمكنني مساعدتك بشكل أدق.

تحياتي.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

يمكنك أن تقرأ هذه المقالات و التي ستساعدك كثيرا:

 

 

 

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

وعليكم السلام ورحمة الله وبركاته .

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

أما بخصوص كتابة الخوارميات فهي بالطبع ستجد صعوبة في بداية الأمر حيث أن كتابة الخوارزميات تعتمد بشكل أساسى على عدة أمور أهمها هي في طريقة تفكيرك لحل أى مشاكل حيث يوجد العديد من المواقع للتدريب وتقوية المستوى فى حل المشاكل (problem solving) ومن أهم تلك المواقع هو leetcode . ويمكنك قراءة الأجوبة التالية لمزيد من التفاصيل حول حل المشاكل :

 

 

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

وأخيرا لا تقلق كل شئ سيأتي مع التدريب و الخبرة ومع حل المشكلات وكتابة والتمرين على كثير من الأسئلة .

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

مرحباً أحمد ,

كتابة الخوارزمية لحل مشكلة برمجية ( او مشروع ) هي خطوات حل هذه المشكلة . لكن كيف يمكننا اكتشاف هذه الخطوات او هذه الخوارزمية ؟!.

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

مثلاً تريد كتابة خوارزمية لبناء برنامج يقوم بحساب المتوسط الحسابي لمجموعة أعداد يحددها المستخدم , فسوف تكون الخطوات كالتالي :

  • أولاً نحدد عدد الأرقام التي نريدها ولتكن 5
  • ثانياً نقوم بحفظ الأرقام التي نسمعها من المستخدم في الذاكرة.
  • ثالثاً نقوم بجمع هذه الأرقام ونحفظه في الذاكرة.
  • رابعاً نقوم بتقسيم ناتج الجمع على عدد الأرقام .
  • أخيراً نقوم بإخبار المستخدم بالناتج.

بعد كتابة الخوارزمية , الأن نقوم بتحويل الخطوات إلى برمجة .

سوف تجد أيضاً شرح مفصل أخر في هذا التعليق :

 

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

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

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

1- حدد المشكلة، ما الذي تريد من برنامجك أن يفعله بالضبط؟

إجابتك مثلاً أريد برنامج يحسب مساحة الدائرة.

2- حدد المُدخلات، ما هي المعلومات التي يحتاجها البرنامج من المستخدم؟

يحتاج البرنامج إلى معرفة نصف قطر الدائرة.

3- حدد العمليات، ما هي العمليات الحسابية أو المنطقية التي يجب على البرنامج تنفيذها؟

 يجب على البرنامج ضرب نصف القطر في نفسه ثم ضرب الناتج في π (باي).

4- حدد المُخرجات، ما هي النتيجة التي يجب على البرنامج عرضها؟

يجب على البرنامج عرض مساحة الدائرة.

لذا الخوارزمية بشكل مختصر ستكون كالتالي:

  • قراءة  قيمة نصف القطر من المستخدم.
  • ضرب نصف القطر في نفسه.
  • ضرب الناتج في 3.14 (قيمة π).
  • عرض الناتج على أنه مساحة الدائرة.

وبداخل كل نقطة تستطيع التفصيل.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...