شاید بهترین راه برای یادگیری یک زبان برنامه نویسی، نوشتن یک برنامه ابتدایی و ساده در محیط یک نرم افزار برای آشنایی با ساختار آن زبان باشد.
در آغاز عکسی از برنامه Borland C++ را نشان می دهم تا با محیط نرم افزار C++ آشنا شوید . هرچند نرم افزارهای دیگه هم در این خصوص وجود دارند مانند Visual C++ یا Turbo C++ .
برنامه ای را که در بالا می بینید سورس کد اولین برنامه ما و همچنین ابتدایی ترین ساختار برنامه C++ می باشد. قبل از هر چیز به بررسی سطحی و آشنایی اولیه با خطوط برنامه Hello world! می پردازیم :
// my first program in c++
#include
int main()
{
cout << "Hello world" ;
return 0 ;
}
// my first program in c++
این یک خط Comment یا توضیحات می باشد. در برنامه نویسی، توضیحات خطوطی هستند که کامپایل نمی شوند و فقط برای خوانایی برنامه بکار برده می شوند. در برنامه های بزرگتر و با زیاد شدن خطوط برنامه، توضیحات به فهم راحتتر برنامه برای برنامه نویس و دیگر کسانی که کد را مورد بررسی قرار می دهند کمک شایانی می نماید.
برای بوجود آوردن توضیحات در برنامه C++ از دو الگو می توان استفاده نمود :
/* my
first program
in c++ */
در C++ خطوطی که با علامت # شروع شده و در بالای برنامه قرار می گیرند خطوط فرمان به پردازشگر می باشند که در اصطلاح فایل سرآیند نامیده می شوند.
#include
از فایلهای سرآیند بعنوان کتابخانه های C++ یاد می کنند که از قبل نوشته شده اند و ما برای استفاده از برخی از توابع و روالها از آنها استفاده می کنیم . کامپایلر فقط کلمات کلیدی را می شناسد و همانطور که گفته شد برای استفاده از یک سری دستورات و توابع مانند دستورات ورودی و خروجی و ... باید از این فایلهای سرآیند استفاده نماییم و اگر استفاده نکنیم امکان برنامه نویسی بوجود نخواهد آمد که به تفصیل در آینده در مورد این فایلها و مورد استفادشان صحبت خواهیم کرد . این نکته را هم خاطر نشان می کنم که پسوند این فایلها h می باشد. در انتهای این فصل هم توضیحات تکمیلتری در این مورد آورده شده است .
int main()
این خط تعریفی برای تابع اصلی برنامه می باشد. در واقع برنامه با کامپایل از این نقطه شروع و پردازش می شود. هر برنامه C++ باید دارای تابع main() باشد. در این تابع است که بلوکها و خطوط برنامه نوشته میشود. باید گفته شود هرچند خطوطی بالاتر از تابع اصلی نوشته شده اما بخاطر داشته باشید که برنامه از این نقطه شروع خواهد شد. عبارت int به معنی integer یا اعداد یک کلمه کلیدی می باشد و برای تعریف متغیرهای از نوع صحیح بکار می رود که در ادامه آموزش برنامه نویسی بطور مفصل مورد بررسی قرار می گیرد. Main نامی برای تابع اصلی است که تغییر نمی کند و () علامتی است که در ادامه هر تابعی قرار می گیرد که توابع نیز مفصلا در ادامه مورد بحث قرار می گیرند و اطلاعات فوق جنبه آشنایی با آنها را دارد.
}
آکولاد باز در واقع شروع یک بلوک از دستورات را تعریف می کند که در این برنامه بدنه تابع اصلی (main) را در بر می گیرد و با علامت
{
یا آکولاد بسته پایان بلوک را تعیین می کنیم.
cout << "Hello world" ;
تابع cout >> در تابع سرآیند iostream در زبان C++ قرار دارد و موجب ارسال اطلاعات به خروجی و چاپ و نمایش آن بر روی مانیتور کاربر می شود. با نوشتن این دستور عبارت Hello world! برروی صفحه نمایش پس از کامپایل بدون خطای برنامه به نمایش در می آید. از علامت " " برای متغیرهای رشته ای که در اصطلاح string گفته می شوند استفاده می شود. از علامت ; نیز در انتهای هر دستور در C++ استفاده می گردد تا بوسیله آن پایان آن دستور را به پردازشگر اعلام نمود.
return 0 ;
این عبارت مقدرا صفر را به تابع در برگیرنده خود که در این مثال تابع اصلی است برمی گرداند که این مورد در مبحث توابع و انواع بازگشتی آن توضیح داده خواهد شد.
namespace
باید بگم که فضاهای نام هم در ساختار C++ نقش اساسی دارند. این فضاها مجموعه دیگری از کتابخانه های C++ می باشند که در استفاده از بعضی عناصر مانند رشته ها و ... کمک شایانی به کاربران می کنند.
فضا های نام با استفاده از الگوی زیر قابل استفاده اند و بعد از فایلهای کتابخانه ای include در برنامه قرار می گیرند که در بخش انواع یک نمونه از اونا رو استفاده مکنیم.
// using namespace std
#include
using namespace std;
int main()
{
string st = "Hello world!" ;
cout << st ;
return 0 ;
}
کد بالا را میشود به شکل دیگری هم نوشت که در اینصورت عبارت
// using namespace std
#include
#include
int main()
{
string st = "Hello world!" ;
cout << st ;
return 0 ;
}
ذکر این مطلب لازم است که متاسفانه فایل سرآیند string در محیط Borland C++ کار نمی کند .
برخی از ویژگیهای زبان C++ :
برخی از ویژگیهای دستورات C++
کلمات کلیدی در C++
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
این کلمات، کلمات کلیدی هستند و کامپایلر فقط این کلمات را می شناسد و هرآنچه غیر از کلمات کلیدی در برنامه C++ نوشته شود باید برای کامپایلر درست تعریف شود. در این بین توابعی برای گرفتن اطلاعات و یا چاپ اطلاعات و چیزهای دیگری وجود دارد که برای استفاده از آنها باید از فایل سرآیند مربوطه استفاده نماییم که از قبل نوشته شده اند مثل توابع cin, cout که توابع ورودی خروجی هستند که در فایل سرآیند iostream وجودارند و همچنین تابع getch که برای زدن یک کلید از صفحه کلید است و در فایل سرآیند conio قرار دارد .
حزب فقط حزب علی رهبر فقط سید علی : ظاهرا دستور حمله به سپاه پاسداران انقلاب اسلامی صادر شده است. این را میشد از همان روزهای پایانی مذاکرات وین و انتشار فهرستی بلند بالا به عنوان ... در رسانههای ضد انقلاب حدس زد. در شرایطی که همه نگاهها به اتاق مذاکرات در شهر وین و اعلام نتیجه مذاکرات بود، رسانه دولتی انگلیس مهمترین گزارش خود را به تحلیل و تفسیر فهرستی اختصاص داد که ساعاتی قبل در یک رسانه ضد انقلاب منتشر شده بود و برخی کارشناسان، آنرا مشابه با فهرستی میدانستند که به تازگی به عنوان شکواییه به برخی مقامات عالیرتبه نظام ارائه شده بود.
به گزارش رجانیوز، این در حالی بود که برخی انتشار فهرست مذکور را بیارتباط با سخنان رئیس جمهور نمیدانستند که در آن عنوان شده بود: «مخاطب من در جمله و کلمهای که در وزارت امور خارجه بیان کردم (بزدل) و نقطه مقابل «شیردل» بود، نه منتقدین و مخالفین، بلکه کسانی بودند که صرفاً به دنبال تخریب و کارشکنی هستند و مدتی است که از اتاق فکر به اتاق عملیاتی وارد شدهاند و بدانند که در برابر تخریب گران سکوت نمیکنیم.»
به نام نامی او
در اوج نا امیدی بودم و بیماریهای زیادی داشتم اما با آمدن به کنگره و با آموزش گرفتن وعوض شدن ساختارهای ذهنی ام همه آنها کم رنگ شدند
چهارمین جلسه از دور دهم سری کارگاههای آموزشی خصوصی کنگره 60 ویژه همسفران نمایندگی افسریه با دستور جلسه وادی پنجم و تأثیر آن روی من با استادی خانم ربابه ونگهبانی خانم زهرا ودبیری خانم سامره در تاریخ 93/10/14 راس ساعت 16 شروع به کار نمود .
خلاصه سخنان استاد :
خدا را شکر می کنم که یک بار دیگر توانستم در این جایگاه قرار بگیرم و خدمت کنم و از این که در جمع شما هستم خیلی خوشحالم ،در باره دستور جلسه که می گوید در جهان ما تفکر قدرت مطلق حل نیست بلکه توأم با رفتن ورسیدنآن را کامل می نماییم باید بگویم . . .
/* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin-top:0cm; mso-para-margin-right:0cm; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial; mso-bidi-theme-font:minor-bidi;}
ضرورت توجه به درسی به نام انشا و آموزش نوشتن مساله ایست که برکسی پوشیده نیست.اما متاسفانه خواسته یا ناخواسته بعضا مشاهده می شود که این ضرورت چندان که باید جدی گرفته نشده و گاه اصلا درسی به نام انشا را همکاران در کلاس های درس نادیده می گیرند.انسان به واسطه ی زبان است که می اندیشد.یا آن گونه که در ساده ترین تعریف زبان هم آمده است،زبان وسیله ی برقراری ارتباط بین انسان هاست که هدف از ایجاد این ارتباط انتقال پیام می باشد.تجربیات نسل های مختلف بشری به واسطه ی زبان و نوشتار به نسل های بعد منتقل شده و می شود.آموزش دستور زبان هر کشوری به شهروندانش یک ضرورت و وطیفه است و این مهم به شکل جدی و قاعده مند آن از دبستان شروع شده و کلا یکی از ارکان آموزش در آموزش و پرورش و در مراحل بعد آموزش عالی است.هر انسانی باید از این حق طبیعی برخوردار باشد که اصول اولیه ی زبان مادری اش را در مدرسه بیاموزد،که خود مقدمه ایست جهت یادهی-یادگیری دیگر علوم.اما متاسفانه به زبان فارسی به عنوان یکی از اصلی ترین پایه های فرهنگ کشورمان به دلایل زیادی آنگونه که باید و شاید پرداخته نشده و نمی شود،که ذکر همه ی این دلایل در حوصله ی این نوشتار نمی گنجد.اما ذکر چند مورد را در این جا برخود لازم می دانم.از آنجایی که این گمان ساده به ذهن همه ی ما آمده و می آید که وقتی من زبان مادری ام فارسی است و روزمره با آن گفت و گو می کنم.یا این که وقتی کودکان ما پیش از ورود به چرخه ی آموزش رسمی خود استفاده از زبان فارسی را یاد می گیرند پس چه لزومی دارد که ما زبان فارسی را آموزش بدهیم؟اکثرا مد شده بچه هایمان را پیش از ورود به مدرسه یا حتا سن پایین تر به آموزشکده های زبان می فرستیم و افتخار می کنیم که انگلیسی حرف می زنند و یا می نویسند.در حالی که در خیلی از موارد باسواد ترین خودمان هم از نوشتن یک موضوع به زبان مادری مان عاجزیم.به راستی تا کنون به این مهم فکر کرده ایم کودکی که دستور زبان مادری اش را خوب یاد نگیرد،هیچ گاه دستور زبان های غیر مادری را آن گونه که باید و شاید به صورت کاربردی یاد نخواهد گرفت؟ با توجه به دهکده ای شدن جهان امروز و گسترش فناوری اطلاعات و به دنبال آن ضرورت ارتباط با زبان و فرهنگ های دیگر، آموزش و یادگیری دیگر زبان ها نیزیک ضرورت است.اما این به این معنا نباید باشد که زبان مادری مورد غفلت واقع شود و افراد یک جامعه ابتدایی ترین مسایل زبان مادری خود را ندانند و از کاربرد آن در ارتباطات و زندگی روزمره عاجز باشند.کودکی که آموزش اصولی زبان مادری را پشت سر نگذارد،"فاعل"،مفعول"،"مسند"،"متمم" و"فعل" و کاربرد آن ها در جمله را یاد نگیرد مجبور است تنها مطالب آموزشی را حفظ کرده و هیچ گاه به سطح کاربرد از علمی که می آموزد نمی رسد.به راستی ریشه ی اصلی این معضل که ما این همه در نوشتارمان دچار مشکلیم چیست؟در اهداف کلی نظام آموزشی کشور بخصوص آموزش و پرورش به عنوان پایه ی اصلی و مهم آن به این موضوع توجه شده است.اگر دقت کنیم آموزش دستور زبان فارسی از "بنویسیم" پایه ی اول دبستان با آموزش جمله سازی آغاز می شود و با نظم خاصی که( البته در کتاب های جدید چند ساله ی اخیر) یافته تا پایه ششم پیش می آید.و در دوره ی متوسطه نیز شاهد تغییرات خوبی هستیم.اما آیا این به تنهایی کافی ست؟
معتقدم انشا آنگونه که از تعاریف اولیه ی آن هم می شود برداشت کرد"نوشتن خلاق" است.حال این پرسش مطرح است که این خلاقیت چیست؟ این خلاقیت کجا و توسط چه کسی باید آموزش داده شود؟ کلمه ی خلاق در لغت به معنی" آفریننده" و "مبدع" می باشد.و تفکر خلاق عبارت است از دخل وتصرف کردن در صورت های ذهنی خود. یعنی آن چه قبلا درک کرده ایم، برای به وجود آوردن تصاویربدیع و نو. بنا براین ابتدا باید ذهن کودک را خلاق بار بیاوریم تا دست به خلاقیت بزند.و این مهم جایی اتفاق نمی افتد مگر زنگ انشا و با آموزش معلم آشنا با دستور زبان. به این ترتیب به مرور شاهد تغییر ساختار فکر از قالبی (همگرا ) به پویا( واگرا) خواهیم بود. اما متاسفانه معلمان ما یا انشا و بنویسم( در مقطع ابتدایی) را درس نمی دانند یا با اطلاعات و روش های خلاق جهت آموزش این درس آشنایی کافی ندارند. بنا براین در کشوری که در دنیا آن را با ادبیات و فرهنگش،با شاعران و نویسندگانش می شناسند،غفلت در مورد آموزش صحیح ،اصولی و پایه ای دستور زبانش با فراهم آوردن بهترین امکانات و گماردن تخصصی ترین نیروها،نوعی تیشه به ریشه زدن است و نا بخشودنی.این زنگ خطری ست که من فکر می کنم برای به صدا در آوردنش خیلی وقت را از دست داده ایم. این یک ضرورت است که باید نگاه خانواده،مدرسه و در سطوح بالا تر برنامه ریزان آموزش پرورش به درس فارسی در تعریف اهداف جزیی و کلی، بیشتر از این دگرگون شود.
محمود حسینی-دی93