Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_8_строка.doc.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
675.33 Кб
Скачать

3 Приклади програм

3.1Приклад1

Завдання. Написати проект програми, що вводить три string-рядки з 20-ти або меншого числа елементів і визначає однакові символии між кожною парою рядків та однакові символи з усіх трьох рядків.

Форму проекту та результати роботи програми наведено на рис.8.2.

Рисунок 8.2 – Форма проекту прикладу 1

Текст програми:

………………….

implementation

{$R *.DFM}

Type tstr=string[20];

// підпрограма визначення однакових символів поміж двох рядків

procedure Spsimv(s1,s2:tstr;var s:tstr);

var i,dlina,po,ps:integer;

begin

s:='';

dlina:=length(s1);

for i:=1 to dlina do

begin

ps:=pos(s1[i],s2);

if ps<>0 then

begin

po:=pos(s1[i],s);

if po=0 then s:=s+s1[i];

end;

end;

end;

// підпрограмма до кнопки “Старт”

procedure TForm1.Button1Click(Sender: TObject);

var s1,s2,s3,s12,s13,s23,s123:tstr;

begin

// введення значень рядків

s1:=edit1.text;

s2:=edit2.text;

s3:=edit3.text;

// визначення однакових символів поміж кожною парою рядків

Spsimv(s1,s2,s12); edit4.text:=s12;

Spsimv(s1,s3,s13); edit5.text:=s13;

Spsimv(s2,s3,s23); edit6.text:=s23;

// визначення однакових символів у трьох рядках

Spsimv(s12,s23,s123); edit7.text:=s123;

end;

……….

end.

3.2 Приклад 2

Завдання. Ввести рядок зі значеннями кількості доларів (через прогалину). Вивести у компонент Memo масив відповідних значень у гривнях.

Форму проекту та результати роботи програми наведено на рис.8.3.

Текст програми:

unit Unit1;

……..

implementation

{$R *.DFM}

Type s60=string[60];

// підпрограма-функція вилучення початкових прогалин рядка

function del_n(s1:s60):s60;

begin

while (pos(' ',s1)=1)and (length(s1)>0) do

delete(s1,1,1);

del_n:=s1;

end;

// підпрограма-функція виокремлення першого слова з послідовності

function slovo(s:s60):s60;

var p:integer;

begin

p:=pos(' ',s);

if p=0 then slovo:= s

else slovo:= copy(s,1,p-1) ;

end;

// підпрограма-процедура переведення слова з доларів у гривні

procedure dol_gr(sdol:s60; koef:real; var sgr:s60);

var dol,gr:real; ier:integer;

begin

delete(sdol,1,1); // вилучення символу ‘ $’

val(sdol,dol,ier); // переведення рядкового значення в числове

gr:=dol*koef; // перерахунок числового значення в гривні

str(gr:10:2,sgr); // перетворення числового значення в рядкове

sgr:=sgr+' грн.';

end;

// підпрограма до кнопки “Перерахунок у гривню“

procedure TForm1.Button1Click(Sender: TObject);

var sv,sr,sg:s60; k,dd:integer;

begin sv:=edit1.text; //читання введеного рядка

k:=strtofloat(Edit2.text); // читання курсу долару

sv:=del_n(sv); // вилучення початкових прогалин рядка

while length(sv)>0 do

begin

sr:=slovo(sv); // виокремлення першого слова з послідовності

dol_gr(sr,k,sg); // переведення слова з доларів у гривні

memo1.lines.add(sg); // виведення результату

delete(sv,1,length(sr)); //вилучення першого слова з послідовності

sv:=del_n(sv); // вилучення початкових прогалин рядка

end;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]