Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kukurudz_new27_06.doc
Скачиваний:
20
Добавлен:
02.12.2018
Размер:
37.42 Mб
Скачать

Р исунок 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.

Питання для самоперевірки

  1. Як оголошуються символьні змінні мовами GW Basic, С, Pascal?

  2. Скільки символів може міститись в одному програмному рядку мови GW Basic?

  3. Як визначити кількість символів в тексті мовами GW Basic, С, Pascal?

  4. Яким програмним засобом виконується перегляд тексту по одному чи по М символів мовами GW Basic, С, Pascal?

  5. Складіть цю програму з використанням для роздільників кода ASCII?

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