blog posts

Programlamada belirteç nedir

Programlamada belirteç nedir? Basit bir dille açıklama

Programlamada tokenın ne olduğunu bilmek için tokenin gerçek anlamda bütünün küçük bir parçası veya büyük bir grubun üyesi olarak tanımlandığını söylemek gerekir. Token teriminin her bağlamda farklı bir anlamı vardır. Ağ dünyasında , bir jeton, bir jeton halkası ağında dolaşan belirli bir bit dizisidir. Token burada bir bilet görevi görüyor ve tokeni olan bir bilgisayar ağ üzerinden mesaj gönderebiliyor. Ağ başına yalnızca bir jeton vardır, bu nedenle iki bilgisayarın aynı anda mesaj göndermeye çalışması imkansızdır. Yani bir bilgisayar tokena sahip olup mesaj gönderirken, diğer bilgisayarlar tokenın kendilerine ulaşmasını beklemeli ve mesaj göndermelerine izin verilmelidir. Güvenlik sistemlerinde güvenlik belirteci, kullanıcıların kimliğini doğrulamak için kullanılan fiziksel veya dijital bir cihazdır.

Bu makalenin içindekiler tablosu

Programlamada belirteç nedir?

Anahtar kelime nedir?

Tanımlayıcı nedir?

Operatör nedir?

Ayırıcı nedir?

Kelimenin tam anlamıyla nedir?

Yaygın sorular

Çözüm

Güvenlik belirteçleri bazen şirket binalarına erişimi kontrol etmek için kullanılan RFID akıllı kartlar biçimindedir . Ayrıca dijital para endüstrisinde token, başkalarına devredilebilen ve değeri kendi içinde depolayabilen, blockchain teknolojisi temelinde üretilen bir dijital varlık türüdür. Programlama dünyasında belirteç, derleyici tarafından tanınan ve işlenen programlama dilinin tek bir öğesidir . Başka bir deyişle, çeviri işlemi sırasında derleyici her bir jetonu anlar ve bunları anahtar kelimeler, tanımlayıcılar, operatörler vb. gibi farklı türlere göre sınıflandırır. Bu yazımızda Faradars dergisinden programlamada tokenin ne olduğunu öğreniyor ve türlerini örneklerle açıklıyoruz.

Programlamada belirteç nedir?

Faradars dergisinden çıkan bu yazımızda, programlamada token’ın ne olduğu, bir programın en küçük tek elemanı veya başka bir deyişle bir programın içinde gördüğümüz her şeyin “Token” olarak adlandırıldığı konusuna özellikle değinmek istiyoruz. Örneğin şu Farsça cümleyi düşünün. “C programlama dili harikadır ve 1972’de AT&T Bell Laboratuarlarında Dennis Ritchie tarafından geliştirilmiştir.” Yukarıdaki cümle, cümlenin yapı taşları veya ana öğeleri olarak adlandırdığımız alfabedeki harfler, kelimeler arasındaki boşluklar, sayılar ve özel karakterlerden (örneğin “nokta”) oluşur. Benzer şekilde, her programlama dili de programcıların programların işlevselliğini yapılandırmak ve tanımlamak için kullandıkları bir dizi temel öğeden veya ana bileşenden oluşur.

Token adı verilen bu temel unsurlar aşağıdakileri içerir.

  • ” Anahtar Kelime “
  • “Tanımlayıcı”
  • ” Şebeke “
  • Ayırıcı
  • “Gerçek” (Gerçek)

Anahtar kelime nedir?

Anahtar kelimeler, programlama dili tarafından ayrılmış, özel bir anlam taşıyan ve programlamada başka amaçlarla kullanılamayan kelimelerdir. Her programlama dilinde, bazıları aşağıda listelenen, tanımlanmış bir dizi anahtar kelime bulunur.

Bu anahtar kelimeler genellikle C programlama dillerinde ve bunların C++ ve C# gibi türevlerinde kullanılmaktadır. Bu yazıda yer alan kod örneklerinin tamamının c++ programlama dilinde olduğunu da burada söylemek gerekir.

  •  int:  int anahtar sözcüğü programlama dillerinde ” Tamsayı ” veri türünü temsil eder.
  • do: Do-while döngüsü yapısındaki do control anahtar sözcüğü, kod bloğunu en az bir kez çalıştırır ve ardından koşulu kontrol eder.
  • while: while kontrol anahtar sözcüğü, programlamada tekrarlayan döngüler oluşturmak için kullanılır ve bu döngüler, belirli bir koşul karşılanana kadar bir kod bloğunu çalıştırır.
  • void: Void anahtar sözcüğü, işlevin çıktı olarak herhangi bir değer üretmediğini belirtir. 
  • return: return anahtar sözcüğü, işlevin yürütülmesini sonlandırır ve çıktı olarak bir değer gönderir.

Tanımlayıcı nedir?

Tanımlayıcılar, bir değişkene veya fonksiyona ad olabilecek farklı programlama öğelerine atadığımız adlardır. Aşağıda önemli adlandırma kurallarını listeliyoruz.

  1. Anahtar kelimeler tanımlayıcı olarak kullanılmamalıdır. Söylediğimiz gibi If, do, while vb anahtar kelimelerin programlama dilinde kendine has anlamları vardır ve başka amaçlarla kullanılamazlar.
  2. Tanımlayıcı az, AZ alfabesinin bir harfi veya “altı çizili” sembolü olmalıdır (   | Alt çizgi) başlamak için. Başka bir deyişle tanımlayıcının başında özel bir sayı veya simge kullanılmasına izin verilmez.
  3. Her tanımlayıcı az, AZ harflerini, 0-9 arasındaki rakamları ve alt çizgi sembolünü içerebilir.
  4. Tanımlayıcı, aşağıdakiler de dahil olmak üzere herhangi bir özel karakter içermemelidir: !@$*.'[]  - Tabii ki alt çizgi simgesi dışında.

Aşağıda programlama dillerindeki geçerli tanımlayıcıların bazı örnekleri verilmiştir.

num, Num, _num, _Num, num1, Num1, _num1, _Num1, _1num, _1Num, _num_, number_to_add

Geçersiz tanımlayıcılara ilişkin bazı örnekleri burada bulabilirsiniz.

1num, eklenecek sayı, 1_num, eklenecek sayı, sayı@

Operatör nedir?

” Operatörler ” veriler üzerinde matematiksel, mantıksal veya diğer işlemleri gerçekleştirmek için kullanılan özel sembollerdir. Farklı programlama dilleri farklı operatör kümeleri sağlar. Bazı yaygın operatörler aşağıda listelenmiştir.

Aritmetik operatör

“Aritmetik Operatör” programlamada sayısal değerler üzerinde matematiksel işlemler gerçekleştirmek için kullanılır. Bu operatörler genellikle iki veya daha fazla işlenen arasına yerleştirilen ve işlemin sonucunu üreten sembollerdir. Tüm örneklerde a = 10 ve b = 5 değişkenlerinin operatör girişleri olarak tanımlandığını varsaydığımızı unutmayın.

  • “çoğul operatörü” +  :  Bu operatör iki işleneni eklemek için kullanılır. Örneğin a + b 15’e eşittir.
  • “çarpma operatörü” *  :  Bu operatör iki işleneni çarpmak için kullanılır. Örneğin a*b 50’ye eşittir.
  • “bölme operatörü” /  :  Bu operatör iki işleneni bölmek için kullanılır. Örneğin a/b 2’ye eşittir.
  • “Bölüm Kalan Operatörü” %   :  Bu operatör, birinci işleneni ikinciye böler ve kalanı döndürür; bu genellikle bölünebilirliği kontrol etmek için kullanılır. Örneğin a %b 0’a eşittir.
  • “çıkarma operatörü” -    : Bu operatör ikinci işleneni birinci işlenenden çıkarmak için kullanılır. Örneğin a – b 5’e eşittir.

atama operatörü

“Atama Operatörü” aynı zamanda bir değişkene değer atamak için de kullanılır. a = 10 örneğinde, a değişkenine 10 değeri atanır.

karşılaştırma operatörü

“İlişkisel Operatör” Karşılaştırmalı operatörler, iki işlenen arasındaki ilişkiyi kontrol etmek için kullanılır. Bu operatörler işlenenlerin değerlerini karşılaştırır ve sonucu mantıksal bir değer (Doğru veya Yanlış) olarak döndürür. Programlamada karşılaştırma operatörleri aşağıdakileri içerir.

  • “büyüktür” operatörü >  : Sol işlenenin değeri sağ işlenenin değerinden büyükse sonuç “Doğru” olur, aksi halde “Yanlış” döndürülür. Bu örnekte sonuç (�>�) “Doğru” olacaktır.
  • “küçüktür” operatörü : Sol işlenenin değeri sağ işlenenden küçükse sonuç “Doğru” olur, aksi takdirde “Yanlış” değerini döndürür. Bu örnekte sonuç (�<�) “Yanlış” olacaktır.
  • “eşittir” operatörü ==  : İki işlenenin değerleri tam olarak eşitse sonuç “Doğru” olur, aksi takdirde “Yanlış” döndürülür. Bu örnekte sonuç (�==�) yanlış”.
  • “eşitsizlik” operatörü !=  : İki işlenenin değerleri tam olarak eşit değilse sonuç “Doğru” olur, aksi halde “Yanlış” döndürülür. Bu örnekte sonuç (�!=�) yanlış”.
  • Büyüktür veya eşittir operatörü >=  : Sol işlenenin değeri sağ işlenenden büyük veya ona eşitse “Doğru” değerini döndürür, aksi takdirde sonuç “Yanlış” olur. Bu örnekte sonuç (�>=�) doğru”.
  • “küçük veya eşittir” operatörü  :Sağ işlenenin değeri sol işlenenden küçükse veya ona eşitse doğru değeri döndürülür, aksi takdirde sonuç Yanlış olur. Bu örnekte sonuç (�<=�) yanlış”.

Mantıksal operatörler

Mantıksal operatörler iki Boolean ifadesini birleştirir ve bir Boolean değeri döndürür. “VEYA”, “VE” ve “DEĞİL” operatörleri sırasıyla “ve”, “veya” ve “değil” anlamlarını taşır. Programlamada mantıksal kavramlar aşağıdaki gibidir.

  • “VE” &&  : İki ifadeyi birleştirmek için kullanılır. Her iki işlenen de “Doğru” veya sıfırdan farklıysa sonuç “Doğru”, aksi takdirde “Yanlış” olur. Bu örnekte sonuç((�>=1)&(�<=5))“Doğru” olacaktır. Aşağıdaki basit kod AND (&&) mantıksal operatörünü güzel bir şekilde göstermektedir.
    #include <iostream>
    using namespace std;
     
    int main()
    {
        cout << "Enter a number: ";
        int num {};
        cin >> num;
     
        if (num > 0 && num <= 10)
            cout << "Your number is between 1 and 10";
        else
            cout << "Your number is not between 1 and 10";
        return 0;
    }
  • “VEYA” ||  : İşlenenlerden herhangi biri “Doğru” ise veya sıfırdan farklıysa, “Doğru” Boolean ifadesi döndürülür, aksi halde “Yanlış”. Örnekte((�>1)||(�<5))ifadesinin sonucu “Doğru” olacaktır çünkü iki koşuldan en az biri (1<�) Veya (5>�) kuruldu. Örneğin, aşağıdaki kod, aynı operatörü kullanarak kullanıcı tarafından girilen iki rastgele sayıyı tanımlamanın bir yolunu sağlar.
    #include <iostream>
    using namespace std;
    
    int main() {
        
     cout << "Enter a number: ";
        int num {};
        cin >> num;
        if(num == 4 || num == 8)
            cout << "You chose a winning number!";
        else
            cout << "Sorry, better luck next time.";
        return 0;
    }
    
  • “OLUMSUZ” !  : Boole değeri üzerinde çalışan ve ters değerini döndüren “birli” bir operatördür. Başka bir deyişle, eğer giriş değeri True ise, NOT operatörü False değerini döndürür ve bunun tersi de geçerlidir. Aşağıdaki örnek “DEĞİL” mantıksal operatörünün kullanımlarından birini göstermektedir.
    #include <iostream>
    using namespace std;
     
    int main()
    {
        cout << "Enter a number: ";
        int x {};
        cin >> x;
        
        if (!x == 0)
            cout << "You typed a number other than 0";
        else
            cout << "You typed zero";
     
        return 0;
    }
    

Bitsel operatör

“Bitwise Operators” (Bitwise Operators), veriler üzerinde işlemleri bit düzeyinde – başka bir deyişle bit bazında – gerçekleştirir.

  •  VE operatörü &  : İki ikili bit değerinde “ve” işlemini gerçekleştirir. Her iki bit de 1 ise sonuç 1, aksi halde sonuç 0 olacaktır. Aşağıdaki örneği düşünün.
  0000 1010
& 0000 0101
____________
  0000 0000
  •  VEYA operatörü |  :  İki ikili bitin her biri 1 ise 1 değerini döndürür, aksi halde sonuç 0 olur. Aşağıdaki örneği düşünün.
  0000 1010
| 0000 0101
___________
  0000 1111
  • XOR operatörü ^  : Her iki ikili bit de farklıysa 1 değerini döndürür, aksi takdirde sonuç 1 olur. İşte bir örnek.
  0000 1010
^ 0000 0101
___________
  0000 1111
  • “tamamlayıcı” operatörü ~  :, sonuç olarak ikili bir değerin tümleyenini döndüren tekli operatördür, yani ikili bit 0 ise 1, aksi takdirde 0 döndürür. İşte bu operatörün nasıl çalıştığını gösteren bir örnek.
~ 0000 1010
___________
  1111 0101
  • “sola kaydırma operatörü” >>  : Sola kaydırma operatörü aynı zamanda tekli bir operatördür. Bu operatör, ikili biti sola kaydırır ve ikili değerin sağ ucuna sıfır bitinin eklenmesine neden olur. Veya genel olarak giriş değerini 2 ile çarpıyor diyebiliriz. Burada sağa kaydırma fonksiyonunun nasıl çalıştığını gösteren bir örnek verilmiştir.
0000 1010
    
    
  • “sağa kaydırma operatörü”  :Operatör, ikili bitleri sağa kaydıran ve 0 bit değerini ikili değerin soluna ekleyen operatördür. Yani bu operatör giriş değerini 2’ye böler. Aşağıdaki örneği düşünün.
0000 1010 >> 2
= 0000 0010

Artan veya azalan operatörler

Arttırma veya eksiltme operatörleri, bir tamsayıyı tek bir değer kadar artırmak veya azaltmak için kullanılan “Birli” tipindedir. Bu iki operatör hem önek hem de sonek olarak kullanılır. Birçok programlama dilinde önek olarak ++ kullanılıyorsa (++var gibi), önce var’ın değeri artırılır, ardından bir sonraki işlem gerçekleştirilir. Uzatma modunda bu kuralın tersi geçerlidir. Aşağıdaki 2 örnekte bu iki durum arasındaki farkı daha net gösterdik.

Burada var değeri 6’ya artırılır ve ardından hem var hem de sonuç 6’ya eşit olacak şekilde sonuca atanır.

int var = 5;
int result = ++var;

Bu bölümde, var değeri sonuca (5 ile aynı değer) atanır ve ardından var değişkeni 6’ya artırılır, böylece son olarak var 6’ya ve sonuç 5’e eşit olur.

int var = 5;
int result = var++; 

Koşullu operatör 

“Koşullu Operatör | Üçlü” yapısal olarak basit bir if-else ifadesine benzer ve 3 işlenenden oluşur.

    1. Koşul: Değerlendirilecek mantıksal bir ifade.
    2. Doğru kısım: Koşul doğruysa döndürülen değer.
    3. Yanlış kısım: Koşul yanlışsa döndürülen değer.

Formdaki koşullu operatörün genel yapısı (yanlış kısım)? (doğru kısım): (koşullar) tanımlanır. Örnekte b = (a>1) ? a: b;  a’nın değeri 1’den büyükse a’nın değeri b’de saklanır; Aksi halde b’nin önceki değeri korunur.

Ayırıcı nedir?

Programlamada ayırıcılar kodun farklı öğelerini ayırmak için kullanılır. Bu sınırlayıcılar kodun okunmasını ve anlaşılmasını kolaylaştırmaya yardımcı olur ve aynı zamanda programların doğru çalışması için de gereklidir.

Programlamada kullanılan yaygın sınırlayıcı türleri şunlardır:

  • “Boşluk” (Boşluk): Kodda farklı kelime ve ifadeler arasında boşluk bırakmak için boşluk kullanılır.
  • Ateş T  : C++, C ve Bash gibi programlama dillerinde sekme karakteri “\t” şeklinde yazılır ve bir string içerisine yerleştirildiğinde sekme boyutunda yatay bir boşluk oluşturur.
  • Yeni hat N\  : Newline kodda yeni bir satır başlatmak için kullanılır.
  • virgül ,  : Virgüller bir liste veya dizideki farklı öğeleri ayırmak için kullanılır.
  • Noktalı virgül ;  : Noktalı virgül, bir kod bloğundaki farklı ifadeleri ayırmak için kullanılır. Örneğin C programlama dilinde birden fazla ifadeyi bir bloğa yerleştirebilir ve bunları virgülle ayırabilirsiniz. Örneğin, C++ programlama dilinde komutlar genellikle noktalı virgülle (;) biter.
  •  Parantez ()  Ve Akolad {}   : Dizi başlatmada ve for döngü yapısında parantezler ve parantezler kullanılır.
  • braket []  : Köşeli parantezler genellikle dizilerin elemanlarına erişmek için kullanılır.
  • Aşağıda ayırıcının programlama dilinde kullanımını gösteren bir örnek verdik. Bu kod parçası C++ programlama dili kullanılarak yazılmıştır.
#include <iostream>

int main() {
    // Using spaces, tabs, new lines, commas, semicolons, and brackets
    int array[] = {1, 2, 3, 4, 5};

    // Print elements in array with separators
    std::cout << "Array elements: ";
    for (int i = 0; i < 5; ++i) {
        std::cout << array[i];

        // Use various separators
        if (i < 4) {
            std::cout << ", ";  // Comma and space
        } else {
            std::cout << " ";   // Space
        }

        // Use tabs and new lines
        if (i % 2 == 0) {
            std::cout << "\t";  // Tab
        } else {
            std::cout << "\n";  // New line
        }
    }

    // Using parentheses, curly braces, and square brackets
    std::cout << "}" << std::endl;

    return 0;
}

Programı çalıştırdığınızda aşağıdaki çıktı elde edilir.

Dizi elemanları: 1, 2,
3, 4,
5}

Kelimenin tam anlamıyla nedir?

“Literals” (Literals), çeşitli işlemlerde ve hesaplamalarda kullanılan sabit değerlerdir. Literaller genellikle 3 kategoriye ayrılır.

  • “Tamsayı” : ondalık sayıları olmayan tam sayılar. Örneğin 1, 100, -12312 vb. bu sayı kategorisindedir.
  • “Kayan nokta sayısı” (Kayan nokta): Kayan nokta sayısı, ondalık noktalı pozitif veya negatif bir tamsayıdır. Örneğin, 2,123, 1,02, -2,33, 13e54 ve -23,3 sayılarının tümü kayan noktalı sayılardır, ancak 91 ve 0 değildir. “Kayan nokta” adı bu sayılardaki ondalık noktanın herhangi bir yere hareket edebilmesinden kaynaklanmaktadır. Bu özelliğinden dolayı bilgisayar bilimlerinde kayan noktalı sayılara genellikle kayan noktalı sayılar denir.
  • “Karakter” (Karakter): Karakter, harf veya sembol olarak görüntülenen bilgi birimidir. Örneğin, C++ dilinde karakterler katlar halinde ve bir dize biçimindeyse, çift tırnak veya aynı karakterdeyse “”  çevrilidir, ancak tek ise, tek tırnak içinde veya   sunuldu.

Yaygın sorular

Bu bölümde programlamada tokenın ne olduğuna ilişkin bazı genel soruları gözden geçirmek istiyoruz.

Programlamada belirteç nedir?

Bir programın en küçük birim elemanına, yani programın içinde gördüğümüz her şeye “Token” denir.

Programlamada belirteç türleri nelerdir?

Programlama dillerinde genellikle beş kategoride belirteç tanımlanır: anahtar sözcükler, tanımlayıcılar, işleçler, ayırıcılar ve değişmez değerler.

Programlamada belirteçlerin kullanılmasının nedeni nedir?

Belirteçler, derleyici tarafından kaynak kodunu anlamak ve işlemek için kullanılan farklı programlama dili öğeleridir. Yani derleyici “Sözcüksel Analiz” adı verilen ilk aşamada kod metnini farklı belirteçlere böler. Daha sonra belirteçler, programın çeviri veya yorumlama sürecinin çeşitli aşamalarında girdi olarak kullanılır ve bu da “Ara Kod”un oluşturulmasına ve ardından programın yürütülmesine yol açar.

Çözüm

Faradars dergisindeki bu yazımızda programlamada tokenin ne olduğunu öğrendik ve programlamada türleri hakkında bilgi sahibi olduk. Belirteç, derleyici tarafından tanınan ve işlenen bir programın en küçük birim öğesidir. Jetonlar, anahtar kelimeler, tanımlayıcılar, operatörler, ayırıcılar ve değişmez değerler dahil olmak üzere 5 genel kategoriye ayrılır.

Anahtar kelimeler, bir programlama dilinde if, else, for ve while kelimeleri gibi özel bir anlamı olan kelimelerdir. Tanımlayıcılar değişkenleri, işlevleri ve diğer program öğelerini tanımlamak için kullanılan adlardır. Ayrıca operatörler veriler üzerinde matematiksel, mantıksal ve diğer işlemleri gerçekleştirmek için kullanılan sembollerdir. Sınırlayıcılar aynı zamanda bir programın farklı öğelerini ayırmak için kullanılan simgelerdir. Son olarak değişmez değerler programda kullanılan sayılar, dizeler ve karakterler gibi sabit değerlerdir. Genel olarak token kavramını anlamak programcılar için çok önemlidir çünkü tokenlar uygulamaların yapısının ve işlevselliğinin temelini oluşturur.