Dizeler. Genel Bakış

Dize, belirli bir sıradaki karakterlerin listesidir (veya dizisidir). Tüm karakter dizisi tek bir varlık olarak ele alınır.

Karakter, klavyede tek bir tuş vuruşuyla (harf, sayı, ters eğik çizgi veya başka bir karakter) yazabileceğiniz herhangi bir şeydir.
Dizelerde boşluk olabilir: "Merhaba dünya!".
Boş bir dize, 0 karakter içeren bir dizedir.
Pascal kesme işaretleri (' ') ile yazılmış her şeyi dize olarak tanır.
Pascal'da bir dizge string türündedir.

Giriş ifadesini kullanarak bir dizgeye yeni bir değer yazabilirsiniz.
okuma(lar);
Ayrıca değişkene   gibi basitçe bir dize değeri atayabilirsiniz.
s := 'Python'
uzunluk yerleşik işlevini kullanarak bir dizenin uzunluğunu belirleyebilirsiniz.
n := uzunluk(lar)


Dize karşılaştırması

Dizeler tıpkı sayılar gibi birbirleriyle karşılaştırılabilir. Çizgilerden hangisinin büyük hangisinin küçük olduğunu belirleyebilirsiniz.

Dizeleri karşılaştırırken, karakter kodları karşılaştırılır. Yüzlerce olmasa da düzinelerce karakter kodlaması vardır. Bu kavramı anlamanın en kolay yolu, en basitlerinden biri olan ASCII'yi anlamaktır (burayı okuyun).  
Modern kodlamalarda hem Rusça hem de İngilizce harflerin alfabetik sırayla düzenlendiğini, sayıların da küçükten büyüğe gittiğini anlamak gerekir. 
Örneğin, ASCII kod tablosunda İngilizce 'A' - 65, 'a' harfleri - 97, basamak '0' kodu 48'dir. Rus harfleri ASCII kod tablosunun genişletilmiş kısmında bulunur (128'den 255'e kadar olan sayılar). Büyük harfler küçük harflerden önce gelir (yani daha küçük bir kodu vardır).
Kullanılan kodlama tablolarının çoğunda kalıplar aynıdır, küçük harfler büyük harflerden sonra, sayılar harflerden önce ve Rusça harfler İngilizceden sonra gelir.

Örneğin: "lokomotif"  < "vapur", çünkü kelimeler beşinci harfte ve "in" de farklıdır < "x".

Ne yazık ki, Pascal'da boşluklarla ayrılmış birden çok satırı tek bir satırdan okumaya izin verecek bir işlev yoktur. Bunu yapmak için kendi fonksiyonunuzu yazmalısınız:
değişkenler, w: dizi;
i, j, ind: tamsayı;
a: dize dizisi;

başlamak
    okuma(lar);
    uzunluk(a, uzunluk(lar));
    ben := 1;
    sayı := 0;
    ben 

Sonuç olarak, bir dizi dizi elde ederiz.

Dizeler "+" işareti kullanılarak birbirine eklenebilir. Bu işleme dize birleştirme veya birleştirme denir. 
Örneğin, 
s := 'Merhaba, ';
s1 := 'dünya';
writeln(s + s1);
Ekranda "Merhaba dünya" (tırnak işareti olmadan).

Satır dizinlerine başvurma
Bir dizenin her karakterinin kendi numarası vardır ( dizin olarak adlandırılır) ve Pascal programlama dilinde dizin oluşturma birden başlar. Yani, ilk karakterin 1. dizini, ikincisinin 2. dizini vb. vardır.
Dize karakterlerine, köşeli parantezler s[i] içinde gösterilen dizinlerle erişilebilir.
 
Örnek 

Not: PascalABC.NET'teki birçok dize yöntemi, dizelerin sıfırdan dizine alındığını varsayar. Şimdilik sıfır tabanlı dizinlerle çalışan dize yöntemlerini kullanmayacağız. Bunların, satırların 1'den dizine alındığını varsayan harici işlevlerle eşdeğer değiştirmeleri vardır. 
 

Dize S H e l l o
Dizin S[1] S[2] S[3] S[4] S[5]
Bir karaktere dizin tarafından erişilebildiğinden, olası dizin değerlerini alacak olan tüm karakterleri yinelemek için bir değişken döngüsü kullanabilirsiniz. Örneğin, s dizisinin tüm karakter kodlarını görüntüleyen bir program şöyle görünür:
for i := 1 - uzunluk(lar) do
    writeln(s[i], sıra(s[i]))
Program için açıklamalar:
1) uzunluk(lar) işlevi bir dizgenin uzunluğunu bulur. İlk karakterin indeksi 1 ve son karakterin indeksi uzunluk(lar)dır. i döngü değişkeni yalnızca 1'den uzunluk(lar)a kadar değerler alacaktır.
2) Her satırda, önce sembolün kendisi, ardından ord()
yerleşik işlevi tarafından döndürülen kodu görüntülenecektir.
Aynı numaralandırma daha kısa yazılabilir:
c in s yapmak için 
    writeln(c, sıra(c));
Bu parçada, döngü başlığı tüm s karakterleri arasında dolanır ve onları sırayla c değişkenine yerleştirir.

Dizelerle çalışırken Pascal'ın özelliği, dizelerin değişken nesneler olmasıdır. Başka bir deyişle, bir dizgenin karakterlerini tek tek değiştirebiliriz.
Örneğin, aşağıdaki ifade işe yarayacaktır
s[5] := 'a'
Gerekli değişikliklerle karakterlerden yeni bir dizi de oluşturabilirsiniz.
Örneğin, tüm 'a' karakterlerini değiştiren bir program. 'b' şöyle görünecek:
okuma(lar);
    i için := 1 ila uzunluk(lar) başlar
        s[i] = 'a'o zaman s[i] := 'b';
    son;
writeln(ler);
Bu örnekte, s dizisinin tüm karakterleri arasında döngü yapıyoruz. Döngünün gövdesinde s[i] değişkeninin değerini kontrol ederiz: karakter 'a' karakteriyle eşleşirse, o zaman onu 'b' ile değiştiririz.