- •Процюк в.Р. Ваврик т.О.
- •Лінійні програми
- •2 Програми з розгалуженням
- •Питання для самоперевірки
- •3 Циклічні програми з регулярною зміною аргумента
- •4 Циклічні програми з регулярною зміною аргумента, які містять розгалуження
- •5 Ітераційні циклічні процеси
- •6 Одновимірні масиви
- •7 Циклічні програми з накопиченням суми або добутку
- •Р исунок 7.3 – Результат виконання програми
- •8 Вкладені цикли
- •9 Двовимірні масиви, сортування масивів
- •10 Процедури
- •11 Підпрограми-функції
- •12 Обробка текстів
- •Р исунок 12.2 – Інтерфейс програми.
- •13 Файли
- •2 .1. Програма з використанням файлу послідовного доступу мовою gw Basic
- •14. Розв’язання системи лінійних алгебраїчних рівнянь методом гаусса
- •15 Розв’язання системи алгебраїчних рівнянь методом простої ітерації або методом зейля
- •16 Числове інтегрування
- •17 Розвязання диференційних рiвнянь
- •18 Інтерполяція функцій
Р исунок 12.2 – Інтерфейс програми.
Private Sub Command1_Click()
Text1.text = Text1.text + " "
d = Len(Text1.text)
For n = 1 To d
s$ = Mid(Text1.text, n, 1)
If s$ = Chr(13) Or s$ = Chr(10) Then s$ = Chr(32)
If Not s$ = Chr(32) Then
word$ = word$ + s$
Else
If Len(word$) > 0 Then
List1.AddItem (word$)
word$ = "": s$ = ""
k = k + 1
End If
End If
Next
Text1.Visible = False
Command1.Visible = False
Command4.Visible = False
Command3.Visible = True
List1.Visible = True
Label1.Visible = True
Label1.Caption = "ʳëüê³ñòü ñë³â =" + Str(k)
End Sub
Private Sub Command3_Click()
Command3.Visible = False
Command1.Visible = True
Command4.Visible = True
List1.Visible = False
List1.Clear
Label1.Visible = False
Text1.Visible = True
k = 0
End Sub
Private Sub Command4_Click()
Text1.text = ""
End Sub
Private Sub Command2_Click()
End
End Sub
Р исунок 12.3 – Результат виконання програми.
Програма мовою Delphi
Опис форми.
Відкриваємо нову форму і на цій формі створюємо такі елементи (таблиця 12.1):
Рисунок 12.1 – Результа виконання програми
Елемент (Name) |
Властивість |
Значення |
Memo1 |
Lines |
Введіть текст |
Button1 |
Caption |
Виконати |
Button2 |
Caption |
Вихід |
Р исунок 12.4 – Інтерфейс програми.
Код програми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
s,p: string;
i,k: integer;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
p:=' '; k:=0;
S:=Memo1.Lines.Strings[1];
Memo1.Lines.Add('СЛОВА:');
for i:=1 to length(s) do
if s[i]=' ' then
begin
if length(p)>0 then
begin
Memo1.Lines.Add(p);
p:=' ';
k:=k+1;
end;
end
else p:=p+s[i];
if length(p)>0 then
begin
Memo1.Lines.Add(p);
k:=k+1;
end;
Memo1.Lines.Add('КІЛЬКІСТЬ СЛІВ:'+IntToStr(k));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
end.
Р исунок 12.5 – Результат виконання програми.
Пояснення до програм
Згідно з графічним алгоритмом, рис.12.1, символ 3 забезпечує введення заданого тексту Т$, в символі 5 здійснюється друк цього тексту. Кількість слів у тексті позначається через К, окреме слово S$, кожний символ в слові - C$.
Функція LEN(T$) обчислює число символів у тексті T$. Таким чином в циклі, заголовок якого заданий символом 10, буде здійснюватись перегляд тексту по одному символу. В символі 11 за допомогою функції MID$ виділяється кожний символ, і його значення присвоюється змінній C$. Якщо цей символ відмінний від пропуску (символ 2), то він додається до змінної S$, символ 6, де формується слово. Якщо символ C$ є пропуск, то згідно з умовою задачі цим символом розділяються слова. Формування слова S$ закінчено, і воно виводиться на друк, символ 7. В лічильнику слів, символ 9, фіксується їх кількість. Якщо в кінці тексту не буде пропусків, то останнє слово не буде виведене на друк в циклі. В цьому випадку останнє слово буде друкуватись за допомогою символа 14.
Питання для самоперевірки
-
Як оголошуються символьні змінні мовами GW Basic, С, Pascal?
-
Скільки символів може міститись в одному програмному рядку мови GW Basic?
-
Як визначити кількість символів в тексті мовами GW Basic, С, Pascal?
-
Яким програмним засобом виконується перегляд тексту по одному чи по М символів мовами GW Basic, С, Pascal?
-
Складіть цю програму з використанням для роздільників кода ASCII?