عضویت     ورود  درختان بارور خم می شوند و مردان بزرگ متواضع میگردند، اما شاخه های خشک و مردم نادان می شکنند وخم نمی شوند. یوستین گوردر يكشنبه، 1 مهر ماه ، 1397

کانال تلگرام


تبلیغات متنی


منوی سایت


جست و جو در بانك مقالات




مقالات جدید
تعداد شاخه ها: 30 عدد
تعداد مقالات: 758 عدد 1: آزمايشگاه الكترونيك - استاد محرري 
[دفعات مشاهده : 4957 بار]
 2: جزوه درس مخابرات 1 - دانشگاه فردوسي مشهد 
[دفعات مشاهده : 4955 بار]
 3: كتاب مهندسي تاسيسات / دكتر كلهر 
[دفعات مشاهده : 4911 بار]
 4: مجموع اعوجاج هارمونیک T.H.D 
[دفعات مشاهده : 4854 بار]
 5: كتاب "روش طراحي و تحليل مدارهاي الكترونيك" 
[دفعات مشاهده : 11328 بار]
 6: ادوات نوري 
[دفعات مشاهده : 4908 بار]
 7: كتاب اصول تلويزيون رنگي 
[دفعات مشاهده : 6496 بار]
 8: پروژه دزد گیر با سنسور تشخیص حرکت pir با قفل رمز الکترونیکی 
[دفعات مشاهده : 6105 بار]
 9: جزوه اندازه گیری الکتریکی 
[دفعات مشاهده : 5272 بار]
 10: سوالات کنکور کارشناسی ارشد 90 / گروه مهندسی برق 
[دفعات مشاهده : 7228 بار]
 11: آرشيو پروژه هاي 8051 
[دفعات مشاهده : 5989 بار]
 12: آرشيو پروژه هاي AVR‌ (ـ‌ 126 پروژه ) 
[دفعات مشاهده : 13698 بار]
 13: آموزش برنامه نويسي و كار با ماژول Sim300CZ با ميكروكنترلر AVR 
[دفعات مشاهده : 9996 بار]
 14: سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق 
[دفعات مشاهده : 7385 بار]
 15: ارتباط میکروهای PIC با کمک پروتکل سریال I2C و نکات تکمیلی ماژول MSSP 
[دفعات مشاهده : 5509 بار]
 16: ساعت تقویم با کمک میکروکنترلر PIC و DS1307 
[دفعات مشاهده : 6083 بار]
 17: تایمرهای چند زمانه ( ساعت مرکزی ) با میکرو PIC 
[دفعات مشاهده : 5528 بار]
 18: ساعت تقویم شمسی مجهز به آلارم روزانه و هفتگی 
[دفعات مشاهده : 6479 بار]
 19: صفحه کلید وقفه ای با میکروکنترلر PIC 
[دفعات مشاهده : 5197 بار]
 20: کرنومتر دیجیتال با میکروکنترلر PIC با قابلیت ثبت 3 زمان 
[دفعات مشاهده : 5325 بار]
 21: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HMTR + پروژه چت متنی بیسیم 
[دفعات مشاهده : 8139 بار]
 22: سنسورهای حرارت 
[دفعات مشاهده : 7466 بار]
 23: کنترل وسایل برقی از طریق خط تلفن با میکروکنترلر PIC 
[دفعات مشاهده : 7505 بار]
 24: ارتباط سریال UART بین دو میکروکنترلر PIC 
[دفعات مشاهده : 5784 بار]
 25: گزارش کار آموزی : ماشین های ابزار کنترل عددی CNC 
[دفعات مشاهده : 6089 بار]
 26: کنترل وسایل به کمک ماژول HM-TR و میکرو AVR 
[دفعات مشاهده : 8543 بار]
 27: طراحی و ساخت کنترل از راه دور 1 کانال با کمک ماژول های ASK و آی سی های سری PT 
[دفعات مشاهده : 7082 بار]
 28: مجموعه رفرنس های آموزشی میکروکنترلرهای سری dsPIC 
[دفعات مشاهده : 6537 بار]
 29: مجموعه پروژه های میکروکنترلر AVR با کامپایلر بسکام 
[دفعات مشاهده : 11666 بار]
 30: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HM-T و HM-R با میکرو AVR 
[دفعات مشاهده : 9551 بار]


آخرين مطالب ارسال شده
· روش طراحي و تحليل مدارهاي الكترونيك[ 1 نظر شما چيه؟ - 38931 مشاهده ]
· اصول تلويزيون رنگي[ 0 نظر شما چيه؟ - 17642 مشاهده ]
· نرم افزار DigSilent[ 2 نظر شما چيه؟ - 21022 مشاهده ]
· AVR Tech Lib 2011[ 1 نظر شما چيه؟ - 24533 مشاهده ]
· مجموعه كنفرانس هاي سالينه ميكروچيپ / سال 2009 /[ 2 نظر شما چيه؟ - 22255 مشاهده ]
· آموزش كار با ماژول SIM300CZ با ميكرو AVR[ 4 نظر شما چيه؟ - 24615 مشاهده ]
· مجموعه فيلم هاي آموزشي نرم افزار Altium Designer[ 0 نظر شما چيه؟ - 38213 مشاهده ]
·  سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق[ 0 نظر شما چيه؟ - 19499 مشاهده ]
· لينك دانلود مجله October 2010 / SERVO[ 0 نظر شما چيه؟ - 16723 مشاهده ]
· Catalog CA 01 (10/2009) / International version[ 0 نظر شما چيه؟ - 20771 مشاهده ]

[ موارد بیشتر در بخش اخبار و تازه ها ]


زبان
انتخاب زبان نمایش :



مطالب جديد
· 1: A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space
· 2: طراحي شبكه هاي توزيع با ملاحضات تلفات
· 3: نوسانات ولتاژ در شبکه توزیع و شبیه سازی دینامیکی از راه اندازی موتورهای القایی در شبکه
· 4: جداسازي چهره از غير چهره با استفاده از شبكه هاي عصبي
· 5: کاربرد شبکه های عصبی در عیب یابی سیستم های توزیع الکتریکی
· 6: DC SIDE HARMONIC REDUCTION IN HVDC CONVERTERS BY DIRECT RIPPLE REINJECTION
· 7: به کارگیری پیل سوختی در تولید انرژی الکتریکی با استفاده از روش بردارهای فضایی (SVM)
· 8: IEEE Std 960-1993-E
· 9: اثر كاركرد در دماي بالا بر ريزساختار سوپرآلياژ IN738LC و تأثير آن بر مقاومت به ضربه پره رديف اول
· 10: تطابق فرينههاي سيگنال هاي امضاهاي برخط به روش DTW براي حفظ تمايز بين امضاهاي اصلي و جعلي
· 11: Electric, Hybrid, and Fuel-Cell Vehicles:Architectures and Modeling
· 12: Redundancy and the Detection of First Failures
· 13: تحليل و برآورد ظرفيت ترانزيت در شبكه هاي انتقال به كمك الگوريتم هاي ژنتيك
· 14: AUTOMATIC REDUCTION OF WIND TUNNEL DATA
· 15: بهبود كيفيت توان شبكه توزيع انرژي الكتريكي قطارهاي برقي با استفاده از ساختارهاي مختلف فيلترهاي هيبري
· 16: Secure Web Based Single Sign-On (SSO) framework using Identity Based Encryption System
· 17: The Effect of Antenna Characteristics on Antenna Noise Temperature and System SNR
· 18: ReLOAD: Real Laboratories Operated at a Distance
· 19: اثر نويز فاز در سيستم هاي OFDM
· 20: IEEE Std 1473™2010

[ آخرين مقالات ]


ارسال مقاله به سايت

 



...::: Ir-Micro.Com :::... :: View topic - GOTO


GOTO
Goto page 1, 2  Next
 
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به PIC Printable Version
View previous topic :: View next topic  
Author Message
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: دوشنبه، 2 ارديبهشت ماه ، 1392 22:38:43 Reply with quote Scroll Down to Next postGo to last Post of Page

سلام به همه عزیزان
منظور از این مبحث اصلا معنی فارسی این واژه نیست به معنای برو ....
شوخی کردم ببخشید
همونطور که میدونیم هرچقدرکه از دستور goto استفاده نکنیم بهتره ، بنا به دلایل معلوم
حالا به نظر شما بهترین الگوریتم چیه که از این دستور استفاده نکنیم ؟

Back to top
View user's profile Send private message
mojtaba_mza
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Apr 21, 2008
Posts: 145




Location: tabriz
439482.88 امتیاز

Items

Status: Offline

PostPosted: دوشنبه، 2 ارديبهشت ماه ، 1392 22:48:40 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

استفاده از زیر برنامه یا توابع بهتره هر چند شاید خیلیا ترجیح بدن از همین goto استفاده کنن
برنامه نویسی یه کار کاملا سلیقه ای هس با الگوریتم شخصی هر نفر

Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: دوشنبه، 2 ارديبهشت ماه ، 1392 22:56:27 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

بله کاملا درسته
بخاطر همینه که برنامه نویس زیاده ولی فقط تعداد کمی موفق هستن
شما برنامه کوچیکی که اونجا goto رو حذف کردین ندارین ؟
این مبحث واسه اینه که چند تا الگو یاد بگیریم و اونارو با هم مقایسه کنیم

Back to top
View user's profile Send private message
hosein_roshan
کاربر فعال
کاربر فعال

Joined: Mar 08, 2010
Posts: 322




Location: qom
1207984.00 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 3 ارديبهشت ماه ، 1392 04:35:50 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

با سلام
راستش من هنوز جایی گیر نکردم که مجبور باشم دستورات goto رو حذف کنم یا استفاده نکنم
این دلایل مشخص چیه؟
ولی بستگی به شرایط هم داره
یا مثلآ میگن این قطعه برنامه رو با مثلآ 5 دستور بنویسید
یا مثلآ میگن فلان مدار رو مثلآ با کمتر از 5 گیت ببندید
بازم اینا منطقی تره چون ممکنه حافظه فلش جا نداشته باشه یا تعداد گیت های موجود کم باشه یا برای خرید دسترسی نداشته باشیم
اما عدم استفاده از دستور goto من نمیدونم دقیقآ چه دلیلی داره!!!


__________________
در پشت سر هر مرد موفق سالها شكست قرار گرفته. باب براون
Back to top
View user's profile Send private message
mojtaba_mza
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Apr 21, 2008
Posts: 145




Location: tabriz
439482.88 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 3 ارديبهشت ماه ، 1392 13:36:38 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

دلیلی واسه حذف goto نیست
اگه این دستور ضعفی داشت تو زبان c جایی نداشت و خیلی جاها نمیشه نا دیده گرفتش
و اونی که زبان c رو نوشته باید نظر بده که این دستور ایرادش چیه نه منو شما
چون خیلیا دوس دارن برنامشون پیچیده به نظر بیاد زیاد از این استفاده نمیکنن من خودم دوس ندارم برنامه ای که مینویسم به راحتی قابل فهم با یه نگاه باشه واسه همین تا میتونم ادا اطوار در میارم جوری که بعد چن وقت خودمم نمیتونم بفهمم چرا بعضی چیزارو نوشتم

Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
steghlalt
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Apr 05, 2009
Posts: 67





801979.98 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 3 ارديبهشت ماه ، 1392 14:15:13 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

با استفاده از دستور goto می‌توان کنترل برنامه را به خط مشخصی از برنامه منتقل نمود . برچسب‌ها می‌توانند عدد صحیح در محدوده 0 تا 9999 و یا یک شناسه باشد .

یکی از مشکلاتی که این دستور ایجاد می کرد در فهم و درک برنامه توسط افراد بود، چرا که جریان اجرای برنامه مرتبا دچار تغییر جهت شده و دنبال کردن آن دشوار می‌گردید.
لذا نوشتن برنامه‌ها عملی بسیار زمان بر و پرهزینه شده بود و معمولاً اشکال زدایی، اعمال تغییرات و گسترش برنامه‌ها بسیار مشکل بود. فعالیتهای پژوهشی باعث بوجود آمدن سبک جدیدی از برنامه نویسی بنام روش ساخت‌یافته گردید؛ روش منظمی که باعث ایجاد برنامه‌هایی کاملاً واضح و خوانا گردید که اشکال‌زدایی و خطایابی آنها نیز بسیار ساده‌تر بود.
اصلی‌ترین نکته در این روش عدم استفاده از دستور پرش (goto) است. تحقیقات بوهم و ژاکوپینی نشان داد که می‌توان هر برنامه‌ای را بدون دستور پرش و فقط با استفاده از ۳ ساختار کنترلی ترتیب، انتخاب و تکرار نوشت.

goto دستوری قدیمی و منسوخ شده است ودر C همچنان هست نه به این دلیل که مشکل نداره چون برنامه های قدیمی و افرادی که به روز نیستند و از این دستور هنوز استفاده می کنند را پشتیبانی کند


__________________
زندگی را نفسی ارزش غم خوردن نیست
ودلم بس تنگ است .
بی خیالی سپر هر درد است
بازهم می خندم
آنقدر می خندم که غم از رو برود
Back to top
View user's profile Send private message
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 3 ارديبهشت ماه ، 1392 22:29:10 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

ممنون از استقلال عزیز
شما همه چیز رو گفتین فقط یه قسمت مونده و اونم خیلی مهم هستش که شما به اون اشاره نکردین اینه که باعث کارکرد زیاد CPU و کم شدن سرعت پاسخ گویی و پرشدن حافظه میشید
واسه اینه که دستور goto منسوخ شده است ولی به هر حال توی زبان c و یا هر زبان دیگه ای هست .
شما یه برنامه مثلا 200 خطی مینویسین و توی خط 150 یه goto مینویسید ، حالا برنامه باید دنبال
lable بگرده ، چی میشه ؟
مجبوره تمام برنامه رو از اول تریس کنه و خط به خط اجراکنه تا اونو پیداکنه و این یعنی چی ؟ خودتون
تصور کنید چی میشه .

Back to top
View user's profile Send private message
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 3 ارديبهشت ماه ، 1392 22:34:02 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

استادان عزیز میشه یه کم مارو راهنمایی کنید و ایرادهامون رو به ما بگید ؟
بهترین الگوریتم واسه این برنامه چیه تا goto رو حذف کنیم ؟


(;;)for
}
if (left==1) goto lable1
if (right==1) goto lable2
if (up==1) goto lable3
if (down==1) goto lable4
{

Back to top
View user's profile Send private message
steghlalt
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Apr 05, 2009
Posts: 67





801979.98 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 4 ارديبهشت ماه ، 1392 13:59:09 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

dani-micro wrote:
ممنون از استقلال عزیز
شما همه چیز رو گفتین فقط یه قسمت مونده و اونم خیلی مهم هستش که شما به اون اشاره نکردین اینه که باعث کارکرد زیاد CPU و کم شدن سرعت پاسخ گویی و پرشدن حافظه میشید
واسه اینه که دستور goto منسوخ شده است ولی به هر حال توی زبان c و یا هر زبان دیگه ای هست .
شما یه برنامه مثلا 200 خطی مینویسین و توی خط 150 یه goto مینویسید ، حالا برنامه باید دنبال
lable بگرده ، چی میشه ؟
مجبوره تمام برنامه رو از اول تریس کنه و خط به خط اجراکنه تا اونو پیداکنه و این یعنی چی ؟ خودتون
تصور کنید چی میشه .


با سلام و تشکر
بله کاملا درسته
فرصت نداشتم و یکی از مشکلاتش که اولین مشکلش در اکثر منابع گفته شده رو بیان کردم و قرار بود فرصت کردم هر دفعه یک مشکل رو بیان کنم
بازم ممنون که شما اینکارو انجام دادید
تا دوستان متوجه بشن چرا یک برنامه نویس حرفه ای نبایداز این دستور استفاده کنه


__________________
زندگی را نفسی ارزش غم خوردن نیست
ودلم بس تنگ است .
بی خیالی سپر هر درد است
بازهم می خندم
آنقدر می خندم که غم از رو برود
Back to top
View user's profile Send private message
steghlalt
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Apr 05, 2009
Posts: 67





801979.98 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 4 ارديبهشت ماه ، 1392 14:05:41 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

اولین چیزی که به ذهنم من تو این فرصت کوتاه می رسه فراخوانی تابع هست
یعنی هر کدام از شرایط که برقرار شد تابعی فراخوانی شه البته بهتره اگه دستورات داخل شرط زیاده این کار انجام بشه نه بخاطر 2 خط 5 خط کد بنویسیم و خودمون و بقیه رو گیج تر کنیم


__________________
زندگی را نفسی ارزش غم خوردن نیست
ودلم بس تنگ است .
بی خیالی سپر هر درد است
بازهم می خندم
آنقدر می خندم که غم از رو برود
Back to top
View user's profile Send private message
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 4 ارديبهشت ماه ، 1392 18:30:48 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام

برنامه نویسی تون رو ساخت یافته کنید.

مبحث "طراحی الگوریتم" بسیار مهم و برخلاف نظر دانشجویان بسیار هم کاربردی است.
مطالعه کنید.

زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: پنجشنبه، 5 ارديبهشت ماه ، 1392 00:21:16 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

با سلام و ممنون از شما استقلال عزیز
منظور من 5 یا 6 خط نیست بصورت کلی بیان میکنم
بله باید هر کدوم یه تابع رو فراخوانی کنند
و ممنون از آقا صالح
چند روز بود نبودین اینجا یکم سوت و کور بود کمک های شما خیلی مهمه
نه اینکه به بقیه بی احترامی کنما .
آقا صالح به نظر شما سوال من خیلی ساده است که بقیه شرکت نمی کنن ؟
اگه از تابع استفاده نکنیم الگوی دیگه ای میشه استفاده کرد ؟
بعد از اینکه به تابع مورد نظر رفت و اون تابع اجرا شد دوباره چطور به این حلقه برگردیم ؟
لطفا هرکی هرچی که به ذهنش میرسه بگه ، هر نظری میتونه یه الگوی خوبی باشه
ممنون از دوستان عزیز

Back to top
View user's profile Send private message
steghlalt
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Apr 05, 2009
Posts: 67





801979.98 امتیاز

Items

Status: Offline

PostPosted: پنجشنبه، 5 ارديبهشت ماه ، 1392 07:41:41 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
بعد از اینکه تابع مورد نظر اجرا بشه خودش به محل فراخوانی برمی گرده دیگه

فکر کنم زمان امتحانات هست و با این فشرده سازی کلاسها دوستان کمتر فرصت دارن بیان به سایت واسه همین خلوته....

آقا صالح هم که اینقدر سرش شلوغه (من از طرف ایشون می گم چون شاید امروز و فردا رو هم نتونه بیاد ) که فرصت نمی کنه و الا خیلی دوست داره بیشتر به سایت سر بزنه و کوچکترین فرصتی که می کنه میاد و تو همون زمان کوتاه سعی می کنه حضور خوبی داشته باشه


__________________
زندگی را نفسی ارزش غم خوردن نیست
ودلم بس تنگ است .
بی خیالی سپر هر درد است
بازهم می خندم
آنقدر می خندم که غم از رو برود
Back to top
View user's profile Send private message
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: جمعه، 6 ارديبهشت ماه ، 1392 20:37:04 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
ببخشید دیر کردم .
از پنجشنبه صبح تا جمعه صبح یکسره تعمیرگاه بودم!
چهارشنبه صبح هم رفتم واسه تعویض گواهینامه و بعدش هم تا شب دانشگاه بودم!
.
.
.
نه عزیزم هیچ وقت از پرسیدن و از چیزی که هستی ناراحت نشو.
همه ی دنیا می دونن من بیسیک بلد نیستم! این ناراحتی نداره.
سوالات ساده هم توی تاریخ علمی جهان مشکلات پیچیده ای رو پاسخ دادند.
ببین افتادن یه سیب چه کرد؟ ....

راستش خیلی کارا میشه کرد.
اگه بخوای سرعت برنامه زیاد باشه ( به قیمت افزایش حجم کد) میشه توی همون IF کد رو نوشت و حتی میشه تابع inline نوشت که عملا همون میشه ولی برنامه نویسیت خوانا میشه.
میشه از سویچ کیس استفاده کرد.
میشه توابع پارامتریک نوشت که با آرگومون های مختلف عملیات مختلف انجام بده.

این به مغز شما بستگی داره. و این رو هم بگم که الگوریتم شما تفکر شما رو روشن می کنه.

زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: شنبه، 7 ارديبهشت ماه ، 1392 17:58:19 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
ممنون از استقلال عزیز ، بله درسته ولی فکرکنم منظورتون این بود که تابع یک مقدار برمیگردونه یا
برنمیگردونه ، ولی به هرحال به برنامه برمیگرده
ممنون از آقا صالح ،
بازم شما ها حداقل یه جوابی میدین ، بقیه فقط نگاه میکنن .
میشه یه تابع inline واسه این برنامه بنویسین ؟
میخواهیم با تابعی که استقلال گفتن مقایسه کنیم ، البته اگه مقدور باشه .
کتاب طراحی الگوریتم ( با شبه کدها++c) ریچارد نیپولیتان ترجمه : جعفرنژاد قمی رو گرفتم ، خوبه
یا نه ؟
ممنون از همه
یا علی

Back to top
View user's profile Send private message
steghlalt
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Apr 05, 2009
Posts: 67





801979.98 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 8 ارديبهشت ماه ، 1392 05:02:13 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

dani-micro wrote:

بعد از اینکه به تابع مورد نظر رفت و اون تابع اجرا شد دوباره چطور به این حلقه برگردیم ؟


من در جواب این سوالتون گفتم گفتین چطور .... گفتم تابع بعد اجرا به مکان فراخوانیش برمی گرده دیگه
البته اون که گفتین درسه که مقدار.... ولی من جواب این سوال رو دادم
باتشکر


__________________
زندگی را نفسی ارزش غم خوردن نیست
ودلم بس تنگ است .
بی خیالی سپر هر درد است
بازهم می خندم
آنقدر می خندم که غم از رو برود
Back to top
View user's profile Send private message
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 8 ارديبهشت ماه ، 1392 17:29:57 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
ممنون از استقلال عزیز ، از شما ایراد نگرفتم ، شما درست گفتین
به این مثال توجه کنین :

;j=0
:lable
;statements
;++j
;if(j<10) goto lable
---------------------------
;(++for(i=0;i<10;i
}
;statments
{
--------------------------

هر جفتشون یه حلقه هستن ، به نظر شما تفاوت این دو چیه ؟
قابل توجه آقا مجتبی که میگن چه لزومی داره goto رو حذف کنیم !
یا علی

Back to top
View user's profile Send private message
steghlalt
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Apr 05, 2009
Posts: 67





801979.98 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 8 ارديبهشت ماه ، 1392 20:14:09 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

گفتن باید goto باشه و دیگه حضورشون دیده نمی شه؟!!؟!

__________________
زندگی را نفسی ارزش غم خوردن نیست
ودلم بس تنگ است .
بی خیالی سپر هر درد است
بازهم می خندم
آنقدر می خندم که غم از رو برود
Back to top
View user's profile Send private message
scienceaddict
کاربر تازه وارد
کاربر تازه وارد

Joined: Jan 25, 2013
Posts: 3





18132.00 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 10 ارديبهشت ماه ، 1392 12:46:59 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

dani-micro wrote:
سلام
ممنون از استقلال عزیز ، از شما ایراد نگرفتم ، شما درست گفتین
به این مثال توجه کنین :

;j=0
:lable
;statements
;++j
;if(j<10) goto lable
---------------------------
;(++for(i=0;i<10;i
}
;statments
{
--------------------------

هر جفتشون یه حلقه هستن ، به نظر شما تفاوت این دو چیه ؟
قابل توجه آقا مجتبی که میگن چه لزومی داره goto رو حذف کنیم !
یا علی

سلام دوستان
ببخشید من هم وارد بحثتون شدم
بنظر من بهتره که از GOTO کمتر استفاده بشه چون دوماشین سایکل طول میکشه ، اما PIC18 ها دستوری دارن بنام BRA ، یا Branch که برای پرش های کوتاهه و فقط یه ماشین سایکله
اول یادم رفت بگم من PIC رو اسمبلی یاد گرفتم و اسمبلی هم مینویسم ،دوست عزیز این دوتا برنامه ای که نوشتید ، تو سی شما GOTO رو تو حلقه ی For نمیبینید ، باید در باره خروجی اسمبلی کامپایلرتون قضاوت کنید ، این دوتا رو اینطور میشه نوشت
MOVLW 0x09
MOVWF J
CLRF I
CALL STATEMENT
INCF I
MOVF I,W
XORWF J,W
BTFSS STATUS,Z
GOTO $-5
بالاخره باید GOTO باشه که حلقه ادامه داشته باشه
همه چیز بستگی به کامپایلر داره که چه خروجی ای میده
و اما اگه ما به جای GOTO خیلی از دستور CALL استفاده کنیم ، ممکنه با مشکل STACK OVERFLOW مواجه شیم که اونوقت دیگه معلوم نیست کدوم قسمت برنامه تو کلاک بعدی اجرا میشه ، تو برنامه نویسی سطح بالا مسئولیت استک با کامپایلره و کامپایلر باید مراقب باشه که استک پر نشه ، پس قطعا یه هزینه ای داره باید خروجی اسمبلیشو دید
اگه شما بتونید خروجی اسمبلی همین حلقه ای که نوشتید رو بذارید خیلی عالی میشه

Good Luck

Back to top
View user's profile Send private message
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 11 ارديبهشت ماه ، 1392 00:59:53 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام به همگی
خیلی خوب کاری کردین که وارد بحث شدین ، کلا هدف من این بود که همه بیان و شرکت کنند توی این بحث .
خیلی خوبه که اسمبلی مینویسید کار عالیه ولی :
وقتی شما اسمبلی مینویسید باید به رجیسترها ، استک ها ، بیت های پرچم ، مقدار حافظه اشغال شده و خیلی چیزای دیگه توجه کنی ، توی این زمان باید مراحل الگوریتم خودتون رو هم رعایت کنید که از اون فاصله نگیرید و بعد ازاون اگه خطایی کنید پیداکردنش خیلی سخته و دردسرهای دیگه...
تازه زبان اسمبلی هر میکروکنترلر یا کامپیوتر تابع ساختار سخت افزاری و پروسسور همون میکرو یا کامپیوتره و نتیجه زبان اسمبلی میکروها با هم فرق میکنه و اینطوری شما فقط یک نوع از میکروهارو میتونین کار کنین و البته نتیجه این همه سختی هم یه سری مزایای خودشو داره
ولی با یک زبان سطح بالا شما فقط کافیه به الگریتمتون فکر کنید و بقیه تفکر رو بدین دست کامپایلر
شرمنده ، من اسمبلی خوب بلد نیستم و این یه نقطه ضعفه Crying or Very sad
توی C ما توی حلقه( for یا while یا ...) میتونیم goto بنویسیم ، اون برنامه یه حلقه بینهایته و برای خارج شدن از حلقه میشه از goto یا break استفاده کنیم .
خوبه که هردو شون رو توی برنامه استفاده کنیم (سی و اسمبلی)
بعضی وقتا ترکیب زبان اسمبلی با سی اجتناب ناپذیره ، مثلا تاخیر بسیار دقیق رو میشه بوسیله عبارات اسمبلی ایجادکرد و...
دوستان نظر خودشون رو بدن و ایرادهای منو اصلاح کنن
یا علی

Back to top
View user's profile Send private message
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2582




Location: مشهد
3049681.20 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 11 ارديبهشت ماه ، 1392 17:11:11 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام

Quote:
خیلی خوب کاری کردین که وارد بحث شدین ، کلا هدف من این بود که همه بیان و شرکت کنند توی این بحث .


دیگه وقتشه که دنی جان رو مدیر کنیم !! Laughing

من کاملا با دوست خوبمون scienceaddict موافقم.
خوب شما برای بای پس کردن تنبلیتون می تونید بعد از کامپایل کردن برنامه ، فایل اسمبلی برنامه رو ادیت کنید.

زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
scienceaddict
کاربر تازه وارد
کاربر تازه وارد

Joined: Jan 25, 2013
Posts: 3





18132.00 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 11 ارديبهشت ماه ، 1392 18:47:16 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

dani-micro wrote:
سلام به همگی
خیلی خوب کاری کردین که وارد بحث شدین ، کلا هدف من این بود که همه بیان و شرکت کنند توی این بحث .
خیلی خوبه که اسمبلی مینویسید کار عالیه ولی :
وقتی شما اسمبلی مینویسید باید به رجیسترها ، استک ها ، بیت های پرچم ، مقدار حافظه اشغال شده و خیلی چیزای دیگه توجه کنی ، توی این زمان باید مراحل الگوریتم خودتون رو هم رعایت کنید که از اون فاصله نگیرید و بعد ازاون اگه خطایی کنید پیداکردنش خیلی سخته و دردسرهای دیگه...
تازه زبان اسمبلی هر میکروکنترلر یا کامپیوتر تابع ساختار سخت افزاری و پروسسور همون میکرو یا کامپیوتره و نتیجه زبان اسمبلی میکروها با هم فرق میکنه و اینطوری شما فقط یک نوع از میکروهارو میتونین کار کنین و البته نتیجه این همه سختی هم یه سری مزایای خودشو داره
ولی با یک زبان سطح بالا شما فقط کافیه به الگریتمتون فکر کنید و بقیه تفکر رو بدین دست کامپایلر
شرمنده ، من اسمبلی خوب بلد نیستم و این یه نقطه ضعفه Crying or Very sad
توی C ما توی حلقه( for یا while یا ...) میتونیم goto بنویسیم ، اون برنامه یه حلقه بینهایته و برای خارج شدن از حلقه میشه از goto یا break استفاده کنیم .
خوبه که هردو شون رو توی برنامه استفاده کنیم (سی و اسمبلی)
بعضی وقتا ترکیب زبان اسمبلی با سی اجتناب ناپذیره ، مثلا تاخیر بسیار دقیق رو میشه بوسیله عبارات اسمبلی ایجادکرد و...
دوستان نظر خودشون رو بدن و ایرادهای منو اصلاح کنن
یا علی

سلام دوست عزیز ، خیلی ممنون
بله قبول دارم تو اسمبلی نوشتن باید حواست به همه جا باشه ، باید ریز به ریز رو دقت کرد ، ولی ، مخالفم که همه میگن عیب یابی اش سخته ، اتفاقا خیلی هم راحته ، اره من برنامه ای که مینویسم اگه دفعه اول کار نکنه ، دقیقا میرم بالای سر همون قسمت و اون کاری که باید رو انجام میدم ، پس عیب یابی برنامه راحته ، اما قبول دارم سخت میشه که هم رو الگوریتم فکر کرد و هم رو بیت به بیت
بله ، هر شرکت یک سری دستور داره واسه خودش تو اسمبلی ، و من اگه یکی رو یاد بگیرم ، برای بقیه باید برم دیتاشیت های همونو بخونم اما تو سی ، حلفه ی for همیشه یه شکله ، هر جا باشه ، اما من به اسمبلی معتاد شدم Laughing ، اما من اول اسمبلی AVR مینوشتم ، مهاجرتم به PIC در عرض یک ماه طول کشید ، این بدترین مهاجرت بود چون من تو AVR با صد و سی و چند دستور مینوشتم ولی تو PIC16 ها با سی و چهار پنج دستور ، دست و بال بسیار بسته بود ، اما مهاجرت یک ماه بیشتر طول نکشید ، لذت بخشه
من سوالم این بود که برای بیرون اومدن از یه حلقه بالاخره باید یه goto یه jmp یه rjmp باشه ، من سعی میکنم خروجی اسمبلی یه کامپایلر رو که فقط یه حلقه داره رو گیر بیارم
دوباره برمیگردیم

Good Luck
ویرایش:
یادم رفت ، لینک پایین منو قانع کرد که اسمبلی بنویسم ، AVR هم از همین سایت یاد گرفتم


خط دوم جدول قسمت Why learn assembler language?

Back to top
View user's profile Send private message
salmon
کاربر فعال
کاربر فعال

Joined: Mar 12, 2012
Posts: 325




Location: پشت کامپیوتر
1151804.00 امتیاز

Items

Status: Offline

PostPosted: پنجشنبه، 12 ارديبهشت ماه ، 1392 23:35:01 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام dani-micro
درسته که استفاده کمتر از کد ماکارانی (goto) باعث کاهش خطا و ساده تر شدن برنامه میشه ولی چی کار میشه کرد بعضی جاها لازمه دیگه نه
به جاش ثابت شده که مشکلات ومسائل ریاضی با (if-then-else) حل میشه اینم از روش جای گزین
حالا کلک این همه آدم رو سرکار گذاشتی بگو ببینم کمپیوتر اینجینیر عزیز ، گرایشت چیه سخت افزاری یا نرم افزار ؟


__________________
در هیاهوی زندگی دریافتم چه دویدن هایی که فقط پاهایم را از من گرفت در حالی که گویی ایستاده بودم و چه غصه هایی که سپیدی موهایم را حاصل شد در حالی
Back to top
View user's profile Send private message Send e-mail
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: شنبه، 14 ارديبهشت ماه ، 1392 20:09:03 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

saleh_chz wrote:
سلام

Quote:
خیلی خوب کاری کردین که وارد بحث شدین ، کلا هدف من این بود که همه بیان و شرکت کنند توی این بحث .


دیگه وقتشه که دنی جان رو مدیر کنیم !! Laughing

من کاملا با دوست خوبمون scienceaddict موافقم.
خوب شما برای بای پس کردن تنبلیتون می تونید بعد از کامپایل کردن برنامه ، فایل اسمبلی برنامه رو ادیت کنید.

زنده باد

مدیراش که میرن و هفتگی سر میزنن و توی سایت سه چهار نفر فقط چیز مینویسن ، فکر میکنید بهتر ازین میشه ؟
در ضمن نگید که من اگه برنامه رو کامپایل میکردم و اسمبلی اونو توی سایت میزاشتم
کسی نمی فهمید !
صداقت کجایی که یادت بخیر Rolling Eyes

Back to top
View user's profile Send private message
dani-micro
کاربر فعال
کاربر فعال

Joined: Sep 27, 2012
Posts: 201




Location: Tehran
770464.00 امتیاز

Items

Status: Offline

PostPosted: شنبه، 14 ارديبهشت ماه ، 1392 20:27:16 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

salmon wrote:
سلام dani-micro
درسته که استفاده کمتر از کد ماکارانی (goto) باعث کاهش خطا و ساده تر شدن برنامه میشه ولی چی کار میشه کرد بعضی جاها لازمه دیگه نه
به جاش ثابت شده که مشکلات ومسائل ریاضی با (if-then-else) حل میشه اینم از روش جای گزین
حالا کلک این همه آدم رو سرکار گذاشتی بگو ببینم کمپیوتر اینجینیر عزیز ، گرایشت چیه سخت افزاری یا نرم افزار ؟

تمام هدف من اینه که توی همین کدهایی که استفاده میکنیم بهترین الگوریتم رو بکار ببریم .
کسی رو سر کار نذاشتم ، فقط اینجا کمترکسی نوع تفکر خودشو بروز میده ،
مثلا همین if-then-else دستورهای شرطی که زمان بره و بجاش سعی میکنن از switch استفاده کنن
ولی توی بیشتر مواقع باید از همین if-then-else استفاده کرد ، پس ما نمیایم بگیم این دستور بدرد
نمی خوره از یه جایگزین استفاده کنیم .
حالا هی بخندین .
(فقط فقط سخت افزار )

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به PIC All times are GMT + 3.5 Hours
Goto page 1, 2  Next
Page 1 of 2
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

 
 Jump to:   

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts کاربرانی که با دانلود کردن فایلها از سایت مشکل دارند بخوانند 92 Hamed 109596 چهارشنبه، 15 شهريور ماه ، 1391 12:01:25
mohamad_mousavi69 View latest post
No new posts نحوی نمونه برداری از آمپر ac بدون استفاده از ct 8 monjezy 15304 شنبه، 20 اسفند ماه ، 1390 22:55:17
exact-zero View latest post
No new posts مشكل استفاده از وقفه خارجي 41 arvinfx 37241 جمعه، 6 فروردين ماه ، 1389 15:55:00
Morteza_rk View latest post
 


Powered by phpBB © 2001, 2008 phpBB Group

Ported to Platinum 7.6.b.4 V2 by sadeghkhafan

فروشگاه تخصصی برق و الکترونیک ایران میکرو
www.iran-micro.com
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL.
Powered by Platinum 7.6.b.4 v2
Powered by Platinum 7.6.b.4 v2 Persian

مدت زمان ایجاد صفحه : 0.35 ثانیه