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.