Simbolu virknes un to apstrde Programmanas valodas Lekt
Simbolu virknes un to apstrāde Programmēšanas valodas Lekt. M. Lukjanska 08. 11. 2011
Simbolu virknes un to apstrāde Kopsavilkums l l l 08. 11. 2011 2 Kas ir simbolu virknes? Deklarēšana (sintakse) Inicializēšana (sintakse) Izvade/Ievade (sintakse) Apstrāde – tipiskas procedūras un funkcijas Piemēri Programmēšanas valodas
Simbolu virknes un to apstrāde Kas ir simbolu virknes? l Apraksts: l Simbolu virkne ir jebkuru simbolu virkne, piemēram, l l ‘ABCDE’, ‘Rudens’, ‘ 4555’, ‘_***$^’ viens simbols nav simbolu virkne l 08. 11. 2011 3 tam ir izdevīgāk izmantot datu tipu char Programmēšanas valodas
Simbolu virknes un to apstrāde Deklarēšana un inicializēšana (sintakse) 4 . . <identifikators 1> : string; <identifikators 2> : string [skaits]; . . Deklarēšanas piemērs: Inicializēšanas piemērs: . . sv : string; sv 2 : string [10]; . . sv : = ‘Rudens’; sv 2 : = ‘Rudens ir pienacis’; . . Piezīmes: Vēršanās pie konkrēta simbola: string – virknes garums <= 255 string [10] – virknes garums <= 10 sv[1] sv[3] – virknes 1. simbols – virknes 3. simbols sv[k] – virknes k. simbols sv[Length(sv)] – 08. 11. 2011 virknes pēdējais simbols Programmēšanas valodas
Simbolu virknes un to apstrāde Izvade/Ievade (sintakse) l 5 Izvade/Ievade notiek tāpat, kā ar citu datu tipu mainīgajiem: . . sv : string; . . sv : = ‘Rudens’; . . Readln(sv); Writeln(sv); . . 08. 11. 2011 Programmēšanas valodas
Simbolu virknes un to apstrāde Apstrāde – tipiskas procedūras un funkcijas DARBĪBA PROCEDŪRAS/FUNKCIJAS PIEMĒRS Pievienot simbolus virknes beigās sv : = sv + ‘!!’; Pievienot simbolus virknes sākumā sv : = ‘!!’ + sv; Aizstāt konkrētu virknes simbolu ar citu sv[2] : = ‘*’; 08. 11. 2011 6 Programmēšanas valodas
Simbolu virknes un to apstrāde Apstrāde – tipiskas procedūras un funkcijas II DARBĪBA 7 PROCEDŪRAS/FUNKCIJAS PIEMĒRS Kopē no virknes “cik” simbolu skaitu, sākot ar “no” pozīciju Jauna_virkne : = Copy (virkne, no, cik); Izdzēš no virknes noteiktu simbolu skaitu “cik”, sākot ar “no” pozīciju Delete (virkne, no, cik); Ievieto virknē jauno virkni “kur” pozīcijā Insert (jaunā_virkne, kur); Virknes garums (simbolu skaits) Garums : = Length (virkne); Apvieno virknes vienā Jauna_virkne : = Concat (virkne 1, virkne 2, . . . ); Parāda, ar kuru pozīciju sākas meklējamā virkne Vieta : = Pos (meklējamā_virkne, virkne); 08. 11. 2011 Programmēšanas valodas
Simbolu virknes un to apstrāde 1. piemērs 8 (*Vienkarsa programma – simbolu virknes deklaresana, inicializesana, ievade/izvade *) program L 9_1 p; uses crt; var sv : string; sv 2 : string[10]; begin clrscr; writeln('sv virkne ir: '); sv 2 : = 'Rudens. Ir. Pienacis'; writeln(sv 2); writeln('Ievadiet virkni'); readln(sv); writeln('Ievadita virkne: ', sv); readln; end. 08. 11. 2011 Programmēšanas valodas
Simbolu virknes un to apstrāde 2. piemērs 9 (*Pos lietosanas piemers *) program L 9_p 2; uses crt; var l_virkne, m_virkne : string[25]; vieta : integer; begin clrscr; writeln('Ievadi lielu virkni'); readln(l_virkne); writeln('Ievadi meklejamu virkni'); readln(m_virkne); vieta : = pos(m_virkne, l_virkne); if vieta = 0 then writeln('Meklejamas virknes lielaja nav') else writeln('Meklejamas virknes sakums lielaja ', vieta); readln; end. 08. 11. 2011 Programmēšanas valodas
Simbolu virknes un to apstrāde 3. piemērs 10 (* Simbolu aritmetika *) program L 9_p 3; uses crt; var virkne 1, virkne 2, virkne 3 : string; begin clrscr; virkne 1 : = 'Rudens'; virkne 2 : = 'Ziema'; virkne 3 : = 'Pavasaris'; writeln(virkne 1); writeln(virkne 2); writeln(virkne 3); virkne 1 : = virkne 1 + '!!'; virkne 2 : = 'Ir pienakusi ' + virkne 2; virkne 3[3] : = '*'; writeln(virkne 1); writeln(virkne 2); writeln(virkne 3); readln; end. 08. 11. 2011 Programmēšanas valodas
Simbolu virknes un to apstrāde 4. piemērs 11 (* Izvadit virknes garumu, pirmo simbolu, ‘v’ simbolu skaitu vai ir kaut viens ‘v’ un vai virkne sastav tikai no v? *) , program L 9_p 4; uses crt; var s: string; x, i, garums: integer; begin clrscr; write('s = '); readln(s); garums : = length(s); writeln('s garums = ', garums); writeln('s[1] = ', s[1]); x : = 0; for i : = 1 to garums do if s[i]='v' then inc(x); writeln ('Virkne ir ', x, ' v simboli'); if (x > 0) then writeln ('Virkne ir simbols v') else writeln ('Virkne nav v'); if x = garums then writeln ('Virkne sastav tikai no v'); readln; end. 08. 11. 2011 Programmēšanas valodas
Simbolu virknes un to apstrāde 12 l l 08. 11. 2011 Paldies par uzmanību! Jautājumi? Programmēšanas valodas
Simbolu virknes un to apstrāde Izmantotie resursi 13 1. R. Zaks, Introduction to Pascal: Including Turbo Pascal, 2 nd ed. , Sybex, 1986, p. 464. 2. A. Balode, Programmēšanas pamati. Valoda Turbo Pascal, Zvaigzne ABC, 2009, p. 232. 3. Programmēšanas pamati Pascal vidē, RTU Būvmehānikas katedra, Rīga, RTU, 2005 4. J. Bule, RTK kursa “Programmēšanas valodas" lekciju materiāli, RTK, 2010. 5. S. Mc. Millan, A C Programming Tutorial, Drexel University. [Tiešsaiste] – [atsauce 20. 09. 2011. ] Pieejams: [saite] 08. 11. 2011 Programmēšanas valodas
- Slides: 13