PDA

نسخه کامل مشاهده نسخه کامل : تبدیل رشته به دستور!!!



masood hashemy
03-09-2010, 23:55
با سلام
ببخشید من یک رشته مثل زیر دارم:
s=1+2(3^7)/10
میخوام ببینم با دسنور یا تکنیک خاصی، حاصل جمله بالا چند میشود و حاصلش را در متغیر A بریزم؟

با تشکر

alidata2010
04-09-2010, 00:04
اگه s یه متغیره میتونی منهای 48 کنی یا یه صفر ازش کم کنی تا از حالت رشته خارج بشه



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

masood hashemy
04-09-2010, 00:38
الان دقیقا نمیدونم عملی جواب میده یا نه چون الان قابل تست نیست
در واقع میخوام ماشین حساب بسازم
( s یک متغیر رشته ای هست)
من اعداد و پرانتز تایپ میکنم و هر چی تایپ کردم تبدیل به رشته میکنم و میرزمش داخل s و در آخر این رشته رو با چیزی که شما گفتید حاصلش رو حساب میکنم
والا چی بگم من رشته الکترونیکم و خیلی زبان سی بلد نیستم و حتی 2 تا کتاب سی رو هم خوندم ولی حتی این چیز ساده ه ای که شما گفتید توی عمرم یکبار هم ندیدم!
متاسفانه بارها خواستم سی رو حرفه ای یاد بگیرم اما اکثر کتابهای بازار شبیه هم و یا خیلی ساده و یا خیلی سنگین و بدرد نخور.
من یک چیزی میخوام کاربردی باشه
ما این زبان سی رو در میکروکنترلرها استفاده میکنم!

masood hashemy
04-09-2010, 00:38
الان دقیقا نمیدونم عملی جواب میده یا نه چون الان قابل تست نیست
در واقع میخوام ماشین حساب بسازم
( s یک متغیر رشته ای هست)
من اعداد و پرانتز تایپ میکنم و هر چی تایپ کردم تبدیل به رشته میکنم و میرزمش داخل s و در آخر این رشته رو با چیزی که شما گفتید حاصلش رو حساب میکنم
والا چی بگم من رشته الکترونیکم و خیلی زبان سی بلد نیستم و حتی 2 تا کتاب سی رو هم خوندم ولی حتی این چیز ساده ه ای که شما گفتید توی عمرم یکبار هم ندیدم!
متاسفانه بارها خواستم سی رو حرفه ای یاد بگیرم اما اکثر کتابهای بازار شبیه هم و یا خیلی ساده و یا خیلی سنگین و بدرد نخور.
من یک چیزی میخوام کاربردی باشه
ما این زبان سی رو در میکروکنترلرها استفاده میکنم!

alidata2010
04-09-2010, 03:09
شما اموزش زبان c اقای ابریشمی رو بخون خیلی روون و قابل فهم مفاهیم پایه ای c رو توضیح داده

masood hashemy
04-09-2010, 07:37
ببخشید با این دستوری که شما گفتید مشکل من حله؟

alidata2010
04-09-2010, 17:58
توی c توان نداریم باید براش یه تابع بنویسی تا حاصلشو بدست بیاری قبل از پرانتز هم باید ضربدر بزاری

Mehran NZ
05-09-2010, 11:13
الان دقیقا نمیدونم عملی جواب میده یا نه چون الان قابل تست نیست
در واقع میخوام ماشین حساب بسازم
( s یک متغیر رشته ای هست)
من اعداد و پرانتز تایپ میکنم و هر چی تایپ کردم تبدیل به رشته میکنم و میرزمش داخل s و در آخر این رشته رو با چیزی که شما گفتید حاصلش رو حساب میکنم
والا چی بگم من رشته الکترونیکم و خیلی زبان سی بلد نیستم و حتی 2 تا کتاب سی رو هم خوندم ولی حتی این چیز ساده ه ای که شما گفتید توی عمرم یکبار هم ندیدم!
متاسفانه بارها خواستم سی رو حرفه ای یاد بگیرم اما اکثر کتابهای بازار شبیه هم و یا خیلی ساده و یا خیلی سنگین و بدرد نخور.
من یک چیزی میخوام کاربردی باشه
ما این زبان سی رو در میکروکنترلرها استفاده میکنم!
دوست عزیز برای همچین عباراتی شما دو تا راه داری
1-اینکه اینها رو به عبارات لهستانی تبدیل کنی و بعد جواب و از طریق پشته بدست بیاری(برای ایجادش کتابهای ساختمان داده باید بخونی)
2-راه قانونی تر اینکهع یک عدد lexical analyzer و پارسر -در واقع یه کامپایلر کوچیک-درست کنی( برای ایجادش کتابهای طراحی کامپایلر باید بخونی)
و اینطور که از پستهای شما پیداست انجام هیچ کدوم از اینا کار شما نیست(کتاب جناب ابریشمی رو هم بخونی نمی تونی اینا رو بنویسی لول) شما کلن یه ماشین حساب ساده درست کن و ماشین حساب پیشرفته رو بذار بعهده مهندسای کامپیوتر بدور از شوخی دارم می گم وقت با ارزشت و بذار رو رشته خودت لول

masiha1900
05-09-2010, 14:27
دوست عزیز برای همچین عباراتی شما دو تا راه داری
1-اینکه اینها رو به عبارات لهستانی تبدیل کنی و بعد جواب و از طریق پشته بدست بیاری(برای ایجادش کتابهای ساختمان داده باید بخونی)
2-راه قانونی تر اینکهع یک عدد lexical analyzer درست کنی( برای ایجادش کتابهای طراحی کامپایلر باید بخونی)
و اینطور که از پستهای شما پیداست انجام هیچ کدوم از اینا کار شما نیست(کتاب جناب ابریشمی رو هم بخونی نمی تونی اینا رو بنویسی لول) شما کلن یه ماشین حساب ساده درست کن و ماشین حساب پیشرفته رو بذار بعهده مهندسای کامپیوتر بدور از شوخی دارم می گم وقت با ارزشت و بذار رو رشته خودت لول


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

Mehran NZ
05-09-2010, 15:20
استفاده از عبارات لهستانی و پشته کار شاخی نیست
کافیه که به کتاب های ساخنمان داده رجوع کنی
و خ راحت الگوریتم هاش رو کپی کنی
پایمده باشی
اگه قرار به کپی پیست کردن باشه که دیگه کتاب هم نمی خواد این همه کد تو نت هست در این مورد خودم هم فکر کنم کدش و نوشته بودم اینجا قرار داده بودم(و تا جایی که یادم میاد به این آسونیها هم که شما دارین می فرمایین نبود اصولا تو کلاس ما برای ساختمان داده فقط من رفته بودم دنبال کد نویسیهاش و برای من هم آسون نبود برم توش)
ایشون نگفت می خواد کپی پیست کنه اومد گفت تکنیک خاصش چیه لول ما هم گفتیم این راهش!
ببین دوست عزیز من بازم بهت می گم اینا مباحثی نیست که شما یکی دو روزه یاد بگیری وقت رشته تخصصی خودت و برای اینا نذار شما همون پشته رو می تونی کپی پیست کنی یا بدی یکی برات بنویسه دیگه تصمیم با خودت!
در مورد روش دوم هم من فقط یه ایده بهت میدم که قراره از کجا شروع کنی شاید یه روزی روزگاری خواستی از این روش هم بنویسی این روش اصلی و استاندارده
مثلا برای دریافت رشته as b*abb من برنامه زیر رو اینطور نوشتم که شما می تونی رشته های خودت و تعریف کنی!
این که نمودارشه
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

اینم کدش ساده و خلاصه


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و این هم یک عدد کامپایلر ساده برای پوست فیکس و اسمبل کردن عبارات ریاضی ساده از کتاب Design and impletation of compilers که من فقط print هاش و cout کردم وگرنه اصلا همون با c نوشته شده بود


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

masood hashemy
06-09-2010, 09:03
ببخشید شما به عنوان یک مهندس مجرب میتوانی بگویی که برای یادگیری سی حرفه ای چی کار کنم؟ (خیلی مهمه) بالاخره هیچ کس روز اول چیزی نمی فهمیده اما با تلاش فهمیده اما میدونم که زمان بر است آیا باید روند خاصی طی کنم؟ چه کتابهایی بهتر است خوانده شود؟
به طور مثال در میکروکنترلرهای 32 بیتی آرم که باید با زبان سی بنویسی معمولا با این میکروکنترلرها ماشین حساب حرفه ای و موبایل و ... مینویسند حالا خداییش سی حرفه ای نمیخواد؟!
متاسفانه در ایران گرایشهای نرم افزار و برق خیلی کم هستند وگرنه میشد روی هر زمینه ای تخصصی کار کرد.

Mehran NZ
06-09-2010, 11:02
ببخشید شما به عنوان یک مهندس مجرب میتوانی بگویی که برای یادگیری سی حرفه ای چی کار کنم؟ (خیلی مهمه) بالاخره هیچ کس روز اول چیزی نمی فهمیده اما با تلاش فهمیده اما میدونم که زمان بر است آیا باید روند خاصی طی کنم؟ چه کتابهایی بهتر است خوانده شود؟
به طور مثال در میکروکنترلرهای 32 بیتی آرم که باید با زبان سی بنویسی معمولا با این میکروکنترلرها ماشین حساب حرفه ای و موبایل و ... مینویسند حالا خداییش سی حرفه ای نمیخواد؟!
متاسفانه در ایران گرایشهای نرم افزار و برق خیلی کم هستند وگرنه میشد روی هر زمینه ای تخصصی کار کرد.
لول من هر وقت لیسانسم و تموم کنم تازه به زور می تونم خودم و صدا کنم جوجه مهندس !
خوب من با اینکه خیلی علاقه داشتم ولی تا حالا وقت نکردم با میکرو کنترلر کار کنم!
شما مطمئنید که همکارانتون برای درست کردن ماشین حساب و اینا از این راههایی که من گفتم میرن؟! با استادتون یه مشورت بفرمایید ببینید چی می گن!
برای برنامه نویس حرفه ای شدن هم اول اینکه شمایکی دو تا کتاب C دیگه بخونید از همونا که می گین خیلی سنگین هستن و باهاشون کدو نویسی کنید!کلا توی کتابهای فارسی جعفر نژاد C , C++ غیر ویژوال رو (همین چیزی که شما دارین می خونید) خیلی خوب آموزش میده!
بعد کتابهای دیگه رو هم حتما باید خوند ساختمان داده رو حتما حتما باید خوند و کد نویسی کرد - ذخیره و بازیابی که خیلی مفید هست بنظر من - طراحی کامپایلر که خودم هم دارم می خونم .....ولی باید دید نیازهای شما چی هست که من نمی دونم بازم باید با استادها و هم رشته ایهای خودتون صحبت کنید!
من چیز دیگه ای به ذهنم نمیرسه که بگم
در مورد صحبتهایی هم که کردم اونها نظر من هستن و قرار نیست درست باشن اتفاقا جالبه بنده ترم پیش برای آز الکترونیک یه استاد داشتم که رشتش الکترونیک بود ایشون برنامه نویسیش بسیار عالی بود و من چند دقیقه ای که با ایشون صحبت می کردم خیلی چیزها در مورد رشته خودم یاد می گرفتم!!! کلا برنامه نویسی پایگاه داده - ویژوال بیسیک و حتی MFC در زمانهای قدیم کار می کردن الان هم داشتن OpenGL یاد می گرفتن کلا بستگی داره به خود آدم
موفق باشید