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

در اوایل دهه ۱۹۷۰میلادی ، زبان C ، توسط دنیس ریچی و به عنوان زبان برنامه نویسی سیستم ها طراحی شد. این زبان از دو زبان قدیمی تر بنام های BCPL و B حاصل شده است. زبان C تا سال ۱۹۷۸ منحصر به اسفتاده در لابراتوار کمپانی BELL بود تا این که توسط دو تن بنام های ریچی و کرنیه نسخه نهایی این زبان منتشر شد. به سرعت کامپایلر ها و مفسر های متعددی از C توسعه یافت اما برای جلو گیری از ناسازگاری های ایجاد شده و نیز حفظ قابلیت حمل زبان، تعاریف متحد الشکلی توسط استاندارد (ANSI (American national standard institute موسسه استاندارد ملی آمریکا ارائه گردید.
مفسر خود برنامه ای کامپیوتری است که برنامه ی سطح بالا، داده ی ورودی آن و برنامه ی ایجاد شده به زبان ماشین، خروجی آن را تشکیل می دهد. به طور کلی ویژگی های مهم زبان C به اختصار به شرح زیر است:
- زبان سی به طور کسترده ای در دسترس است. مفسر های تجارتی آن در بیشتر کامپیوتر های شخصی، مینی کامپیوتر ها و نیز در کامپیوتر های بزرگ قابل استفاده اند.
- سی زبانی است همه منظوره، ساخت یافته سطح بالا (مانند زبان پاسکال و فرتون . …) و انعطاف پذیر که برخی از خصوصیات زبانهای سطح پایین را نیز که معمولا در اسمبلی یا زبان ماشین موجود است داراست. در عین حال این زبان برای کاربردهای ویژه طراحی نشده و می توان از آن در همه ی زمینه ها، بخصوص به دلیل نزدیکی آن به زبان ماشین در برنامه نویسی سیستم، استفاده کرد. بنابراین سی بین زبان های سطح بالا و سطح پایین قرار دارد و در نتیجه اجازه می دهد که برنامه نویس خصوصیات هر دو گروه زبان را به کار برد. از این رو در بسیاری از کابردهای مهندسی به طور انحصاری زبان سی به کار می برند. (زبان های سطح بالا، دستور العمل هایی شبیه زبان انسان و پردازش فکری او داردند، همچنین یک دستور العمل زبان سطح بالا معادل چند دستور العمل به زبان ماشین است).
- برنامه های نوشته شده به زبان c به طور کلی مستقل از ماشین یا نوع کامپیوتر است و تقریباً تحت کنترل هر سیستم عاملی اجرا می شود.
- کامپایلرهای سی معمولا فشرده و کم حجم اند و برنامه های هدف ایجاد شده با آنها در مقایسه با سایر زبانهای برنامه سازی سطح بالا، خیلی کوچک و کار آمدند.
- برنامه های سی در مقایسه با سایر زبانهای برنامه سازی سطح بالا، به راحتی قابل انتقال اند. دلیل آن این است که سی خیلی از ویژگی های وابسته به نوع کامپیوتر را در توابع کتابخانه ای خود منظور داشته است. بنابراین هر نسخه ازسی با مجموعه ای از توابع کتابخانه ای مخصوص به خود همراه است که بر اساس ویژگی های کامپیوتر میزبان مربوط نوشته شده است. این توابع کتابخانه
- ای تا حدودی استاندارد است و معمولا هر تابع کتابخانه ای در نسخه های متعدد سی به شکل یکسان در دسترس است.
- سی روش برنامه نویسی ماژولار را پشتیبانی می کند. همچنین از نظر عملگر ها نیز زبانی قوی است که عملگرهای گوناگونی برای دستکاری روی داده ها در سطح، بیت داراست.
- به طور کلی جامعیت ، عمومیت، خوانایی، سادگی ، کارآیی، و پیمانه ای بودن که همگی از مشخصات برنامه ای ایده آل اند در زبان C پیاده سازی می شوند.
دانلود کتاب آموزش زبان برنامه نویسی ++C - فارسی
معمولا فرستنده ای که توان RF
مورد نیاز برای بکار انداختن آنتن را تولید می کند در فاصله ای چند از پایانه ی آنتن قرار گرفته است .خطوطی که فرستنده و آنتن را به هم متصل می کند "خطوط انتقال" نامیده می شود و هدف آن حمل توان RF
از نقطه ای به نقطه دیگر در حد مطلوب است.متقابلا در دریافت کننده ،آنتن عهده دار ردیابی هر سیگنال رادیویی در هوا و هدایت آن به دریافت کننده با حداقل اعوجاج می باشد به طوری که رادیو حداکثر شانس را برای رمزگشایی سیگنال داشته باشد. پس در سیستم های رادیویی حفظ تمامیت سیگنال چه در فرستنده و چه در دریافت کننده بسیار مهم می باشد که این نقش اساسی را کابل های RF
بازی می کنند .
خطوط انتقال به دو دسته تقسیم می شوند : "
کابل ها" و " موج برها
".
کابل ها
کابل
RF
که برای فرکانس های بالاتر از
HF
استفاده می شود معمولا " کابل کواکسیال" است.کابل کواکسیال از چند لایه تشکیل شده است .در هسته مرکزی آن یک سیم قرار دارد که توسط یک ماده دی الکتریک پوشانده شده است سپس یک لایه سیم مسی به هم بافته شده به عنوان محافظ در اطراف ان قرار می گیرد.یک ماده ی دی الکتریک هسته و پوشش محافظ را از یکدیگر جدا می کند.و در نهایت کابل کواکیسال از یک لایه بیرونی که جنس آن از
PVC
است تشکیل شده است که آن هم نقش محافظتی دارد. رسانای داخلی سیگنال
RF
را حمل می کند و محافظ بیرونی از انتشار سیگنال
RF
به اتمسفر و تداخل سیگنال های خارجی با سیگنال سیم مرکزی جلوگیری می کند.حقیقت جالب دیگری که وجود دارد این است که سیگنال الکتریکی همیشه در طول لایه خارجی هادی مرکزی عبور می کند پس هر چه هادی مرکزی بزرگتر باشد سیگنال بهتر جریان پیدا می کند که این اثر را "اثر پوستی " می نامند
.
در جدول زیر می توانید ضخامت هسته،دی الکتریک، محافظ و جاکت را برای کابل های کواکسیال متداول بیابید
.
با وجود اینکه ساختار کابل کواکسیال برای نگه داشتن سیگنال در سیم مرکزی مناسب است ولی مقاومتی در مسیر جریان الکتریکی ایجاد می شود که باعث تضعیف شدن سیگنال در طی مسیر می شود. این محو شدگی به عنوان میرایی شناخته می شود و با
dB/m
اندازه گیری می شود . سرعت میرایی تابعی از فرکانس سیگنال و ساختار فیزیکی خود کابل است. واضح است که تا آنجایی که ممکن است ما تمایل به حداقل کردن این میرایی داریم که این امر با کوتاه نگه داشتن کابل و استفاده از کابل هایی با کیفیت بالا محقق می شود
.
نکات عملی: چگونه یک کابل مناسب انتخاب کنیم
"
هر چه کوتاه تر بهتر" اولین قانونی که در استفاده از
n
یک کابل باید رعایت کنیم این است که آن را تا حد امکان کوتاه انتخاب کنیم
.
تلفات توان خطی نیست پس وقتی که طول کابل را دوبرابر میکنیم یعنی داریم خیلی بیشتر از دو برابر توان را هدر می دهیم. به طور مشابه ،نصف کردن طول کابل یعنی توانی بیشتر از دوبرابر توان اولیه در آنتن. بهترین چاره این است که فرستنده را در نزدیکیترین نقطه به آنتن قرار دهیم و این یعنی قرار دادن فرستنده در نوک دکل
.
"
هر چه ارزانتر بدتر" کابل های ارزان برای فرکانس های
n
بالاتر از
VHF
کارایی ندارد. همیشه در پیاده سازی یک سیستم فرستنده-گیرنده از بهترین کابل های در دسترس استفاده کنید و مطمعن باشید که تاثیر زیادی در کیفیت سیستم می گذارد. مایکروویو نیاز به کابل هایی با خصوصات عالی دارد و هر انتخاب دیگری فقط یک بار زائد است
.
هیچ وقت از
RG_58
استفاده نکنید چون این کابل برای
n
کاربردهای مایکروویو استفاده ای ندارد و فقط در شبکه های
Thin Ethernet
،
CB
یا رادیوی
VHF
تمایلی به آن نشان داده می شود
.
هیچ وقت از
RG_213
استفاده نکنید چون قطر مقطع آن
n
جوابگوی خصوصیات بالا و میرایی کم نیست بنابر این از آن فقط در رادیوی
CB
استفاده می شود
.
همیشه از کابل های
Heliax ( Foam
نیز نامیده می شود
)
n
برای متصل کردن فرستنده به آنتن، و از کابل های نیمه سخت برای به هم پیوستن ابزارهای مختلف در زنجیره ی
RF
استفاده کنید. کابل های نیمه سخت از یک هادی سخت درونی (معمولا فولاد)، دی الکتریک سخت
PTFE
و یک لوله مسی سخت خارجی درست شده است. همه ی این ها محکم به هم چسبیده اند و از آنجایی که قطر سطح مقطع هنوز کوچک است پس تلفات به طور نسبی بالا است و بنابراین از آن ها به ندرت برای تغذیه آنتن استفاده می کنیم. کابل های
Heliax
اساسا نوعی از کابل های نیمه سخت می باشند که دارای سطح مقطع بزرگتر و انعطاف پذیر تر می باشند و سطح بیرونی آن ها یک هادی سخت است که موجدار شده و به کابل این اجازه را می دهد که به آسانی انعطاف بپذیرد
.
هرگز بر روی کابل قدم نزنید، هرگز آن را زیاد خم نکنید ،
n
هرگز برای باز کردن اتصالات کابل، کابل را به طور مستقیم نکشید. تمامی این رفتار ها ممکن است خصوصیات مکانیکی کابل و بنابراین امپدانس آن را تغییر دهد، هادی درونی با حفاظ اتصال کوتاه شود و یا لینک به طور ناگهانی بشکند
.
همه ی این مشکل ها به سختی می توان ردیابی و تشخیص داد و بروز هر یک ممکن است منجر رفتارهای غیر قابل پیشگویی در خطوط رادیو شود
.
موج برها
در فرکانس های بالا ی 2
GHz
طول موج به اندازه کافی کوچک است که به طور کاربردی اجازه ارسال انرژی های مؤثر با میانگین های متفاوت را می دهد. موج بر یک لوله ی رسانا است که انرژی به شکل موج های الکترومغناتیسی در آن ارسال می شود.لوله به عنوان مرزی که موج ها را در سطح بسته محدود می کند، عمل می کند و اثر پوستی از مشاهده هر گونه ناثیر موج الکترومغناتیسی در بیرون از موج بر جلوگیری می کند و میدان الکترومغناتیسی با منعکس شدن از دیواره ها (که هادی کامل در نظر گرفته می شوند) منتشر می شود
.
شدت میدان مغناتیسی در مرکز و در طول مولفه
X
بیشترین مقدار را دارد و این مقدار باید در دیواره های انتهایی به صفر کاهش پیدا کند. زیرا وجود هر میدان موازی با دیواره ها باعث ایجاد یک جریان معین بر روی سطح شده که این جریان در رسانای کامل جاری می شود.البته موج بر های به این سبک نمی توانند
RF
را حمل کنند. مولفه های
X
،
Y
،
Z
از یک موج بر مستطیلی را می توانید در شکل بالا ببینید
.
راه های معینی وجود دارد که میدان های الکتریکی و مغناطیسی بتوانند خودشان را برای فرکانس های بالاتر از فرکانس قطع پایین در یک موج بر سازماندهی کنند. هر پیکر بندی میدان را یک مود می نامند
.
مودها به دو گروه اصلی تقسیم بندی می شوند
:TM
و
TE .
موج
TM
دارای میدان مغناطیسی کاملا عمود بر جهت انتشار و مولفه ی میدان الکتریکی در جهت انتشار است و موج
TE
دارای میدان الکتریکی عمود بر جهت انتشار و مولفه های میدان مغناطیسی در جهت انتشار است. موج های
TM
و
TE
را بعضی اوقات به ترتیب موج های
E
و
H
نیز می نامند
.
دایره ای مستطیلی نوع هدایت
3.41r 2X
طول موج قطع
3.2r 1.6X
بزرگترین طول موجی که می تواند با میرایی پایین ارسال شود
2.8r 1.1X
کوتاهترین طول موج قبل از اینکه مود بعدی ممکن شود
مود انتشار با دو عدد زیر نویس داده می شوند.برای مثال
10TE
و
TM11
و غیره.برای یک اندازه معین از موجبر تعداد مودها با فرکانس افزایش پیدا می کند و در پایین ترین فرکانس فقط یک مود قابل انتشار است که آن را مود غالب می نامند.در یک موجبر مستطیلی، مولفه های مهم برای ما مولفه های
X
است . این مولفه در پایین ترین فرکانس باید از 0.5
x
بیشتر باشد تا بتواند ارسال شود. در عمل مولفه ی
Y
در حدود 0.5
x
ساخته می شود تا از امکان عمل کردن در غیر مود غالب جلوگیری کند.شکل سطح مقطع علاوه بر مستطیلی به شکل دایره ای نیز می تواند باشد که از کارایی بیشتری برخوردار است و بیشتر ملاحظات آن همانند نوع مستطیلی است. طول موج برای موج برهای مستطیلی و. دایره ای در جدول زیر آورده شده است. به طوری که
X
و
r
به ترتیب عرض و شعاع سطح مقطع در موج برهای مستطیلی و دایره ای است.تمامی حالت ها برای مود غالب بیان شده است
.
دانلود جزوه خط انتقال مخابراتی