Хелпикс

Главная

Контакты

Случайная статья





Информационная модель. Программная модель. Разработка подпрограммы 4. Спецификация. Метод решения



Информационная модель

Таблица 21.7.Информационная модель

Назначение Имя Тип
Индекс символа в строке i integer
Счетчик пробелов sum integer

Программная модель

function kolslov(s:string):integer;

var i,sum:integer;

begin

sum:=0;

for i:=1 to length(s)do

if s[i]=' ' then sum:=sum+1;

kolslov:=sum

end;

Разработка подпрограммы 4

Спецификация

1. Назначение: выделение из строки слова, заданного его порядковым номером (считается, что все слова пронумерованы подряд, начиная с 1). Кроме этого, формируются номер позиции в строке, начиная с которой в строке располагается искомое слово, и длина этого слова. Если слово, с указанным номером в строке отсутствует, то возвращаемый результат – пустая строка, а номер позиции и длина слова 0.

2. Имя: slovo

3. Вид: функция

4.Перечень параметров

Таблица 21.8.Перечень параметров

Статус Назначение Имя Тип Вид
Вxoд Исходная строка слов s string параметр-значение
Вход Номер искомого слова k integer параметр-значение
Выход Номер позиции в строке, с которой начинается слово wordpos integer параметр-переменная
Выход Длина слова (количество символов в слове) wordsize integer параметр-переменная
Возвращаемый результат Искомое слово slovo string -

5. Заголовок п/п:

function slovo(s:string; k:integer;var wordpos,wordsize:integer):string;

 

Метод решения

  1. Обнуление счетчика количества обнаруженных слов

kol:=0      ;

  1. Установка индекса просматриваемого символа строки в 1

i:=1 ;

  1. Обнуление счетчика подсчета длины найденного слова

wordsize:=0 ;

  1. Установка на начало первого слова

wordpos:=1 ;

  1. Пока не нашли нужное по номеру слово и не вышли за пределы заданной строки повторять

а) если очередной символ пробел, то количество найденных слов увеличить на 1 и после этого проверить – если количество обнаруженных слов еще не достигло номера искомого слова, то обнулить размер найденного слова и определить начало нового слова как позицию пробела плюс 1.

В противном случае (если очередной символ не пробел), то увеличить длину текущего слова на 1

б) перейти к следующему символу строки

i:=i+1    ;

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



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.