انجمنهای فارسی اوبونتو
کمک و پشتیبانی => نصب، راهاندازی و بروزآوری => نویسنده: ddtannazdd در 05 مهر 1400، 06:17 بظ
-
سلام دوستان
برای ایجاد الگوریتم جدید توی Noxim دقیقا باید چیکار کرد چون من شبه کدی که توی مقالس کپی پیست میکنم کلی ارور میده ببخشید شاید سوالم مسخره باشه ولی من اولین باره میخوام اینکارو انجام بدم ممنون میشم راهنماییم کنید. (زبان Noxim هم که میدونین c++ هستش)
-
کدوم مقاله؟ نگفتید که کد رو از کجا برداشتید. کارهایی که کردید رو بگید. همینطور دستوراتی که وارد کردید رو هم قرار بدید.
خطا رو هم بفرستید اینجا. میتونید از ترمینال عکس بذارید، میتونید هم متن رو با ctrl + shift + c کپی کنید و بعد بفرستید به "سرویس pastebin" انجمن.
-
کدو از مقاله ی پایه که روش کار میکنم برداشتم.
و طبق راهنمای Noxim قسمت "ادد کردن الگوریتم جدید" پیش رفتم.
کد:
1 if Ax’s priority > Ay’s priority then
2 if Ax has free VC then
3 OutDir = x;
4 else if Ay has free VC then
5 OutDir = y;
6 else
7 OutDir = x;
8 else if Ax’s priority < Ay’s priority then
9 if Ay has free VC then
10 OutDir = y;
11 else if Ax has free VC then
12 OutDir = x;
13 else
14 OutDir = y;
15 else
16 if Ax and Ax both have free VC or Ax and Ax both don’t have free VC then
17 OutDir = random(x, y);
18 else if Ax has free VC then
19 OutDir = x;
20 else
21 OutDir = y;
22 return OutDir;
راهنمای نوکسیم برای ادد کردن الگوریتم:
Routing “PIZZA” in 6 Steps
به فهرست راهنمایnoxim/src/RoutingAlgorithms بروید و فایل های خود را از دیگر موارد موجود ایجاد کنید:
Routing_PIZZA.h و Routing_PIZZA.cpp را ویرایش کرده و هرگونه رخداد XY را با PIZZA جایگزین کنید.
منطق پیاده سازی PIZZA خود را درRouting_PIZZA.cpp قرار دهید:
power.yaml را برای قرار دادن هزینه توان ایستا و پویا در انجامPIZZA ویرایش کنید.
بهnoxim/bin بروید و با تایپ کردن ""make دوباره کامپایل کنید: توجه کنید که چگونه کد شما دوباره کامپایل می شود!
(PIZZA مثلا اسم الگوریتم جدیده)
ولی وقتی make میزنم از کد خیلی اراد میگیره. باید کدو توی نرم افزار خاصی مثلا sublime بنویسم بعد توی فایل های نوکسیم اضافه کنم؟ کلا برای نوشتن کد به زبان c++ باید چیکار کنم؟
-
کد
-
من هم noxim رو نصب کردم، همونطور که گفتید اون الگوریتم که اون پایین نوشتید رو وارد کردم و در آخر هم کلی خطا گرفتم.
اینکه اون خطاها ایجاد بشن، طبیعیه چون اون کدی که گذاشتید اصلا با سینتکس ++c جور در نمیاد. فکر کنم اون مقاله فقط الگوریتم رو گفته، احتمالا خودتون باید اون رو به کد ++c تبدیل کنید.
اگه میتونید، لینک اون مقاله رو هم اینجا بذارید.
برای ویرایشگر متن، میتونید از geany استفاده کنید. یه ویرایشگر متن سبکه. البته فکر نکنم اون قابلیت کامل کردن کد رو داشته باشه. اگه اوبونتو دارید، میتونید با این دستور نصبش کنید.
sudo apt install geany
بعد از اینکه دستور بالا رو زدید، رمز شما درخواست میشه، اون رو وارد کنید. دقت کنید که وقتی رمز رو وارد میکنید، چیزی نشون داده نمیشه.
اگر هم یه IDE میخواهید، code blocks و code lite هستند. هر دو رو میتونید از مخازن اوبونتو، از طریق apt نصب کنید.
code blocks رو میتونید اینجوری نصب کنید
sudo apt install codeblocks
code lite رو هم میتونید اینجوری نصب کنید.
sudo apt install codelite
البته vim/neovim و emacs هم هستند اما اگه بخواهید با اونها شروع کنید، یکم کار سخت میشه.
یه ویرایشگر متن گرافیکی هم به طور پیشفرض توی اوبونتو هست. فکر کنم اسمش توی منوی سیستم، edit یا write باشه. از عکسش مشخصه، ولی قابلیتهای زیادی نداره. بیشتر برای ویرایشهای کم به کار میاد. من ندیدم تا حالا با اون برنامه بنویسند.
-
gedit خیلی هم بد نیست میشه باهاش یه کارایی کرد ;)
-
خیلی ممنون از توضیحات شما دراگون عزیز
بله مثل اینکه باید این شبه کدها دوباره بازنویسی بشه.
ممنون در مورد معرفی نرم افزارها بسیار کاربردی بود.
-
خوب مشکل من هم همینجاس که این کدهارو چجوری به ++C بنویسم. چون من در حد چند پروژه ی دانشگاهی با ++C کار کردم. هیچ منبعی نیست که بشه این کدهرو استخراج و جایگذاری کرد؟
-
تصویری که فرستادید شبه کدی(Pseudo code) است که یک تابع را پیاده سازی کرده.
راه ساده اینه که بفهمید چه الگوریتمیه، قراره چه کاری انجام بده، اسمش چیه بعد جستجوی کنید برای "پیاده سازی ++C الگوریتم X"
احتمالا از این مقاله (https://www.mdpi.com/2072-666X/11/12/1034/pdf) استفاده کردید و الگوریتم مسیریابیه.