|
Работа со
STRING
- ови
Стринговите се секвeнца
на карактери кои можат да бидат броеви, букви,
специјални карактери,
space
или
комбинација на сите претходно наведени.
Можат
да бидат декларирани како
-
Низа од карактери со
array
-
String
променливи
Пример
Следниот пример за различни декларации на стрингови.
program
proba;
var
s:
string;
s1,s2:
string[10];
begin
s := ' Moeto ';
s1:=' ime e ';
writeln('Vnesete go vaseto ime');
readln(s2);
writeln(s, s1, s2);
end.
Функции и процедури за работа со
String
1. Функција
Lеngth –
за дефинирање на должина на стринг
Dolzina:=Length(ispituvan_string);
Dolzina
–
цел број – Број на карактери во стрингот што го испитуваме.
Пример
s:='abc';
x:=length(s); {x ќе биде 3}
s:='';
x:=length(s); {x ќе биде 0}
2.
Функција за
собирање на стрингови
Concat
Rez_string:= Concat(s1,s2,s3,...,sn);
s1,s2,s3, …,sn -
стрингови кои ќе се соберат (додадат) еден до друг и ќе биде оформен
резултантниот стринг Rez_string.
Пример
Var
S1, S2 : String;
Begin
S1 := 'Zdravo! ';
S2 := ' Kako si?';
Write(Concat(S1, S2)); { Отпечатен резултат е : Zdravo! Kako si?' }
End.
Спојувањето на стрингови може и да се изведе со
+
Пример
Var
S1,S2,S : String;
Begin
S1 := 'Zdravo! ';
S2 := ' Kako si?';
S:=S1+S2;
Write(S); { Отпечатен резултат е : Zdravo! Kako si?' }
End.
3.
Функција
Copy
–
за вадење дел од стрингот
Rez_string:=copy(poceten_string,pozicija,kolkukarakteri);
Pozicija
–
цел број - од кој карактер да почне со вадење на карактери
Kolkukarakteri
–
цел број – колку карактери да
издвои и да смести во променливата
rez_string
Пример
program
primer;
uses
crt;
Var
S : String;
Begin
clrscr;
S := 'Zdravo. Kako si?';
S := Copy(S, 9, 8); { Rezultatot e 'Kako si?' }
Write(S);
End.
4.Функција
Pos
–
за дефинирање на позиција на еден стринг во друг стринг
Pozicija:=pos(baran_string,ispituvan_string);
Pozicija
–
цел број – на кое место се наоѓа бараниот стринг во стрингот што го испитуваме.
Пример
program vtor;
uses crt;
var tekst,isp:string;
n,ps:integer;
begin
clrscr;
writeln('Vnesete go tekstot');
readln(tekst);
writeln('Vnesete go tekstot sto go barate');
readln(isp);
n:=length(tekst);
ps:=pos(isp, tekst);
if ps<>0 then
writeln(isp,' pocnuva na ',ps,' pozicija vo ', tekst);
end.
5.Процедура
Delete
–
за бришење на дел од стринг, од зададена позиција и колку карактери
и резултатот го сместува во истиот стринг (го менува почетниот стринг).
Delete(poceten_string,pozicija,kolku);
Pozicija
–
цел број – од кое место ќе се почне со бришење
kolku
–
цел број – колку карактери ќе избрише.
Пример
program
primer;
var
tekst:string;
dol,od,kolku:integer;
begin
writeln('Vnesete go ispituvaniot tekst');
readln(tekst);
dol:=length(tekst);
writeln('Vnesete od kade ce pocne so brisenje');
readln(od);
writeln('Vnesete kolku karakteri ce izbrise');
readln(kolku);
delete(tekst,od,kolku);
writeln(tekst);
end.
6.Процедура
Insert
–
за
вметнување на еден стринг во друг почетен стринг на дадена позиција и
резултатот го
сместува во почетниот стринг (го менува почетниот стринг).
Insert (drug, Poceten, Pozicija);
Pozicija
–
цел број – на кое место ќе изврши
вметнување на стрингот Drug во стрингот Poceten
Пример
Program test;
Var
S : String;
Begin
S := 'Zdravo ! Kako si ?';
Insert(' drugare ', S, 7);
Write(S);
End.
{ Резултатот ќе биде 'Zdravo drugare ! Kako si ?' }
7.ФУНКЦИЈА
UpCase –
за конверзија на малите букви во големи
Пример
Program test;
Var
S : String;
i : Integer;
Begin
S := 'Zdravo! Kako si?';
For i := 1 to length(S) do
S[i] := UpCase(S[i]);
Write(S); { Резултатот ќе биде 'ZDRAVO! KAKO SI?' }
End.
8.Процедура
VAL
–
за
конверзија на еден стринг во број.
VAL(s,promenliva,greska);
S –
string
Promenliva -
од тип
цел или децимален број
Greska -
Грешка
од типот цел број
Оваа
процедура прави конверзија на стринг
S
во број
Promenliva
а грешката во конверзијата ја сместува во променлива
Greska.
Ако променливата
Greska
е
0 тогаш нема грешка при конверзијата. Ако е различна од нула
тогаш внесената вредност во стрингот
S
не може да биде број.
Пример
Program Primer;
Var I, g :
Integer;
s:string;
begin
writeln('Vnesete broj ');
readln(s);
Val (s,i,g);
If g<>0 then
Writeln
('Greska ',g)
else
Writeln
('Vrednost : ',I);
end.
9.Процедура
STR
–
за
конверзија на еден број во стринг.
STR(promenliva,s);
S –
string
Promenliva -
од тип
цел или децимален број
Оваа
процедура прави конверзија на број
Promenliva
во стринг
S
(со
примена на форматирање на бројот, резервира места за целиот број и за децималите).
Пример
program primer;
Var
S : String;
i : Real;
Begin
i := 0.563;
Str(i:6:2, S);
Write(S);
End.
СТРИНГОВИТЕ
како НИЗА од карактери
Пример за премин од стринг во
низа од цифри:
program nov;
uses crt;
var S: string;
A: array[1..100] of Integer;
I, Len: Integer;
begin
clrscr;
S := '21354561321535613';
Len := Length(S);
for I := 1 to Len do
begin
A[i] :=
Ord(S[I])-48; { za premin od karakter vo
broj }
end;
for I := 1 to Len do
writeln(a[i]);
end.
или вака
program nov;
uses crt;
var
s:string;
a:array[1..1000] of integer;
i,g:integer;
begin
clrscr;
s:='1234567';
for i:=1 to length(s) do
val(s[i],a[i],g);
{ za premin od karakter vo broj }
for i:=1 to length(s) do
writeln(a[i]);
end.
и работата се сведува на работа
со низа од карактери или низа од броеви.
|
|