СИМВОЛЫИ СТРОКИ
по дисциплине «Основы программирования»
Выполнил: ст-т гр. 19КП2 Вихров Никита
Проверил: доцент каф. ИВС
Хохлов А. Е.
1 Формулировка задачи
Дана S – строка символов длиной n. Выяснить, имеются ли в строке S такие символы Si и Si+1, что Si - это запятая, а Si+1 - тире.
2 Техническое задание
2.1 Требования к программе
Программа должна обеспечивать ввод значения s, а так же выяснить, присутствуют знаки «,-».
2.2 Порядок контроля и приёмки
Для контроля правильности работы программы должен быть разработан тестовый набор данных, состоящий из значения S. Это значение надо ввести при работе программы и сравнить результат работы программы – значение s в сообщении с результатом, полученным путем ручного расчета. Если результаты совпадут, то это будет означать, что программа работает правильно.
3 Описание программы
3.1 Общие сведения
Программа разработана в среде Lazarus, её текст приведен в приложении А.
3.2 Функциональное назначение
Программа предназначена для выяснения, присутствуют знаки «-,» в введенных данных или нет.
3.3 Описание логической структуры
Схема программы представлена на рисунке 1.
Решение задачи начинается с ввода исходных данных s (блок 2). Затем выясняется присутствуют знаки «-,» или нет. (блок 3). Причем при расчете нужно ввести определенную формулу «ShowMessage», чтобы выявить сообщения на экран пользователя(Блок 4,6). Значение s - любое число, которое введет пользователь. Затем показывается сообщение на основе приведенного значения S(Блок 5).
|
|
|
Рисунок 1 – Схема программы
Текст программы приведен в приложении А.
На форме расположены следующие объекты:
- одно текстовое поля Label1 с вкладки Standart. В свойстве Caption этих объектов помещены пояснения для пользователя программы:
Label1.Caption – 'Число:',
- одно поле редактирования Edit1, с вкладки Standart - для ввода исходных данных;
- кнопка Button1 с вкладки Standart для создания обработчика события, который рассчитывает количество информации. В свойстве Caption этого объекта помещено пояснение для пользователя программы: Button1.Caption - 'Выяснить'.
Обработчик TForm1.Button1Click обрабатывает щелчок по кнопке «Вычислить». В разделе описания переменных этого обработчика описаны:
- переменные целого типа real:
S – Энное число
Исполняемая часть обработчика начинается с ввода исходных данных x, y, z. Эти переменные вводится с помощью свойства Text объектов Edit. При этом используется стандартная функция преобразования из строкового типа (string) в целый тип (integer) — StrToFloat. Затем происходит вычисление s.
if pos('-,',s)>0 then ShowMessage('В строке имеется сочетание запятая+тире')
else ShowMessage('В строке нет сочетания запятая+тире');
Переход к натуральному логарифму необходим потому, что в языке Object Pascal нет стандартной функции двоичного логарифма.
Для вывода результата формируется строка S, в которую с помощью операции сцепления строк «+», записывается поясняющий текст и результат работы функции преобразования вещественного числа в строку ShowMessage.
Результат работы программы выводится оператором ShowMessage.
|
4 Программа и методика испытаний
Для проверки правильности работы программы подготовлен тестовый набор данных, представленный в таблице 1.
Таблица 1
Данные | Значение |
s |
Вручную рассчитаем значение s.
S=8. Число 8 не имеет знаков «, -», поэтому мы должны увидеть следующий текст на экране: « »
Для проверки правильности работы программы необходимо запустить ее на выполнение и ввести исходные данные из таблицы 1. После этого нажать левой кнопкой мыши на кнопку «Выяснить». На форме появляется результат работы программы.
При работе программы с тестовыми данными получены результаты, приведенные в приложении Б на рисунках Б.1. Результаты приведенные в таблице 1 совпадают с результатами на рисунке Б.1. Таким образом, можно сделать вывод, что программа работает правильно
5 Описание применения
После запуска программы на выполнение на экране появляется форма с вопросом (см. Приложение Б). Пользователь должен заполнить поле «Число» и нажать левой кнопкой мыши на кнопку «Выяснить». На форме появляется результат работы программы.
Вывод
В ходе выполнения лабораторной работы было сформулировано и утверждено техническое задание на разработку программы, выявляющее текст на панель рабочего стола, показывающее разные значении s в сообщении, разработан алгоритм решения задачи, составлена и отлажена программа, оформлена документация на программу. Проведенные испытания показали, что программа работает правильно.
ТЕКСТ ПРОГРАММЫ
Приложение А
|
(обязательное)
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
s:real;
begin
s:=StrToFloat(Edit1.Text);
if pos('-,',s)>0 then ShowMessage('В строке имеется сочетание запятая+тире')
else ShowMessage('В строке нет сочетания запятая+тире');
end;
end.
РЕЗУЛЬТАТЫИСПЫТАНИЙ
Приложение Б
(обязательное)
Рисунок Б.1