Na minulej hodine sme sa venovali typu CHAR – do premennej tohto typu môžeme uložiť jeden znak, ktorý v pamäti počítača zaberie 8 bitov (čiže 1 byte).
Dnes sa budeme venovať typu STRING, čiže reťazcový typ. Jeho veľkosť nie je dopredu určená, v pamäti zaberie toľko miesta, akú hodnotu bude mať. Do premennej typu string môžeme ukladať jedno slovo, celé vety alebo môžeme do tejto premennej posielať hodnoty zo vstupného riadku (edit-u) napr.:
var slovo, veta, vstup: string;
begin
slovo:=‘hura‚;
veta:=‘hura, konečne je tu informatika!‚;
vstup:=edit1.text;
end;
Okrem toho vieme do stringovej premennej vložiť spojené hodnoty iných stringových premenných, a to pomocou tzv. zreťazenia (zapisuje sa to pomocou znaku „+“):
var zretazenie:string;
begin
zretazenie:=slovo + veta; //vysledkom tohto bude „hurahura, konečne je tu informatika!“
zretazenie:=slovo +‚ ‚+ veta; //vysledkom tohto bude „hura hura, konečne je tu informatika!“
end;
Okrem toho zavádzame novú funkciu, ktorú budeme občas pri stringoch používať, a to length(s), ktorá vypočíta dĺžku (počet znakov) stringovej premennej s. Používa sa napr. takto:
var dlzka:integer;
begin
dlzka:=length(slovo); //v premennej dlzka bude uložené číslo 4
end;
Podobne, ako premenné typu char, aj premenné typu string môžeme porovnávať. Hovoríme, že jeden reťazec je lexikograficky väčší ako ten druhý, ak je v abecednom usporiadaní neskôr. Pozor ale – ‚abeceda‘ a ‚Beda‘ sú správne lexikograficky usporiadané takto: Beda, abeceda. Prečo? Veľké „B“ je v „pascalovskej abecede“, teda v ASCII tabuľke, skôr ako malé „a“.
K jednotlivým znakom v znakovom reťazci sa vieme dostať i tak, že do hranatých zátvoriek zadáme index, t. j. poradové číslo znaku, ku ktorému sa chceme dostať. Napr.:
var r:string;
a:char;
begin
r:=’informatika‘; //tento reťazec má dĺžku 11, preto indexy môžu byť čísla od 1 po 11
a:=r[3]; //v premennej a bude znak f
a:=r[length(r)]; //v premennej a bude znak a
a:=r[i]; //v premennej a bude i-tý znak, premenná i ale musí byť z rozsahu <1;11>
end;
Keďže budeme pracovať s reťazcami, zjednodušíme si aj spôsob výpisu – naučíme sa používať nový komponent memo. Nájdete ho na záložke standard. Do mema sa vypisuje jednoducho:
memo1.lines.add(‚hura, hura‘); //netreba zadávať žiadne súradnice
Úlohy
1. Naprogramujte program, ktorý vykreslí takéto trojuholníky:
2. Napíšte program, ktorý bude mať dva vstupné riadky (edit-y). Po kliknutí na tlačidlo vypíše do image-u, ktorý zo zadaných reťazcov (do vstupných riadkov) je menší, resp. väčší, teda vypíše napr.:
slovo < žaba
slovo = slovo
3. Napíšte program, ktorý prečíta reťazec zadaný vo vstupnom riadku a vypíše ho odzadu.
4. Napíšte program, ktorý vypočíta počet písmen, číslic a medzier v nejakom texte.
5. Napíšte program, ktorý predpokladá, že sme zadali text s dvoma slovami, ktoré sú oddelené jednou medzerou. Nájde v textu túto medzeru a rozdelí ho na dva reťazce: prvé a druhé slovo.
6. Napíšte program, ktorý načíta vetu (s hocijakým počtom slov) a každé z týchto slov vypíše do samostatného riadka. Ošetrite aj prípad, že sa v texte nachádza viac medzier za sebou – vtedy nechceme mať vo výpise prázdne riadky.
7. Napíšte program, ktorý bude šifrovať zadaný text cézarovou šifrou, teda posunie každé písmeno o jeden znak v abecede doprava. Napr. slovo hura bude zasifrovanie ako gvsb.
8. Program zo vstupného riadka prečíta tri slová oddelené medzerou a vypíše všetky permutácie týchto troch slov.
9. Program číta zo vstupného riadka dvojice čísel oddelené medzerou. Tieto čísla reprezentujú súradnice bodov v grafickej ploche. Program takto definované body spája úsečkami.
10. Program v zadanej vete všetky samohlásky nahradí nejakou konkrétnou samohláskou. Napr. pre samohlásku ‚i‘ by z vety ‚Sedi mucha na stene‘ spravil ‚Sidi michi ni stini‘.
11. Napíšte program, ktorý spočíta počet samohlások vo vete.
Domáce úlohy, každá za 3 body, deadline 9.4.2017 o 23:59
Úlohy č. 10 a č. 11.
BONUS za 3 body, deadline 9.4.2017 o 23:59
Úloha č. 6.
Najnovšie články
Najnovšie komentáre
- Kaťa komentoval 08 – Hodnotená aktivita z hardware-u
- Alica komentoval 08 – Hodnotená aktivita z hardware-u
- Daniel komentoval 08 – Hodnotená aktivita z hardware-u
- Marek komentoval 08 – Hodnotená aktivita z hardware-u
- kaja komentoval 08 – Hodnotená aktivita z hardware-u
nika.blog.matfyz.sk

Join Us On Facebook
Join Us On Twitter
Join Us On In.com
Subscribe to RSS
Follow Us On Google+
Subscribe Us On Youtube
Follow Us On Pinterest
Follow Us On Instagram
Follow Us On Tumblr
Subscribe Us On Flickr
Toto mi pride moc lahke… nechce niekto maturovat za mna?