Řetězce jsou v Turbo Pascalu reprezentovány typem STRING. Délka řetězce může být maximálně 255 znaků. Nultý znak řetězce obsahuje skutečnou délku řetězce.
Zadání:
Function DelkaRetezce(S:String):byte; {Funkce urci skutecnou delku retezce} begin {DelkaRetezce} DelkaRetezce:=Ord(S[0]); end; {DelkaRetezce}Seznam algoritmů
Zadání:
Function FirstNoBlank(s:String):byte; {Funkce urci pozici prvniho nemezeroveho znaku} var P:Byte; begin {FirstNoBlank} P := 1; while (P<=length(s))and(s[P]=' ') do Inc(P); FirstNoBlank:=P; end; {FirstNoBlank}Seznam algoritmů
Zadání:
Function LastNoBlank(s:String):Byte; {Funkce urci pozici posledniho nemezeroveho znaku} var P:Byte; begin {LastNoBlank} P := Length(s); while (P>0)and(s[P]=' ') do Dec(P); LastNoBlank:=P; end; {LastNoBlank}Seznam algoritmů
Zadání:
Procedure RemLead(var s:String); {Procedura odstrani uvodni mezery} var P:integer; begin {RemLead} P := FirstNoBlank(s); s := copy(s,P,Length(s)-P+1); end; {RemLead}Seznam algoritmů
Zadání:
Procedure RemTrail(var s:String); {Procedura odstrani koncove mezery} begin {RemTrail} s:=copy(s,1,LastNoBlank(s)); end; {RemTrail}Seznam algoritmů
Zadání:
Function DelBlanks(s:String):string; {Funkce odstrani okrajove mezery.} var L:byte; begin {DelBlanks} L := LastNoBlank(s)-FirstNoBlank(s)+1; if L>0 then DelBlanks := Copy(s,FirstNoBlank(s),L) else DelBlanks := ''; end; {DelBlanks}Seznam algoritmů
Zadání:
Function DelNSpaces(s:String):string; {Funkce redukuje opakovane mezery} var P:byte; begin {DelNSpaces} P:=Pos(' ',s); while P > 0 do begin Delete(s,P,1); P:=Pos(' ',s); end; DelNSpaces:=s; end; {DelNSpaces}Seznam algoritmů
Zadání:
Function RightJust(s:String; Len:byte ):string; {Funkce zarovna text vpravo na zadanou delku radku} begin {RightJust} s := copy(s,Length(s)-Len+1,Len); while Length(s) < Len do s:=' '+s; RightJust := s; end; {RightJust}Seznam algoritmů
Zadání:
Function LeftJust(s:String; Len:byte ):string; {Funkce zarovna text vpravo na zadanou delku radku} begin {LeftJust} s := copy(s,1,Len); while Length(s) < Len do s:=s+' '; LeftJust := s; end;{LeftJust}Seznam algoritmů
Zadání:
Function StrCentr(s:String;Len:Byte):string; {Funkce vycentruje text doprostred radky zadane delky} var i:Byte; begin {StrCentr} s:=DelBlanks(s); while (Length(s) < Len) do begin s:=s+' '; if Length(s) < Len then s:=' '+s; end; StrCentr:=s; end; {StrCentr}Seznam algoritmů
Zadání:
Function XlateStr(Source: string;Table: string):string; {Funkce prekoduje retezec dle konverzni tabulky Jedna z mnoha variant prekodovani retezce} var I,J : byte; begin {XlateStr} for I := 1 to Length(Source) do if byte(Source[I]) < = Length(Table) then XlateStr[I] := Table[byte(Source[I])] else XlateStr[I] := Source[I]; XlateStr[0] := Source[0]; end; {XlateStr}Seznam algoritmů
Zadání:
Function ObratRetezec(s:string):string; {Funkce obrati retezec} var I,delka : byte; begin {ObratRetezec} ObratRetezec[0] := s[0]; delka:=Length(s); for I:=1 to delka do ObratRetezec[I]:=s[delka-I+1]; end; {ObratRetezec}Seznam algoritmů
Zadání:
Function GetNrOfWords(Veta:string):byte; {Funkce vraci pocet slov ve vete. Vsechny znaky za teckou se ignoruji. Neni-li ve vete tecka, zpracovava se cela od zacatku az do konce. Je-li samotna tecka oddelena mezerou, napr ' a .', je povazovana za slovo, tj. vysledek by byl roven pro tento priklad 2.} var Mezera,Pocet:byte; begin {GetNrOfWords} Mezera:=1; Pocet:=0; if Pos('.',Veta)<>0 then {Pokud je ve vete tecka} Delete(Veta,Pos('.',Veta)+1,Length(Veta)); {Odstran vse za teckou} while (Length(Veta)>0)and(Mezera<>0) do begin {Dokud neni veta prazdna a vyskytuje se tam jeste mezera} Mezera:=Pos(' ',Veta); {Urci pozici mezery ve vete} if Mezera<>1 then Inc(Pocet); {Neni-li na prvnim miste mezera, zvys pocet slov} Delete(Veta,1,Mezera); {Smaz vse do mezery} end; {while} GetNrOfWords:=Pocet; {Vrat pocet slov} end; {GetNrOfWords}Seznam algoritmů
Zadání:
Function LowCase(p:char):char; {Funkce prevede zadany znak na male pismeno.} begin {LowCase} if ord(p) in [65..90] then LowCase:=chr(ord(p)+32) else LowCase:=p; end; {LowCase}Seznam algoritmů
Zadání:
Function CLowCase(p:char):char; {Funkce prevede zadany cesky znak na male pismeno.} begin {CLowCase} case p of 'Á':CLowCase:='á'; 'Č':CLowCase:='č'; 'Ď':CLowCase:='ď'; 'É':CLowCase:='é'; 'Ě':CLowCase:='ě'; 'Í':CLowCase:='í'; 'Ň':CLowCase:='ň'; 'Ó':CLowCase:='ó'; 'Ř':CLowCase:='ř'; 'Š':CLowCase:='š'; 'Ť':CLowCase:='ť'; 'Ú':CLowCase:='ú'; 'Ů':CLowCase:='ů'; 'Ý':CLowCase:='ý'; 'Ž':CLowCase:='ž'; else CLowCase:=LowCase(p); end; {case} end; {CLowCase}Seznam algoritmů
Zadání:
Function CUpCase(p:char):char; {Funkce prevede zadany cesky znak na male pismeno.} begin {CUpCase} case p of 'á':CUpCase:='Á'; 'č':CUpCase:='Č'; 'ď':CUpCase:='Ď'; 'é':CUpCase:='É'; 'ě':CUpCase:='Ě'; 'í':CUpCase:='Í'; 'ň':CUpCase:='Ň'; 'ó':CUpCase:='Ó'; 'ř':CUpCase:='Ŕ'; 'š':CUpCase:='Š'; 'ť':CUpCase:='Ť'; 'ú':CUpCase:='Ú'; 'ů':CUpCase:='Ů'; 'ý':CUpCase:='Ý'; 'ž':CUpCase:='Ž'; else CUpCase:=UpCase(p); end; {case} end; {CUpCase}Seznam algoritmů
Zadání:
Function StrUpCase(p:string):string; {Funkce prevede zadany retezec na retezec velkych pismen.} var i:byte; begin {StrUpCase} StrUpCase[0]:=p[0]; for i:=1 to ord(P[0]) do StrUpCase[i]:=UpCase(p[i]); end; {StrUpCase}Seznam algoritmůFunction StrCUpCase(p:string):string; {Funkce prevede zadany cesky retezec na retezec velkych pismen.} var i:byte; begin {StrCUpCase} StrCUpCase[0]:=p[0]; for i:=1 to ord(P[0]) do StrCUpCase[i]:=CUpCase(p[i]); end; {StrCUpCase}
Zadání:
Function StrLowCase(p:string):string; {Funkce prevede zadany retezec na retezec malych pismen.} var i:byte; begin {StrLowCase} StrLowCase[0]:=p[0]; for i:=1 to ord(P[0]) do StrLowCase[i]:=LowCase(p[i]); end; {StrLowCase}Seznam algoritmůFunction StrCLowCase(p:string):string; {Funkce prevede zadany cesky retezec na retezec malych pismen.} var i:byte; begin {StrCLowCase} StrCLowCase[0]:=p[0]; for i:=1 to ord(P[0]) do StrCLowCase[i]:=CLowCase(p[i]); end; {StrCLowCase}
|
|
26. 6. 2000 |
|
||
|