itarfand

آموزش برنامه نویسی به زبان C

18 ارسال در این موضوع قرار دارد

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/vip-itarfand.PNG.44e060109967f13058a4ccba97235de2.PNG">

در این قسمت از انجمن زبان برنامه نویسی C به صورت مثال آموزش داده می شود.

line.png

از پرسیدن سوال در این قسمت خودداری کنید.

 

 

 

 

 

 

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای آموزش از نرم افزار Microsoft Visual Studio 2015 استفاده می شود.

تمام کدها تست شده و کامل هستند.

 

چگونگی ساخت یک برنامه

ابتدا از قسمت File و سپس New گزینه Project را انتخاب کنید.

اکنون از قسمت ++C گزینه Win32 Console Application را انتخاب کنید.

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

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 1) نمایش یک پیغام ساده

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png">

برای نمایش داده شدن یک پیغام در صفحه Cmd به کاربر از قطعه کد زیر استفاده می شود:

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

 

 

 

 

 

 

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 2) انواع متغیرها

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

زبان C , C++ دارای متغیرهای مختلفی به صورت زیر می باشد:

int : تعریف یک عدد صحیح

float : تعریف یک عدد اعشاری

char : تعریف یک کاراکتر

double : یک عدد صحیح بزرگتر از int

 

توضیحات بیشتر

اگر اول متغیرها unsigned بیاید : یک عدد صحیح مثبت را می گرید.

مانند : unsigned int

اگر اول متغیرها long بیاید : بازه متغیر افزایش می یابد.

اگر اول متغیرها short بیاید : بازه متغیر کاهش می یابد.

 

مقدار دهی اولیه

می توان به متغیرها مانند زیر مقدار داد:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 3) اعمال ریاضی

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

عمل های اصلی ریاضی به صورت زیر می باشند:

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

1) جمع

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

2) تفریق

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

3) ضرب

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

4) تقسیم

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

نکته 1 : عملگر تقسیم به دو صورت عمل می کند:

اگر هر دو متغیر int باشند : حاصل نیز از نوع int است ( عددی صحیح )

اگر یکی یا هر دو از نوع float باشند : حاصل نیز از نوع float است ( دارای قسمت اعشاری )

در کد قسمت (float) برای تاکید بر تقسیم اعشاری دو متغیر است.

 

5)باقیمانده

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

6) تساوی

عملگر = همیشه مقدار سمت راست را بر روی مقدار سمت چپ می ریزد.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 4 ) عملگرهای شرطی

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

1) بزرگر و کوچکتر

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

2) بزرگتر و مساوی , کوچکتر و مساوی

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

3) نامساوی

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

4) مساوی

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 5) آرایه

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

بعضی مواقع شما برای برنامه نویسی احتیاج به تعریف متغیرهای زیادی دارید .

مانند برنامه ای برای یک دانش آموزان یک مدرسه با 400 دانش آموز.

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

در این گونه مواقع از آرایه استفاده می شود.

 

نمونه آرایه یک بعدی  :

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

نمونه آرایه دو بعدی :

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

نکته : اندیس آرایه ها از 0 شروع می شود و به n-1 ختم می شود.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

مثال ها

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

نکته : وجود ( 0\)  الزامی می باشد.

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 6 ) دریافت ورودی از کاربر

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

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

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

 

شکل کلی :

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

مثال :

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

می توان تعداد ارقام ورودی را مانند زیر محدود کرد.

حداکثر 2 رقم صحیح و 3 رقم اعشاری

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

دریافت کاراکتر :

یک کاراکتر را به روش زیر نیز می توان دریافت کرد.

 

نکته : این توابع در کتابخانه conio.h قرار دارند.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

این توابع برعکس scanf نیازی به فشردن کلید enter برای دریافت ورودی ندارند

تابع getche کاراکتر وارد شده را در صفحه نمایش می دهد اما getch نه.

اگر این دو تابع مساوی یک کاراکتر قرار داده نشوند منتظر ورود هر حرفی از صفحه کلید می مانند و برنامه پس از وارد کردن کاراکتر ادامه پیدا می کند.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

نکته : این تابع در stdio.h وجود دارد و بعد از ورود کاراکتر باید کلید enter را نیز وارد کرد.

توسط این تابع کاراکتر ورودی در صفحه نمایش داده می شود.

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 7) کاراکترهای کنترلی

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png">

این کاراکترها در تابع printf می آیند و باعث کارهای مختلف می شوند.

 

n\ : موجب انتقال کنترل به خط جدید می شود.

t\ : انتقال به ۸ فاصله بعدی صفحه نمایش.

f\ : موجب انتقال کنترل به صفحه جدید می شود.

a\ : به صدا درآوردن بوق سیستم.

b\ : حرف قبل خود را حذف می کند.

“\ : چاپ دابل کوتیشن.

‘\ : چاپ کوتیشن.

V\ : انتقال کنترل به ۸ سطر بعدی

N\ : ثابت های مبنای ۸ ( N عدد مبنای ۸ است ).

xN\ : ثابت های مبنای ۱۶ ( N عدد مبنای ۱۶ است ).

 

مثال ها :

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 8 )حلقه ها

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

حلقه ها در زبان های برنامه نویسی برای آسانتر کردن کار و همچنین جلوگیری از تکرار زیاد کارها می باشند.

زبان C دارای حلقه های مختلف می باشد که می توانید آن ها را مشاهده کنید:

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

در پست های بعد هرکدام از این حلقه ها را به شما آموزش می دهیم.

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 9 ) حلقه if

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png">

این حلقه برای اعمال شرط برای انجام یک کار می باشد و دارای سه حالت زیر است:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

نکته : در تمام حلقه های شرطی اگر در بدنه فقط یک کار انجام شود می توان علامت ها ی } { را قرار نداد.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

نکته : در بدنه تمام حلقه ها می توان شرط های دیگری نیز قرار داد.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

مثال

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 10) حلقه while

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

این حلقه برای گذاشتن شرط ( تا زمانی که ) برای انجام یک کار می باشد.

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

این حلقه به دو صورت زیر استفاده می شود:

 

1) ابتدا شرط چک می شود و بعد کارهای داخل حلقه انجام می شود.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

2) ابتدا یک بار کارهای داخل حلقه انجام می شود و سپس شرط چک می شود و در صورت درست بودن دوباره حلقه تکرار می شود.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

مثال ها:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 11) حلقه for

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png">

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

این حلقه به صورت زیر تعریف می شود:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

در کد بالا:

1) i=0 : مقدار اولیه ای که حلقه از آن شروع می شود.

2) i<50 : شرط انجام داخل حلقه

3) i++ : عملی که بعد از انجام هر بار حلقه تغییر می کند تا جلوی بینهایت اجرا شدن حلقه را بگیرد.

 

نکته : متغیری که در حلقه ( در این مثال i ) استفاده می شود حتما باید در داخل حلقه تغییر کند وگرنه حلقه بینهایت بار اجرا می شود.

به صورت زیر نیز می توان حلقه را تعریف کرد:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

می توان چند شرط یا مقدار اولیه برای حلقه قرار داد.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

مثال:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 12 ) ساختار Struct

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

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

به طور مثال شما در یک آرایه فقط می توانید نام دانش آموزان را ذخیره کنید اما توسط این ساختار می توانید هم نام و هم شماره دانش آموزی آن ها را ذخیره کنید.

 

طریقه تعریف:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

مثال:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

دسترسی به ساختار در برنامه

برای این کار یا باید مانند مثال بالا ابتدا نوع نمونه از book به نام های book1 & book2 بسازید و یا در داخل کلاس اصلی به صورت زیر عمل کنید.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

همچنین می توانید آرایه ای از این ساختار تعریف کنید.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

تغییر متغیرها در کلاس اصلی

برای این کار به صورت زیر عمل می کنیم:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

مثال:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 13 ) توابع

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

فرض کنید شما می خواهید یک دوچرخه طراحی کنید. برای این کار شما قسمت های مختلفی را طراحی می کنید که هر کدام کار مخصوص به خود را انجام می دهند. به طور مثال رکاب برای انتقال قدرت و فرمان برای کنترل دوچرخه می باشد.

برای نوشتن برنامه به زبان های مختلف نیز به این صورت می توان عمل کرد و توابع ای را طراحی کرد که کارهای مخصوص به خود را انجام دهند. به این کار اصولا برنامه نویسی شیئ گرا می گویند و نمونه ای هرچند کمتر به زبان های دیگر مانند جاوا ، در زبان C , C++ وجود دارد که همان توابع می باشند.

 

اجزا تابع

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

 

محل تعریف

توابع را می توان در بالا و یا پایین تابع Main تعریف کرد که اگر در پایین تعریف شود باید در بالا تابع Main آن را معرفی کرد که ذکر خواهد شد.

 

صورت کلی

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

در کد بالا با توجه به نوع متغیری که برگشت داده می شود کلمه int تغییر می کند.

 

اگر کد پایین تعریف شود

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

اگر در بالا تعریف شود دیگر نیازی به معرفی تابع نیست و فقط تابع را می نویسیم.

 

اگر تابع خروجی نداشته باشد

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

اگر تابع نه ورودی و نه خروجی داشته باشد

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

فراخوانی توابع

برای استفاده از توابع باید آن ها را در main صدا کنید که به صورت زیر می باشد.

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

طبق کد بالا :

ورودی تابع لازم نیست با نام اصلی متغیر یکی باشد ( a1,a2) (x,y)

تابع به صورت (test(x,y صدا می شود.

 

توابع بازگشتی

به توابعی که در داخل خود دوباره همان تابع را صدا می کنند توابع بازگشتی نامیده می شوند.

به طور مثال می توان برای حساب !n از تابع بازگشتی استفاده کرد.

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 14 ) کار با فایل

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" data-fileid="2">

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

نوشتن در فایل در زبان ++C به دو صورت text file & binary file می باشد که چند تفاوت دارند.

Text Files

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

در کد بالا:

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

ofstream برای نوشتن در فایل می باشد.

ifstream برای خواندن از فایل می باشد.

if اول برای چک کردن باز شدن موفقیت آمیز فایل می باشد.

if دوم برای جک کردن امکان نوشتن در فایل می باشد.

بعد از باز شدن فایل باید آن را در انتها توسط close بست.

myin.txt در محلی که برنامه قرار دارد ایجاد می شود.

نوشتن در فایل

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

خواندن از فایل

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

Binary File

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

در این حالت متن های نوشته شده در فایل قابل خواندن نیستند و همان گونه که در حافظه قرار دارند نوشته می شوند.

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 15 ) اشاره گر ها

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_08/line.png.897c819a2e2a42fe0806944efabb580f.png" alt="line.png">

به آدرس هر متغیر در حافظه اشاره گر می گویند.

محل استفاده از اشاره گر ها:

  • String
  • تخصیص حافظه پویا
  • ارسال مقدار به تابع به صورت by reference
  • اشاره به تابع
  • ایجاد ساختمان های داده ای خاص

مثال:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

در مثال بالا دو عبارت printf مقدار 1 را چاپ می کنند.

علامت & به معنی آدرس متغیر a می باشد.

علامت * به معنی اشاره گر بودن b به آدرس a می باشد.

مثال :

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

در خط اول یک متغیر تعریف شده است.

در خط دوم یک اشاره گر تعریف شده است.

در خط سوم محل اشاره ، اشاره گر مشخص شده است.

نکته : حتما باید نوع داده ای اشاره گر و اشاره شونده از یک نوع باشد.(a , b)

اشاره گر ها در توابع

هنگامی که یک متغیر به صورت ساده به یک تابع فرستاده می شود ، مقدار اصلی متغیر تغییر نمی کند بلکه یک کپی از متغیر ایجاد و تغییرات بر روی آن انجام می شود.

مثال:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

در کد بالا مقدار 10 چاپ می شود.

مثال:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

در کد بالا مقدار 11 چاپ می شود.

دلیل : چون آدرس حافظه متغیر به تابع ارسال می شود و در مرحله دریافت اشاره گر به محل آدرس آن ها اشاره می کند.

اشاره گر به اشاره گر

اشاره گر به اشاره گر متغیری می باشد که محتوای آن شامل اشاره گر به یک متغیر دیگر می باشد که محتوای آن خود یک اشاره گر می باشد.

مثال:

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

در مثال بالا مقدار 2 چاپ می شود.

حافظه های پویا

حافظه هایی که قبل از این پست آموزش داده شده بودند حافظه مورد نظر آن ها توسط برنامه تخصیص و آزاد می شد اما در حافظه های پویا شما خودتان باید حافظه را بگیرید و سپس آن را آزاد کنید.

همچنین مقدار حافظه / آرایه های پویا می تواند تغییر کند.

مثال :

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

در مثال بالا یک آرایه پویا با مقدار حافظه number از نوع int درست می کنیم و به ترتیب و به تعداد number از کاربر عدد می گیریم. سپس حاصل جمع آن را چاپ می کنیم.

توضیحات :

malloc : یک مقدار مشخص از حافظه را به برنامه اختصاص می‌دهد.

realloc : حافظه‌ای که قبلاً اختصاص یافته را افزایش یا کاهش می‌دهد. ممکن است احتیاج باشد حافظه دوباره اختصاص یابد.

calloc : مقدار مشخصی از حافظه را اختصاص می‌دهد اما آنها را با صفر مقداردهی می‌کند.

free : حافظه اختصاص یافته را آزاد می‌کند و به سیستم باز می‌گرداند.

مثال :

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

 

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

قسمت 16 ) ساختار union

لطفا وارد و یا عضو شوید تا بتوانید image را ببینید

/monthly_2017_09/line.png.cf8bffa7ffa0c52fb846248ce72f08bc.png" alt="line.png">

این ساختار مانند Struct می باشد اما تفاوت هایی با آن دارد.

مثال : 

لطفا وارد و یا عضو شوید تا بتوانید code را ببینید

در این نوع ساختار داده ای متغیر های تعریف شده در داخل ساختار به صورت اشتراکی از حافظه استفاده می کنند. به این صورت که به اندازه بزرگترین نوع داده ای تعریف شده به ساختار حافظه تخصیص داده می شود و در یک زمان واحد فقط به یک نوع متغیر می توان دسترسی داشت.

به طور مثال در کد بالا چون متغیر float مقدار 4 بایت را از حافظه می گیرید مقدار کل حافظه برای ساختار 4 بایت یا 32 بیت می باشد.

دسترسی و تعریف

چگونگی دسترسی و تعریف یک عنصر جدید مانند struct می باشد.

0

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط
      کامنت ها
      در واقعیت کامنت ها واقعا زیاد مفید نیستند. چون نه به عمد، اما اطلاعات خوبی به خواننده ی کد نمی دهند.
      کد تغییر می کند و اتفاقات مختلف در آن می افتد. اما کامنت معمولا این تغییرات را همراهی نمی کند. پس کامنت نادقیق خیلی بدتر از نبودن کامنت است.
      نکات مورد توجه در مورد کامنت ها:
      کامنت ها کد های بد را خوب نمی کنند. زمانی که کد گیج کننده ای می نویسیم سعی میکنیم با نوشتن کامنت بدی کد را جبران کنیم، اما بهتر است کامنت را پاک کرده و از اول کد را بنویسیم. کار خود را در کد توضیح دهید. به جای اضافه کردن کامنت سعی کنید کد خود را خوانا بنویسید. چون یک کد تمیز زودتر از یک کد کثیف با کامنت فهمیده می شود. کامنت های خوب:
      کامنت های مجاز: که قوانین را اعلام می کنند. مثل کپی رایت. کامنت های آموزنده: مثل کامنتی که فرمت تاریخ و زمان را نشان می دهد. توضیح دادن مقصود: در صورتی که واقعا هدف را بیان کند. شفاف سازی: باز هم اولویت با نوشتن کد شفاف است تا کامنت. هشدار در مورد عواقب: فرض کنید یک متد sleep() داریم که زمان بر است. کامنت در مورد این موضوع می تواند خواننده را آگاه کند. کامنت های To Do: کارهایی که باید انجام شوند اما تا الان انجام نشده اند. تقویت:برای تقویت اهمیت چیزی که ظاهرا مهم به نظر نمی رسد. java doc یا امکانات مشابه در سایر زبان ها کامنت های بد:
      کامنت های من من کننده کامنت های زاید: کامنت های که خواندنشان بیشتر از خواندن کد وقت می گیرد. کامنت های گمراه کننده کامنت های اجباری کامنت های ژورنالی: کامنت هایی که مثل لاگ در کد ایجاد می شود مثل نام نویسنده یا ویرایشگر و تاریخ. کامنت های نویز: کامنت هایی که هیچ اطلاعاتی نمی دهند: مثل نوشتن کامنت default constructor Position markers: //////////////// که برای جدا سازی استفاده می شود اگر زیاد باشد مثل نویز می شود و هیچ کمکی نمی کند. کامنت های نزدیک کروشه و براکت ها: مثل end while// {  که وقتی حلقه خیلی طولانی باشد، جای بسته شدن حلقه ها را نشان می دهد. بهتر است به جای این کار طول توابع کمتر شود تا چایان حلقه ها راحت پیدا شود. کد های comment-out: کد هایی که نوشته شده اند بعد کامنت شده و به حال خود رها شده اند. کامنت های غیر محلی: هر کامنت باید نزدیک کد مربوط به خودش باشد. اطلاعات اضافی و بیش از حد در کامنت Function header ها: بهتر است به جای توضیح کار توابع یک نام خوب که کارش را نشان می دهد، انتخاب کنیم.   متدها
      مواردی که برای نوشتن متدهای تمیز قابل توجه اند:
      باید کوتاه باشد. برای فهم بهتر در موارد لازم از تو رفتگی استفاده شود. هر تابع باید فقط یک کار انجام دهد و آن را به خوبی انجام دهد. برای اطمینان از اینکه تابع ما فقط یک کار انجام می دهد باید مطمین شویم تمام statement های درون تابع در یک سطح از abstraction هستند. قانون Step down: میخواهیم کدها بصورت یک روایت از بالا به پایین خوانده شوند. تا حد امکان switch-case استفاده نکنیم و آن را در پلی مورفیسم دفن کنیم. چون یک switch حتی با دو case هم طولانی است. برای توابع از اسم های توصیفی استفاده کنید که عملکرد تابع از روی نام آن قابل فهم باشد. تعداد آرگومان های تابع باید تا حد امکان کم باشد. ایده ال ترین حالت بدون آرگومان است و تعداد 3 و بیشتر، آرگومان فقط در موارد خیلی خاص باید استفاده شود. از try/catch ها استفاده کنید.   نام های معنادار
       متغییر ها، توابع و کلاس ها همه نام دارند. نام گذاری درست در فهم کد و تمیز بودن آن بسیار موثر است:
      از نام هایی که هدفشان معلوم است استفاده کنید. از نام هایی که اطلاعات درست نمی دهند (disinformation) بپرهیزید. بعضی لغات معنای تثبیت شده ای در ذهن دارند. از این لغات برای معانی دیگر استفاده نکنید. برای مثال hp مربوط به پلتفرم unix است. اگر در کد خود وتر (hypotenues) دارید شاید ظاهرا hp نام خوبی برای آن به نظر برسد. اما گمراه کننده است و نباید از آن استفاده کرد. از کلماتی مانند list تنها در کاربرد خودشان استفاده کنید. مثلا اگر گروهی از دانش آموزان دارید که در سیستم بصورت list نیستند متغییرشان را studentList نام گذاری نکنید. studentGroup نام بهتری ست. از کلمات خیلی مشابه برای متغییر های مختلف استفاده نکنید. چون اشتباها به جای یکدیگر در نظر گرفته می شوند: xyzControllerForEfficientHandelingOfSetting
      xyzControllerForEfficientStorageOfSetting
      از O و L تک استفاده نکنید چون با 0 و 1 اشتباه گرفته می شوند. تفاوت های معنادار ایجاد کنید. مثلا a1 و a2 هیچ اطلاعاتی به ما نمی دهد (noninformative). تنها می توان فهمید که یک سری هستند. تفاوت بی معنی ایجاد نکنید. در واقع از noise word استفاده نکنید. مثلا ProductData و ProductInfo هیچ تفاوتی ندارند. یا نام گذاری کلاس مشتری به CustomerObject درست نیست. چون Customer به تنهایی اطلاعات را می رساند و Object در ادامه ی آن اضافه است. از نام های قابل تلفظ استفاده کنید. مثلا مخفف genymdhms، که مربوط به تاریخ و سال و ماه و... است، نام خوبی نیست.  از نام های قابل جستجو استفاده کنید. مثلا اگر نام متغیر تک حرف باشد، سرچ آن هزار نتیجه دارد و پیدا کردن جواب سخت است. اما MAX_STUDENT به راحتی قابل پیدا کردن است. تک حرف ها بهتر است تنها برای نام متغیرهای local استفاده شوند. از کد کردن بپرهیزید. مثل استفاده از I در ابتدای نام interface ها و یا انتهای Imp در انتهای نام کلاس های پیاده ساز. نام کلاس ها باید یک اسم یا یک عبارت اسمیه باشد. نام متدها باید یک فعل یا یک عبارت فعلیه باشد. بامزگی نکنید. چون نام های بامزه تنها در ذهن افراد درگیر شوخی می مانند. برای هر مفهوم فقط از یک اسم استفاده کنید. مثلا برای گرفتن اطلاعات از get و fetch و retrieve و ... در کلاس های مختلف استفاده نکنید. بعدا از کجا باید بفهمید که کدام متعلق به کدام است و تفاوتشان چیست؟ برای مفاهیم متفاوت از یک اسم استفاده نکنید. از نام های موجود در solution domain استفاده کنید. خوانندگان کد، برنامه نویس هستند و از لغات موجود در علم کامپیوتر مطلعند پس نام هایی مثل jobQueue یا accountVisitor مفهوم را می رساند. کلمات با معنا در نام ها اضافه کنید. فرض کنید متغیر های firstname, lastname, country, state و ... را می بینید. با دیدن این متغیرها می فهمیم که مربوط به آدرس هستند. اما اگر فقط متغیر state را ببینیم چطور؟ آیا متوجه می شویم مربوط به آدرس است؟ می توانیم یک context با معنا به آنها اضافه کنیم که مشخص شود مربوط به آدرس اند. به این شکل: addrFirstname, addrLastname, addrCountry, addrState و ... با این نام گذاری خواننده می فهمد که این متغیرها مربوط به یک مفهوم بزرگترند. اما راه بهتر تعریف کلاس Address است که در این صورت علاوه بر خواننده، کامپایلر هم می فهمد که این متغییر ها به مفهوم بزرگتری وابسته اند. کلمات بی معنا در نام ها اضافه نکنید. مثلا اگر نام پروژه Gas Station Delux است، منطقی نیست قبل از نام همه ی متغیر های برنامه GSD اضافه کنیم چون اطلاعاتی نمی دهد و نام ها را بدون هیچ مزیتی طولانی می کند.  
      منبع: لطفا وارد و یا عضو شوید تا بتوانید link را ببینید

      کتاب مورد استفاده : لطفا وارد و یا عضو شوید تا بتوانید link را ببینید

    • توسط
      در این پست از آی ترفند برای شما آموزش هایی را از سایت lynda آماده کرده ایم که می توانید آن ها را به رایگان دانلود کنید.
       
      برای مشاهده لیست دانلود به لینک زیر بروید:
       

      لطفا وارد و یا عضو شوید تا بتوانید link را ببینید
    • توسط

      لطفا وارد و یا عضو شوید تا بتوانید image را ببینید
      /monthly_2017_08/vip-itarfand.PNG.44e060109967f13058a4ccba97235de2.PNG"> نرم افزار PSpice یک شبیه ساز برای مدارهای الکتریکی می باشد که در رشته مهندسی کامپیوتر و درس مدارهای الکتریکی از آن برای شبیه سازی و تحلیل مدارهای الکتریکی استفاده می شود.
      ابتدا نرم افزار را از
      لطفا وارد و یا عضو شوید تا بتوانید link را ببینید
      دانلود کنید و توسط راهنما آن را کرک کنید. به محل نصب نرم افزار بروید و از پوشه Capture فایل capture.exe را اجرا کنید.

      بعد از باز شدن نرم افزار از سربرگ File و قسمت New گزینه Project را انتخاب کنید.

      برای پروژه خود یک نام انتخاب کنید و سپس حالت آن را بر روی Analog قرار دهید و سپس محل ذخیره آن را مشخص کنید.

      در صفحه باز شده بر روی Create A Blank Project کلیک کنید.

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

      در صفحه باز شده بر روی Add Library کلیک کنید و تمام فایل ها را انتخاب کنید و سپس بر روی Open کلیک کنید و سپس از قسمت Part آیتم دلخواه خود را انتخاب کنید.

      برای وصل کردن دو آیتم به هم (سیم) گزینه مشخص شده در عکس زیر را انتخاب کنید.

       
    • توسط

      لطفا وارد و یا عضو شوید تا بتوانید image را ببینید
      /monthly_2017_08/vip-itarfand.PNG.44e060109967f13058a4ccba97235de2.PNG" alt="vip-itarfand.PNG"> نرم افزار modelsim یک شبیه ساز زبان های توصیف سخت افزاری می باشد که در رشته مهندسی کامپیوتر و درس مدارهای منطقی از آن برای شبیه سازی مدارها به زبان verilog استفاده می شود.
      برای ایجاد و کار با این نرم افزار این پست از انجمن آی ترفند را دنبال کنید.
      ابتدا نرم افزار را از
      لطفا وارد و یا عضو شوید تا بتوانید link را ببینید
      دانلود کنید و طبق راهنمایی داخل آن ، نرم افزار را کرک کنید. بعد از باز کردن نرم افزار برای ایجاد پروژه جدید از سربرگ File و قسمت New گزینه Project را انتخاب کنید.

      در صفحه باز شده یک نام برای پروژه خود قرار دهید.

      سپس بر روی Create New File کلیک کنید.

      در صفحه باز شده یک نام برای فایل خود قرار دهید و نوع آن را بر روی Verilog قرا دهید.

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

      بعد از نوشتن کدها برای کامپایل کردن فایل بر روی آن راست کلیک کنید و از قسمت Compile گزینه Compile Selected را انتخاب کنید.

      برای تست کدهای خود مانند عکس بالا در قسمت مشخص شده راست کلیک کنید از قسمت Add To Project گزینه File را انتخاب کنید و نوع آن را نیز به Verilog تغییر دهید.

      برای دیدن خروجی کدهای خود بعد از اطمینان از ذخیره شدن فایل ها در هارد با Ctrl+S از سربرگ Simulate گزینه Start Simulation را انتخاب کنید.

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

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

      بر روی قسمت مشخص شده راست کلیک کنید و مانند عکس عمل کنید.

      اکنون نمودار مدار خود را می توانید ببینید که با کلیک بر روی گزینه مشخص شده زمان به جلو می رود.