Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методические указания для выполнения лабораторных работ / программирование алгоритмов с использованием строк на языке лазарус.doc
Скачиваний:
106
Добавлен:
11.02.2014
Размер:
128 Кб
Скачать

Текст модуля unstr

unit unstr;

{$mode objfpc}{$H+}

Interface

uses

Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,

Buttons;

type

{ TForm1 }

TForm1 = class(TForm)

BitBtn1: TBitBtn;

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

ListBox1: TListBox;

procedure Edit1KeyPress(Sender: TObject; var Key: char);

procedure FormActivate(Sender: TObject);

procedure ListBox1Click(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

end;

var

Form1: TForm1;

Implementation

{ TForm1 }

// Обработка события активизации Формы

procedure TForm1.FormActivate(Sender: TObject);

begin

Edit1.SetFocus; // передача фокуса ввода Edit1

end;

// Обработка события ввода символов и нажатия клавиши Enter

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);

begin

if key=#13 then // если нажата клавиша Enter то

begin // строка из редактируемого текстового поля

ListBox1.Items.Add(Edit1.Text); // заносится в список выбора

Edit1.Text:=' '; // очистка текстового поля

end;

end;

// Обработка события нажатия клавиши "мыши" в списке выбора

procedure TForm1.ListBox1Click(Sender: TObject);

var

st: string;

n,i,nst,ind: integer;

begin

n:=0; // n содержит количество слов

ind:=0;

nst:=ListBox1.ItemIndex; // определение номера выбранной строки

st:=ListBox1.Items[nst]; // st присваивается выбранная строка

for i:=1 to Length(st) do // просмотр всех символов строки

case ind of

0: if st[i]<>' ' then // если встретился символ

begin

ind:=1;

n:=n+1; // количество слов увеличивается на единицу

end;

1: if st[i]=' ' then // если встретился пробел

ind:=0;

end;

Label3.Caption:=IntToStr(n); // вывод количества слов в Label3

end;

Initialization

{$I unstr.lrs}

end.

варианты заданий

  1. В строке, состоящей из русских букв, подсчитать отдельно количество прописных и количество строчных гласных букв. Если таковых нет, выдать соответствующее сообщение.

  2. Вставьте в строку после каждого символа про­бел. Вывести на экран ре­зультат.

  3. Выведите на экран позиции, на которых находится буква ‘и’. Посчи­тайте их количество.

  4. Создайте из четных символов строки st1 строку str2 и из нечетных сим­волов строку str3.

  5. В строке, состоящей из русских букв, подсчитайте количество гласных и соглас­ных букв.

  6. Поменяйте местами первый и послед­ний символы строки.

  7. Удалите из строки пробелы, запятые и точки, другие символы продублируйте.

  8. Выведите на экран все цифры, встречающиеся в строке.

  9. Переверните строку так, чтобы пер­вый символ стал последним и так да­лее. Новую строку выведите на экран.

  10. Из введенной строки создайте три строки, состоящие из: прописных букв английского алфавита, строчных английских букв и других символов данной строки.

  11. Дано слова из четного числа букв. Поменяйте местами первую букву со второй, третью – с четвертой и т.д.

  12. Замените первые буквы в каждом слове строки на заглавные буквы.

  13. Посчитайте сумму всех цифр, встречающихся в строке.

  14. Выведите отдельно все слова строки на экран.

  15. Дана строка, в которой имеются несколько букв а. Найдите порядковый номер первой и последней из них.

  16. Дано слово. Поменяйте местами первую из букв а и последнюю из букв о. Учтите возможность того, что таких букв в слове может не быть.

  17. Создайте новую строку из символов введенной строки, стоящих на каждой третьей позиции.

  18. Дано слово. Удалите из него k-ю букву.

  19. В строке, состоящей из латинских букв, подсчитайте количество глас­ных букв.

  20. Задано существительное первого склонения, оканчивающееся на ‘а’. Напечатайте это слово во всех падежах.

  21. Из строки удалите все символы, совпадающие с последним символом.

  22. Выведите на экран самое короткое слово из введенной строки.

  23. Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 сим­вол.

  24. Дано слово. Если его длина нечетная, то удалите среднюю букву, в противном случае – две средних буквы.

  25. Выясните, какая из букв - первая или последняя - встречается в строке чаще.

  26. Дана строка. Замените в ней все вхождения буквосочетания ах на ух.

  27. Посчитайте число различных символов в слове.

  28. Слово состоит из двух частей одинаковой длины и соединительной гласной. Найдите обе части этого слова.

  29. Выведите на печать подстроку, заключенную между двумя запятыми.

  30. Замените в строке все цифры на следующую по порядку цифру. Цифру 9 заменить на цифру 0.

СОДЕРЖАНИЕ И ОФОРМЛЕИНЕ ОТЧЕТА

ПО ЛАБОРАТОРНОЙ РАБОТЕ

Отчет оформляется в текстовом редакторе MS Word в формате А4 и должен содержать:

  1. Титульный лист.

  2. Цель работы.

  3. Задание.

  4. Листинг программы.

  5. Окно формы с полученными результатами.

ВОПРОСЫ для самоконтроля

    1. Что такое строка?

    2. Назовите типы строк, которые есть в Object Pascal.

    3. Как получить длину строки по нулевому байту?

    4. Как обратиться к отдельным символам строки?

    5. Какие выражения называются строковыми?

    6. Какие операции допустимы над строковыми данными?

    7. Каким образом производится сравнение строк?

    8. Как определить текущую дли­ну строки всех типов?

    9. Перечислите основные стандартные процедуры и функции для работы со строками.

    10. Для чего используются компоненты ListBox и ComboBox? В чем их отличие?

    11. Каким свойством задается список элементов в ListBox и ComboBox?

    12. Каким свойством задается индекс выбранной строки в ListBox и ComboBox?

ВРЕМЯ, ОТВЕДЕННОЕ НА выполнение

ЛАБОРАТОРНОЙ РАБОТЫ

Подготовка к работе – 0,5 акад. часа

Выполнение работы – 1,0 акад. час

Оформление работы – 0,5 акад. часа

Отчет по работе – 0,5 акад. часа

ЛИТЕРАТУРА

  1. Дарахвелидзе П.Г., Марков Е.П. Delphi 2005 для Win32. – СПб.: БХВ-Петербург, 2005.

  2. Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi: учебное пособие. – 2-е изд., испр. и доп. – СПб.: ДиаСофтЮП, 2003.

  3. Гофман В.Э., Хомоненко А.Д. Delphi. Быстрый старт. – СПб.: БХВ-Петербург, 2003.

  4. Сухарев М.В. Основы Delphi. Профессиональный подход. – СПб.: Наука и техника, 2004.

  5. Фаронов В.В. Система программирования Delphi. – СПб.: БХВ-Петербург, 2005.

  6. Фленов М.Е. Delphi 2005. Секреты программирования. – СПб.: Питер, 2006.

Содержание

  1. Цель работы 2

  2. Основные понятия 2

  3. Порядок выполнения работы 6

  4. Пример выполнения работы 6

  5. Варианты заданий 11

  6. Содержание и оформление отчета 13

  7. Вопросы для самоконтроля 14

  8. Время, отведенное на выполнение работы 14

Литература 15