مقدمه ای بر برنامه نویسی کامپیوتر بخش سخت افزار


جدول تناوبی تحلیل های مکانی در GIS

معرفی هفت منبع داده اقلیمی رایگان جهانی

چرخش قطبی در مقابل چرخش خورشید آهنگ

آنالیز تصویر شئی گرا (OBIA)

تعامل انرژی در سنجش از دور : انعکاس، جذب و گسیل انرژی

معرفی 6 منبع رایگان داده های لیداری

آشنایی با SAR با استفاده از مثال

برنامه لندست : 50 سال آرشیو از تصاویر سطح زمین

دانلود رایگان نرم افزار ArcGIS Pro 2.8

ابر نقطه ای چیست ؟

انواع نقشه ها در سیستم اطلاعات جغرافیایی: 25 روش مختلف و جذاب برای نمایش داده های مکانی در GIS

تصحیحات اتمسفری در سنجش از دور چیست ؟

سیستم های تصویر نقشه چیست ؟ و چرا بعضا برای ما گمراه کننده هستند ؟

ژئودزی: ریاضیات مکان

گیرنده های GPS چگونه کار می کنند ؟ سه گانه سازی در مقابل مثلث بندی

مأموریت توپوگرافی رادار شاتل (SRTM)

چرا پنجره اتمسفری در علوم زمین دارای اهمیت است ؟

تصاویر ماهواره ای DigitalGlobe: وردویو(Worldview)، ژئوآی(GeoEye) و آیکونوس (IKONOS)

راهنمای طبقه بندی نزدیکترین همسایه در e-Cognition

نقشه های کروپلت – مقدمه ای بر طبقه بندی داده

تصاویر چند طیفی (Multi-spectral) در مقایسه با تصاویر ابر طیفی (Hyper-spectral)

فتوگرافی هوایی (Aerial Photography) در مقابل ارتوفوتوگرافی (Orthophotography)

راهنمای جامع لیدار (Light Detection and Ranging – LiDAR)

سنجش از دور چیست ؟

منابع داده GIS رایگان در سطح جهانی : داده های رستری و برداری

مقدمه ای بر سرویس های نقشه کشی تحت وب (WMS)

علم داده مکانی چیست ؟

تحلیل عوارض سه بعدی

ژئوانالیتیکس: آنالیز داده های مکانی حجیم

فرمت های داده در سیستم اطلاعات جغرافیایی بخش سوم

فرمت های داده در سیستم اطلاعات جغرافیایی بخش دوم

فرمت های GIS و پسوندهای داده مکانی بخش اول

آموزش برنامه نویسی پایتون بخش سی ام

انتشار نخستین تصاویر لندست 9 توسط سازمان هوا و فضای آمریکا (NASA)

آموزش برنامه نویسی پایتون بخش بیست و نهم

آموزش برنامه نویسی پایتون بخش بیست و هشتم

آموزش برنامه نویسی پایتون بخش بیست و هفتم

آموزش برنامه نویسی پایتون بخش بیست و ششم

آموزش برنامه نویسی پایتون بخش بیست و پنجم

معرفی سامانه WEB GIS


مقدمه ای بر برنامه نویسی کامپیوتر (بخش آشنایی سخت افزار)

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

زبان های برنامه نویسی متعددی وجود دارند، برخی از آنها چند دهه قدمت دارند. هر زبان برنامه نویسی برای هدف به خصوصی و بر اساس نقاط قوت زبان های برنامه نویسی پیش از خود ایجاد شده است تا برای برنامه نویسان یک ابزار منحصر به فرد فراهم شود. با علم به این مسئله که زبان های برنامه نویسی متعدد و زیادی وجود دارند، طبیعی است که بخواهید بدانید کدام زبان بهتر از سایر زبان ها است. اما در حقیقت چیزی به نام بهترین زبان برنامه نویسی وجود ندارد. هر زبانی دارای نقاط قوت و ضعف مخصوص به خود می باشد. برنامه نویسان با تجربه می دانند که یک زبان برنامه نویسی می تواند در برخی موارد و در مورد برخی از پروژه ها بهتر از بقیه باشد در حال که زبان های برنامه نویسی دیگر در پروژه های دیگری می توانند مفید و سودمند باشند. به همین دلیل، برنامه نویسان حرفه ای تلاش می کنند چندین زبان برنامه نویسی را یاد بگیرند و در آنها قادر به نوشتن برنامه های خود باشند تا طیف وسیعی از ابزار توسعه نرم افزاری را در اختیار داشته باشند و در هر پروژه بسته به شرایط خاص آن، از زبان برنامه نویسی مناسب و سازگار استفاده کنند.
نکته
کدنویسی در زبان های برنامه نویسی مفسری، آسان تر و عیب یابی و توسعه این کدها نیز ساده تر است ولی سرعت اجرای زبان های برنامه نویسی کامپایلری بیش از مفسری است.
کامپیوتر چیست ؟
یک کامپیوتر یک وسیله الکترونیکی است که داده ها را ذخیره سازی و پردازش می کند و شامل سخت افزار و نرم افزار می باشد. به طور کلی، سخت افزارها، عناصر قابل رویت و فیزیکی کامپیوتر هستند و نرم افزار شامل ادوات کنترل کننده سخت افزار اند که در یک سیستم، غیر قابل رویت هستند. اطلاع از سخت افزارهای کامپیوتری ضرورتاً برای یادگیری زبان های برنامه نویسی لازم نمی باشد اما دانستن مطالبی در مورد سخت افزارهای کامپیوتری، به فهم بهتر اثرات سخت افزاری بر برنامه های کامپیوتری کمک می کند.
بخش های اصلی سخت افزار کامپیوتر
بخش های اصلی سخت افزار کامپیوتر را می توان شامل واحد پردازش مرکزی (CUP)، حافظه اصلی (Memory)، ابزار ذخیره سازی، ابزار ورودی (Input Device)، ابزار خروجی (Output Devices) و ابزار ارتباطی مانند مودم، وایرلس، کارت های شبکه و … دانست. در شکل زیر واحدهای اصلی سخت افزار کامپیوتر نشان داده شده است.

اجزای کامپیوتر توسط یک سیستم به یکدیگر مرتبط شده اند که به آن باس گفته می شود. باس را می توانید به عنوان مجموعه ای از راه هایی در نظر بگیرید که مؤلفه های سخت افزاری کامپیوتری داده ها و همه اجزای کامپیوتر را به یکدیگر مرتبط می کند.
1- واحد پردازش مرکزی (CPU)
واحد پردازش مرکزی یا CPU در ذهن یا مغز کامپیوتر است. این واحد دستورات را از حافظه دریافت و آنها را اجرا می کند. CPU معمولاً دارای دو مؤلفه می باشد، یک واحد کنترل و دیگری واحد محاسبات منطقی. واحد کنترل، کنترل کننده و هماهنگ کننده فعالیت هایی است که سایر مؤلفه ها و سخت افزارهای کامپیوتر در حال انجام می باشند. واحد محاسبات منطقی، عملیات های عددی همچون جمع و تفریق و ضرب و تقسیم و عملیات های منطقی همچون مقایسات را بر عهده دارد. امروزه CPU ها بر روی چیپ های نیمه رسانای سیلیکونی ساخته می شوند که شامل میلیون ها سوئیچ الکترونیکی ریز است که به نام ترانزیستور شناخته می شوند و برای پردازش اطلاعات مورد استفاده قرار می گیرند. هر کامپیوتری دارای یک ساعت داخلی است که پالس های الکترونیکی ساطع می کند و این پالس ها در یک نرخ ثابت ارسال می شوند. این پالس ها برای کنترل گام و هماهنگی بین عملیات های مختلف مورد استفاده قرار می گیرند. سرعت بالاتر این ساعت امکان اجرای دستورات بیشتری را در یک دوره زمانی مشخص و ثابت امکان پذیر می سازد. واحد اندازه گیری سرعت ساعت هرتز می باشد به طوری که هر هرتز برابر با یک پالس در ثانیه است. در دهه 1950، کامپیوترها سرعت ساعت را مگاهرتز اندازه گیری می کردند اما سرعت CPU دائما ارتقا پیدا کرده و افزایش داشته است. در نتیجه امروزه سرعت ساعت CPU کامپیوترها معمولاً با گیگاهرتز اندازه گیری می شود. CPU ها در ابتدا با تنها یک هسته پردازشی توسعه پیدا کردند. هسته پردازنده، بخشی از پردازشگر است که خواندن و اجرای دستورات را بر عهده دارد. برای افزایش قدرت پردازشی CPU، چیپ هایی ساخته شده اند که CPU ها را قادر به پردازش در چندین هسته می نماید. CPU چند هسته ای یک مؤلفه منفرد است که دارای دو یا چند پردازنده مستقل می باشد. کامپیوترهای امروزی معمولاً دو، سه، چهار و حتی بیشتر هسته پردازنده دارند. در آینده پردازش گرهایی با ده ها و یا صدها هسته پردازنده دور از ذهن نخواهند بود.
بایت (Bytes) و بیت (Bits)
پیش از صحبت در مورد حافظه کامپیوتر، نگاهی به روشی که اطلاعات در کامپیوتر ذخیره می شوند، خواهیم داشت. یک کامپیوتر واقعاً چیزی جز مجموعه ای از سوئیچ ها نیست. هر سوئیچ در دو حالت قرار دارد: روشن و خاموش. ذخیره سازی اطلاعات در یک کامپیوتر به معنای تنظیم این سوئیچ ها در حالت روشن و خاموش می باشد. در صورتی که سوئیچ روشن باشد مقدار آن برابر با 1 خواهد بود و در صورتی که خاموش باشد مقدار 0 خواهد داشت. این 0 و 1 ها به صورت رقومی، در سیستم اعداد باینری تفسیر می شوند و به آنها بایت یا Binary Digit گفته می شود. کوچکترین واحد ذخیره سازی در کامپیوتر بایت می باشد. هر بایت از 8 بیت تشکیل شده است. اعداد کوچکتر همچون 3 را می توان در یک بایت ذخیره نمود. برای ذخیره سازی اعداد که نمی توان آنها را در یک بایت جاسازی نمود کامپیوترها از چندین بایت مختلف استفاده می کنند. انواع مختلف داده همچون اعداد و کاراکترها به صورت سری هایی از بایت ها ذخیره سازی می شوند. به عنوان یک برنامه نویس شما هیچ نگرانی در مورد Encoding و Decoding داده ها ندارید به طوری که سیستم کامپیوتر به صورت خودکار بر اساس یک طرح Encoding عمل می کند. برنامه های Encoding مجموعه ای از قوانین و قواعدی هستند که چگونگی ترجمه کاراکترها، اعداد و سیمبل ها، به داده هایی که کامپیوتر بتواند با آنها کار کند، نشان می دهند. اکثر این برنامه ها، هر کاراکتر را به صورت یک عدد ترجمه می کنند. به طور مرسوم طرح Encoding اسکی یا ASCII به طور مثال کاراکتر C را به صورت عدد باینری 01000011 در یک بایت ذخیره سازی می کند. یک کیلوبایت برابر با 1000 بایت، یک مگابایت برابر با 1 میلیون بایت، یک گیگا بایت برابر با 1 بیلیون بایت و یک ترابایت برابر با 1 تریلیون بایت است.
حافظه کامپیوتر (Memory)
حافظه کامپیوتر، شامل توالی مرتب شده ای از بایت ها برای ذخیره سازی برنامه ها و داده هایی است که برنامه های کامپیوتری بتوانند با آنها کار کنند. شما می توانید حافظه را به صورت منطقه کاری کامپیوتر برای اجرای برنامه ها در نظر بگیرید. یک برنامه و داده های آن بایستی پیش از آنکه توسط CPU مورد پردازش و اجرا قرار گیرند، به حافظه کامپیوتر منتقل شوند. هر بایت در حافظه دارای یک آدرس منحصر به فرد می باشد. این آدرس برای قراردهی بایت برای ذخیره سازی و بازیابی داده ها در حافظه می باشد. به طوری که بایت های حافظه به صورت نامنظم قابل دسترسی و دستیابی هستند، حافظه کامپیوتر را به عنوان حافظه با دسترسی تصادفی (Random Access Memory) یا به صورت خلاصه RAM می نامند.

ابزار ذخیره سازی اطلاعات (Storage Devices)
حافظه کامپیوتری، فرم ذخیره سازی موقتی است. هر اطلاعاتی که در حافظه دائم ذخیره سازی نشود، بعد از قطع جریان برق از حافظه موقتی یا RAM خارج شده و پاک می شود. برنامه ها و داده ها به صورت دائمی در ابزار ذخیره سازی، قرار می گیرند و سپس زمانی که کامپیوتر از آنها استفاده می کند وارد حافظه موقتی می شوند که این مسئله باعث افزایش سرعت اجرای آنها می گردد. ابزار ذخیره سازی مختلفی در رایانه ها وجود دارد که شامل: هارددیسک ها، دیسک های نوری، USB و فلش دیسک ها می باشد.
دیسک (Disk)
یک کامپیوتر در اصل حداقل یک هارددیسک دارد. هارددیسک ها برای ذخیره سازی دائمی اطلاعات، مورد استفاده قرار می گیرند. هاردیسک های جدید می توانند داده هایی با بیش از چندین ترابایت را در خود ذخیره سای کنند. هارددیسک ها معمولاً در داخل بدنه و کیس کامپیوترها قرار می گیرند که به آنها هارددیسک های داخلی گفته می شود. البته برخی از هارددیسک ها به صورت جداشدنی یا Removable بوده و در بیرون از بدنه کامپیوتر هستند که به آنها هاردهای بیرونی یا External گفته می شود.

دیسک های فشرده CD و DVD
CD مخفف Compact Disk یا دیسک فشرده می باشد. دو نوع درایور CD وجود دارد که به نام های CD-R و CD-RW نامیده می شوند. درایور CD-R برای تنها خواندن اطلاعات روی دیسک، مورد استفاده قرار می گیرد. در این حالت کاربر نمی تواند محتوای دیسک را تغییر داده و یا اطلاعاتی بر روی دیسک قرار دهد. درایور CD-RW می تواند اطلاعات روی دیسک را بخواند و یا آنکه اطلاعاتی بر روی دیسک Write کند. یک CD می تواند 700 مگابایت اطلاعات را در خود ذخیره سازی کند. اکثر کامپیوترهای شخصی امروزه دارای درایو CD-RW هستند. DVD مخفف دیسک رقومی ویدئویی یا دیسک رقومی چند منظوره می باشد. یک DVD می تواند حجم بیشتری از اطلاعات را در خود ذخیره سازی کند. یک DVD می تواند 4.7 گیگابایت اطلاعات را در خود جای دهد. همچون CD، در مورد DVD نیز دو نوع درایور وجود دارد. DVD-R که تنها می تواند دیسک DVD را بخواند و درایور DVD-RW که می تواند دیسک DVD را خوانده و نیز اطلاعاتی را بر روی آن Write کند.
درایورهای USB Flash
کانکتورهای USB یا Universal Serial Bus به کاربران امکان اتصال Device های موقتی را فراهم می کند. شما می توانید از اتصال USB برای متصل نمودن پرینتر، دوربین، موس و یا هاردهای بیرونی استفاده کنید. یک فلش USB ابزاری برای ذخیره سازی و انتقال داده می باشد. این قطعه الکترونیکی همچون یک هارد قابل حمل عمل می کند که می تواند در داخل سوکت USB کامپیوترها قرار گیرد و برای انتقال داده ها مورد استفاده قرار گیرد.

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

موس (Mouse)
موس، یک ابزار مکان نما می باشد. از این ابزار برای جا به جایی گرافیکی اشاره گر یا پوینتر استفاده می شود. این اشاره گر گرافیکی به نام کرسور بر روی صفحه نمایش نیز نامیده می شود که برای کلیک بر روی اشیایی بر روی صفحه کامپیوتر و تحریک آنها به اجر، مورد استفاده قرار می گیرد.
صفحه نمایش (Monitor)
صفحه نمایش و یا مانیتور برای نمایش اطلاعات به صورت متنی و یا گرافیی مورد استفاده قرار می گیرد. رزولوشن صفحه اسکرین مانیتورها کیفیت نمایش آنها را تعیین می کنند. قدرت تفکیک یا رزولوشن اسکرین، تعیین کننده تعداد پیکسل هایی است که به صورت افقی و عمودی صفحه نمایش را پوشانده اند. پیکسل ها نقاط کوچکی هستند که تصاویر بر روی آنها شکل می گیرند. رزولوشن مرسوم صفحات نمایش 17 اینچ می باشد که دارای 1024 پیکسل در عرض و ارتفاع هستند. هر قدر که رزولوشن صفحه نمایش بیشتر باشد، کیفیت نمایش و وضوح نمایش تصویر افزایش می یابد. علاوه بر آن فاصله بین پیکسل ها نیز در کیفیت نمایش اثرگذار است که به آن Dot Pitch گفته می شود. این فاصله به صورت میلیمتر بیان می شود. هر قدر این فاصله کمتر باشد کیفیت نمایش پیکسل ها افزایش می یابد.
ابزارهای ارتباطی
کامپیوترها می توانند با استفاده از ابزارهای ارتباطی به یکدیگر متصل شده و به صورت شبکه در آیند. ابزارهایی همچون مودم های Dial-up، DSL و کابل های شبکه، شبکه های سیمی و بدون سیم یا وایرلس نمونه هایی از این ابزار ارتباطی به حساب می آیند.


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

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

روش دانلود لایه های برداری لایه ها و عوارض شهری OSM

روش برش حواشی نقشه های اسکن شده در نرم افزار Global Mapper

نرم افزار Terrain Morphometer V.1 برای اجرای آنالیز مورفومتری از مدل رقومی ارتفاعی

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

آموزش برنامه نویسی پایتون بخش بیست و سوم

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

نرم افزار Slope Calculator V.1 برای استخراج نقشه شیب از مدل رقومی ارتفاعی با استفاده از 5 الگوریتم مختلف

سیستم مختصات، واژه شناسی و مفاهیم در سیستم اطلاعات جغرافیایی

دانلود نقشه راههای ایران استایل 4

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه سرآوان به شماره NG-41-2

نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه جازموریان به شماره NG-40-4

برنامه نویسی پایتون بخش هشتم (انتساب چندگانه، ثابت ها، نوع-داده های عددی و اپراتورها)

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

برنامه نویسی پایتون بخش ششم (Identifiers)

ابزارهای برنامه نویسی (Programming Tools)

نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه زابل به شماره NH-41-1

ترکیب باند: تبدیل تصاویر سیاه – سفید به تصاویر رنگی

نرم افزار Z-scale Estimator

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه شاهرخت به شماره NI-41-9

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه تربت جام به شماره NI-41-1

دانلود و روش نصب نرم افزار Global Mapper 24

برنامه نویسی پایتون بخش هفتم (متغیرها، دستور انتساب و عبارات)

آموزش برنامه نویسی پایتون بخش بیست و چهارم

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه گازیک به شماره NI-41-13

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش ششم

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

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه چابهار به شماره NG-41-9

دانلود رایگان محاسبه سرعت دانلود و آپلود اینترنت

آموزش برنامه نویسی پایتون بخش نهم (نمادهای علمی، ارزیابی عبارات و اولویت اجرای اپراتورها)

دانلود رایگان تصاویر ماهواره ای ژئورفرنس شده با رزولوشن بالا

آموزش برنامه نویسی پایتون بخش چهارم (برنامه نویسی مقدماتی در پایتون)

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش چهارم

نقشه تقسیمات سیاسی ایران

معرفی و دانلود نرم افزار SAGA GIS

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

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه زاهدان به شماره NH-41-9

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه جازموریان به شماره NG-40-4

دیدگاهتان را بنویسید