2. munkamenet

String (karakterlánc) - a betűkből. Betűkkel vonalakat használtak az általunk operatora levelet érveket a tanulmány a téma „input-output”. Most jobban ismerik őket.

Az adattípus (string) határozza meg a vonal maximális hossza 255 karakter. A változó ilyen lehet állítani, hogy egy változó hosszúságú.

A string változó hossza lehet tulajdonság, amely meghatározza annak maximális hosszát.

A jelenlegi string hossza változó lehet meghatározni a beépített hossz függvényében. Egy adott string típusú, ez a függvény egy egész értéket jelző karakterek száma soronként.

Kifejezéseket, amelyek az operandusok húrok, az úgynevezett sztring kifejezéseket.

Két meghatározott műveletek felett sorokat:

1. A működés tengelykapcsoló (+) alkalmazzuk a kapcsolás során több sor egy.

2. műveletek aránya (= <>,> <,>= <=) проводят сравнение двух строк слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строками всегда имеет булевой тип.

Például. kifejezést 'MS-DOS'<'MS-Dos' имеет значение True

Ha a húrok különböző hosszúságú, de a teljes, a karakterek azonosak, úgy véljük, hogy a rövidebb húr kisebb, mint a hossza.

Strings tekinthető egyenlőnek. ha azok azonos hosszúságú és ugyanolyan karaktereket a megfelelő helyeken a sorban.

Hozzárendelni egy string változó az eredmény egy karakterlánc-kifejezés használatával az értékadó operátor. Ha a változó értéke után az értékadó operátor hosszabb, mint a maximálisan megengedett a leírása nagyságát, mind az extra karakterek jobbra eldobjuk.

Ez lehetővé tette a keverés operandusok kifejezése és egy karakterlánc típusú.

Az egyes karakter kiolvasása érhető el (index) a karakterhez.

Például, hogy olvassa el a harmadik SumStr jellegét karakterlánc írandó SumStr [3]. Recording SumStr [0] értékét adja meg a jelenlegi vonal hossza.

A hatékony programozás szövegszerkesztő algoritmusok jól kell érteni a belső szerkezete képviselete sorok a memóriában. Húrok hajtják végre egyszerűen. Az áruház sztringek memóriát berendezés nagy vonal legnagyobb hosszát. A kezdeti byte memóriát tárolja a jelenlegi hossza a húr, a következő byte - a legtöbb húr. Mivel szabványos alkatrészek sorok vannak számozva kezdve egy, a byte string hossza elláthassa nulla elemet. Egy ilyen memória szerkezet lehetővé teszi a közvetlen hozzáférést elemeit.

Fontos megjegyezni, hogy ez dinamikusan lehet vezérelni a jelenlegi vonal hosszát. A következő program megmutatja az automatikus váltás vezetékhossz után különféle műveleteket is. Megjegyezzük, hogy a teljes (mérve a standard függvény sizeof) memória mennyiségét elkülönített tárolására vonalak változatlan marad.

Figyelmeztetés. A problémák megoldásához A sztringek merülhettek megfoghatatlan gyakori hiba, amikor, miután olyan feladat, hogy egyes elemeit a karakterlánc vagy a tartalmát bármilyen vonal hossza nem változik. Mi meg fogja érteni, hogy mi van csatlakoztatva.

Fontos megérteni, hogy amikor elérésekor egy elem karakterlánc értékét a jelenlegi hossza nem ellenőrzik. Ezt szemlélteti a következő program:

Hozzárendelése ötödik elem sorban bizonyos érték nem változik a hossza a húr, amely támogatja a kijelző tartalmát és hosszát (persze maga megbízás valóban megtörténtek, de a jelenlegi vonal hossza az értéket a nulladik byte, nem volt semmilyen hatása). Munka sorok, tekintet nélkül annak jelenlegi hosszát és hiba a programozó. Nézd meg a következő programot:

i: = 1-től 26 do

Str [i]: = Chr (ORD ( 'A') + i-1);

Várható, hogy a program kell képezniük egy sor 26 karakter, amelynek tartalma egy sorozata nagybetűvel a latin ábécé. Azonban writeln eljárás hívás azt jelzi, hogy a tartalmát a változó Str egy karakterlánc egy karakter „A”. Természet tökéletes hiba abban rejlik, hogy az értékadás a vonal elemek nem befolyásolja sem a jelenlegi hossza, amelyet 1-be az első feladat. Ezért a jobb oldalon lesz a következő programot:

i: = 'A' a 'Z' do

Összefűzés művelet, mint minden alapvető műveleteket, dolgozó húr, ellentétben a feladat bitmap, megváltoztatja a string hossza, ami a helyes eredményt. Ezen felül, a második program működik közvetlenül a szimbólumok a leveleket. Végül ne felejtsük el, hogy inicializálja a vonalat, mielőtt kitöltené (első nyilatkozat a program). Ellenkező esetben, hiszen a kezdeti húr hossza határozatlan, akkor lehetséges egy tetszőleges kimenet; Nem számoltak azzal, hogy a nulla byte érdemes nulla.

Feldolgozására húr adatokat, akkor használhatja a beépített eljárások és funkciók:

1. Törölje (Str, Poz, N) - N Str törlése karakterláncok kezdve a helyzetben Poz.

2. Helyezze (mit, hol, Poz) - Mi betét sorban az, ahol a vonal, kezdve a helyzetét Poz.

4. Concat (Str1, Str2 StrN.) - végez szövegösszefűzés abban a sorrendben, amelyben a paramétereket a listában megadott.

5. Poz (mit, hol) - megkeresi az első előfordulása részkarakterláncként Mit Hol húr.

6. UpCase (Ch) - átalakítja kisbetűs nagybetűs.

7. Str (Number, Stroka) - átalakítja a számot szöveggé.

8. Val (Stroka, szám kód) - átalakítja a string, és kiadja a kódkonverzió helyesen.

Feladatok az önálló döntési

1. kér a felhasználó száma, ezek átalakítását húrok, feladataik markolat különféle kombinációkban és a kijelző. Ne felejtsük el, hogy egy a sorok között, a végén pont és kezdődhet nagybetűvel.

2. Kérje meg a felhasználót egy pár sort, és megjeleníti hosszuk összefűzés eredménye valamilyen sorrendben, és egy csekket, hogy lehet átalakítani ezeket húrok számokat.

3. Kérje meg a felhasználót egy sor 5 karakter, és ellenőrizze, hogy ez egy példa, összecsukható kétjegyű szám, amelyek mindegyike kevesebb, mint öt; ha igen, akkor számítsuk ki.

4. Kérje meg a felhasználót egy karakterlánc, amely több szót, szóközzel elválasztva, és megjeleníti azt a képernyőn úgy, hogy minden szó új sorban.

5. Kérje meg a felhasználót két sort, és hasonlítsa össze a hossza az első és utolsó karakter minden egyes sorban, és nyomtassa ki az vonalrács nagybetűvel.

6. Írjon egy algoritmust, amely megvizsgálja, hogy egy része a szó a „lé”. Ha a válasz nemleges, akkor adjunk a szó belépett a „nem” szót a kezdet és a vég. Ha a válasz „igen”, akkor nézze meg, hogy ez a „sólyom”.

7. Kérje meg a felhasználót a kérdés, hogy szükség van egyértelmű választ. Ellenőrizze, hogy helyes-e. Adja meg a felhasználó néhány tipp és kísérleteket. Ha sejtette, megkérdezni a nevét, és megjeleníti a köszönés, hogy egy összefűzése több sor, kétszer használó nevét.

8. Kérelem a felhasználó és a karakterláncot és egy üzenetet jelenít meg, ha van egy felhasználó által definiált karakter között a karakterek a húr. Ha nem -, akkor add meg a húr kiválasztott: az elején vagy a sor végére.

9. gyerekek születésnapi üzenetet küld a felhasználónak rejtvényt. Add meg neki a lehetőséget, hogy próbálja háromszor kitalálni a rejtvény. Kíséri a munkaprogram visszajelzést. Alkalmazza összefűzése bemeneti vonalak.

10. Győződjön meg a számítógép véletlenszerűen teszik írni a latin (orosz) ábécé. Javasolj a felhasználó kitalálni zagadannuyu levél, segít neki a következő. Ha egy másik felhasználó megpróbál belépni a betűket, ahogy közelebb állnának zagadannoy, mint az előző, megjelenik a felhasználó számára: „HOT!”, Mintha akkor - „Cool!”.

11. Ellenőrizze a számítógép véletlenszerűen teszik írni a latin (orosz) ábécé. Javasolj a felhasználó kitalálni zagadannuyu levél, segít neki a következő. Ha a felhasználó írja be a betűket a bal oldalon zagadannoy, a kimeneti üzenetet a felhasználó „Right!” És ha a jobb oldalon - „A bal oldalon!”.

Feladatok megoldás további (a tanár belátása szerint)

1. Keresse meg, melyik karakter (első vagy utolsó) jelentkezik a megadott szót gyakrabban.

2. Melyek a betűk „u” szó áll, még a föld?

3. A szöveg a betűkből és a végpontot, számolja meg a magánhangzók.

5. Húzza ki az i-edik levél a szót.

6. Húzza ki a szavakat az X, amelyek megtalálhatók a szót Z.

7. Készítsünk programot, amely be- és kimenetek egy string, csökkentve minden alkalommal 1 karakter, amíg a vonal nem marad egy szimbólum 1.

Kapcsolódó cikkek