آموزش برنامه نویسی اتولیسپ (فصل اول) (قسمت ششم)

Set equal  یا    set quote

(setq) متغیر اتولیسپ و سمبل مشخص شده را میگیرد و متغیر را برابر با مقدار سمبل قرار میدهد. دستور فوق یک عبارت تخصیص است و مقدار یک متغیر یا ثابت را به متغیر دیگری تخصیص میدهد.

نکته مهم: (setq) یک فرمان تخصیص ابتدایی در اتولیسپ است. در اتولیسپ، علامت = به عنوان علامت تخصیص به کار نمیرود. = به غیر از دستور (if…) و دیگر دستورات غیر تخصیصی کاربردی ندارد. این علامت نمیتواند متغیری را مساوی با متغیر دیگری قرار دهد. این کار تنها از فرمان (setq) بر می آید. در اولویت عبارت (setq) باید کمی دقت کرد.

(setq a b)

این عبارت مقدار b  را به متغیر a تخصیص میدهد.اولین متغیر بعد از (setq) متغیری است که مقدار را دریافت میکند.دومین متغیر مقدار خود را به متغیر اول میدهد.این دستور تنها برای تخصیص مقادیر متغیر ها به کار نمیرود.

میتوانید از مقادیر ثابت، اعداد و یا رشته ها نیز استفاده نمایید:

(setq a "hello how are you")

در صورتی که اقدام به چاپ a نمایید، hello how are you  را خواهید دید.

(setq a 7)

بعد از اجرای دستور فوق، مقدار a برابر 7 خواهد شد.

تایپ کنید:

(setq a 7)

تایپ کنید:

!a

مقدار 7 بر روی خط فرمان ظاهر خواهد شد. به نحوه عمل «!» در چاپ مقادیر متغیر ها دقت کنید.

هر زمانی که بخواهید مقدار یک متغیر را بدانید، به سادگی میتوانید «!» را در ابتدای نام متغیر قرار دهید تا مقدار متغیر چاپ شود.

تایپ کنید:

(setq b "john")

تایپ کنید:

!b

لغت john باید بر روی خط فرمان ظاهر شود.

تایپ کنید:

(setq a b)

تایپ کنید:

!a

لغت john باید بر روی خط فرمان ظاهر گردد. در این مثال، مقدار متغیری را به متغیر دیگر تخصیص داده اید. هر دو متغیر a و b حالا مقدار یکسانی دارند.

آموزش برنامه نویسی اتولیسپ (فصل اول) (قسمت پنجم)

(terpri) پایان چاپ و \n

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

تایپ کنید:

(prompt "hello how are you") (terpri)

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

تایپ کنید:

(prompt "pick a point: ")(prompt "pick 2nd point: ")

به روش ظاهر شدن دو فرمان بر روی یک خط توجه کنید.

تایپ کنید:

(prompt "pick a point: ")(terpri)(prompt "pick 2nd point: ")

دو عبارت حالا بر روی دو خط متفاوت ظاهر میشوند.

راه دیگری که برای تعویض سطر وجود دارد، به صورت زیر است

تایپ کنید:

(prompt "pick a point: \n")(prompt "pick 2nd point: ")

معمول ترین و بهترین روش استفاده از این دستورات، استفاده از \n  قبل از متن مورد نظر است.

تایپ کنید:

(prompt "\npick a point: ")(prompt "\npick 2nd point: ")

این روش بدون توجه به آنچه که سابق رخ داده است شروع متن بر روی خط جدید را تضمین میکند.

به خاطر داشته باشید که \n  باید در داخل کوتیشن قرار بگیرد و حتمن از حروف کوچک در نوشتن آنها استفاده شود.

(prompt "\n") عملکردی شبیه به (terpri) دارد.

یکی از اهداف نوشتن برنامه در اتولیسپ این است که تا حد امکان از فرامین اتوکد تقلید نمود و مانند آنها رفتار کرد.فرامین فوق امکان قرار دادن فرامین پیوسته بر روی یک خط یا خطوط متفاوت را فراهم می آورد.

آموزش برنامه نویسی اتولیسپ (فصل اول) (قسمت چهارم)

آغاز اجرای برنامه ها

بعد از نوشتن برنامه و بارگذاری فایل دربرگیرنده‏ ی آن، مابقی کار ساده است.

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

 

(graphscr) صفحه تصویر گرافیکی

بعضی از دستورات باعث میشوند که پنجره متنی اتوکد روی پنجره گرافیکی اتوکد باز شود. این دستور باعث میشود که پنجره ی متنی اتوکد بسته شود.این دستور در اتولیسپ همان F2 در اتوکد است.

(graphscr)

(prompt) عبارت عمومی چاپ متن

این فرمان برای چاپ متن، بر روی خط فرمان به کار گرفته میشود. در خط فرمان اتوکد تایپ کنید:

(prompt "hello how are you")

پیامی که در داخل کوتیشن قرار دارد در خط فرمان چاپ میشود.

نکته: برای دیدن نتیجه سریع فرمان‏هایی مانند فرمان بالا باید این فرمان‏ها را در خط فرمان اتوکد تایپ نمود. منظور از <Enter> این است‏ که بعد از نوشتن دستور دکمه Enter را بزنید.

آموزش برنامه نویسی اتولیسپ (فصل اول) (قسمت سوم)

استفاده از متغیر ها

متغیرها شبیه X ، Yدر جبر هستند. این اجزا نمایانگر مقادیر دیگر هستند و میتواند با ذخیره سازی داده در خود برای کار در آینده مورد استفاده قرار گیرد.

در اتولیسپ، متغیر ها میتوانند هر مجموعه ای از حروف یا اعداد باشند با این شرط که با یک حرف شروع شوند. تنها در نام یک متغیر از حروف A-Z و ارقام 0-9 میتوان استفاده کرد. برای مثال:

A

Arc1

Point1

Pnt1

D3

یکی از عمده ترین تفاوت های بین یک متغیر اتولیسپ با متغیر های دیگر زبان ها این است که در این نوع متغیر ها میتوان چندین مقدار را در یک متغیر نگه داشت. یک مقدار میتواند هر یک از انواع زیر باشد:

اعداد حقیقی      اعداد ده‏دهی مثل 134.2039

رشته                john jay jones

صحیح               اعداد شمارشی مثل 3،9

بنابراین یک متغیر میتواند هر چیزی را ذخیره کند.

لیست ها

یک لیست میتواند به چندین مقدار تخصیص داده شود. هر مقدار یک عنصر نامیده میشود. توانایی کار با لیست ها قدرت ویژه ای به اتولیسپ برای کار در اتوکد میدهد. برای مثال، یک نقطه ی دو بعدی در ترسیمات به وسیله ی دو مقدار که نشان دهنده ی مختصات X,Y  هستند، تعیین میشود. در اتولیسپ نقطه ی فوق میتواند توسط یک متغیر توصیف شود. یک لیست با دو عنصر که اولین عنصر آن نشان دهنده ی مقدار X   و دومین مقدار نشان دهنده ی Y است.

یک لیست در اتولیسپ در یک جفت پرانتز قرار میگیرد و میتواند ظاهری شبیه به مثال های زیر داشته باشد:

(7 9)

(3 5 9 7)

(3.203 6.902 8.203)

در صورتی که مقدار یک متغیر منحصر به یک ارزش باشد، در داخل پرانتز قرار داده نمیشود، مثل 6، در این صورت این متغیر یک لیست نیست. موجودیت خط سه بعدی یک مثال کامل برای یک لیست است. اطلاعات مربوط به خط میتواند، اطلاعات مختصات X,Y,Z ابتدای خط و مختصات X,Y,Z انتهای خط، لایه، نوع خط، اندازه خط  باشد.