آزمایشگاه GIS&GIT

مهندسی فناوری اطلاعات مکانی|مهندسی نقشه برداری|GIS|GEOMATICS|GIT
آزمایشگاه  GIS&GIT

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

جهت تماس از طریق ای دی زیر اقدام نمایید.
telegram:@fazel_shahcheragh
تلفن تماس جهت مشاوره:09124320328
برنامه نویسی و اسکریپت نویسی GIS
آموزش و رفع اشکال ARCPY
طراحی وتوسعه اپلیکیشن های موبایل
طراحی و توسعه برنامه های دسکتاپ جی ای اس

سید فاضل شاه چراغ
مدرس دانشگاه
طراح و مجری پروژه های GIS



























آزمایشگاه GIS&GIT

مهندسی فناوری اطلاعات مکانی|مهندسی نقشه برداری|GIS|GEOMATICS|GIT





۴ مطلب با کلمه‌ی کلیدی «آموزش ارک انجین» ثبت شده است

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

باسلام...

در جلسه قبل یکی از مهمترین ساختار های برنامه نویسی (ساختار شرطی if..else) رو بررسی کردیم. با عملوندها و عملگرها آشنا شدیم. امیدوارم درس قبل رو بخوبی متوجه شده باشید.

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

قبل از هرچیز باید ببینیم ساختار تکرار چی هست و چه کاربردی داره. در بیشتر مواقع نیاز داریم که یک کار تکراری رو بارها و بارها انجام بدیم. مثلا نام و نام خانوادگی 1000 نفر رو بپرسیم، عددهای زوج بین 2 تا 256 رو با هم جمع کنیم، فاکتوریل یک عدد رو محاسبه کنیم. رنگ یک دکمه رو بصورت متوالی قرمز و آبی کنیم و...

به ساختارهای تکرار، حلقه هم می گویند.

یکی از ساختارهای مهم تکرار ، ساختار while هست. به شکل کلی این ساختار توجه کنید:

while(Conditional Expression){
    Commands set
}

حلقه while ، تا زمانی که عبارت شرطی داخل پرانتز برابر با true باشد، مجموعه دستورات داخل آکولاد را اجرا می کند. ممکنه این عبارت هیچوقت برابر با false نشود، بنابراین حلقه تا بی نهایت ادامه پیدا می کند. اگر حلقه بصورت بی نهایت باشد، پس از اینکه مدتی از اجرای حلقه بگذرد برنامه با خطای Stack Overflow مواجه خواهد شد.(حالا فعلا کاری نداریم که این خطا چی هست).

بذارید در عمل با طرز کار این حلقه آشنا شویم. یک پروژه جدید بسازید و یک TextBox و یک دکمه روی فرم آن قرار دهید. خاصیت Name مربوط به شیئ TextBox رو به txtDisplay تغییر دهید.

loop structures example

برنامه پایین رو برای دکمه بنویسید. (البته اینکه می گوییم فلان برنامه رو برای دکمه بنویسید اصطلاح درستی نیست، بعدا که با "رویدادها" آشنا شدیم، متوجه خواهید شد)

while (txtDisplay.Text.Length < 5)
{
    txtDisplay.Text = txtDisplay.Text + "A";
}

این برنامه تا زمانی که طول متن داخل TextBox کمتر از 5 حرف باشد، حرف A را به TextBox اضافه می کند.

نکات جدید برنامه: 

  • برای بدست آوردن طول هر رشته ای می توانیم از خصوصیت Length آن رشته استفاده کنیم. دقت کنید که چطور طول متن داخل TextBox را بدست آورده ایم، سپس آنرا با 5 مقایسه کرده ایم.
  • به دستور  "txtDisplay.Text=txtDisplay.Text+"A  دقت کنید. به دستورهایی که در آنها علامت = وجود دارد، اصطلاحا "بیان انتساب" می گوییم. همیشه قسمت سمت راست علامت مساوی محاسبه شده سپس نتیجه آن به قسمت سمت چپ هدایت خواهد شد. باید توجه داشته باشید که مقدار قبلی قسمت سمت چپ با مقدار جدید جایگزین می شود.
  • در هر دور حلقه ، به متن داخل TextBox حرف A اضافه می شود. پس طبیعتا طول متن داخل TextBox زیادتر می شود؛ اما حلقه تا زمانی دستورهای داخل بلوک خود را اجرا می‌کند که طول متن کمتر از 5 باشد.
سعی کنید مقادیر و عبارات این برنامه را تغییر دهید و نتیجه را مشاهده کنید. مثلا علامت کوچکتر را با علامت های دیگری که در جلسه قبل با آنها آشنا شدید جایگزین کنید، سپس در نتیجه اجرای برنامه دقت کنید و برای آن دلیل بیاورید.
ادامه مبحث متغیرها:
تا اینجا کمی با متغیر آشنا شده ایم. متغیرهای رشته ای را مورد استفاده قرار دادیم. اما اجازه دهید بیشتر در مورد این جزء اساسی برنامه ها بیاموزیم.
متغیرها را می توان به دو دسته اصلی عددی و غیر عددی تقسیم کرد. متغیرهای رشته ای یا string در دسته غیرعددی ها قرار می گیرند.
متغیرهای عددی خود شامل دو دسته متغیرهای صحیح و متغیرهای اعشاری هستند. هرگاه بخواهیم یک عدد صحیح مانند 5 ، 136 ، 124313 و... را ذخیره کنیم باید آن ها را در متغیر نوع صحیح ذخیره کنیم. برای تعریف متغیرهای نوع صحیح به روش زیر عمل می کنیم:
int MyIntVariable=124313;

در عبارت بالا MyIntVariable ، نام متغیر بوده و کاملا صلیقه ای هست. کلمه کلیدی int به کامپیوتر می فهماند که باید یک متغیر نوع صحیح (Integer) بسازد. قسمت بعد از علامت مساوی کاملا اختیاری بوده و می توانید از آن صرف نظر کنید؛ این قسمت مقدار اولیه متغیر را مشخص می کند.

برای تعریف متغیرهای اعشاری به روش زیر عمل می کنیم:

float MyFloatVariable=3.1415f;

تنها نکته در مورد متغیرهای اعشاری این است که اگر دقت کنید بعد از عدد 3.1415 از حرف f استفاده کرده ایم. البته این کار ما علت هایی داره اما فعلا شما نیازی نیست درگیر این مسایل شوید.

علاوه بر int ، نوع های دیگری هم می توانیم برای متغیرهای صحیح تعریف کنیم. از جمله انواع متغیرهای صحیح می توان به byte ، long ، uint ، ulong و غیره اشاره کرده. تفاوت آنها در گنجایش آنها برای ذخیره اعداد هست. مثلا نوع byte حداکثر می تواند عددی به بزرگی 255 را در خود ذخیره کند.

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

ان شاء الله در جلسات آینده برنامه های جالبی با استفاده از همین متغیرها خواهیم ساخت.

موفق باشید.


 برگرفته شده از butterfly.blog.ir
۰ نظر موافقین ۰ مخالفین ۰ ۰۶ فروردين ۹۴ ، ۲۱:۴۳
ADMIN

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

سلام...


تا اینجای کار تقریبا می تونم بگم اصلا برنامه ای ننوشتیم. اما تا حدود کمی با برنامه نویسی کامپیوتر آشنایی پیدا کردیم. فهمیدیم که کامپیوتر دقیقا همون دستور هایی رو اجرا می کنه که ما بهش گفتیم؛ نه کمتر و نه بیشتر. کاش ما آدم ها هم در مقابل خدا مثل کامپیوتر باشیم.

کامپیوتر تک دستور ها رو یکی پس از دیگری اجرا می کنه. اگر برنامه ای که نوشته ایم مثلا 5 خط باشه، اول خط 1 ، بعد خط 2 ، بعد خط 3 و همینطور تا آخر برنامه دستورات اجرا خواهند شد.

هر دستور در برنامه نویسی به زبان سی شارپ با علامت ; خاتمه پیدا می کنه. به آخر دستور MessageBox.Show دقت کنید. ما با این علامت صرفا به کامپایلر گوشزد می کنیم که این خط از برنامه تمام شده و باید به خط بعدی رفته و دستور بعدی رو اجرا کنه. البته لزومی نداره که خط بعدی دقیقا یک خط بعد باشه. مثلا تمام حالت های زیر با هم مشابه هستند:

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

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

درحالت سوم ترکیبی از دو حالت قبل رو مشاهده می کنید.

نتیجه می گیریم که فضاهای خالی توسط کامپایلر نادیده گرفته می شوند. فضاهای خالی رو با دکمه های Space ، Tab (همون دکمه درازه  :)  ) و Enter می توان ایجاد کرد.

در زبان سی شارپ حروف کوچک و بزرگ با هم متفاوت هستند. مثلا MessageBox.Show با messagebox.SHow فرق می کند.

بقیه قوانین رو در جلسات بعد خواهم گفت.

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

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

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

ان شاء الله از این جلسه از برنامه نویسی رو شروع می کنیم و دیگه تیترها مون "خیلی مقدماتی" نیست بلکه "مقدماتی" هست.

یکی از قسمت های اصلی کامپیوتر حافظه ها هستند. تصور کنید کامپیوتر بدون حافظه چگونه خواهد بود! اما شاید بلافاصله بعد از اینکه به حافظه های کامپیوتر اشاره کردم ذهن شما به سمت هارد دیسک ها، سی دی ها و فلش درایو ها رفت، البته اینگونه حافظه ها خیلی مهم هستند. اما منظور من این حافظه ها نبود. بلکه هدف من از حافظه به عنوان بخش اصلی کامپیوتر، RAM هست.

این حافظه حجم بسیار کمتری نسبت به هارد دیسک دارد.

این حافظه سرعتی بسیار زیاد تری نسبت به هارد دیسک دارد.

این حافظه خیلی گران قیمت است.

ما به چند دلیل در برنامه نویسی از حافظه RAM استفاده می کنیم.

سرعت پردازنده بسیار بالاست! از طرفی سرعت هارد دیسک در مقابل پردازنده خیلی کم است. ما از RAM به عنوان واسط بین هارد دیسک و پردازنده استفاده می کنیم. به این صورت که داده ها را بطور موقت در RAM ذخیره کرده و بعد از اینکه فرایند پردازش روی داده ها به پایان رسید ، آنها را در هارد دیسک ذخیره می کنیم (البته اگر نیازی به این کار وجود داشته باشد).

هرگاه که شما برنامه ای را اجراء می کنید، داده های مربوط به آن برنامه در حافظه RAM قرار می گیرد. مثلا" در برنامه ساده خودمان، نام و نام خانوادگی ای را که در TextBox نوشتیم بصورت موقت در RAM ذخیره می شود و دستور MessageBox.Show از آنها استفاده کرده و در خروجی نمایش میدهد.

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

در این درس فقط به بررسی متغیرهایی می پردازیم که می توانند یک متن و یا نوشته را در خود ذخیره کنند. با دستور زیر یک متغیر که توانایی ذخیره متن را دارا می باشد، در حافظه ساخته می شود:

string strName;

strName صرفا یک نام هست و شما می توانید به دلخواه خود این نام را تغییر دهید.

اگر بخواهیم یک متن را در strName ذخیره کنیم بصورت زیر عمل می کنیم:

strName="In the name of Allah";

دقت داشته باشید که متن را باید بین دو علامت " قرار دهیم. به نوشته هایی که بین دو علامت " قرار دارند، اصطلاحا رشته می گوییم و به متغیری که توانایی ذخیره رشته ها را داشته باشد، متغیر رشته ای می گوییم.

هرجایی از برنامه که نام متغیر نوشته شود، آن نام در هنگام اجرای برنامه، با مقدار موجود در خود جایگزین خواهد. برای مثال می توانید بعد از اینکه متغیر strName را تعریف کردید دستور MessageBox.Show را بصورت زیر باز نویسی کنید:

MessageBox.Show(strName + "\n Butterfly.blog.ir");

برنامه این درس رو اگه پیاده سازی کرده باشید، احتمالا به این شکل شده باشه:

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

 برگرفته شده از butterfly.blog.ir
۰ نظر موافقین ۰ مخالفین ۰ ۰۲ فروردين ۹۴ ، ۲۱:۴۰
ADMIN

سلام

انواع بر نامه هایی که توسط ارک ابجکت می توان نوشت

1-

User interface configuration

2-
Scripts to automate workflows

3-


Add-ins for interactive tasks

4-


Custom components to add new functionality


5-


stand-alone applications with ArcGIS Engine and ArcGIS for Desktop

6-


Developing Web applications with ArcGIS for Server

۰ نظر موافقین ۰ مخالفین ۰ ۲۴ اسفند ۹۳ ، ۱۱:۵۲
ADMIN

شرکت پیمایش گستر شاهوار (شماره ثبت 4138) با دارا بودن کادری مجرب، متخصصان با سابقه  و تجهیزات به روز در حوزه علوم ژئوماتیک آماده همکاری با کلیه نهادهای دولتی و خصوصی در زمینه های زیر می باشد:

علوم زمین

نقشه برداری

کاربردهای GIS و انجام پروژه های مطالعاتی و اجرایی GIS در زمینه های

صنعت برق

صنعت ساختمان

مهندسی معدن

محیط زیست

هواشناسی

مخابرات

شهرسازی

کشاورزی دقیق

برنامه ریزی شهری و مدیریت تاسیسات شهری

مطالعات زیست محیطی

خدمات ایمنی شهری

مدیریت حمل و نقل و ترافیک شهری

مطالعات جمعیتی

نقشه های کاربری اراضی

تهیه نقشه های پایه

و ...

تهیه  و پیاده سازی پایگاه داده مکانی

طراحی پیاده سازی و پشتیبانی WEB GIS بر روی سرور های ویندوز و لینوکس
اسکریپت نویسی سمت سرور و کلاینت(WEB GIS)
تجزیه و تحلیل داده های مکانی
طراحی و ساخت اپلیکیشن ها ی GIS  دسکتاپ و موبایل

طراحی و راه اندازی WEB GIS با MAP SERVER فارسی


شماره تماس
09124320328
ایمیل
shahcheragh_gis@yahoo.com

۱ نظر موافقین ۲ مخالفین ۰ ۲۰ اسفند ۹۳ ، ۱۳:۵۰
ADMIN