ثابت و متغیر

سلام

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

عملیات برنامه نویسی

 • یک عملیات برنامه نویسی، دارای سه بخش، است.
1. دریافت داده. در این قسمت، اسکریپت، اطلاعاتی را که نیاز دارد، می‌گیرد.
2. پردازش داده. در این قسمت، اطلاعاتی که تهیه کرده، تجزیه و تحلیل می‌کند.
3. نمایش داده. در این قسمت، اطلاعات پردازش شده را، ارائه می‌کند.

داخل پرانتز: بعضی از عملیات، آنقدر ساده و بسیط هستند که نیازی به پردازش ندارند؛ بنابرین، اسکریپت، به محض دریافت اطلاعات لازم، آنرا ارائه می‌کند؛ بر خلاف بعضی از عملیات، که بسیار پیچیده هستند.

مثال: یک ماشین حساب را تصور کنید. طرز کارش چگونه است؟ شما دو عدد را به او می‌دهد، نوع عملیات را برایش مشخص می‌کنید، مثلا جمع؛ ماشین حساب آن عدد و عملیات را پردازش می‌کند، و نتیجه را در صفحه نمایش به شما نشان می‌دهد. به امید خدا در چند جلسه آینده می‌توانید به راحتی یک ماشین حساب بنویسید.
 

راه دریافت داده

به نظر شما، یک اسکریپت، از چه راهی اطلاعات خود را به دست می‌آورد؟ به تصور من که از 3 روش.
1. برنامه نویس. معمولا شما به عنوان برنامه نویس، اطلاعاتی را به او می‌دهید. مثلا یک کلمه عبور و پسورد را ذخیره می‌کنید، که اگر کلمه‌ای که کاربر وارد کرده با آن، یکی بود، اجازه ورود به او می‌دهد؛ وگرنه با یک پیام خطا، مانع ورود او می‌شود.
2. کاربر. بعضی از اوقات، کاربر، اطلاعاتی را به برنامه شما می‌دهد؛ مانند مثال قبلی، که کلمه‌ای را به عنوان کلمه عبور، وارد کرده.
3. سیستم. در بسیاری از مواقع، این سیستم و رایانه شماست که منبع اطلاعاتی برنامه است. مثلا برای نمایش زمان و تاریخ، با یک متد ساده، تاریخ مورد نظر را از رایانه، به دست آورده و نمایش می‌دهید.
 

انواع داده (ثابت و متغیر)

بعضی از اطلاعاتی که یک برنامه، به دست می‌آورد، ثابت (Constant) است، و بعضی، متغیر (Variable)؛ به این معنی که یک چیز ثابت، مشخص و از پیش تعریف شده نیست.

مثال:
به مثال قبلی دقت کنید. به نظر شما کدام قسمت از داده‌ها، ثابت و مشخص است، و کدام، متغیر و تعریف نشده؟
کلمه‌ای که برنامه نویس نوشته، مشخص و ثابت است، و کلمه‌ای که کاربر، ممکن است وارد کند، نامشخص و متغیر.
زمان و تاریخی که از رایانه دریافت می‌شود، چطور؟ ثابت است یا متغیر؟

امیدوارم مطلب، برای شما واضح و ملموس شده باشد.
 

معرفی متغیر و ثابت

بعد از این مقدمه، باید یاد بگیرید که چگونه می‌شود یک متغیر، به زبان برنامه نویسی نوشت. تا اینجای درس، میان تمام زبانهای برنامه نویسی مشترک بوده؛ ولی نوشتن و مشخص کردن ثابت و متغیر، در زبانها، مختلف است. مثلا در زبان ویژوال بیسیک و VB Script با Dim، یک متغیر را معرفی ‌می‌کنند و با Const، یک ثابت را. در حالی که در زبان دلفی، PHP و جاوا اسکریپت با Var، متغیر معرفی می‌شود.

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

متغیر در جاوا اسکریپت

1. نام گذاری متغیر
به این جمله دقت کنید و همیشه به خاطر داشته باشید: " می‌توانیم برای هرچیزی نامی انتخاب کنیم؛ مثلا برای اطلاعات، یا متدهای جاوا؛ و به جای آنکه مرتبا اسم بلند و طویل، و گاهی مشکل آن متد را بنویسیم، نامی که خودمان برایش انتخاب کردیم را صدا می‌کنیم. "

. یک متغیر را در جاوا، بعد از کلمه کلیدی var و به این صورت می‌نویسند: var name.
. به جای name، هر اسمی که دوست دارید بنویسید. البته بهتر است اسم انتخابی شما، مناسب نوع متغیر باشد.
. هر کجا که var  نوشته شود، مشخص است که متغیری را می‌خواهند تعریف کنند.

2. مقدار دهی متغیر
. مقدار دهی یعنی مشخص کنیم که این متغیر، برابر با چه داده و اطلاعاتی است.
. این کار را با علامت = انجام می‌دهیم. اول، نام متغیر را نوشته، و بعد از آن مساوی، و سپس داده یا متد مورد نظر را یادداشت می‌کنیم. به این صورت:

var name = new Date ();

مثال: قرار است - با توجه به مطالب این درس و درس قبل - برنامه‌ای بنویسیم که زمان را به ما نمایش دهد.

وسایل مورد نیاز:

کد اسکریپت
متد زمان new Date (), toLocaleString()
متد نوشتن document.write ( )

با استفاده از این وسایل و از روشی که گفته شد - دریافت داده - پیش می‌رویم.
 

واژه نامه

new Date: متدِ زمان به صورت کلی و مطلق است. بعد از آن باید نوع زمان خود را مشخص کنید؛ یعنی چه قسمتی از زمان را می‌خواهید بدانید؛ سال، ماه، هفته، روز و ... . به تنهایی چیزی را نشان نمی‌دهد.
toLocaleString: متدی برای به دست آوردن زمان کامل (تاریخ و ساعت) است که به عنوان خصوصیت، برای زمان کلی استفاده می‌شود.
document.write: متدی که برای نوشتن متن در صفحه استفاده می‌شود.
document.writeln: مانند دستور قبلی عمل می‌کند؛ با این تفاوت که یک فاصله تا رشته قبلی، ایجاد می‌کند.
; : به این علامت، سِمی کالـِن گفته می‌شود که در پایان هر دستور، می‌آید؛ هر چند در جاوا، اجباری نیست.
// : به این علامت، کامنت (Comment) گفته می‌شود که برای نوشتن توضیح، در میان کدهای برنامه نویسی است. هر عبارتی که بعد از این علامت بیاید، توسط برنامه، خوانده و اجرا نمی‌شود و صرفا ً توضیحی است که برنامه نویس، یادداشت کرده.

 • این هم یک هدیه، برای شما دوستان. دستور و متدهای زمان. در آینده با آنها بیشتر آشنا می‌شوید.

متدهای زمان

new Date () زمان Wed Jun 22 23:39:00 UTC+0430 2005

Wednesday, June 22, 2005 11:39:00 مجید

Wednesday, June 22, 2005

11:39:00 مجید

Wed, 22 Jun 2005 19:09:00 UTC

2005

5

3

22

23

39

0 Tue Jun 14 00:13:47 UTC+0430 2005

14. kesäkuuta 2005 0:13:47

14. kesäkuuta 2005

0:13:47

Mon, 13 Jun 2005 19:43:47 UTC

2005

5

2

14

0

13

47 Tue Jun 14 00:06:37 UTC+0430 2005

14. kesäkuuta 2005 0:06:37

14. kesäkuuta 2005

0:06:37

Mon, 13 Jun 2005 19:36:37 UTC

2005

5

2

14

0

6

37

toLocaleString () زمان کامل
toLocaleDateString () فقط تاریخ
toLocaleTimeString () فقط ساعت
toGMTString() زمان بین المللی
getYear() سال
getMonth() ماه
getDay() روز هفته
getDate() روز ماه
getHours() ساعت
getMinutes() دقیقه
getSeconds() ثانیه

جدول شماره 4

پاورقی: زمان، دارای اجزا مختلف است؛ یعنی انسان، آنرا به بخشهای مختلف تقسیم کرده تا قابل استفاده باشد. قسمتی از آن، تاریخ (سال، ماه، هفته و روز) نام دارد، و قسمتی از آن، به اجزا کوچکتر (ساعت، دقیقه و ثانیه) تقسیم شده، و ساعت، نامیده می‌شود. البته معیار تاریخ در برنامه نویسی، میلادی است. برای تبدیل به شمسی یا قمری، باید از برنامه نویسی استفاده کنید.

تمرین

در مثال قبل، می‌توانید به جای toLocaleString، از متدهای دیگر استفاده کنید. پیشنهاد میکنم هر کدام از آنها را به صورت جداگانه در document.write، قرار داده و نتیجه‌اش را ببینید.

به امید دیدار
خدانگهدار