برنامه مسابقات جام جهاني

گروه A. آفریقای جنوبی. مکزیک. اروگوئه. فرانسه

آفریقای جنوبی - مکزیک ؛ ژوهانسبورگ، جمعه 21 خرداد 89 ،ساعت 17:30 به وقت ایران (بازی افتتاحیه)
اروگوئه - فرانسه ؛ کیپ تاون، جمعه 21خرداد 89 ،ساعت 22 به وقت ایران
آفریقای جنوبی - اروگوئه ؛ پرتوریا، چهارشنبه 26 خرداد 89 ، ساعت 22 به وقت ایران
فرانسه - مکزیک ؛ پولوکوانه ، پنج‌شنبه 27 خرداد 89 ، ساعت 15 به وقت ایران
مکزیک - اروگوئه ؛ روشتنبرگ، سه‌شنبه 1 تیر 89 ، ساعت 17:30 به وقت ایران
فرانسه - آفریقای جنوبی ؛ مانگوئانگ، سه‌شنبه 1 تیر 89، ساعت 17:30 به وقت ایران


گروه B. آرژانتین. نیجریه. کره جنوبی. یونان
آرژانتین - نیجریه ؛ ژوهانسبورگ، شنبه 22 خرداد 89، ساعت 15 به وقت ایران
کره جنوبی - یونان ؛ بندر الیزابت، شنبه 22 خرداد 89، ساعت 17:30 به وقت ایران
یونان - نیجریه ؛ مانگوئانگ، پنج‌شنبه 27 خرداد 89، ساعت 17:30 به وقت ایران
آرژانتین - کره جنوبی ؛ ژوهانسبورگ، پنج‌شنبه 27 خرداد 89، ساعت 22 به وقت ایران
نیجریه - کره جنوبی ؛ دوربان، سه‌شنبه 1 تیر 89، ساعت 22 به وقت ایران
یونان - آرژانتین ؛ پولوکوانه، سه‌شنبه 1 تیر 89، ساعت 22 به وقت ایران


گروه C. انگلیس. آمریکا. الجزایر. اسلونی
انگلیس - آمریکا ؛ روشتنبورگ، شنبه 22 خرداد 89، ساعت 22 به وقت ایران
الجزایر - اسلونی ؛ پولوکوانه، یک‌شنبه 23 خرداد 89، ساعت 15 به وقت ایران
اسلونی - آمریکا ؛ ژوهانسبورگ، جمعه 28 خرداد 89، ساعت 17:30 به وقت ایران
انگلستان - الجزایر ؛ کیپ‌تاون، جمعه 28 خرداد 89، ساعت 22 به وقت ایران
اسلونی - انگلستان ؛ بندر الیزابت، چهارشنبه 2 تیر 89، ساعت 17:30 به وقت ایران
آمریکا - الجزایر ؛ پرتوریا، چهارشنبه 2 تیر 89، ساعت 17:30 به وقت ایران


گروه D. آلمان. استرالیا. صربستان. غنا
آلمان - استرالیا ؛ دوربان، یک‌شنبه 23 خرداد 89، ساعت 17:30 به وقت ایران
صربستان - غنا ؛ پرتوریا، یک‌شنبه 23 خرداد 89، ساعت 22 به وقت ایران
آلمان - صربستان ؛ بندر الیزابت، جمعه 28 خرداد 89، ساعت 15 به وقت ایران
غنا - استرالیا ؛ روشتنبورگ، شنبه 29 خرداد 89، ساعت 15 به وقت ایران
غنا - آلمان ؛ ژوهانسبورگ، چهارشنبه 2 تیر 89، ساعت 22 به وقت ایران
استرالیا - صربستان ؛ نلسپروئیت، چهارشنبه 2 تیر 89، ساعت 22 به وقت ایران


گروه E. هلند. دانمارک. ژاپن. کامرون
هلند - دانمارک ؛ ژوهانسبورگ، دو‌شنبه 24 خرداد 89، ساعت 15 به وقت ایران
ژاپن - کامرون ؛ مانگوئانگ ، دوشنبه 24 خرداد 89، ساعت 17:30 به وقت ایران
هلند - ژاپن ؛ دوربان، شنبه 29 خرداد 89، ساعت 17:30 به وقت ایران
کامرون - دانمارک ؛ پرتوریا، شنبه 29خرداد 89، ساعت 22 به وقت ایران
دانمارک - ژاپن ؛ روشتنبرگ، پنج‌شنبه 3 تیر 89، ساعت 22 به وقت ایران
کامرون - هلند ؛ کیپ تاون، پنج‌شنبه 3 تیر 89، ساعت 22 به وقت ایران


گروه F. ایتالیا. پاراگوئه. نیوزیلند. اسلواکی
ایتالیا - پاراگوئه ؛ کیپ تاون، دوشنبه 24 خرداد 89، ساعت 22 به وقت ایران
نیوزیلند - اسلواکی ؛ روشتنبرگ، سه‌شنبه 25 خرداد 89، ساعت 15 به وقت ایران
اسلواکی - پاراگوئه ؛ مانگوائنگ، یک‌شنبه 30 خرداد 89، ساعت 15 به وقت ایران
ایتالیا - نیوزیلند ؛ نلسپروئیت، یک‌شنبه 30 خرداد 89، ساعت 17:30 به وقت ایران
اسلواکی - ایتالیا ؛ ژوهانسبورگ، پنج‌شنبه 3 تیر 89، ساعت 17:30 به وقت ایران
پاراگوئه - نیوزیلند ؛ پولوکوانه، پنج‌شنبه 3 تیر 89، ساعت 17:30 به وقت ایران


گروه G. برزیل. کره شمالی. ساحل عاج. پرتغال
ساحل عاج - پرتغال ؛ بندر الیزابت، سه‌شنبه 25 خرداد 89، ساعت 17:30 به وقت ایران
برزیل - کره شمالی ؛ ژوهانسبورگ، سه‌شنبه 25 خرداد 89، ساعت 22 به وقت ایران
برزیل - ساحل عاج؛ ژوهانسبورگ، یک‌شنبه 30 خرداد 89، ساعت 22 به وقت ایران
پرتغال - کره شمالی ؛ کیپ تاون، دوشنبه 31 خرداد 89، ساعت 15 به وقت ایران
پرتغال - برزیل ؛ دوربان، جمعه 4 تیر 89، ساعت 17:30 به وقت ایران
کره شمالی - ساحل عاج ؛ نلسپروئیت، جمعه 4 تیر 89، ساعت 17:30 به وقت ایران



گروه H. اسپانیا. سوئیس. هندوراس. شیلی
هندوراس - شیلی ؛ نلسپروئیت، چهارشنبه 26 خرداد 89، ساعت 15 به وقت ایران
اسپانیا - سوئیس ؛ دوربان، چهارشنبه 26 خرداد 89، ساعت 17:30 به وقت ایران
شیلی - سوئیس؛ بندر الیزابت، دوشنبه 31 خرداد 89، ساعت 17:30 به وقت ایران
اسپانیا - هندوراس ؛ ژوهانسبورگ، دوشنبه 31 خرداد 89، ساعت 22 به وقت ایران
شیلی - اسپانیا ؛ پرتوریا، جمعه 4 تیر 89، ساعت 22 به وقت ایران
سوئیس - هندوراس؛ مانگوئانگ، جمعه 4 تیر 89، ساعت 22 به وقت ایران



**دور یک هشتم نهایی
1-تیم اول گروه A-تیم دوم گروه B، بندر الیزابت، شنبه 5 تیر 1389، ساعت 17:30 به وقت ایران
2-تیم اول گروه C –تیم دوم گروه D، روشتنبورگ ،شنبه 5 تیر 1389، ساعت 22 به وقت ایران
3-تیم اول گروه D-تیم دوم گروه C، مانگوئانگ، یکشنبه 6 تیر 1389، ساعت 17:30 به وقت ایران
4-تیم اول گروه B-تیم دوم گروه A، ژوهانسبورگ ، یکشنبه 6 تیر 1389، ساعت 22 به وقت ایران
5-تیم اول گروه E-تیم دوم گروه F، دوربان ،دوشنبه 7 تیر 1389، ساعت 17:30 به وقت ایران
6-تیم اول گروه G-تیم دوم گروه H، ژوهانسبورگ ،دوشنبه 7 تیر 1389 ، ساعت 22 به وقت ایران
7-تیم اول گروه F-تیم دوم گروه E،پرتوریا ،سه شنبه 8 تیر 1389، ساعت 17:30 به وقت ایران
8-تیم اول گروه H-تیم دوم گروه G،کیپ تاون ،سه شنبه 8 تیر 1389 ، ساعت 22 به وقت ایران



**دور یک چهارم نهایی
A-برنده بازی 5 –برنده بازی 6 ،بندر الیزابت-جمعه 11 تیر 1389 ، ساعت 17:30 به وقت ایران
B-برنده بازی 1 –برنده بازی 2 ،ژوهانسبورگ ،جمعه 11 تیر 1389، ساعت 22 به وقت ایران
C-برنده بازی 3-برنده بازی 4 ،کیپ تاون،شنبه 12 تیر 1389، ساعت 17:30 به وقت ایران
D-برنده بازی 7-برنده بازی 8 ، ژوهانسبورگ،شنبه 12 تیر 1389، ساعت 22 به وقت ایران


**دور نیمه نهایی
برنده بازی A و B،کیپ تاون ،سه شنبه 15 تیر 1389، ساعت 22 به وقت ایران
برنده بازی C و D،دوربان ،چهار شنبه 16 تیر 1389، ساعت 22 به وقت ایران
دیدار رده بندی ،بندر الیزابت،شنبه 19 تیر 1389 ،،ساعت 22 به وقت ایران
دیدار نهایی،ژوهانسبورگ ،یکشنبه 20 تیر 1389 ، ساعت 22 به وقت ایران

عبور از رمز ويندوز





یكی از مشكلات ویندوز xp راه نفوذ به آن در صورت فراموش كردن password می باشد. همانطور كه همه شما می دانید xp امكان جالب switch user را دارد كه می توان محیط را برای كار user های مختلف فراهم كرد. حالا اگر شما این password را فراموش كنید چاره چیست؟ در این حالت چند راه نفوذ هست و آن این است كه در هنگام ظاهر شدن منوی كاربران در ابتدا، دو بار كلیدهایALT+CTRL+ DELETE را فشار دهید سپس در قسمت نام كلمه administrator را تایپ كرده و قسمت password را خالی بگذارید و Ok را بزنید در این حال وارد سیستم می شوید.

حال اگر administrator هم پسورد داشت چه کنیم؟

روش دوم در ادامه مطلب






۱. یكی از مشكلات ویندوز xp راه نفوذ به آن در صورت فراموش كردن password می باشد. همانطور كه همه شما می دانید xp امكان جالب switch user را دارد كه می توان محیط را برای كار user های مختلف فراهم كرد. حالا اگر شما این password را فراموش كنید چاره چیست؟ در این حالت چند راه نفوذ هست و آن این است كه در هنگام ظاهر شدن منوی كاربران در ابتدا، دو بار كلیدهایALT+CTRL+ DELETE را فشار دهید سپس در قسمت نام كلمه administrator را تایپ كرده و قسمت password را خالی بگذارید و Ok را بزنید در این حال وارد سیستم می شوید.


۲.حال اگر در هنگام نصب ویندوز Xp برایAdmin پسورد گذاشته باشند چه كار كنیم؟

برای این كار قبل یا هنگام بالا آمدن ویندوز كلید F8 را زده سپس بسته به نوع نیاز خود بكی از گزینه های Safe Mode را انتخاب كنید.

بعد از وارد شدن به ویندوز در منو Start كلیك كنید سپس گزینه RUN را انتخاب كرده ودر جای خالی عبارت Control userpasswords2 را تایپ كنید.

پنجره باز شده دارای 2 TAB به نام هایUsers & Advanced میباشد.

TAB Users را انتخاب كرده و تیك گزینهUser must enter a username and password to use this computer را بردارید

با برداشتن تیك این گزینه دیگر هنگام ورود به ویندوز از شما پسورد گرفته نمی شود.

حالا با استفاده از گزینه Add می توان نام كاربری را به آن اضافه و با استفاده از گزینه Remove می توان نام كاربری را حذف كرد. همچنین با استفاده از گزینه Properties می توان میزان دسترسی كاربران به ویندوز را تعیین كرد.

همین!




نفوذ به ويندوز XP بدون رمز عبور

نفوذ به ويندوز XP بدون رمز عبور
دسته : ترفندهای رجیستری , ترفندهای ويندوز تعداد بازديد : 5937

يکي از مشکلات ويندوز xp راه نفوذ به آن در صورت فراموش کردن password مي باشد .همانطور که همه شما مي دانيد xp امکان جالب switch user را دارد که مي توان محيط را براي کار user هاي مختلف فراهم کرد .حالا اگر شما اين password را فراموش کنيد چاره چيست؟. در اين حالت چند راه نفوذ هست و آن اين است که در هنگام ظاهر شدن منوي کاربران در ابتدا ، دو بار کليدهايALT+CTRL+ DELETE را فشار دهيد سپس در قسمت نام کلمه administrator را تايپ کرده و قسمت password را خالي بگذاريد و Ok را بزنيد در اين حال وارد سيستم مي شويد.

حال اگر در هنگام نصب ويندوز Xp برايAdmin پسورد گذاشته باشند چه كار كنيم؟
براي اين كار قبل يا هنگام بالا آمدن ويندوز كليد F8 را زده سپس بسته به نوع نياز خود بكي از گزينه هاي Safe Mode را انتخاب كنيد.
بعد از وارد شدن به ويندوز در منو Start كليك كنيد سپس گزينه RUN را انتخاب كرده ودر جاي خالي عبارت Control userpasswords2 را تايپ كنيد.
پنجره باز شده داراي 2 TAB به نام هايUsers & Advanced مي باشد.
TAB Users را انتخاب كرده و تيك گزينه:User must enter a username and password to use this computer را برداريد.
با برداشتن تيك اين گزينه ديگر هنگام ورود به ويندوز از شما پسورد گرفته نمي شود.

حالا با استفاده از گزينه Add مي توان نام كاربري را به آن اضافه و با استفاده از گزينه Remove مي توان نام كاربري را حذف كرد همچنين با استفاده از گزينه Properties مي توان ميزان دسترسي كاربران به ويندوز را تعيين كرد.

از بين بردن پيام غير ضروري در ويندوز XP :
استفاده كنندگان ويندوز xp ميدانند هرگاه ظرفيت هارد ديسك آنها به اندازه مشخصي رسيد به طور مدام پيامي در مانيتور ظاهر مي شود و در مورد كاهش حجم قابل استفاده هارد ديسك هشدار ميدهد. جهت رهايي از اين پيام مراحل زير را دنبال كنيد

HKEY_ CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Right-click Explorer and select New and DWORD Value.
In the right pane, rename the new value NoLowDiskSpaceChecks. Double click it
In the editing window, set the data value to 1(the number one).
Click OK to finish.

پاك كردن پسورد bios كامپيوتر به ساده ترين شكل ممكن!

يكي از بزرگترين مشكلاتي كه كاربران با آن روبرو هستند مشكل فراموش كردن پسورد BIOS كامپيوتر است. چرا كه با اين كار ديگر امكان ورود به كامپيوتر را نخواهند داشت. معمولأ براي رفع اين مشكل درآوردن باتري ساعت از روي مادربورد پيشنهاد ميشود. اما اين كار هميشه و هرجا قابل انجام نيست. چرا كه ممكن است سيستم شخصي شما نباشد يا حتي دستگاه يك لپتاپ باشد. اما با استفاده از اين ترفند شما به سادگي و تنها با تايپ يك دستور ساده پسورد ذخيره شده روي BIOS را كلأ محو ميكنيد! يقينأ چنين راهي را در هيچ جاي ديگر نخواهيد يافت! لازم به ذكر است اين ترفند بر روي تمامي BIOS ها قابل انجام است و تفاوتي در نوع آن نميكند.


براي اين كار:
شما ابتدا نياز به يك سي دي Bootable داريد. اين نوع سي دي در هر مكاني يافت ميشود. سي دي نصب ويندوز شما هم احتمال بسيار زياد Bootable است.
همچنين ميتوانيد خودتان يك فلاپي بوتيبل بسازيد.
مهم اين است كه شما به نوعي وارد خط فرمان شويد.
همچنين اگر DOS داريد ميتوانيد از آن استفاده كنيد.
پس از ورود به خط فرمان با استفاده از هر يك از طريق بالا كافي است دستورات زير را با دقت وارد نماييد:



O 70 71-

O 71 72-

O 72 73-

Q-

دقت كنيد بعد از وارد كردن هر خط دكمه Enter را بزنيد ، سپس خط بعدي را وارد كرده و مجدد Enter بزنيد تا به خط پايان برسيد.
اكنون پس از وارد كردن آخرين خط كار تمام است و شما ميتوانيد مطمئن باشيد پسورد BIOS شما پاك شده است.

حال سيستم را Reset كنيد و مشاهده كنيد كه ديگر پس از ورود به سيستم از شما پسوردي خواسته نميشود.


برنامه ای بنویسید که شعاع یک دایره را بگیرد و مساحت و محیط آن را چاپ کند

#include
#include

int main(){
int r;
float s,p;
const float pp=3.14;
printf("Plz enter a number \n ");
scanf("%d",&r);
p=2*pp*r;
s=pp*r*r;
printf("masahat=%6.3f - mohit=%6.3f",s,p);
getch();
return 0;
}

برنامه ای بنویسید که یک عدد را دریافت کند و فاکتوریل آن را چاپ نماید

#include
#include

int main() {
printf("lotfan yek adad ra be onvan meghdare F vared konid : ");
int n,i=1,f=1;
scanf("%d",&n);

for(i=1;i<=n;i++){
f*=i;
}
printf("F! = %d\n",f);

getch();
return 0;
}


برنامه ای بنویسید که تعدادی عدد را دریافت کند و جمع مربع این اعداد را نمايش دهد

برنامه ای بنویسید که تعدادی عدد را دریافت کند و جمع مربع این اعداد را نمايش دهد

#include
#include

int main(){
int n,i=0,a,s=0;
printf("lotfan tedad adad ra vared konid : ");
scanf("%d",&n);
while(i


لسيت کامل تگ های HTML به ترتيب حروف الفبا :

لسيت کامل تگ های HTML به ترتيب حروف الفبا :

در اين قسمت ليست کامل تگ های HTML که در بخش آموزش HTML ، توضيحات مربوط به آنها ارائه شده است قرار داد . : رديف  نام تگ  توضيح مختصر
1  < a >  برای ايجاد يک لنگر به کار می رود .
2  < abbr >  برای ايجاد يک مخفف برای يک عبارت بزرگتر به کار می رود .
3  < acronym >  برای ايجاد يک مخفف برای يک عبارت بزرگتر به کار می رود .
4  < address >  برای نوشتن يک آدرس در متن به کار می رود .
5  < area >  مشخص کننده يک ناحيه در نقشه های تصويری است .
6  < b >  برای توپر کردن نوشته ( Bold ) به کار می رود .
7  < base >  برای تعيين خواص پايه در يک صفحه به کار می رود .
8  < bdo >  قلم نوشته را به صورت نوشته های محيط های کدنويسی کامپيوتر در می آورد .
9  < big >  باعث بزرگتر نمايش داده شدن نوشته در يک متن می شود .
10  < blockquote>  برای ايجاد يک نقل قول به کار می رود .
11  < body >  بدنه اصلی محتويات صفحه وب را تشکيل می دهد .
12  < br >  برای ايجاد يک خط جديد به کار می رود .
13  < button >  برای ايجاد دکمه های وب به کار می رود .
14  < caption >  برای تعيين عنوان يک جدول به کار می رود .
15  < cite >  باعث نمايش کج نوشته به کار می رود .
16  < code >  برای نمايش متن همانند محيط های برنامه نويسی به کار می رود .
17  < col >  برای دسته بندی گروهی از ستون های يک جدول به کار می رود .
18  < colgroup >  برای دسته بندی گروهی از ستون های يک جدول به کار می رود .
19  < dd >  برای ايجاد ليست های معنی به کار می رود .
20  < del >  برای نمايش متن حذف شده درصفحه به کار می رود .
بقیه در ادامه

ادامه نوشته

اعلان آرایه ها

اعلان آرایه ها

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

 طول آرايه] نام آرايه   نوع داده آرايه];

   به عنوان مثال دستور زير آرايه ای به طول 6 ، با نام num را از نوع int ايجاد می کند .

int num [6];

توجه داشته باشيد که تمام عناصر دارای نام يکسانی می باشند و تنها با انديس از هم تفکيک می شوند . به عنوان مثال عنصر با انديس 2 دارای مقدار 23560- می باشد ، ضمناً انديس عناصر از 0 شروع می شود .

   استفاده از يک عبارت محاسباتی به جای انديس عناصر امکان پذير می باشد ، به عنوان مثال با فرض اينکه متغير a حاوی 2 و متغير b حاوی 3 باشد ، دستور زير:

num [a+b] + = 3;

   سه واحد به عنصر num [5] اضافه خواهد کرد و اين عنصر حاوی عدد 3 می گردد . برای چاپ مجموع سه عنصر اول آرايه می توانيد از دستور زير استفاده کنيد :

cout << num[0] + num[1] + num[2] << endl;

   برای تقسيم عنصر چهارم آرايه بر 2 و قرار دادن حاصل در متغير x از دستور زير می توانيد استفاده کنيد :

x = num[3]/2;

   نکته : توجه داشته باشيد که عنصر چهارم آرايه با عنصر شماره چهار ( با انديس چهار ) متفاوت می باشد . همانطور که در دستور فوق ديديد عنصر شماره چهار دارای انديس سه می باشد ، دليل اين امر اينست که انديس گذاری از صفر شروع می شود . در آرايه فوق عنصر چهارم آرايه num[3]=-50 می باشد ولی عنصر شماره چهار ( با انديس چهار ) num[4]=32500 می باشد .

همانند متغيرها چند آرايه را نيز می توان توسط يک دستور تعريف کرد :

int b[100] , x[27] ;

   دستور فوق 100 خانه از نوع عدد صحيح را برای آرايه با نام b و 27 خانه از نوع عدد صحيح را برای آرايه با نام x در نظر می گيرد .

برای مقدار دهی اوليه به هر يک از عناصر آرايه می توانيد از شيوه زير استفاده کنيد :

int n[5] = {32 , 27 , 64 , 18 , 95 }

 

   اگر طول آرايه هنگام تعريف آرايه تعيين نشده باشد و ليست مقدار عناصر نوشته شود ، همانند دستور زير :

int n[] = { 1 , 2 , 3 , 4 , 5 }

در اين صورت کامپايلر به تعداد عناصر ليست ، خانه حافظه برای آرايه در نظر می گيرد ، مثلاً در دستور فوق 5 خانه حافظه برای آرايه n در نظر گرفته می شود .

راه ديگری که برای مقدار دهی اوليه به عناصر آرايه وجود دارد استفاده از روش زير است :

int num[10] = {0}

   دستور فوق 10 خانه حافظه برای آرايه num در نظر می گيرد و مقادير همه آنها را صفر می کند . توجه داشته باشيد که اگر از دستور زير استفاده کنيم :

int num[10] = {1}

   تمامی عناصر مقدار 1 را نمی گيرند بلکه عنصر اول آرايه يک می شود و بقيه عناصر مقدار صفر را می گيرند .

   در تعريف آرايه ديديد که طول آرايه را با عدد صحيح ثابتی تعيين می کنيم . هر جا که از عدد ثابتی استفاده می شود ، متغير ثابت نيز می توان به کار برد . متغيرهای ثابت به صورت زير تعريف می شوند :

const   مقدار متغير = نام متغير ثابت     نوع داده متغير ;

   به عنوان مثال :

const  int  arraySize = 10;

   دستور فوق عدد 10 را به متغير arraySize ثابت انتساب می دهد . توجه داشته باشيد که مقدار يک متغير ثابت را در طول برنامه نمی توان تغيير داد و نيز متغير ثابت در هنگام تعريف شدن ، مقدار اوليه اش نيز بايد تعيين گردد . به متغيرهای ثابت ، متغيرهای فقط خواندنی نيز گفته می شود . کلمه "متغير ثابت" يک کلمه مرکب ضد و نقيض می باشد چون کلمه متغير متضاد ثابت می باشد و اين اصطلاحی است که برای اينگونه متغيرهای در اکثر زبانهای برنامه نويسی به کار می رود . برنامه زير نحوه تعريف يک متغير ثابت را نشان می دهد :

#include 
 
void main()
{
   const int x = 7; 
 
   cout << "The value of constant variable x is: "
        << x << endl;
 
}

   برنامه فوق عدد 7 را در متغير ثابت x قرار می دهد و توسط دستور cout آنرا چاپ می کند . همانطور که گفتيم مقدار متغير ثابت در هنگام تعريف بايد تعيين گردد و نيز ثابت قابل تغيير نمی باشد ، به برنامه زير توجه کنيد .

#include 
 
void main()
{
   const int x;  
 
   x=7;
}

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

 Compiling C:\TCP\BIN\CONST1.CPP:
Error : Constant variable 'x' must be initialized
Error : Cannot modify a const object

   مثال : در برنامه زير طول آرايه توسط متغير ثابتی تعيين می گردد و عناصر آرايه توسط حلقه for مقدار دهی شده و سپس توسط حلقه for ديگری ، مقدار عناصر آرايه چاپ می گردد .

#include 
 
void main()
{
   const int arraySize = 10;
 
   int s[ arraySize ];
 
   for ( int i = 0; i < arraySize; i++ )
   s[ i ] = 2 + 2 * i;
 
   cout << "Element Value" << endl;
 
   for ( int j = 0; j < arraySize; j++ )
       cout << j << "\t " << s[ j ] << endl;
 
}

   خروجی برنامه فوق به صورت زير می باشد :

Element  Value
0        2
1        4
2        6
3        8
4        10
5        12
6        14
7        16
8        18
9        20


الگوريتم و فلوچارت

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

   در حالت کلی الگوريتم ها بايد ويژگی های زير را داشته باشند:

الف) الگوريتم بايد ما را به نتيجه مورد نظر برساند.
ب) در زمان محدود پايان يابد.
ج) دستورالعملها بايد به ترتيب منطقی پشت سرهم قرار گيرند.
د) جملات الگوريتم ها بايد به صورت امری ، سؤالی باشند.
ه) هر الگوريتم بايد نقطه آغاز و پايان داشته باشد.

 مثال : الگوريتمی بنويسيد که دو عدد از ورودی دريافت شود و سپس تعيين شود که مجموع دو عدد بزرگتر از 20 است يا نه.
0- شروع .
1- دو عدد a و b را از ورودی در يافت کن.
2- a+b را محاسبه کن.
3- آيا a+b>20 است؟ اگر بلی به مرحله 6 برو.
4- بنويس خير.
5- به مرحله 7 برو.
6- بنويس بلی.
7- پايان.

   با برنامه ريزی و ساماندهی دقيق می توان به راه حلی مناسب جهت حل يک مسئله به کمک کامپيوتر رسيد. هرگونه کم توجهی و بی دقتی در نوشتن الگوريتم ضمن بروز مشکلات بسيار، برنامه نويس را نيز از هدف خود دور خواهد کرد؛ لذا برای به هدف رسيدن بايد درک صحيح و کاملی از صورت مسئله داشت و سپس راه حل مورد نظر را به صورت الگوريتم بنويسيم. و در نهايت الگوريتم مورد نظر را به زبان برنامه نويسی مورد نظر تبديل کنيم. برای درک بهتر شيوه حل مسائل و نوشتن الگوريتم به مثالهای زير توجه کنيد:

   مثال : الگوريتمی بنويسيد که مجموع اعداد طبيعی مضرب 7 و کوچکتر از 50 را حساب کند.

برای نوشتن اين الگوريتم به دو خانه حافظه نياز داريم.
0- شروع.
1- در خانه حافظه sum عدد صفر را قرار بده.
2- در خانه حافظه index عدد 7 را قرار بده.
3- مقدار index را با مقدارsum جمع کن
          و حاصل را در sum قرار بده.
4- مقدار 7 را با مقدار index جمع کن
          و حاصل را در index قرار بده.
5- آياindex بزگتراز 50 است،اگر خير به مرحله 3 برو.
6- محتوای sum را چاپ کن.
7- پايان.

   در الگوريتم فوق همانند شکل مقادير حافظه sum و index تغيير می کند، تا اينکه سرانجام شرط " آيا index بزرگتر از 50 است " بلی می شود لذا محتوای sum در خروجی چاپ خواهد شد و الگوريتم به پايان می رسد. اما در مراحل قبلی شرط فوق خير می باشد، لذا همانند شکل فوق الگوريتم ادامه پيدا می کند.

   مثال : الگوريتمی بنويسيد که 1000 عدد را از ورودی دريافت کرده و کوچکترين را چاپ کند.

   فرض کنيد که به شما ليستی از اعداد را می دهند، برای پيدا کردن کوچکترين عدد در ليست اولين عدد را به عنوان کوچکترين در نظر می گيريد سپس عدد بعدی را با آن مقايسه می کنيد، اگر عدد جديد از عدد قبلی کوچکتر بود عدد جديد را به عنوان کوچکترين در نظر می گيريد و گر نه همان عدد قبلی کوچکترين خواهد بود. اين روند را تا انتهای ليست ادامه می دهيد؛ در پايان عددی که در هر بررسی به عنوان کوچکترين عدد بود، جواب مورد نظر ما خواهد بود. توجه کنيد که در اين روال شما همواره يک عدد را در ذهن خود در نظر گرفته بوديد، برای نوشتن الگوريتم مورد نظر ما يک خانه حافظه را به کوچکترين عدد درهر مرحله اختصاص می دهيم.
0- شروع.
1- min را دريافت کن.
2- i =1 .
3- a را دريافت کن.
4- اگر a5- i = i + 1 .
6- اگر i>=1000 به مرحله 8 برو.
7- به مرحله 3 برو.
8- min را چاپ کن.
9- پايان.

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

   مثال : الگوريتمی بنويسيد که سه عدد از ورودی دريافت شود و تعيين شود که اين اعداد می توانند اضلاع مثلث باشند يا خير.
0- شروع.
1- a وb وc را از ورودی بگير.
2- اگر a>b+c به 7 برو.
3- اگر b>a+c به 7 برو.
4- اگرc>a+b به 7 برو.
5- بنويس " بلی ".
6- به 8 برو.
7- بنويس " خير ".
8- پايان.

   در عمل برای نمايش الگوريتم از يک فلوچارت ( شمای جريان عمليات ) استفاده می شود. در حقيقت فلوچارت روش تصويری و استاندارد نمايش الگوريتم است.

   در رسم فلوچارت علائم و نمادهای استانداردی به کار می رود که هر کدام دارای معانی ويژه ای هستند.

   از شکل بيضی افقی برای شروع و پايان عمليات استفاده می شود.

 


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

 

   از نماد لوزی برای نشان دادن مراحل تصميم گيری استفاده می گردد و شرط يا سؤال مورد نظر در داخل لوزی نوشته می شود.  

   از متوازی الاضلاع برای نشان دادن ورودی يا خروجی استفاده می شود.

 

   مثال : فلوچارت الگوريتم اضلاع مثلث در مثال قبل به صورت زير می باشد.