asyan.org
добавить свой файл
  1 ... 14 15 16 17 18

Program zam_W_U;

Const

n=126;

s1='\';

Var

S:string;

dov,І:integer;

Begin

Write('Yvedit shlyach do faily v Windows=>');

Readln(S);

Dov:=length(S);

for і:=1 to dov do

begin

if s[і]='/' then

begin

Delete(s,і,1);

Insert(s1,s,і);

end

end;

writeln(s);

Readln;

End.


Задача 6. Необхідно розробити програму, яка отримавши рядок, що містить шлях до файлу, записаний за стандартами ОС Windows, перетворює цей шлях відповідно до стандарту, що використовує фірма Borland, тобто замінює в рядку всі символи ‘/’ на символи ‘\\’.
Program zam_W_B;

Const

n=126;

s1='\\';

Var

S:string;

dov,І:integer;

Begin

Write('Yvedit shlyach do faily v Windows=>');

Readln(S);

Dov:=length(S);

for і:=1 to dov+1 do

begin

if s[і]='/' then

begin

Delete(s,і,1);

Insert(s1,s,і);

end

end;

writeln(s);

Readln;

End.


Задача 7. Необхідно вивести на екран слово, уведене користувачем (складається з літер української абетки), замінюючи в ньому кожну літеру її номером в українській абетці та відділяючи ці номери символом пропуску.
Program zam_l_z;

Const

n=126;

s1=' ';

Var

S,s2:string;

dov,dov1,І,l,m:integer;

Begin

Write('Yvedit slovo=>');

Readln(S);

Dov:=length(S);

і:=1;

while dov<>0 do

begin

l:=ord(s[і]);

m:=l-223;

str(m,s2);

dov1:=length(s2);

delete(s,і,1);

insert(s2,s,і);

insert(s1,s,і+dov1);

і:=і+dov1+1;

WriteLn( і );

dov:=dov-1;

end;

write(s);

Readln;

End.


Задача 8. В текстовому фрагменті є одна дужка (, що відкривається, та одна дужка ), що закривається. Виведіть на екран символи, розміщені в дужках.
Program vstav_v_dyghku;

Const n=126;

Var

S,s1:string;

dov,dov1,І,k,l,m:integer;

Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Write('Yvedit fragment v dyghkax =>');

Readln(s1);

Dov:=length(S);

dov1:=length(s1);

for і:=1 to dov do

begin

if s[і]='(' then

insert(s1,s,і+1);

end;

writeln(s);

Readln;

End.


Задача 9. В текстовому повідомленні є помилки. Якщо виявлена помилка, то в тексті розміщується символ #, який вказує що попередню до нього літеру потрібно видалити. Якщо в тексті трапляється декілька символів #, їх число визначає, скільки символів до цього треба видалити. Необхідно вивести на екран повідомлення без помилок.
Program pomulku_text;

Const n=126;

Var

S,s1:string;

dov,dov1,І,k,l,m:integer;

Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Dov:=length(S);

і:=1;

while і<=dov do

begin

if s[і]='#' then

begin

delete(s,і-1,2);

dov:=dov-2;

і:=і-1;

if s[1 ]='#' then

begin

delete(s,1,1);

dov:=dov-1;

end;

end

else і:=і+1;

end;

writeln(s);

Readln;

End.


Задача 10. Дано рядок, що містить довільний текст, який закінчується крапкою. Виведіть на екран слова цього тексту, що складаються з чотирьох символів.
Program slovo_4sumv;

Const n=126;

Var

S,s1:string;

M_sl:array[1..n] of string;

R,dov,І,j:integer;
Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Dov:=length(S);

j:=1;

і:=0;

While dov<>0 do

begin

While (S[1]=' ')and(dov<>0) do

begin

Delete(S,1,1);

Dov:=length(S);

end;

R:=Pos(' ',S);

If r=5 then

begin

M_sl[j]:=copy(S,1,r-1);

writeln(M_sl[j]);

Delete(S,1,r);

Dov:=length(S);

end

Else

begin

if r<>0 then

begin

delete(s,1,r);

Dov:=length(s);

end

else dov:=0;

end;

end;

Readln;

End.


Задача 10. Пропуск вважається зайвим, якщо він розміщується на початку рядка, у кінці рядка, за іншим пропуском. Необхідно з рядка видалити лишні пропуски.
Program del_propysk;

Const n=126;

Var

S,s1,s2:string;

R,dov:integer;
Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Dov:=length(S);

while dov<>0 do

begin

While (S[1]=' ')and(dov<>0) do

begin

Delete(S,1,1);

Dov:=length(S);

end;

R:=Pos(' ',S);

if (r<>0) then

begin

s1:=copy(s,1,r);

write(s1);

delete(s,1,r);

dov:=length(s);

end

else

begin

s1:=copy(s,1,dov);

write(s1);

dov:=length(s);

end;

end;

Readln;

End.


Program Lush_probel;

Var

s: string;

і:integer;
Begin

write('String: ');

readln(s);

і := 1;

repeat

if copy(s,і,2)=' ' then

s := copy(s,1,і) + copy(s,і+2,length(s))

else

і := і + 1

until (і > length(s));

writeln('String: ', s);

readln

End.


Задача 11. Довільний текстовий фрагмент складається зі слів, розділених довільною кількістю пропусків. Необхідно вивести ці слова, але розмістити їх у тексті в оберненому порядку, тобто слово, що було першим, буде виведено останнім, друге слово - передостаннім.
Program fraza_navpaku;

Const n=126;

Var

S,s1,s2:string;

R,dov,і:integer;
Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Dov:=length(S);

For і:=dov downto 1 do

begin

while (s[dov]=' ')and(dov<>0) do

begin

Delete(S,dov-1,1);

Dov:=length(S);

end;

if (s[і]=' ')then

begin

s1:=copy(s,і+1,dov);

r:=length(s1);

insert(' ',s1,r+1);

write(s1);

delete(s,і,dov-і+1);

dov:=length(s);

end;

if і=1 then

begin

s1:=copy(s,1,dov);

write(s1);

delete(s,1,dov);

end;

end;

readln;

End.


Задача 12. Довільний текстовий фрагмент складається зі слів, розділених довільною кількістю пропусків. Необхідно вивести ці слова, що входять до цього фрагменту, розмістивши їх у порядку зростання кількості символів.
Program sort_rjadku;

Type slov = array [1..10] of string;

Var

p,b : string;

s : slov;

r,і,j,l,dov : integer;

q : boolean;

Procedure maxdl( ii,jj : integer;ss : slov; Var ll : integer );

Var

t:integer;m:string;

begin

m:=ss[ii];

ll:=ii;

for t:=ii+1 to jj do

if length(m)>length(ss[t]) then

begin

m:=ss[t];

ll:=t;

end;

end;
Begin

Write('Yvedit tekctovuj fragment =>');

Readln(p);

Dov:=length(p);

і:=1;

j:=1;

while dov<>0 do

begin

while (p[dov]=' ')and(dov<>0) do

begin

Delete(p,1,1);

Dov:=length(p);

end;

r:=pos(' ',p);

if r<>0 then

begin

s[j]:=copy(p,1,r);

delete(p,1,r);

dov:=length(p);

і:=і+1;

end

else

begin

s[j]:=p;

dov:=0;

end;

j:=j+1;

end;

b:='';

for і:=1 to j do

begin

maxdl(і,j,s,l);

b:=s[і];

s[і]:=s[l];

s[l]:=b;

end;

end;


Задача 13. Для даного тексту необхідно визначити та вивести на екран:

  1. Слова, що мають уведену користувачем довжину;

  2. Слова, що починаються та закінчуються однаковою літерою;

  3. Слова, починаються (закінчуються) літерою, визначеною користувачем;

  4. Слова, до складу яких входить задана кількість уведеної користувачем літери;

  5. Слова, що починаються голосною (приголосною) літерою;

  6. Слова, що починаються голосною (приголосною) літерою та закінчуються приголосною (голосною);

  7. Слова, що починаються з великої літери;

  8. Слова, у яких кількість літер парна (непарна);

  9. Найдовше (найкоротше) слово;

  10. Середнє арифметичне довжин усіх слів та слово, довжина якого найбільш близька до цієї середньої довжини.


Program z_13_1;

Const n=126;

Var

S,s1,s2:string;

R,dov,і,dov1,dov2:integer;
Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Write('Yvedit dovghuny slova =>');

Readln(dov1);

Dov:=length(S);

For і:=1 to dov do

begin

while (s[dov]=' ')and(dov<>0) do

begin

Delete(S,1,1);

Dov:=length(S);

end;

r:=Pos(' ',s);

if r<>0 then

begin

s1:=copy(s,1,r-1);

dov2:=length(s1);

delete(s,1,r);

dov:=length(s);

if dov2=dov1 then

write(s1,' ');

end

else

begin

s1:=s;

dov2:=length(s1);

if dov2=dov1 then

write(s1,' ');

dov:=0;

end;

end;

readln;

End.


Program z_13_2;

Const n=126;

Var

S,s1,s2:string;

R,dov,і,j,dov1,dov2:integer;
Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Dov:=length(S);

For і:=1 to dov do

begin

while (s[dov]=' ')and(dov<>0) do

begin

Delete(S,dov-1,1);

Dov:=length(S);

end;

r:=Pos(' ',s);

if r<>0 then

begin

s1:=copy(s,1,r-1);

dov2:=length(s1);

delete(s,1,r);

dov:=length(s);

if s1[1]=s1[dov2] then

write(s1,' ');

end

else

begin

s1:=s;

dov2:=length(s1);

if s1[1]=s1[dov2] then

write(s1,' ');

dov:=0;

end;

end;

readln;

End.


Program z_13_31;

Const n=126;

Var

S,s1,s2:string;

R,dov,і,j,dov1,dov2:integer;
Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Write('Yvedit litery =>');

Readln(s2);

Dov:=length(S);

і:=1;

while dov<>0 do

begin

while (s[dov]=' ')and(dov<>0) do

begin

Delete(S,1,1);

Dov:=length(S);

end;

r:=Pos(' ',s);

if r<>0 then

begin

s1:=copy(s,1,r-1);

dov2:=length(s1);

delete(s,1,r);

dov:=length(s);

if s1[1]=s2 then

write(s1,' ');

і:=і+1

end

else

begin

s1:=s;

dov2:=length(s1);

if s1[1]=s2 then

write(s1,' ');

dov:=0;

end;

end;

readln;

End.


Program z_13_32;

Const n=126;

Var

S,s1,s2:string;

R,dov,і,j,dov1,dov2:integer;
Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Write('Yvedit litery =>');

Readln(s2);

Dov:=length(S);

і:=1;

while dov<>0 do

begin

while (s[dov]=' ')and(dov<>0) do

begin

Delete(S,1,1);

Dov:=length(S);

end;

r:=Pos(' ',s);

if r<>0 then

begin

s1:=copy(s,1,r-1);

dov2:=length(s1);

delete(s,1,r);

dov:=length(s);

if s1[dov2]=s2 then

write(s1,' ');

і:=і+1

end

else

begin

s1:=s;

dov2:=length(s1);

if s1[dov2]=s2 then

write(s1,' ');

dov:=0;

end;

end;

readln;

End.


Program z_13_4;

Const n=126;

Var

S,s1,s2:string;

R,dov,і,j,dov1,k,m:integer;
Begin

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Write('Yvedit litery =>');

Readln(s2);

Write('Yvedit kilkist zux liter =>');

Readln(k);

Dov:=length(S);

і:=1;

while dov<>0 do

begin

while (s[dov]=' ')and(dov<>0) do

begin

Delete(S,1,1);

Dov:=length(S);

end;

r:=Pos(' ',s);

if r<>0 then

begin

s1:=copy(s,1,r-1);

dov1:=length(s1);

delete(s,1,r);

dov:=length(s);

m:=0;

for j:=1 to dov1 do

if s1[j]=s2 then

m:=m+1;

if m=k then

write(s1,' ');

і:=і+1

end

else

begin

s1:=s;

dov1:=length(s1);

m:=0;

for j:=1 to dov1 do

if s1[j]=s2 then

m:=m+1;

if m=k then

write(s1,' ');

dov:=0;

end;

end;

readln;

End.


Program z_13_51;

Const n=126;

Var

S,s1,s2:string;

R,dov,і,j,dov1:integer;

golosna:array[1..10] of char;

Begin

golosna[1]:='а';

golosna[2]:='е';

golosna[3]:='є';

golosna[4]:='и';

golosna[5]:='і';

golosna[6]:='ї';

golosna[7]:='о';

golosna[8]:='у';

golosna[9]:='ю';

golosna[10]:='я';

Write('Yvedit tekctovuj fragment =>');

Readln(S);

Dov:=length(S);

і:=1;

while dov<>0 do

begin

while (s[dov]=' ')and(dov<>0) do

begin

Delete(S,1,1);

Dov:=length(S);

end;

r:=Pos(' ',s);

if r<>0 then

begin

s1:=copy(s,1,r-1);

dov1:=length(s1);

delete(s,1,r);

dov:=length(s);

for j:=1 to 10 do

if s1[1]=golosna[j] then

write(s1,' ');

і:=і+1

end

else

begin

s1:=s;

dov1:=length(s1);

for j:=1 to 10 do

if s1[1]=golosna[j] then

write(s1,' ');

dov:=0;

end;

end;

readln;



<< предыдущая страница   следующая страница >>