воскресенье, 27 февраля 2011 г.

İnternetdə azərbaycan dilində faydalı resurslar

Burada mən maraqlı və faydalı bildiyim internet resurslarının siyahısını yığmaq istəyirəm.


Tərcümə
http://translate.az/
http://translate.intelsoft.az/


Qanun
http://www.e-qanun.az/
http://rusum.az/

Tarix
http://history.az/



.
.

ArcGIS dərsləri azərbaycan dilində. 2-ci dərs.

Salam,

keçən dərsimizdə biz ilk geobazamızı yaratdıq. Dediyim kimi bu Microsoft Access formatlı bir baza faylıdır. Bütün bizim fəza obyektlərimiz burada yerləşəcək.

Gəlin yollar üçün bazada bir xətti klass yaradaq. ArcGIS-də buna Feature Class deyilir. Qısa olaraq fiç-klass adlandıracam. Fiç-klasslar nöqtəvi, xətti, poliqonal, çoxnöqtəli və s. olurlar. Təbii ki yollar üçün xətti fiç-klass olacaq.
ArcCatalog-da yaratdığımız geobazanın içinə daxil olaq.



Sağ paneldə siçanın sağ düyməsini basaraq, New -> Feature Class komandasını seçirik.


New Feature Class pəncərəsi açılır.


Burada biz fiç-klasın növünü seçirik.


Sonra biz fiç-klasa ad veririk. Misal üçün Yollar.


Sonra Next (Далее) düyməsini basaraq növbəti pəncərəyə keçid alırıq.


Burada biz koordinat sistemini daxil etməliyik. Hal-hazırda bizə WGS1984 koordinat sistemi lazımdır. Bunun üçün biz Coğrafi Koordinat Sistemlərində World sözünü seçirik.


Orada isə WGS 1984 adlı koordinat sistemini seçirik


Sonra Next (Далее) düyməsini basaraq növbəti pəncərəyə keçid alırıq.


Burada biz heç bir dəyişiklik etmədən Next (Далее) düyməsini basaraq növbəti pəncərəyə keçid alırıq.


Burada bizə fiç-klasın cədvəlinin vacib sütünlarını göstərirlər. Biz istədiyimiz tipli sütün əlavə edə bilərik, lakin indi buna ehtiyac yoxdur. Ona görə biz Finish düyməsini basaraq pəncərəni bağlayırıq.


Bizim bazamızda Yollar adlı xətti fiç-klass yaradıldı. Yəni "MapSourse1.mdb" Access formatlı bazada yollarımıza aid olan xətti obyektləri özündə saxlayan "Yollar" adlı bir baza cədvəli yarandı.

2-ci dərsin sonu. 

ArcGIS dərsləri azərbaycan dilində. 1-ci dərs.

Salam,

ArcGIS  proqramında xəritə çəkmək üçün sadə əməliyyatlar haqda bir-neçə dərs yazmağı qərara aldım.

Mən ArcGIS 9.3 proqramından istifadə edəcəm. Bu paketin ArcCataloq proqramını işə salın.
İlk addım geobaza yaradmaqdır.

ArcCataloq proqramının görüntüsü:



Burada sol bölmədə C: diskini seçək. Sağ tərəfdə siçanın sağ düyməsini basaraq, New -> Folder komandasını seçirik.


Yeni bir qovluq yaranır:

Onun adını misal üçün ArcGIS_maps qoyaq.


Sonra bu qovluğun içində biz yeni geobaza yaradaq. Bunun üçün biz bu qovluğun içində siçanın sağ düyməsini basırıq və New -> Personal Geodatabase komandasını seçirik.


Biz bununla yeni geodatabase yaradırıq. Əslində bu geodatabase Access formatlı bir baza faylıdır. Onun genişlənməsi ".mdb" olur. Biz bu bazaya ad verməliyik, misal üçün MapSource1.


Beləliklə bizim ilk geobazamız hazırdı.

1-ci dərsin sonu.

C# dərsləri azərbaycan dilində. 6-cı dərs.

Salam

Növbəti dərsimizə başlayaq.


C# dərsləri. 6-cı dərs.

Biz artıq bəzi tiplərin bir-biri ilə münasibəti haqda danışdıq. Konkret desək isə, int (tam ədəd) və double (kəsr ədəd) tiplərinin arasındakı münasıbət.
Maraqlıdır, bəs biz artıq string (sətir) tipi ilə də tanışıq. Bəs bu tiplə ədədlərin münasibəti necədir?
Gəlin baxaq. Belə bir proqram kodu yığaq.


int tamEded = 10;
string setir = "tem ededin qiymeti " + tamEded;
Console.WriteLine(setir);
Console.ReadKey();


Belə asan. Bəs kəsr ədəd necə?


int tamEded = 10;
string setir = "tem ededin qiymeti " + tamEded;
Console.WriteLine(setir);
double kesrEded = 5.45;
setir = "kesr ededin qiymeti " + kesrEded;
Console.WriteLine(setir);
Console.ReadKey();
 Nəticə:

Belə bir fikir bizdə yarandı ki, ədədlər asan sətir tipinə keçir. Lakin bu həmişə belə olmur.
Gəlin kodu bir az dəyişək və nəticəyə diqqət edək.

int tamEded = 10;
string setir = tamEded;
Console.WriteLine(setir);
double kesrEded = 5.45;
setir = kesrEded;
Console.WriteLine(setir);
Console.ReadKey();


Nəticədə bizə artıq tanış olan səhvlərlə qarşılaşırıq.




Error 1 Cannot implicitly convert type 'int' to 'string'
Error 2 Cannot implicitly convert type 'double' to 'string'

Yəni biz intdouble tipli ədədləri qeyri-müəyyən surətdə string tipli sətirə çevirə bimərik.
Bəs onda əvvəlki nümunələr necə?
Diqqət edək əvvəlki nümunələr.


string setir = "kesr ededin qiymeti " + kesrEded;

Orada ədəd birbaşa sətir tipli dəyişənə verilmirdi. Gördüyümüz kimi orada sətir əməliyyatı var idi. Yəni üstəgəl əməliyyatında iştirakçılardan biri artıq string tipli dırnaqarası sözlər idi.Bu əməliyyata Cşarp icazə verir. Hətta belə yazsaqda:

string setir = kesrEded + "kesr ededin qiymeti ";

Lakin son kodda biz çalışırıq ədədi və ya ədəd tipli dəyişəni birbaşa sətir tipli dəyişənə verək.


string setir = 5.45;
string setir = kesrEded;


Bu isə Cşarp-da xüsusi qeyd olunmadan qadağandır. Bununla Cşarp bizi təsadüfi diqqətsizlikdən qoruyur, yəni bilmədən bizi sətirə ədədin qiymətini verib, sonra saatlarla proqramda səhvi axtarmaqdan qoruyur.

Qaydaya əsasən biz yalnız açıq şəkildə bu əməliyyatı yerinə yetirə bilərik. Bəlkə yenə də mötərizədə biz string tipini qeyd etməliyik.
Yox bu yol string üçün yaramır. Yoxlayaq:

int tamEded = 10;

string setir = (string)tamEded;
Console.WriteLine(setir);
           
setir = (string)10;
Console.WriteLine(setir);
           
Console.ReadKey();



Yenə də Cşarp bizim səhvlərimizi qeyd edir.
Deməli string tipinə cevirmək asan deyil. Əslindı gələcəkdə siz görəcəksiniz ki, elə ən asanı string tipinə çevirməkdir. Çün ki hər obyekt-in (obyektin nə olduğunu gələcəkdə keçəcəyik, indi isə bilin ki hər bir dəyişən Cşarpda obyektdi) ümumi bir fuksiyası var. Amma gəlin sıra ilə gedək.

Birincisi sizə ən aydın yolu göstərim. Bu yolu siz məntiqlə də tapa bilərdiniz. Amma bu yol belə deyək professional yol saylmasa da, sadəcə anlamaq üçün çox asan yoldu.


int tamEded = 10;
string setir = "" + tamEded;
Console.WriteLine(setir);
           
setir = "" + 10;
Console.WriteLine(setir);
           
Console.ReadKey();


Burada biz boş sətirin üstünə ədəd tipli dəyişəni gəlirik. Yoxlayaq:



Alındı.


İndi isə ikinci yolla tanlş olaq.

int tamEded = 10;
string setir = tamEded.ToString();
Console.WriteLine(setir);

double kesrEded = 5.65;
setir = kesrEded.ToString();
Console.WriteLine(setir);
           
Console.ReadKey();

Nəticəyə baxaq:

Əla, deməli ədəd tipli dəyişənlərin arxasına nöqtəToString() yazmaqla çox asan onları sətir tipinə çevirmək olur. Bu funksiya, və ya metod C#-da ən çox istifadə olunan və universal əməliyyatlardan biridir. ToString() istədiyiniz dəyişəni sətir formasına çevirir.

Bəs görəsən dəyişənləri yox, elə ədədlərin özünü biz sətir tipinə çevirə bilərik mi? Gəlin yoxlayaq.

 
string setir = 10.ToString();
Console.WriteLine(setir);
setir = 5.65.ToString();
Console.WriteLine(setir);
Console.ReadKey();

Nəticəyə nəzər yetirək:


Super. Əhsən C# -a. C# həqiqətən də çox  gözəl proqramlaşdırma dilidir və gələcəkdə siz özünüz bunun şahidi olacaqsınız.

Üçüncü yolu isə sizə gələcək dərslərimizdə başa salacam.

6-cı dərsin sonu.

İnternetdə azərbaycan dilində dərslər

Salam,

İnternetdə azərbaycan dilində olan dərsləri axtarıram. İstəyirəm dərslər tapım, və onların siyahısını öz bloqumda verim.
Fikirləşirəm ki, hər kəs virtual aləmdə doğma dilimizdə dərslər yazıb istifadəçilərə təqdim edirsə, dəstəklənməlidir. Arzulayıram ki, azərbaycan dilində dərslər çoxalsın.

Hələ ki diqqət olunası bir sayt rastıma gəldi, orada CorelDRAW və Photoshop proqramlarında dizayn dərslərini gördüm.

Bu
http://azdizayner.com/dizayn/blog.html

Belə resurslar tapdıqca, əlavə edəcəm.

суббота, 26 февраля 2011 г.

C# dərsləri azərbaycan dilində. 5-ci dərs.

Salam

Növbəti  dərsimizə başlayaq.

C# dərsləri. 5-ci dərs. 

Bu dərsdə biz  keçən dərsimizdəki bəhsi davam etdirəcəyik. Dəyişənlərin tipləri və onların arasında əməliyyatlar.

Keçən dərsdə biz tam ədəd tipli dəyişənlərlə əmaliyyatlar etdik və nəticədə kəsr ədəd almağın yollarını müəyyən etdik. Müvəqqəti tip dəyişmə yolu yalnız əməliyyat olunan sətrdə təsiri qalır, sonra isə dəyişən yenə də əvvəlki vəziyyətinə qayıdır.

Belə kod yazaq:


int tEded = 10;
double kEded = tEded / 4;
Console.WriteLine(kEded);
Console.ReadKey();


Nəticə belə olacaq



Kodu dəyişək.


int tEded = 10;
double kEded = tEded / 4.0;
Console.WriteLine(kEded);
Console.ReadKey();

İndi isə nəticə belə olacaq.

Aha, deməli əməliyyat olunanlardan birinin kəsr ədəd olması kifayət edirmiş ki, nəticədə kəsr ədəd alaq. Gəlin dəyişənlərlə yoxlayaq.

int tEded = 10;

double kEded1 = 4.5;
double kEded2 = tEded / kEded1;
Console.WriteLine(kEded2);
Console.ReadKey();

Nəticə eynidir.
Bəs belə olsa:


int tEded1 = 10;
int tEded2 = 3;
double kEded = tEded1 / (double)tEded2;
Console.WriteLine(kEded);
Console.ReadKey();


Belə etsək də, eyni cavabı alacayıq


int tEded1 = 10;
int tEded2 = 3;
double kEded = (double)tEded1 / tEded2;
Console.WriteLine(kEded);
Console.ReadKey();
 Deməli bu nəticəyə gəldik:
Kəsr ədədi almaq üçün əməliyyat olunan ədələrdən birinin kəsr ədəd olması kifayətdir.

Bəs tərsinə olsa nə baş verər?
Yoxlayaq.


double kEded1 = 10.5;
double kEded2 = 3.5;
int tEded = kEded1 / kEded2;
Console.WriteLine(tEded);
Console.ReadKey();


Üçüncü sətirin altından qırmızı dalğalı xətt çəkildi.


Proqramı işlətmək istəyəndə belə bir mesaj ekrana gəlir:



Mesaj pəncərəsində bizdən soruşurlar ki, səhv ola-ola proqramı işlətmək fikrimiz varmı? Təbii ki bunu eləmək məsləhət deyil, gərək əvvəl səhvləri tapıb həll edək. Biz "No" deyirik.
Bəs səhv nədədir. Visual Studio bizə aşağıda ERROR siyahısında bildirir. İkinci yol isə siçanın ox işarəsini dalğavari xəttin üstünə gətirəndə, ekranda səhvin mesajı yazılır.




Cannot implicitly convert type 'double' to 'int'. An explicit conversion exists (are you missing a cast?)  

Yəni biz double tipli kəsr ədədi qeyri-müəyyən surətdə int tipli tam ədədə çevirə bimərik.

Yadımıza salaq C şarp necə hesablayır. Bəli, sağdan sola, yəni kəsr ədədi kəsr ədədə bölür, nəticədə kəsr ədədi alır, və sonra onu tam ədədli dəyişənə yazmaq istəyir. Bu isə adi halda olmaz. Niyə?
Burada C# bizi, yəni proqramçıları təsadüfi səhvlərdən qoruyur. Çün ki kəsr ədədi tam ədədə çevirəndə qiymət itkisi baş verə bilər. Yəni 3.24 tam ədədə çevirəndə 3 qalır, 0.24 itir. Bu da hesablamaların səhvinə gətirib çixarır.

Bəs nə etməli? Əgər bu əməliyyat tam ədədlə bitməlidirsə, və qiymət itkisi bizi maraqlandırmırsa, onda açıq surətdə bunu Cşarpa bildirmək lazımdır. Yəni mötərizədə bunu açıq işarə etməklə. Bu halda Cşarp anlayır ki, biz bunu bilərəkdən edirik və hesablamaların nəticəsində səhvdən xəbərdarıq.

Gəlin kodu yazaq:


double kEded1 = 10.5;
double kEded2 = 3.5;
int tEded = (int)(kEded1 / kEded2);
Console.WriteLine(tEded);
Console.ReadKey();

Nəticə budur:

Gördüyünüz kimi tam ədədi aldıq.

5-ci dərsin sonu.

C# dərsləri azərbaycan dilində. 4-cü dərs.

Salam,

4-cü dərsimizə başlayaq.

C# dərsləri. 4-cü dərs.

Keçən dərsimizdə biz bir kod yazmışdıq.

int tameded = 80;
Console.WriteLine("Sabirin boyu " + tameded + " sm idi.");
tameded = tameded + 5;
Console.WriteLine("Bir ile Sabirin boyu " + tameded + " sm oldu.");
Console.ReadKey();

Gəlin kodu bir az dəyişək.

int evvelkiBoyu = 80;
Console.WriteLine("Sabirin boyu " + evvelkiBoyu + " sm idi.");
int sonrakiBoyu = evvelkiBoyu + 5;
Console.WriteLine("Bir ile Sabirin boyu " + sonrakiBoyu + " sm oldu.");
Console.ReadKey();


 Proqramı işə salaq



Gördüyünüz kimi, nəticə dəyişmədi. Lakin kodda artıq biz iki deyişən istifadə etdik. Bu bizim nəyimizə lazımdır? Çox vaxt bizə proqram yazanda köhnə qiyməti də yadda saxlamaq lazım olur. Bir dəyişəndə isə eyni zamanda iki qiymət saxlamaq olmur.

Növbəti kod bizim niyyətimizi əks etdirəcək.


int evvelkiBoyu = 80;
Console.WriteLine("Sabirin boyu " + evvelkiBoyu + " sm idi.");
int sonrakiBoyu = evvelkiBoyu + 5;
Console.WriteLine("Bir ile Sabirin boyu " + sonrakiBoyu + " sm oldu.");
int ferq = sonrakiBoyu - evvelkiBoyu;
Console.WriteLine("Bir ile Sabirin boyu " + ferq + " sm artdi.");
Console.ReadKey();

Proqramı işə salaq


İndi görək biz müəyyən edə bilək mi, Sabirin boyu neçə dəfə artdı. Belə bir kod yazaq.


int evvelkiBoyu = 80;
Console.WriteLine("Sabirin boyu " + evvelkiBoyu + " sm idi.");
int sonrakiBoyu = evvelkiBoyu + 5;
Console.WriteLine("Bir ile Sabirin boyu " + sonrakiBoyu + " sm oldu.");
int defe = sonrakiBoyu / evvelkiBoyu;
Console.WriteLine("Bir ile Sabirin boyu " + defe + " defe artdi.");
Console.ReadKey();


Belə çıxır ki, Sabirin boyu bir dəfə artıb. Bu düzgün deyil. Bəs niyə belə oldu. Məsələ burasındadır ki, biz tam ədəd dəyişənindən istifadə etmişik.
Bizə isə kəsr ədəd dəyişəni lazımdır. Proqramlaşdırmada adətən kəsr ədədi üçün double tipindən istifədə edirlər.

double kesreded = 50.554;

Kodumuzda bir sətri dəyişək:
 
int evvelkiBoyu = 80;
Console.WriteLine("Sabirin boyu " + evvelkiBoyu + " sm idi.");
int sonrakiBoyu = evvelkiBoyu + 5;
Console.WriteLine("Bir ile Sabirin boyu " + sonrakiBoyu + " sm oldu.");
Double defe = sonrakiBoyu / evvelkiBoyu;
Console.WriteLine("Bir ile Sabirin boyu " + defe + " defe artdi.");
Console.ReadKey();


Bəs niyə cavab yenə də səhv oldu? Olmaya С şarp çaşıb. Yox. Burada mən məcburam proqramlaşdırmanın bir qədər qəliz olan tərflərini sizə anlatam.
Məsələ orasındadır ki, C şapr dilində (və tək onda yox) hesablamalar sağdan sola istiqamətində gedir. Deməli əvvəlcə tam ədəd sonrakiBoyu bölünür tam ədədə evvelkiBoyu-na və tam ədədlər əməliyyatı tam ədədlə nəticələnir. Nəticə "1" olur və sonra bu tam ədəd kəsr ədədi olan defe-ye verilir. Ona görə biz burada səhv cavab aldıq.

Bunun həll yolu bəs nədir?
İki həll yolu var. Birincisi, emeliyyat olunan dəyişənləri də tam ədəd kimi yox, kəsr ədəd kimi müəyyən etmək lazımdır. İkinci yol ola bilər anlamaq üçün indi sizə çətin gəlsin, amma heç narahat olmayın, sonralar biz bu mövzuda çox danışacayıq. İkinci yolda yalnız bu əməliyyat üçün, tam ədədləri müvəqqəti hesablama üçün kəsr tipi kimi tanıtdırırıq.

Yəni birinci üsulla getsək:




double evvelkiBoyu = 80;
Console.WriteLine("Sabirin boyu " + evvelkiBoyu + " sm idi.");
double sonrakiBoyu = evvelkiBoyu + 5;
Console.WriteLine("Bir ile Sabirin boyu " + sonrakiBoyu + " sm oldu.");
double defe = sonrakiBoyu / evvelkiBoyu;
Console.WriteLine("Bir ile Sabirin boyu " + defe + " defe artdi.");
Console.ReadKey();

Nəticə bizi tam qane edir:

İkinci üsul isə bu cür olur:


int evvelkiBoyu = 80;
Console.WriteLine("Sabirin boyu " + evvelkiBoyu + " sm idi.");
int sonrakiBoyu = evvelkiBoyu + 5;
Console.WriteLine("Bir ile Sabirin boyu " + sonrakiBoyu + " sm oldu.");
double defe = (double)sonrakiBoyu / (double)evvelkiBoyu;
Console.WriteLine("Bir ile Sabirin boyu " + defe + " defe artdi.");
Console.ReadKey();


Nəticəyə baxaq

Gördüyünüz kimi, nəticə dəyişmədi.

Son məqamlara bir daha toxunaq. Deməli kəsr ədədi almaq üçün biz ya kəsr ədədlərinin üzərində əməliyyat aparmalıyıq. Ya da tam ədədləri müvəqqəti olaraq, hesablama əməliyyatında kəsr ədəd tipinə çevirməliyik.
bunu biz bu yolla etdik.


double defe = (double)sonrakiBoyu / (double)evvelkiBoyu;

Gördüyünü kimi, dəyişənin adının qabağından mötərizədə double yazmaqla, biz bu kod sətirində, yəni bu əməliyyat üçün tam ədədi kəsr ədədi kimi müvəqqəti qələmə verdik. Bundan sonrakı kod sətirlərində sonrakiBoyu adlı dəyişən yenə də tam ədəd kimi qalacaq.

Gəlin yoxlayaq


int evvelkiBoyu = 80;
Console.WriteLine("Sabirin boyu " + evvelkiBoyu + " sm idi.");
int sonrakiBoyu = evvelkiBoyu + 5;
Console.WriteLine("Bir ile Sabirin boyu " + sonrakiBoyu + " sm oldu.");
double defe = (double)sonrakiBoyu / (double)evvelkiBoyu;
Console.WriteLine("Bir ile Sabirin boyu " + defe + " defe artdi. (Muveqqeti tam ededler kesr olublar)");
defe = sonrakiBoyu / evvelkiBoyu;
Console.WriteLine("Bir ile Sabirin boyu " + defe + " defe artdi. (Yene de tam eded kimi qaliblar)");
Console.ReadKey();

Proqramı işə salaq


Əminəm ki, double tipi aydın oldu. Tiplərin dəyişilməsi haqda nə isə qaranlıq qaldısa, bu mövzüda bizim hələ çox dərslərimiz olacaq, inşəallah.

4-cü dərsin sonu.

C# dərsləri azərbaycan dilində. 3-cü dərs.

Salam

Keçən dərslərimizi yoldaşlarıma göstərəndə, bir-iki qeyd və iradlarını bildirdilər. Ola bilər başqalarında da belə fikirlər yarana bilər, ona görə indi onları cavablandırmaq istəyirəm.

1) ReadKey və F5 -in yerinə Ctrl+F5 -dən istifsadə etmək olar.
- Razıyam, lakin burada mən həm əsas düyməni öyrədirəm - F5, və başqaları ilə çaşdırmaq istəmirəm. Üstəgəl ReadKey metodunu əvvəlcədən öyrədirəm ki, proqram yazanda təbii ki yalnız bu yoldan istifadə olunucaq.
2) Dərsdər ümumi qaydada öyrədilmir, yəni kitablarda olduğu kimi.
- Razıyam, lakin bu dərslər o insanlar üçündür ki, proqraşdırma bilikləri yoxdur. C# kitablarının əksəriyyəti isə proqramlaşdırmadan bir qədər məlumatı olan, alqoritm qurmağı bacaranlar, lakin bu dili bilməyənlər üçündür.
3) Azərbaycan dilində tam düzgün qaydalarla yazmırsan.
 - Ola bilər. Mən rus dilində təhsil almışam və ən əsası isə bütün proqramlaşdırma biliklərimi rus və ingilis kitablarından əldə etmişəm. Ona görə mənə asan deyil bu mövzuda azərbaycan dilində yazmaq. Lakin boş vaxtımın az olmasına baxmayaraq istəyirəm ki, rus dilini  biməyən və ingiliscə tam anlamayan oxuyucularımız üçün bu bilikləri əldə etmək imkanı yaransın. Təəssüf ki, hamıda  imkan yoxdu bahalı kurslara gedib bu bilikləri əldə etsin. İnternet, OpenSource zamanı isə azərbaycan dilində imkanları  genişləndirmək lazımdır. Fikrimcə, hər kəs bu yolda virtual aləmdə nə addım atsa, yalnız və yalnız dəstəklənməlidir. Üstəgəl müqəddəs dinimiz də buyurur ki, öyrətmək savabdır, öyrətmək elmin sədəqəsidir və belə məsələlər hamımızın boynumuzdadır və imkan daxilində hamımız öyrənməli və öyrədməliyik. Ona görə inanıram ki, bu dərslərdə mənim bəzi qramatik səhvlərimə oxuyucular göz yumarlar.


Beləliklə üçüncü dərsimizə başlayaq.


C# dərsləri. 3-cü dərs.


Keçən dərsimizdə biz sətir tipli dəyişənlərlə tanış olduq. Bu dərsimizdə biz başqa tiplə tanış olacayıq. Bu tam ədəd  tipidir.
Biz öyrəndik ki, dəyişənlərin bir dəfə adı və tipi C# dilində müəyyən edilir, sonra isə onlar bu tipə uyğun müxtəlif  qiymətləri özündə saxlaya bilərlər.

Tam ədəd tipli dəyişən belə müəyyən edilir:

int tameded = 15;

Burada int sözü dəyişənin tipini göstərir, tameded isə dəyişənin adıdır. Bu söz, yəni int sözü ingilis dilində tam, tam ədəd mənasını verən integer sözündən götürülüb.
Gəlin proqram kodumuzda bir az dəyişikliklər edək.


string setir = "Salam dunya";
Console.WriteLine("setir adli deyisen buna beraberdir: " + setir);

int tameded = 15;
Console.WriteLine("tameded adli deyisen buna beraberdir: " + tameded);

Console.ReadKey();


Proqramı işə salaq



Gördümüz kimi iki dəyişənlər (sətir və tam ədəd tipli) öz qiymətlərini ekranda əks etdirdilər.
Kodu dəyişək.

int tameded = 15;
Console.WriteLine("tameded adli deyisen buna beraberdir: " + tameded);
tameded = tameded - 5;
Console.WriteLine("tameded adli deyisen emeliyyatdan sonra buna beraberdir: " + tameded);
Console.ReadKey();


Proqramı işə salaq



Bir daha diqqət edin bu məsələyə:

 tameded = tameded + 5;

burada artıq biz int sözünü yazmadıq. Buna ehtiyac yoxdur, çün ki biz artıq tameded adlı dəyişənin tipini müəyyən  etmişik və C# bunu birinci dəfədən qəbul edib. İkinci dəfə eyni adlı dəyişənin tipini göstərmək olmaz.

Belə bir kod yazaq:


int tameded = 80;
Console.WriteLine("Sabirin boyu " + tameded + " sm idi.");
tameded = tameded + 5;
Console.WriteLine("Bir ile Sabirin boyu " + tameded + " sm oldu.");
Console.ReadKey();



Proqramı işə salaq

Başqa bir kod yazaq

int tameded = 20;
Console.WriteLine("Zembilde " + tameded + " yumurta var idi.");
Console.WriteLine("Naharda yumurtalarin yarisi yeyildi");
tameded = tameded / 2;
Console.WriteLine("Nahardan sonra zembilde " + tameded + " yumurta qaldi.");
Console.ReadKey();



Fikrimcə bu dərsdə qaranlıq yer qalmaz.

3-cü dərsin sonu.