تماس با ما

فید خبر خوان

نقشه سایت

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


دسته بندی سایت

برچسب های مهم

پیوند ها

نظرسنجی سایت

از چه طریقی با ugis آشنا شدید؟

آمار بازدید

  • بازدید امروز : 9
  • بازدید دیروز : 8
  • بازدید کل : 76281

++c به زبان ساده


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

در آغاز عکسی از برنامه Borland C++ را نشان می دهم تا با محیط نرم افزار C++ آشنا شوید . هرچند نرم افزارهای دیگه هم در این خصوص وجود دارند مانند Visual C++ یا Turbo C++ .

برنامه ای را که در بالا می بینید سورس کد اولین برنامه ما و همچنین ابتدایی ترین ساختار برنامه C++ می باشد. قبل از هر چیز به بررسی سطحی و آشنایی اولیه با خطوط برنامه Hello world! می پردازیم :

// my first program in c++
#include 
int main()
{
  cout << "Hello world" ;
  return 0 ;
}

// my first program in c++

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

برای بوجود آوردن توضیحات در برنامه C++ از دو الگو می توان استفاده نمود :

  • اگر بخواهیم توضیحات را در یک خط قرار دهیم از علامت // قبل از توضیحات استفاده می کنیم. در مثال قبل ما از این الگو بهره بردیم.
  • در صورت زیاد بودن توضیحات واشغال چند سطر از برنامه توسط آن از علامت /* */ استفاده کرده و توضیحات را در بین آن قرار می دهیم.
                                     /* my
                                      first program 
                                      in c++ */
                                     

در C++ خطوطی که با علامت # شروع شده و در بالای برنامه قرار می گیرند خطوط فرمان به پردازشگر می باشند که در اصطلاح فایل سرآیند نامیده می شوند.

#include

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

int main()

این خط تعریفی برای تابع اصلی برنامه می باشد. در واقع برنامه با کامپایل از این نقطه شروع و پردازش می شود. هر برنامه C++ باید دارای تابع main() باشد. در این تابع است که بلوکها و خطوط برنامه نوشته میشود. باید گفته شود هرچند خطوطی بالاتر از تابع اصلی نوشته شده اما بخاطر داشته باشید که برنامه از این نقطه شروع خواهد شد. عبارت int به معنی integer یا اعداد یک کلمه کلیدی می باشد و برای تعریف متغیرهای از نوع صحیح بکار می رود که در ادامه آموزش برنامه نویسی بطور مفصل مورد بررسی قرار می گیرد. Main نامی برای تابع اصلی است که تغییر نمی کند و () علامتی است که در ادامه هر تابعی قرار می گیرد که توابع نیز مفصلا در ادامه مورد بحث قرار می گیرند و اطلاعات فوق جنبه آشنایی با آنها را دارد.

}

آکولاد باز در واقع شروع یک بلوک از دستورات را تعریف می کند که در این برنامه بدنه تابع اصلی (main) را در بر می گیرد و با علامت

{

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

cout << "Hello world" ;

تابع cout >> در تابع سرآیند iostream در زبان C++ قرار دارد و موجب ارسال اطلاعات به خروجی و چاپ و نمایش آن بر روی مانیتور کاربر می شود. با نوشتن این دستور عبارت Hello world! برروی صفحه نمایش پس از کامپایل بدون خطای برنامه به نمایش در می آید. از علامت " " برای متغیرهای رشته ای که در اصطلاح string گفته می شوند استفاده می شود. از علامت ; نیز در انتهای هر دستور در C++ استفاده می گردد تا بوسیله آن پایان آن دستور را به پردازشگر اعلام نمود.

return 0 ;

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

namespace

باید بگم که فضاهای نام هم در ساختار C++ نقش اساسی دارند. این فضاها مجموعه دیگری از کتابخانه های C++ می باشند که در استفاده از بعضی عناصر مانند رشته ها و ... کمک شایانی به کاربران می کنند.

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

// using namespace std
#include 
using namespace std;
int main()
{
   string st = "Hello world!" ;
   cout << st ;
   return 0 ;
}                                     

کد بالا را میشود به شکل دیگری هم نوشت که در اینصورت عبارت به تغییر می کنه و using حذف شده و بجاش از عبارت استفاده می کنیم به صورت زیر :

// using namespace std
#include 
#include 
int main()
{
   string st = "Hello world!" ;
   cout << st ;
   return 0 ;
}                                     

ذکر این مطلب لازم است که متاسفانه فایل سرآیند string در محیط Borland C++ کار نمی کند .

برخی از ویژگیهای زبان C++ :

  • انعطاف پذیری و غنای بالا
  • زبان برنامه نویسی سیستم است و با آن می توان برنامه های سیستمی را نوشت، بدین معنی که مستقیما می تواند با سخت افزار و نرم افزار ارتباط برقرار نماید.
  • زبان شی گراست
  • Case sevsitive است ، یعنی نسبت به کوچکی و بزرگی حروف حساس بوده وبین این دو تمایز قائل است. توصیه می شود که برنامه ها را با حروف کوچک بنویسید. While برابر نیست با WHILE

برخی از ویژگیهای دستورات C++

  • هر دستور باید به ; ختم شود.
  • حداکثر طول یک دستور،255 کاراکتر است.
  • هر دستور می تواند در یک و یا چند سطر نوشته شود.
  • در هر سطر می توان چندین دستور را نوشت.( این کار توصیه نمی شود. )
  • توضیحات می توانند بین */ و /* در چندین سطر و یا بعد از // و در فقط یک سطر نوشته شوند.

کلمات کلیدی در C++

auto        double      int         struct
break       else        long        switch
case        enum        register    typedef
char        extern      return      union
const       float       short       unsigned
continue    for         signed      void
default     goto        sizeof      volatile
do          if          static      while

p>این کلمات، کلمات کلیدی هستند و کامپایلر فقط این کلمات را می شناسد و هرآنچه غیر از کلمات کلیدی در برنامه C++ نوشته شود باید برای کامپایلر درست تعریف شود. در این بین توابعی برای گرفتن اطلاعات و یا چاپ اطلاعات و چیزهای دیگری وجود دارد که برای استفاده از آنها باید از فایل سرآیند مربوطه استفاده نماییم که از قبل نوشته شده اند مثل توابع cin, cout که توابع ورودی خروجی هستند که در فایل سرآیند iostream وجودارند و همچنین تابع getch که برای زدن یک کلید از صفحه کلید است و در فایل سرآیند conio قرار دارد .

<!-- pagebreak

انواع داده ها در C++ :

در C++ شش نوع داده وجود دارد. منظور از داده، متغیری است که در قالب متن یا عدد در طول برنامه مورد استفاده قرار می گیرد.

داده های موجود در C++ عبارتند از :

char, int, float, double, void, bool ,string

 

نوع char برای ذخیره داده های کاراکتری مانند : ‘a’ , ‘z’ , ‘W’ بکار می رود.

از نوع int برای ذخیره اعداد صحیح مانند 128، 5، 4508 استفاده می شود.

نوع float برای ذخیره اعداد اعشاری مثل 12.5، 7805.11 بکار می رود.

نوع double برای اعداد اعشاری بزرگتر از float استفاده می شود.

از boolean برای ذخیره مقادیر منطقی استفاده می شود ( درستی یا نادرستی ).

نوع void هیچ مقداری را نمی گیرد

نوع دیگری از داده وجود دارد که برای استفاده از رشته ها مورد استفاده قرار میگیرد که string گفته میشود اما در برخی از نسخه های کامپایلر زبان برنامه نویسی C++ پشتیبانی نمی شود، لذا مجبور به استفاده از آرایه ای از کاراکترها برای این منظور خواهیم بود .

آموزش تعریف انواع داده ها، عملگرها،  متغیرها و نوع آنها در برنامه نویسی C++ متغیرها

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

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

;نام متغیر نوع متغیر

int  count ;

در قطعه کد بالا می بینیم که هر متغیر باید دارای نام منحصر بفردی باشد که برای نامگذاری متغیر ها باید توجه داشته باشیم که :

  • برای نامگذاری متغیرها از ترکیبی از حروف a تا z یا A تا Z ، ارقام و خط ربط ( _ ) استفاده می شود.
  • اولین کاراکتر نام نباید از ارقام باشد.
  • نام می تواند هر طولی داشته باشد اما فقط 31 کاراکتر ابتدایی استفاده می شوند.
اسامی غیر مجاز             اسامی مجاز
-------------------------------------
  count3                   3count
  count                    .count
  co_unt                   co.unt

آموزش تعریف انواع داده ها، عملگرها،  متغیرها و نوع آنها در برنامه نویسی C++ مقدار دادن به متغیر ها

بعد از تعریف یک متغیر باید مقداری را به آن نسبت دهیم که به یکی از چهار روش زیر می توان اینکار را انجام داد :

  • هنگام تعریف متغیر
int  x = 4;     // initial value = 4
char  char1 = a , char2 = char3 = y;    // initial values = a and y
bool  b = true;     // initial value = true                                     
  • بعد از تعریف و با عمل انتساب ( = ).
int  y;
y = 12;     // initial value = 12
  • با استفاده از قالب سازنده.
float float_1 (2);     // initial value = 2                
  • دستورات ورودی که در فصل مربوط به ورودی / خروجی گفته خواهد شد.
float a, b;
cin >> a >> b;

آموزش تعریف انواع داده ها، عملگرها،  متغیرها و نوع آنها در برنامه نویسی C++ ثوابت و عملگرها در C++ - (Constants)

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

برای تعریف ثوابت در c++ دو الگو وجود دارد :

  • 1. با استفاده از دستور #define
#define    

// For example :
#include 
#define  P  3.14
int main()
{
    cout >> P;
    return  0 ;
}
3.14

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

نکته ای که باید در اینجا توجه نمود و در مثال بالا هم مشخص بود این است که در پایان دستور #define از ; (سمی کالن) استفاده نمی کنیم.

  • 2. با استفاده از کلمه کلیدی const :
const  <مقدار> = <نام ثابت>  <نوع داده>;

// For example :
#include 
int main()
{
    const  float  P = 3.14 ;
    cout >> P;
    return  0 ;
}
3.14

می بینیم که محل این دستور درون خود تابع main هست اما دستور #define در بیرون از تابع main و در بالای برنامه.

آموزش تعریف انواع داده ها، عملگرها،  متغیرها و نوع آنها در برنامه نویسی C++ عملگر ها (Operators)

برای انجام عملیات بر روی داده ها از عملگرها استفاده می کنیم. عملگرها نمادهایی هستند که عملیاتی مانند جمع،ضرب، کوچکتری و از این قبیل را روی داده ها انجام می دهند که عبارتند از :

  • انتساب ( Assignment ) ( = )

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

#include 
int main()
{
    int a, b ;          // a:?,  b:?
    a = 10 ;            // a:10, b:?
    b = 4 ;             // a:10, b:4
    a = b ;             // a:4,  b:4
    b = 7 ;             // a:4,  b:7
    cout >> "a:" ;
    cout >> a ;
    cout>> "b:" ;
    cout >> b ;
    return  0 ;
}
a:4  b:7

نحوه عملکرد این عملگرد به این شکله که مقدار سمت راست تساوی را در سمت چپ قرار میدهد. آموزش انواع type در زبان برنامه نویسی C++

  • عملگرهای محاسباتی ( Arithmetic Operators ) ( + , - , * , / , % )

پنج عملگر محاسباتی موجود در C++ عبارتند از :

+ جمع
- تفریق
* ضرب
/ تقسیم
% باقیمانده تقسیم

با 4 عملگرد اول آشنا هستید اما آخرین که خوانده می شود ( مـد "با واو تلفظ کنید" ) عملوند سمت چپ را بر عملوند سمت راست تقسیم کرده و باقیمانده آنرا بدست می آورد .

#include 
int main()
{
   int  a = 11;
   int  b = 3;
   int c = a % b;
   cout >> "c:" ;
   cout >> c ;
   return  0 ;
}
c: 2
  • عملگرهای ترکیبی ( Compund Operators ) ( =+ , =- , =* , =/ )
عبارت برابر است با
a += b a=a+b
a -= b a=a-b
a *= b+1 a=a*(b+1)
a /= b a=a/b

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

عملگرهای ترکیبی دیگری نیز وجود دارند که در ادامه در موردشان بحث می کنیم مثل : => و =<

#include 
int main()
{
   int  a ,b = 3;     // a=?, b=3
   a = b;             // a=3, b=3
   a += 2;            // a=a+2=3+2=5
   cout >> a;
   return  0 ;
}
5
  • عملگرهای افزایش کاهش ( Increase , Decrease ) ( ++ , -- )

این عملگرها یک واحد به عملوند خود اضافه می کنند و عمل اونها به اینکه در سمت چپ یا راست عملوند خود قرار بگیرند متفاوت است .

#include 
int main()
{
   int  a = 2, b = 3;        // a=2, b=3
   span class="cbue">a += b++;                 // a+=(b+1) -

a=a+(b+1) ---> a=2+4=6 cout >> "a:"; cout >> a; return 0; }

a:6

اگر عملگر سمت راست یا چپ عملوند خود باشه در هر دو صورت یک واحد به عملوند اضافه می شود . اما تفاوت این دوحالت در عبارات محاسباتی خود را نشان می دهد . عبارات محاسباتی ترکیبی از متغیرها، ثوابت و عملگرها هستند مثل 4*5-5/10 و 6-x/y

int  A , B = 3;        // A=?, B=3
A = ++B;               // A=(++B) ---> A=(B+1) , B=B+1 ---> A=4, B=4                     
                                    
A=4   ,B=4

در مثال بالا چون افزایش قبل B قرار دارد ابتدا یک واحد به B اضافه شده، پس در همینجا B می شود 4 و در پایان مقدار فوق در A قرار می گیرد .

int  A , B = 3;        // A=?, B=3
A = B++;               // A=(B++) ---> A=B, B=B+1 ---> A=3, B=4                     
                                    
A=3   ,B=4

اما در مثال بالا چون افزایش بعد از B قرار دارد اول مقدار B که 3 هست در A ریخته میشود و بعد یک واحد به B اضافه میشود .

  • عملگرهای رابطه ای و تساوی (Relational and equality operators) ( = = , =! , > , < , =< , => )

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

int  a = 10 , b = 7;     //a=10, b=7
(a == b) ;               //a=10 and not equal to b so return false
(a >= b) ;               //a=10 greater than b so return false
(a > b) ;                //a=10 greater than b so return true

p>عملگرهای دیگه ای هم وجود دارند که در آینده و با برخورد به اونها در موردشون صحبت می کنیم تا مبحث کسل کننده و طولانی نشود .<!-- pagebreak

Basic input/output - I/O - دستورات ورودی خروجی در برنامه نویسی C++

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


1
2
3
4
5
6
7
8
9
10
11
 
#include 
#include 
int main()
{
    int a;            //a=?
    cin >> a;         //a=value of user input
    cout << "a:";     //Prints a: on screen
    cout << a;        //Prints value of a
    getch();    
    return 0;
}
a:120

برای استفاده از کلمات کلیدی cin و cout لازمه که از کتابخانه iostream.h در برنامه خود استفاده کنیم.

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

دستور cin باعث می شود که از کاربر یا برنامه دیگه ای یک مقدار یا متنی را بگیریم . در واقع کامپایلر با رسیدن به این دستور منتظر ورود اطلاعات از طرف کاربر شده تا زمانی که کاربر Enter را فشار بده و مقدار ورودی کاربر را در متغیری که در جلوش اعلان شده بریزه و همونطور که قبلا اشاره شد موجب مقدار دهی به متغیر مربوطه میشود .

در برنامه بالا تابعی بنام getch() هست که برای استفاده از اون باید از کتابخانه conio.h استفاده کنیم که باعث میشود بعد از اجرای برنامه و رسیدن کامپایلر به این خط، برنامه متوقف شده و منتظر این باشه که کاربر یک کلید از کیبورد را فشار دهد . با این دستور می توانیم خروجی برنامه را ببینیم چون اگر این تابع نباشد در کسری از ثانیه برنامه اجرا و بلافاصله بسته میشود و دیگر ما قادر به دیدن خروجی نخواهیم بود . ( امتحان کنید! )

در مثال بالا فرض بر اینه که کاربر مقدار 120 را وارد کرده است.

گاهی اوقات لازمه که ما چند مقدار را با استفاده از دستور cin به برنامه بدهیم، در اینصورت به ازاء هر مقدار از یک << استفاده می کنیم و همینطور برای دستور cout ازیک >> .

int a, b;            //a=?, b=?
cin >> a >> b;
cout << a << b;                        

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

cout << a << endl;

عبارت endl به کامپایلر پایان خط جاری را نشان می دهد و در صورت وجود خروجی دیگه ای در برنامه، نمایش خروجی را از خط بعدی ادامه میدهد .

cout << a << "
";

عبارت نیز مثل endl خروجی را به خط بعدی هدایت می کند .


1
2
3
4
5
6
7
8
9
10
11
12
13
 
#include 
#include 
int main()
{
    int a, b;                                    //a=?,b=?
    cout << "Please inter value of a:";
    cin >> a;                                    //a=value of user input
    cout << "Please inter value of b:";
    cin >> b;                                    //b=value of user input
    cout << "a:" << a << "
";                   //Prints a:(value of a) on screen and go to next line
    cout << "b:" << b;                           //Prints b:(value of a) on screen
    return 0;
}
Please inter value of a:
Please inter value of b:
a:120
b:87

باید بگم فرض بر این است که مقادیر 120 و 87 توسط کاربر وارد شده است . نکته ای که اینجا قابل توجه است اینه که دستور cin خودش باعث میشود که کامپایلر با گرفتن مقدار بطور خودکار به خط بعدی برود و دیگه اینجا نیازی به قید یا endl نیست .

p><!-- pagebreak

عبارات محاسباتی و تقدم عملگرها در برنامه نویسی C++ (Precedence of operators) :

همانطور که قبلا اشاره شد عبارات محاسباتی شامل عملیات یک یا چند عملگر بر روی یک یا چند عملوند هستند. لذا به مبحث تقدم عملگرها در برنامه نویسی C++ می پردازیم تا بدانیم که در برخورد با یک عبارت محاسباتی طولانی به چه صورت باید رفتار کنیم.

a = b+10*(9%4);
a = b+10*9%4;                                     

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

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

جدول زیر تقدم عملگرها را با اولویت از بالا به پایین به ما نمایش میدهد.

1 ()
2 ! ~ ++ -- sizeof
3 * / %
4 + -
5 << >>
6 < <= > >=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?
14 = += -= *= /= %=
15 ,

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

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

 برای درک مطلب به بررسی مثالی می پردازیم :

a = 20-3*4+19%(3*(2+1));
20-3*4+19%(3*3)

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

20-3*4+19%9

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

20-12+19%9

حالا از بین عملگرهای موجود * و % از تقدم بالاتری برخوردارند. بدلیل یکسان بودن تقدم این دو از چپ شروع کرده و با رسیدن به هر کدام از این دو عملگر مقدار عبارت را محاسبه میکنیم که در این مثال ابتدا * محاسبه می شود.

20-12+1

سپس نوبت به % میرسد.

8+1

اکنون عملگرهای + و – در عبارت باقی می مانند که بدلیل یکسانی تقدم اولین عملگر از چپ یعنی – ابتدا محاسبه می گردد.

9

و در پایان عملگر + محاسبه شده که در نهایت به جواب 9 می رسیم.

p><!-- pagebreak

ساختارهای کنترلی در برنامه نویسی C++ (Control Structures)

بطور کلی، در هر برنامه نویسی اجرای دستورات از اولین سطر شروع شده و به ترتیب تا آخرین سطر ادامه میابد.

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

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

  • ساختارهای کنترل
  • ساختارهای تصمیم

 ساختارهای کنترل :

  • for
  • while

در برنامه نویسی C++ از ساختار حلقه for برای تکرار یک سری از دستورات استفاده می شود و شکل کلی ایجاد حلقه تکرار بصورت زیر است :

for( مقدار اولیه حلقه ; شرط حلقه ; گام حرکت )
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}
آموزش دستور و ساختار حلقه های تکرار تو در تو for در برنامه نویسی C++

مثال) با استفاده از حلقه تکرار for کدی بنویسید که اعداد 1 تا 10 را چاپ کند.


1
2
3
4
 
for ( int i = 1; i <= 10; i++ )
{
    cout << i << " ";
}
1 2 3 4 5 6 7 8 9 10                                   

در کد بالا متغیر i از نوع int تعریف شده و شرط خاتمه حلقه for تا زمانی است که i کوچکتر یا مساوی 10 باشد. گام حرکت حلقه یک است و با هر بار تکرار حلقه یک واحد به متغیر اضافه خواهد شد. متغیر i در پایان حلقه و با خروج از آن یک واحد اضافه خواهد شد. زمانیکه i برابر با 11 می شود برنامه با رسیدن به شرط حلقه و عدم برقرار بودن شرط، از حلقه خارج می شود. برای چاپ اعداد باید در درون خود حلقه، دستور خروجی را نوشت.

در برنامه نویسی، برای تست دستورات روشی به نام Trace وجود دارد که در این مورد از دستورات بسیار مفید است:

عملیات i<=10 i
چاپ 1 yes 1
چاپ 2 yes 2
چاپ 3 yes 3
چاپ 4 yes 4
چاپ 5 yes 5
چاپ 6 yes 6
چاپ 7 yes 7
چاپ 8 yes 8
چاپ 9 yes 9
چاپ 10 yes 10
خروج از حلقه no 11

شما با ترسیم چنین جدولی بر روی کاغذ و ردگیری گام به گام حلقه قادر به نوشتن حلقه های پیچیده تر در C++ خواهید بود، با کمی تمرین به راحتی به این مهم خواهید رسید.

مثال) با استفاده از حلقه تکرار for کدی بنویسید که در آن کاربر جمله ای را وارد کرده و در انتهای جمله Enter را فشار دهد و برنامه تعداد حروف جمله را نمایش دهد:


1
2
3
4
5
 
int  count;
cout << "Enter a statement with enter in end:" << endl;
for ( count = 0; cin.get()!=
 ; count++ );
cout << "Lenght of statement is: " << count;
getch();
Enter a statement with enter in end:
I like C++ programming!
Lenght of statement is: 23                                 

آموزش و مثال کاربردی حلقه تکرار و تو در تو و پیچیده for در برنامه نویسی C++ در برنامه بالا چند نکته مهم وجود دارد که به بررسی آنها می پردازیم:

الف) به شرط حلقه توجه کنید. تابع cin.get() برای تشخیص ورود Enter بکار می رود. تابع دانه دانه حروف ورودی را بررسی می کند و به محض Enter کردن کاربر از حلقه خارج می شود.

شرط حلقه به این معنی است که : تا زمانیکه حرف وارد شده کاربر مخالف Enter ( ) است حلقه را ادامه بده و به count هر بار یک واحد اضافه کن.

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

 حلقه های تودرتو

گاهی اوقات لازم است که در یک حلقه، یک یا چند حلقه دیگر هم استفاده نمود.

معروفترین مثال برنامه نویسی در مورد حلقه های تودرتو، نمایش جدول ضرب اعداد است:


1
2
3
4
5
6
7
8
 
int  i,j;

for ( i = 0; i<=10 ; i++ )
{
    for ( j = 0; j<=10 ; j++ )
        cout <<  i*j  << "	";
    cout << endl;
}
1   2   3   4   5   6   7   8   9   10                          
2   4   6   8   10  12  14  16  18  20
3   6   9   12  15  18  21  24  27  30
4   8   12  16  20  24  28  32  36  40
5   10  15  20  25  30  35  40  45  50
6   12  18  24  30  36  42  48  54  60
7   14  21  28  35  42  49  56  63  70
8   16  24  32  40  48  56  64  72  80
9   18  27  36  45  54  63  72  81  90
10  20  30  40  50  60  70  80  90  100

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

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

سپس برنامه با اجرای دستور بعدی به خط جدید می رود. از حلقه اول 9 بار تکرار دیگر مانده، پس این رویه تکرار شده تا برنامه کامل گردد. در آخر وقتی i برابر با 11 می شود از حلقه بیرونی خارج شده و برنامه به پایان می رسد.

 مثال مهم) قصد داریم با استفاده از حلقه های تکرار تودرتو شکل زیر را ایجاد نماییم :

*****
****
***
**
*

روش کلی کار به این صورت است که به ازای تعداد سطرها به یک حلقه تکرار for بیرونی و به ازای تعداد ستونها به یک حلقه for درونی نیاز داریم. چون از ابتدا به انتها از تعداد ستاره ها کم می شود پس باید حلقه های خود را کاهشی بنویسیم :


1
2
3
4
5
6
 
for ( int i = 5; i>0 ; i-- )
{
    for ( int j = i; j>0 ; j-- )
        cout << "*";
    cout << "
";
}

با شروع حلقه for اول، برنامه وارد بلوکی می شود که دارای حلقه for دیگری است و دو دستور cout، که اولین دستور مربوط به حلقه درونی است و دومی مربوط به حلقه بیرونی.

متغیر i از 5 شروع شده با هر بار اجرای حلقه یک واحد کاهش میابد. به این دلیل متغیر j را برابر با متغیر i گرفته ایم چون با کاهش i آنهم باید کاهش یابد یعنی در هر بار چرخش حلقه بیرونی (هر سطر ).

در ابتدا i برابر با 5 است و شرط حلقه هم درست است پس وارد دستورات حلقه for بیرونی می شود و به حلقه for درونی برخورد می کند که j برابر با i یعنی 5 است و شرطش هم درست است پس 5 بار ستاره چاپ می کند و با نقیض شدن شرط حلقه (وقتی که j برابر صفر می شود ) از حلقه درونی خارج می شود و ادامه دستورات حلقه for بیرونی را انجام میدهد یعنی یک سطر پایین می رود .

این بار یک واحد از i کم شده و برابر با 4 می شود که باز هم شرط حلقه بیرونی درست است و دستورات آنرا دوباره اجرا می کند. در درون حلقه for درونی j برابر با i یعنی 4 شده و شرطش هم درست است پس اینبار چهار ستاره چاپ می کند و به همان ترتیب قبل دستورات ادامه میابد تا شکل بالا حاصل می شود .

آموزش دستور حلقه تکرار و پیچیده و تو در تو for در C++ مثال) می خواهیم شکل زیر را با استفاده از دستور حلقه تکرار for تودرتو در برنامه نویسی C++ رسم نماییم :

      *
     ***
    *****
   *******
  *********
 ***********
*************
 ***********
  *********
   *******
    *****
     ***
      *

برای رسم این شکل ما ابتدا شکل را به 2 قسمت تقسیم کرده و برای رسم هر قسمت از دستور حلقه تکرار for تودرتو استفاده می کنیم :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
for ( int i = 6; i>0 ; i-- )
{
    for ( int j = i; j>0 ; j-- )
        cout << " ";

    for ( j = i; jcout << "*";

    for ( j = i; j<=6 ; j++ )
        cout << "*";

    for ( int j = i; j>0 ; j-- )
        cout << " ";

    cout << "
";
}

for ( i = 6; i>=0 ; i-- )
{
    for ( j = i; jcout << " ";

    for ( j = i; j>0 ; j-- )
        cout << "*";

    for ( j = i; j>=0 ; j-- )
        cout << "*";

    for ( int j = i; jcout << " ";

     cout << "
";
}

p>عزیزان اگر کمی دقت کنید و با حوصله کد بالا را بررسی نمایید حتما مطلب را یاد گرفته و با کمی تمرین براحتی می توانند در C++ دستورات حلقه تکرار for تو در توی پیچیده را براحتی حل نمایید .<!-- pagebreak

ساختارهای کنترلی - حلقه while - بخش دوم

در این فصل از آموزش برنامه نویسی C++ قصد داریم به بررسی ساختار حلقه while() بپردازیم که وظیفه ای شبیه به حلقه for() را برعهده دارد.

while ( عبارت شرطی )  
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}

از این ساختار برای ایجاد حلقه های تکرار استفاده می شود و تا زمانیکه عبارت شرطی داخل پرانتز while() درست باشد دستورات مربوطه اجرا خواهند شد و به محض نادرستی شرط، کنترل دستورات از حلقه خارج خواهد شد.


1
2
3
4
5
6
7
8
9
10
11
 
int n;

cout << "Enter the starting number that bigger than zero : " ;
cin >> n ;

while ( n > 0 )  
{
    cout << n << ", " ;
}

cout << "Fire! 
" ;
Enter the starting number that bigger than zero : 8
8, 7, 6, 5, 4, 3, 2, 1, Fire!                                   

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

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

شکل دیگری از این دستور وجود دارد که شبیه به while() بوده و به آن حلقه do while گفته می شود، با این تفاوت که اگر شرط درون آن نادرست باشد دستورات درون حلقه حداقل یکبار اجرا می شوند و اگر شرط درست باشد، حلقه تا زمان نادرستی شرط ادامه خواهد یافت و ساختار آن بدینگونه است :

do 
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}
while ( عبارت شرطی )  
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}

در ساختار do while() ابتدا دستورات do اجرا شده و بعد شرط درون while() بررسی می شود و در صورت درستی شرط، اجرای دستورات do ادامه پیدا خواهد کرد.

نکته ) دوستان توجه داشته باشند که اگر دستورات مربوط به for, while, do, … فقط یک دستور باشد نیازی به قرار دادن دستور درون آکولاد نیست و تکرار فقط بر روی تنها سطر دستور ادامه خواهد داشت و تا زمانیکه شرط برقرار باشد فقط و فقط آن سطر تکرار و اجرا می شود و تا زمان پایان به خط بعدی نخواهد رفت اما اگر دستورات بیش از یکی باشد لازم است که آنها را در آکولاد قرار دهیم و این قانون کلی در برنامه نویسی است.


1
2
3
4
5
6
7
8
 
int n;

do
{
    cout << "Enter number (0 to end): " ;
    cin >> n ;
    cout << "You entered: " << n << "
" ;
} while ( n != 0 )
Enter number (0 to end): 1298
You entered: 1298                                
Enter number (0 to end): 35
You entered: 35   
Enter number (0 to end): 0
You entered: 0   

اگر عدد ورودی در کد بالا در ابتدا صفر باشد دستورات یکبار اجرا می شود.

p><!-- pagebreak

ساختارهای تصمیم در برنامه نویسی C++

در برنامه هرگاه بخواهیم در شرایط ویژه ای برخی از دستورات اجرا شوند و برخی دیگر اجرا نشوند از ساختارهای تصمیم استفاده می کنیم.

  • ساختار if :

با استفاده از ساختار if، شرطی را کنترل می کنیم. اگ

انتشار : ۱۴ شهریور ۱۳۹۵

دانلود رایگان جزوه آموزشی نرم افزار تحلیل آماری EQS


جزوه آموزش گام به گام نرم افزار آماری EQS « اِ کیو اِس » توسط دکتر یحیی علی بابایی دانشیار دانشگاه تهران از درس روشهای تحقیق پیشرفته(کمَی) (دوره دکتری) در 45 صفحه تهیه شده است.

نرم افزار اِکیواِس یک محصول نرم افزاری است که به منظور برآورد و آزمون مدلهای معادلات ساختاری طراحی و از سوی «شرکت بین المللی نرم افزار علمی »به بازار عرضه شده است. این نرم افزار با استفاده از همبستگی و کوواریانس اندازه گیری شده، میتواند مقادیر بارهای عاملی، واریانسها و خطاهای متغیرهای پنهان را برآورد یا استنباط کند و از آن میتوان برای اجرای تحلیل عاملی اکتشافی، تحلیل عاملی مرتبه دوم، تحلیل عاملی تأییدی و همچنین تحلیل مسیر (مدل یابی علت و معلولی با متغیرهای پنهان) استفاده کرد؛ از یان رو فراگیری آن برای تمامی پژوهشگران علوم اجتماعی امری ضروری می باشد.

برای دانلود این جزوه از این لینک استفاده کنید.

دانلود رایگان جزوه آموزشی نرم افزار تحلیل آماری  EQS
انتشار : ۱۳ شهریور ۱۳۹۵

معرفی مختصر به همراه دانلود مستقیم برخی از نرم افزارهای آماری


معرفی برخی از نرم افزارهای آماری

برخی از نرم افزارهای آماری عبارتند از : نرم افزار DE ، نرم افزار PQ Method ، نرم افزار Liseral 8.5 ، نرم افزار R 2.0 . در این بخش به معرفی برخی از آنان پرداخته شده و لینک دانلود آنها نیز در ادامه قرار گرفته است.

نرم افزارDE:
توضيحات: نرم افزار ي برا يورود داده هاي آماري به رايانه است و خروجي آن به صورت مجموعه اي از داده ها است کهدر محيط نرم افزاري مختلف مانند SAS,SPSS و ... قابل استفاده است و درصد خطاي وروداطلاعات در اين نرم افزار بسيار کم است.

 

http://rcirib.ir/Research_software/DE/DE.exe

 

نرم افزار PQ Method:
توضيحات:نرم افزارآماري براي پردازش داده هايي است که بر اساس مطالعه Q گردآوري شده اند. از امکاناتاين نرم افزار مي توان به تحليل عاملي Q – دوران عاملها توسط پژوهشگر-تامينعبارتهاي متمايز کننده و در نهايت ارائه آرايه هاي عاملي و امتيازهاي Z اشاره کرد.

http://rcirib.ir/Research_software/PQMethod%20Software/PQMethod%20Software.exe

 

نرم افزار Liseral 8.5:
توضيحات:Liseral براي استفاده از معادلات ساختاري در تحليل داده ها به کمک تحليل مسير مورد استفادهقرار مي گيرد

شماره سريال LP850-43SSI-80998

http://rcirib.ir/Research_software/Lisrel%208.50/ORDINAL.exe

 

نرم افزار R 2.0:
توضيحات:اين نرم افزارمحيطي براي برنامه نويسي با زبان R براي محاسبه آماري و گرافيکي است.

http://rcirib.ir/Research_software/R%202.0/R.exe

معرفی  مختصر به همراه دانلود مستقیم برخی از نرم افزارهای آماری
انتشار : ۱۱ شهریور ۱۳۹۵

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


کتاب الکترونيکي کاربرد رايانه و spss در علوم اجتماعي در 14 فصل، توسط استاد برجسته دکتر يحيي علي بابايي دانشیار دانشگاه تهران برای دوره کارشناسی تهیه و تدوین شده که به شرح زیر می باشند:

  1.  آشنایی با کامپیوتر و ورود اطلاعات به spss
  2. فصل 2 جدول یک بعدی
  3. فصل 3 فرمان کدگذاری مجدد
  4. فصل 4 فرمان کامپیوت
  5. فصل 5 جدول دوبعدی
  6. فصل 6 آزمون T
  7. فصل 7 آزمون F
  8. فصل 8 تحلیل واریانس چندطرفه
  9. فصل 9 آزمون مان ویتنی
  10. فصل 10 آزمون کروسکال ولریس
  11. فصل 11 ضریب همبستگی آر پیرسون
  12. فصل 12 آزمون قابلیت اعتماد
  13. فصل 13تحلیل عاملی
  14. فصل 14 تحلیل رگرسون

 

برای دانلود کتاب بصورت یکجا از این لینک استفاد کنید.

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

 

دانلود رایگان کتاب الکترونیکی کاربرد رايانه در علوم اجتماعي به همراه فیلم آموزشی
انتشار : ۹ شهریور ۱۳۹۵

جزوات آموزشی نرم افزار آموس Amos


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

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

 

برای دانلود جزوه آموزشی نرم افزار Amos این درس از این لینک استفاده کنید.

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

 برای استفاده از آموزش های تصویری نرم افزار Amos  از این لینک استفاده کنید.

جزوات آموزشی نرم افزار آموس Amos
انتشار : ۹ شهریور ۱۳۹۵

جزوه مدل سازی معادله ساختاری با کاربرد نرم افزار Amos


درسنامه: روشهای پیشرفته تحلیل آماری در بررسی مسائل اجتماعی

 

استاد: دکتر یحیی علی بابایی (دانشیار دانشگاه تهران)

ترجمه: فصل 51کتاب «رابرت هو»

(تحلیل و تفسیر داده های یک متغیره و چند متغیره) با استفاده از نرم افزار SPSS با کاربرد نرم افزار Amos

برای دانلود از این لینک استفاده کنید.

جزوه مدل سازی معادله ساختاری با  کاربرد نرم افزار Amos
انتشار : ۹ شهریور ۱۳۹۵

برچسب های مهم

درسنامه آمار در علوم اجتماعی


درسنامه درس : آمار در علوم اجتماعی

 

عنوان: چکیده مطالب درس (ویراست دوم) / آذر1393

دکتر یحیی علی بابایی (دانشیار  دانشکده علوم اجتماعی، دانشگاه تهران)

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

درسنامه آمار در علوم اجتماعی
انتشار : ۹ شهریور ۱۳۹۵

دانلود ترجمه و مقاله The ecological footprint as a key indicator of sustainable tourism


مقاله ای با عنوان

اثرات بومی به عنوان یک شاخص کلیدی برای گردشگری پایدار

The ecological footprint as a key indicator of sustainable tourism

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

انتشار : ۱۰ خرداد ۱۳۹۵

دانلود کتاب مدلسازی رقومی زمین DTM پروفسور لی


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

تجزیه و تحلیل زمین

استراتژی نمونه برداری

روش اخذ داده ها

اصول مدل سازی سطوح

الگوریتم های مثلث بندی

تکنیک های درون یابی

کنترل کیفیت آنلاین و آفلاین در مرحله اخذ داده ها

ارزیابی دقت DTM و مدلهای ریاضی برای پیش بینی دقت DTM

 نمایش چند- مقیاسه

 تجزیه و تحلیل بصری

استخراج انواع مختلفی از پارامترهای زمین

و توسعه ها و پیشرفت های آینده.

 

نویسندگان این کتاب عبارتند از:

Zhilin Li, Qing Zhu, and Chris Gold

برای دانلود کتاب به این لینک مراجعه نمائید. 

برای نمایش لینک دانلود رمز ugis.ir را وارد نمائید

 

 

دانلود کتاب مدلسازی رقومی زمین DTM پروفسور لی
انتشار : ۱۲ اردیبهشت ۱۳۹۵

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


 سوالات کنکور دکتری سنجش از دور و سامانه اطلاعات جغرافیایی جهت دانلود رایگان خدمتتان تقدیم می گردد.

برای دانلود رایگان از این لینک استفاده کنید.

برای دریافت پاسخنامه نیز از این لینک استفاده کنید

انتشار : ۶ اردیبهشت ۱۳۹۵

درخواست کتاب، مقالات، پایانامه و سایر منابع علمی از مخزن UGIS


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

از اینرو برای درخواست منبع از مخزن UGIS لازم است تا از طریق بخش "تماس با ما" و تکمیل فیلدهای در نظر گرفته شده درخواست خود را ارسال نمائید . در اسرع وقت منبع شما تامین خواهد شد و به ایمیل شما ارسال خواهد شد. توجه داشته باشید که تکمیل اطلاعات تماس و نیز ثبت عنوان مقاله، پایانامه و  شماره تماس در قسمت " متن پیام"  الزامی است.

با احترام UGIS

انتشار : ۲۲ بهمن ۱۳۹۴

مجموعه جزوات آمادگی برای آزمون تشریحی (تخصصی) و مصاحبه دکتری سنجش از دور و GIS


جزوه آمادگی برای آزمون تشریحی (تخصصی) و مصاحبه دکتری سنجش از دور و GIS توسط تیم UGIS تدوین شده است.  این جزوه حاصلتجربیات دانشجویان دکتری سنجش از دور و GIS  و نیز پیگیری های به عمل آمده با اساتید سنجش از دور و GIS  است. این جزوه شامل موارد زیر است:

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

ترجمه کامل و خلاصه مطالب مهم کتاب های مهم لاتین از قبیل کتابهای پروفسورر جنسن 

خلاصه نکات مهم جزوات ارشد و دکتری سنجش از دور و GIS دانشگاه تهران

جزوات کلاسی اساتید طراح سوال

تدوین مطالبی که احتمال طرح سوال از آنها وجود دارد

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

خلاصه کتاب مایکل وربویز (GIS از دیدگاه محاسباتی)

خلاصه کتاب GIS دانشگاه ICT (کتاب ها لاتین ذکر شده هر سال از آنها تست طرح میشود و همچنین در آزمون تشریحی از آنها سوال طرح می شود)

خلاصه کتاب گودچایلد

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

 

مجموعه جزوات آمادگی برای آزمون تشریحی (تخصصی) و مصاحبه دکتری سنجش از دور و GIS
انتشار : ۲۳ فروردین ۱۳۹۵

برچسب های مهم

کتابخانه pgRouting


pgRouting یک کتابخانه متن باز مکانی است که از توابع مسیریابی پشتیبانی می‌کند. در پروژه هایی که با مسائل مسیریابی سروکار دارند کتابخانه pgRouting افزونه ای است که یک سری توابع تحلیلی و قابلیت ها رابرای پایگاه‌های داده‌هایی از قبیل PostGIS و PostgreSQL فراهم می‌سازد.

مزابای استفاده از این قابیلت ها در پروژه های مسیریابی عبارتند از:

داده ها و اطلاعات توصیفی را میتوان در کلاینت هایی از قبیل QGIS و UDIG به واسطه JDBC و ODBC توصیف و تغییر داد. کلاینت هم میتواند موبایل و هم PC ها باشد.

تغییرات داده ها را می توان بلافاصله از طریق موتور مسیریابی (routing engine) ارائه کرد.

پارامتر هزینه در مسیریابی را به صورت دینامیک و توسط SQL و با استفاده از اطلاعات جدول ها و یا SHP فایل ها میتوان محاسبه کرد.

کتابخانه pgRouting از الگوریتم های زیر پشتیبانی میکند:

کوتاهترین مسیر از طریق سه الگوریتم دایجسترا (*Dijkstra)، A و *Shooting

آنالیز مسئله فروشنده دوره گرد (TSP)

محاسبه مسافت رانندگی (Driving distance calculation)

برای انجام پروژه های مسیریابی تحت وب و با استفاده از نرم افزار های متن باز مکانی با ما تماس گیرید.

کتابخانه pgRouting
انتشار : ۳ اسفند ۱۳۹۴

معرفی دو منبع اصلی کنکور دکتری سنجش از دور و سیستم اطلاعات جغرافیایی (GIS)


کتاب سنجش از دور محیط زیست (Remote Sensing of the Environment ) و نیز کتاب مقدمه ای بر پردازش تصویر رقومی  (Introductory Digital Image Processing (3rd Edition) در زمره مهمترین منابع کنکور دکتری سنجش از دور و سیستم اطلاعات جغرافیایی(GIS) می باشند. مطالعه این دو کتاب اکیدا به داوطلبان و علاقه مندان توصیه میشود.

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

 

دانلود کتاب درآمدي بر سيستمهاي اطلاعات جغرافيايي انتشارات پیام نور


این کتاب برای مطالعه مباحث پایه از قبیل :

توابع پایه GIS

انواع روشهای درونیابی

تحلیلهای مکانی

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

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

برای دانلود کتب میتوانید از این لینک و یااین لینک استفاده نمائید.

 

دانلود کتاب درآمدي بر سيستمهاي اطلاعات جغرافيايي انتشارات پیام نور
انتشار : ۲۷ بهمن ۱۳۹۴

برچسب های مهم



مطالب تصادفی

  • سنجش سرمایه اجتماعی
  • طرح جامع گردشگری استان تهران
  • دانلود کتاب  جامع برنامه نویسی پایتون در ARCGIS   python scripting for arcgis
  • خلاصه مباحث کلیدی کتاب های پروفسور جنسن
  • نمونه پرسشنامه تکنیک دیماتل (DEMATEL)
  • دانلود رایگان جزوه آموزشی نرم افزار تحلیل آماری  EQS
  • معرفی  مختصر به همراه دانلود مستقیم برخی از نرم افزارهای آماری
  • دانلود رایگان کتاب الکترونیکی کاربرد رايانه در علوم اجتماعي به همراه فیلم آموزشی
  • جزوات آموزشی نرم افزار آموس Amos
  • جزوه مدل سازی معادله ساختاری با  کاربرد نرم افزار Amos
  • طرح جامع گردشگری استان تهران
  • کد آماده AHP در MATLAB

تهران - امیر آباد شمالی - کوی دانشگاه تهران

دانلود منابع ، پروژه های کلاسی، جزوات اساتید دانشگاه های کشور ، فایل های آموزشی و .... تمامی حقوق این سایت محفوظ و متعلق به گروه UGIS می باشد.