Rentetan. Gambaran keseluruhan

Rentetan ialah senarai (atau jujukan) aksara dalam susunan tertentu. Seluruh jujukan aksara dianggap sebagai satu entiti.

Watak ialah apa sahaja yang anda boleh taip pada papan kekunci dengan satu ketukan kekunci (huruf, nombor, garis miring ke belakang atau beberapa aksara lain).
Rentetan boleh mempunyai ruang: "Hello dunia!".
Rentetan kosong ialah rentetan yang mempunyai 0 aksara.
Pascal mengenali sebagai rentetan semua yang ditulis dalam apostrof (' ').
Dalam Pascal, rentetan adalah daripada jenis string.

Anda boleh menulis nilai baharu pada rentetan menggunakan pernyataan input baca; Anda juga boleh memberikan nilai rentetan kepada pembolehubah, seperti   s := 'Python'; Anda boleh menentukan panjang rentetan menggunakan fungsi terbina dalam panjang n := panjang


Perbandingan rentetan

Rentetan boleh dibandingkan antara satu sama lain seperti nombor. Anda boleh menentukan baris mana yang lebih besar, yang mana lebih sedikit.

Apabila membandingkan rentetan, kod aksara dibandingkan. Terdapat berpuluh-puluh, jika tidak beratus-ratus, pengekodan aksara. Cara paling mudah untuk memahami konsep ini ialah memahami salah satu yang paling mudah, ASCII (baca di sini).   ;
Adalah perlu untuk memahami bahawa dalam pengekodan moden kedua-dua huruf Rusia dan Inggeris disusun dalam susunan abjad, nombor juga berubah daripada yang lebih kecil kepada yang lebih besar. 
Contohnya, dalam jadual kod ASCII, kod untuk huruf Inggeris 'A' - 65, huruf 'a' - 97, digit '0' mempunyai kod 48. Huruf Rusia terletak di bahagian lanjutan jadual kod ASCII (nombor dari 128 hingga 255). Huruf besar didahulukan (iaitu mempunyai kod yang lebih kecil) daripada huruf kecil.
Dalam kebanyakan jadual pengekodan yang digunakan, coraknya adalah sama, huruf kecil lebih lewat daripada huruf besar, nombor lebih awal daripada huruf dan huruf Rusia lebih lewat daripada huruf Inggeris.

Contohnya: "lokomotif"  < "steamboat", kerana perkataan berbeza dalam huruf kelima dan "dalam" < "x".

Malangnya, tiada fungsi dalam Pascal yang membenarkan membaca berbilang baris yang dipisahkan ruang daripada satu baris. Untuk melakukan ini, anda perlu menulis fungsi anda sendiri: vars, w: rentetan; i, j, ind: integer; a: tatasusunan rentetan; bermula readln(s); setlength(a, length(s)); i := 1; ind := 0; semasa saya < panjang (s) lakukan bermula manakala (i < panjang(s)) dan ('' + s[i] = ' ') lakukan i += 1; j := i + 1; w := '' + s[i]; manakala (j < panjang(s)) dan ('' +s[j] <> ' ') bermula w += s[j]; j += 1; akhir; a[ind] := w; ind += 1; i := j; akhir; tulis(a[0], a[1]); tamat.

Akibatnya, kami mendapat tatasusunan rentetan.

Rentetan boleh ditambah bersama menggunakan tanda "+". Operasi ini dipanggil penggabungan rentetan atau penggabungan
Contohnya,  s := 'Hai, '; s1 := 'dunia'; writeln(s + s1); Skrin akan memaparkan frasa "Hello world" (tanpa sebut harga).

Merujuk indeks baris
Setiap aksara rentetan mempunyai nombornya sendiri (dipanggil indeks), dan pengindeksan dalam bahasa pengaturcaraan Pascal bermula daripada satu. Iaitu, aksara pertama mempunyai indeks 1, yang kedua mempunyai indeks 2, dan seterusnya.
Aksara rentetan boleh diakses oleh indeks, yang ditunjukkan dalam kurungan segi empat sama s[i].
 
Contoh 

P.S. Banyak kaedah rentetan dalam PascalABC.NET menganggap bahawa rentetan diindeks daripada sifar. Kami tidak akan menggunakan kaedah rentetan yang berfungsi dengan indeks berasaskan sifar buat masa ini. Terdapat penggantian setara untuk ini dengan fungsi luaran yang menganggap bahawa baris diindeks daripada 1. 
 

String S H e l l o
Indeks S[1] S[2] S[3] S[4] S[5]
Memandangkan aksara boleh diakses melalui indeks, anda boleh menggunakan gelung pembolehubah untuk melelaran ke atas semua aksara, yang akan mengambil nilai indeks yang mungkin. Sebagai contoh, program yang memaparkan semua kod aksara rentetan s akan kelihatan seperti ini untuk i := 1 hingga panjang (s) do writeln(s[i], ord(s[i])) Penjelasan untuk program:
1) Fungsi length(s) mencari panjang rentetan. Indeks aksara pertama ialah 1 dan indeks yang terakhir ialah panjang. Pembolehubah gelung i hanya akan mengambil nilai dari 1 kepada panjang.
2) Dalam setiap baris, simbol itu sendiri akan dipaparkan dahulu, dan kemudian kodnya, yang dikembalikan oleh fungsi terbina dalam ord()

Penghitungan yang sama boleh ditulis lebih pendek: untuk c dalam s lakukan      writeln(c, ord(c)); Dalam serpihan ini, pengepala gelung melingkari semua aksara s, meletakkannya secara bergilir-gilir dalam pembolehubah c.

Keistimewaan Pascal apabila bekerja dengan rentetan ialah rentetan adalah objek boleh ubah. Dalam erti kata lain, kita boleh menukar aksara individu bagi rentetan.
Sebagai contoh, pernyataan berikut akan berfungsi s[5] := 'a'; Anda juga boleh mengarang rentetan baharu daripada aksara dengan perubahan yang diperlukan.
Contohnya, program yang menggantikan semua aksara 'a' kepada aksara 'b' akan kelihatan seperti ini: baca;     untuk i := 1 hingga panjang mula         jika s[i] = 'a'maka s[i] := 'b';     akhir; writeln(s); Dalam contoh ini, kita mengulangi semua aksara rentetan s. Dalam badan gelung, kami menyemak nilai pembolehubah s[i]: jika aksara itu sepadan dengan aksara 'a', maka kami menggantikannya dengan 'b'.