• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
انجمن ها > انجمن کامپیوتر > صفحه اول بحث
لطفا در سایت شناسائی شوید!
کامپیوتر (بازدید: 7761)
شنبه 27/8/1391 - 15:49 -0 تشکر 574558
*آموزش برنامه نویسی به زبان ++c*

بسم الله الرحمن الرحیم

سلامی گرم خدمت انجمنی های عزیز

چند روز پیش امکانات جدید visual studio 2012 را خدمت شما معرفی کردیم .

در این بحث قصد داریم نحوه برنامه نویسی با این نرم افزار را به طور مختصر برای شما عزیزان شرح دهیم.

در ضمن می توانید سوالات خود را در همین بحث ثبت نمایید تا با کمک یکدیگر پاسخ دهیم.
در ضمن اگر می خواهید در کنار آموزش این برنامه ، از کتاب نیز کمک بگیرید میتوانید کتاب دایتل و دایتل ترجمه دکتر صاحب الزمانی را تهیه کنید.
تا آخر این بحث همراه ما باشید.

شنبه 27/8/1391 - 16:50 - 0 تشکر 574580

آشنایی با داده ها


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



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

انواع متغیر عددی در دو دسته کلی قرار می گیرند:

• متغیرهای صحیح، مقادیری را نگه می دارند که بخش کسری ندارند. متغیرهای صحیح خود دو نوع هستند: علامتدار، که می توانند مقادیر مثبت و منفی را ذخیره کنند و بدون علامت، که تنها مقادیر مثبت را نگه می دارند.
• متغیرهای ممیزشناور، مقادیری را که دارای بخش کسری هستند یعنی اعداد حقیقی را نگه می دارند.

عبارات signed، unsigned، short و long اصلاح کننده هائی هستند که برای تغییر و تبدیل انواع پایه از قبیل char، int و double اضافه می شوند .

انواع داده ها وابسته به platform کامپیوتر است و ممکن است روی کامپیوترهای مختلف متفاوت باشد، اما C با توجه به استاندارد ANSI موارد زیر را تضمین می دهد:

• یک کاراکتر همیشه یک بایت است.
• اندازه short کوچکتر یا مساوی اندازه int است.
• اندازه int کوچکتر یا مساوی اندازه long است.
• اندازه unsigned برابر با int است.
• اندازه float کوچکتر مساوی با اندازه double است.

شنبه 27/8/1391 - 16:52 - 0 تشکر 574581

اعلان متغیر


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



اعلام متغیر به فرم کلی زیر است:

typename varname;

typename نوع متغیر را مشخص می کند که باید یکی از نوع های داده ای زبان C باشد. varname نام متغیر است که باید از قواعد گفته شده تبعیت کند.

می توان در یک خط چند متغیر را از یک نوع تعریف کرد.

مثال. متغیرهای count، number و start از نوع int و متغیرهای percent و total از نوع float اعلان شده اند.

int count, number, start; /* three integer variables */
float percent, total; /* two float variables */

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


شنبه 27/8/1391 - 16:54 - 0 تشکر 574582

کلمه کلیدی typedef

کلمه کلیدی typedef برای ایجاد نامی جدید به نوع داده موجود بکار می رود و در واقع یک مترادف برای آن نوع تولید می کند.

مثال. عبارت زیر برای نوع داده ای int مترادف integer را ایجاد می کند. بنابراین در برنامه می توان از کلمه integer برای اعلان متغیرهای از نوع int استفاده کرد.

typedef int integer;
integer count;

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

شنبه 27/8/1391 - 16:56 - 0 تشکر 574583

مقداردهی اولیه متغیرهای عددی

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

مثال.

int count = 0;
double percent = 0.01, taxrate = 28.5;

علامت مساوی (=) عملگر واگذاری در زبان C است که در بخش عبارات توضیح داده می شود.

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

نکته. با تعداد بایت هائی که نوع های متغیر روی کامپیوتر شما اشغال می کند به خوبی آشنا شوید.
نکته. از typedef برای خوانا کردن برنامه خود استفاده کنید.
نکته. تاحد ممکن هنگام تعریف متغیر به آنها مقداراولیه بدهید. استفاده از متغیری که مقداردهی نشده است ممکن است نتایج غیرقابل پیش بینی تولید کند.
نکته. استفاده از متغیرهای float و double برای ذخیره اعداد صحیح باعث پایین آمدن کارائی برنامه می شود.
نکته. مقادیر بزرگ را در نوع متغیری که برای ذخیره آنها کوچک است ذخیره نکنید.
نکته. اعداد منفی را در نوع های بدون علامت ذخیره نکنید.

چهارشنبه 8/9/1391 - 9:28 - 0 تشکر 576514

بسم الله الرحمن الرحیم


سلام علیکم

برای این که زنگ تفریحی براتون باشه ، توجه شما را به مصاحبه با مخترع صندلی داغ جلب می نمایم.


چه کسی ++ C را شروع کرد؟


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


 نام ++ C از کجا آمده است؟


ابتدای کار، اسمش C with Classes بود. بسیاری نمی‌توانستند آن را تلفظ کنند و کم‌کم به اسم C معروف شد. اما گویا متوجه نبودند که C صدا زدن این برنامه یعنی اشاره کردن به برنامه دنیس ریچی (!) نه برنامه من، برای همین اسم‌های مختلفی برای زبان‌ها گذاشتند. سی‌ قدیم، سی بهتر، و چنین چیزهایی... تا این‌که یک روز از طرف آزمایشگاه‌های بل (Bell Labs) برای من نامه آمد که یک اسم درست و حسابی برای این زبان انتخاب کنیم که ما آن موقع به ++  C بسنده کردیم. انتخاب زیادی نداشتیم، یک لیست بود که به ما دادند و من از میان آنها همین را انتخاب کردم. البته بیشتر موافق بودند که ++C را انتخاب کنیم، اما به نظر من تلفظش دیگر بسیار سخت می‌شد.


تا به حال به موانع یامشکلاتی برخورده‌اید که توسعه زبان را به خطر بیاندازد؟


تا دل‌تان بخواهد! قوانین اصلی طراحی برنامه چیست؟ چه چیزی باید در زبان باشد و چه چیز نباید باشد؟ اغلب مردم به‌دنبال زبانی می‌گردند که بسیار کوچک باشد و در عین حال تمام امکاناتی که آنها به‌دنبالش هستند را هم در خود داشته باشد، خب این غیرممکن است.


بعد از مدت کوتاهی که به شانس و اقبال اکتفا کرده بودم، بالاخره به این نتیجه رسیدم که باید به قانونی مشخص برسم. زبانی که در آن واحد هم پایدار باشد و هم برای برنامه‌نویسی سیستم (همچون زبان C) مناسب باشد. واضح است که هیچ برنامه‌ای نمی‌تواند هر دو را به‌طور کامل داشته باشد. اما هدف ++  C این بود، حالا چقدر به آن نزدیک شدیم، بعدا مشخص شد.


فرق بین زبان C همراه با كلاس که گفتید ++C چیست؟

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


اگر الان شانس این را داشتید که ++C را دوباره اختراع کنید، کدام بخش آن را تغییر می‌دادید؟


 عجب سوال کلیشه‌ای پرسیدید، آن موقع خب معلوم است که 30 سال تجربه کار با ++ C را نداشتم و آن موقع، تنها منبعی که می‌شد برای ++ C به او مراجعه کرد، خودم بودم که تازه آن هم تمام وقت نبود. اما در بهترین حالت، دوست داشتم که توابع مجازی، Templateها و استثناها را اگر در سال 85 پیاده می‌کردم، ++  C زبان بسیار بهتری از آب در می‌آمد.


وقتی در سال 1998،++ C به یک استاندارد بدل شد، چه احساسی داشتید و چه نقشی را در روند استانداردسازی بازی کردید؟


سال‌های زیاد بود که سخت کار می‌کردم (1989 – 1997)، هر چند که الآن دارم روی استاندارد زیرمجموعه‌اش کار می‌کنم. اینکه زبان استانداردی را بخواهی محبوب حفظ کنی، کاری دشوار و وظیفه‌ای سخت است. ++  C هیچ پدری ندارد و هیچ کس نیست که برای توسعه‌اش از جیب بزند، کتابخانه‌هایش رایگان هستند و رایگان هم بازاریابی می‌شوند. باز هم دست موسسه ایزو درد نکند که به رشد جامعه ++  C کمک کرد و همین رشد باعث شد داوطلبان زیادی از سراسر دنیا داشته باشد. 


جالبترین برنامه‌ای که تا به‌حال دیده‌ای که با ++ C نوشته‌اند چیست؟

نمی‌توانم یکی را انتخاب کنم.. بیشتر به سیستم‌های کامل نگاه می‌کنم که بخشی از آنها را با ++ C نوشته‌اند. مثلا زیرسیستم خودروهای مریخ‌نشین ناسا، موتور جستجوی گوگل، سیستم رزرو هوایی آمادئوسبه ذهنم می‌رسد. اگر فقط بخواهم به کد نگاه کنم، به‌نظرم STL الکساندر استپانو یکی از مفیدترین، موثرترین و جالب‌ترین کدهای ++ C بود که تا به‌حال دیده‌ام.


آیا فکر نمی‌کنی که ++ GNU C بهتر است خطاهای طولانی کمتری داشته باشد که دانشجویان نترسند؟


البته، اما واقعا تقصیر کامپایلر گنو نیست. مشکل اصلی اینجاست که ++  C استاندارد 98 هیچ راه ساده‌ای برای تعریف یک تمپلیت پیش‌پای برنامه‌نویس نمی‌گذارد. این یکی از ضعف‌های این زبان است، نه کامپایلر آن! و فقط با تغییر زبان می‌شود آن را درست کرد که قرار است بخشی از C++0x (استاندارد جدید C++  C باشد).


مشکل اصلی اینجاست که ++  C  استاندارد 98 هیچ راه ساده‌ای برای تعریف یک تمپلیت پیش‌پای برنامه‌نویس نمی‌گذارد. این یکی از ضعف‌های این زبان است، نه کامپایلر آن! و فقط با تغییر زبان می‌شود آن را درست کرد که قرار است بخشی از C++0x (استاندارد جدید C++  C  باشد).


در آخر چیز دیگری هست که بخواهید اضافه کنید؟


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


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

چهارشنبه 8/9/1391 - 9:34 - 0 تشکر 576518

آموزش ساختار های کنترلی


این ساختار ها شامل دستورات :if را عبارت تک انتخابی (single-selection) می‌نامند، چرا که یک عمل را انتخاب و اجرا یا آنرا رد می‌کند.  عبارت if..else را عبارت دو انتخابی (double-selection) می‌نامند، چرا که انتخابی مابین دو حالت متفاوت انجام می‌دهد.عبارت switch، عبارت چند انتخابی (multiple-selection) نامیده می‌شود، چرا که از میان موارد متفاوت انتخاب خود را انجام می‌دهد.



مثال برای دستورif:استادی قصد دارد نمره دانشجویانی که بیشتر از ۵۰ شده اند را به عنوان قبولی اعلام کند دستوری که برای این برنامه به عنوان شرط به کار میرود را مینویسیم :


}  (if(number>=50


;cout<


{


مثالی برای دستور if…else: برای مثال بالا بافرض اینکه دانشجویان ردی را هم در خروجی چاپ کند:


}  (if(number>=50


;cout<


else


}


{cout<


مثال برای دستور swtich :اگر بخواهیم بین چند caseانتخاب کنیم:
(switch(choice
{
case 1:
; cout << “you chose 1n”
; break
case 2:
; cout << “you chose 2n”
; break
case 3:
;cout << “you chose 3n”
;break
default:
; cout << “you made an invalid choice n ”


}


در انتهای هر case یک دستور break وجود دارد که باعث می شود اجرا به انتهای بلاک switch منتقل شود. اگر break حذف شود اجرا ادامه پیدا می کند و کلیه case های بعدی اجرا می شود تا وقتی که با یک دستور break مواجه شود.

چهارشنبه 8/9/1391 - 9:35 - 0 تشکر 576519

ساختارهای تکرار:


 حلقهfor:


یک حلقه (loop) دستوری است تا زمان برآورده شدن شرطی دستورات دیگر را تکرار می کند. دستور داخل حلقه می تواند بلاکی از کد، حلقه یا هر دستور دیگری باشد.


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


در C++ فرم کلی حلقه for به صورت زیر است:


For (initial  condition; update
{
loop_body
}


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


مثال برای دستورfor: مثال. قطعه کد زیر اعداد ۱ تا ۲۰ را نمایش می دهد.


(++ for (count = 1; count ; cout << count << endl

چهارشنبه 8/9/1391 - 9:35 - 0 تشکر 576520

for تودرتو


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


مثال. دستور cout درون حلقه داخلی ۵×۳=۱۵ بار تکرار می شود.


}(++for(i=1;i


}(++ for(int j=0 ; j < 4 ; j
cout << “This is inner loop ” << j


cout << ” of outer loop ” << i << endl
{


{


در قسمت بعد به معرفی while ,do while , countinue خواهیم پرداخت.

چهارشنبه 8/9/1391 - 9:41 - 0 تشکر 576521

while ( عبارت شرطی )



{ Line Command 1; Line Command 2; Line Command n; }

از این ساختار برای ایجاد حلقه های تکرار استفاده می شود و تا زمانیکه عبارت شرطی داخل پرانتز while() درست باشد دستورات مربوطه اجرا خواهند شد و به محض نادرستی شرط، کنترل دستورات از حلقه خارج خواهد شد.



Enter the starting number that bigger than zero : 8 8, 7, 6, 5, 4, 3, 2, 1, Fire!

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


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


شکل دیگری از این دستور وجود دارد که شبیه به while() بوده و به آن حلقه do while گفته می شود، با این تفاوت که اگر شرط درون آن نادرست باشد دستورات درون حلقه حداقل یکبار اجرا می شوند و اگر شرط درست باشد، حلقه تا زمان نادرستی شرط ادامه خواهد یافت و ساختار آن بدینگونه است :


در ساختار do while() ابتدا دستورات do اجرا شده و بعد شرط درون while() بررسی می شود و در صورت درستی شرط، اجرای دستورات do ادامه پیدا خواهد کرد.


نکته) دوستان توجه داشته باشند که اگر دستورات مربوط به for, while, do, … فقط یک دستور باشد نیازی به قرار دادن دستور درون آکولاد نیست و تکرار فقط بر روی تنها سطر دستور ادامه خواهد داشت و تا زمانیکه شرط برقرار باشد فقط و فقط آن سطر تکرار و اجرا می شود و تا زمان پایان به خط بعدی نخواهد رفت اما اگر دستورات بیش از یکی باشد لازم است که آنها را در آکولاد قرار دهیم و این قانون کلی در برنامه نویسی است.

Enter number (0 to end): 1298 You entered: 1298 Enter number (0 to end): 35 You entered: 35 Enter number (0 to end): 0 You entered: 0

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


دستورهای break و continue:تا حدی با دستور break در دستور switch آشنا شدید. دستورهای switch و continue برای کنترل بیشتر جریان اجرای برنامه در ساختارهای انتخاب و تکرار به کار می‌روند. بسیاری مواقع ممکن است در میانه اجرای یک حلقه تکرار از ادامه اجرای حلقه تکرار منصرف شویم. برای مثال فرض کنید در یک آرایه به دنبال یک عدد خاص می‌گردیم، به محض این که عدد مورد نظر پیدا شد، دیگر نیازی به تکرار بیهوده حلقه تکرار نیست. در این حال چه باید کرد؟ باید از حلقه بیرون آمد. برای خروج از حلقه تکرار می‌توان از دستور break استفاده کرد. به مثال زیر دقت کنید:



  1. int [] list = new int[] { ۱۰ , ۲۰ , ۳۰ , ۴۰ , ۵۰ , ۶۰ , ۷۰ , ۸۰ , ۹۰ , ۱۰۰ };

  2. for( int i = ۰ ; i < list.length ; i++ ) {

  3.     if( list[i] == ۲۰ ) {

  4.         System.out.println(“Hooray! we found ۲۰!”);

  5.         break;

  6.     }

  7. }


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


کارکرد دستور continue هم به نوعی مشابه است. این بار می‌خواهیم تا انتهای دستورات حلقه پیش نرفته و مجدداً از ابتدای حلقه، دستورات را اجرا کنیم، البته با مقادیر جدید شمارنده! مثال زیر را ببینید:



  1. float [] grades = new float[] { ۱۸ , ۹ , ۱۱ , ۱۶ , ۶٫۵f , ۱۴ , ۱۹ , ۹ };

  2. for( int i = ۰ ; i < grades.length ; i++ ) {

  3.     if( grades[i] < ۱۰ ) {

  4.         continue;

  5.     }

  6.     System.out.println(“Passed, grade is: ” + grades[i] );

  7. }


در حلقه تکرار فوق، اگر مقدار grades[i] کمتر از ده باشد، بقیه دستورات داخلی حلقه تکرار را ادامه نداده و مجدداً برمی‌گردیم و از ابتدای حلقه مجدداً تکرار می‌کنیم، با این تفاوت که مقدار شمارنده یکی بیشتر شده است. ماحصل این تکرار چاپ نمره‌های بیشتر از ۱۰ است. به خروجی برنامه دقت کنید:



  1. Passed, grade is: ۱۸٫۰

  2. Passed, grade is: ۱۱٫۰

  3. Passed, grade is: ۱۶٫۰

  4. Passed, grade is: ۱۴٫۰

  5. Passed, grade is: ۱۹٫۰


نکته: کاربرد دستورات break و continue در حلقه‌های تکرار است. تنها کاربرد break در خارج از ساختارهای تکرار، در دستور switch است.

برو به انجمن
انجمن فعال در هفته گذشته
مدیر فعال در هفته گذشته
آخرین مطالب
  • آلبوم تصاویر بازدید از کلیسای جلفای...
    آلبوم تصاویر بازدید اعضای انجمن نصف جهان از کلیسای جلفای اصفهان.
  • بازدید از زیباترین کلیسای جلفای اصفهان
    جمعی از کاربران انجمن نصف جهان، در روز 27 مردادماه با همکاری دفتر تبیان اصفهان، بازدیدی را از کلیسای وانک، به عمل آورده‌اند. این کلیسا، یکی از کلیساهای تاریخی اصفهان به شمار می‌رود.
  • اعضای انجمن در خانه شهید بهشتی
    خانه پدری آیت الله دکتر بهشتی در اصفهان، امروزه به نام موزه و خانه فرهنگ شهید نام‌گذاری شده است. اعضای انجمن نصف جهان، در بازدید دیگر خود، قدم به خانه شهید بهشتی گذاشته‌اند.
  • اطلاعیه برندگان جشنواره انجمن‌ها
    پس از دو ماه رقابت فشرده بین کاربران فعال انجمن‌ها، جشنواره تابستان 92 با برگزاری 5 مسابقه متنوع در تاریخ 15 مهرماه به پایان رسید و هم‌اینک، زمان اعلام برندگان نهایی این مسابقات فرارسیده است.
  • نصف جهانی‌ها در مقبره علامه مجلسی
    اعضای انجمن نصف جهان، در یك گردهمایی دیگر، از آرامگاه علامه مجلسی و میدان احیا شده‌ی امام علی (ع) اصفهان، بازدیدی را به عمل آوردند.