Хелпикс

Главная

Контакты

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





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



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


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

Назначение Имя Тип
Индекс символа в строке i integer
Признак ожидаемой буквы (истина – ожидается согласная буква, ложь – гласная) next boolean

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

function chered(s:string):boolean;

const mn1:tsetchar=['А','И','Е','Ё','О','У','Э','Ы','Ю','Я',

               'а','и','е','ё','о','у','э','ы','ю','я'];

mn2:tsetchar=['Б','В','Г','Д','Ж','З','Й','К','Л','М','Н',

               'П','Р','С','Т','Ф','Х','Ц','Ч','Ш','Щ',

               'б','в','г','д','ж','з','й','к','л','м','н',

               'п','р','с','т','ф','х','ц','ч','ш','щ'];

var i:integer;

next:boolean;

begin

chered:=true;

if s[1] in mn1 then next:=true else next:=false;

for i:=2 to length(s) do

if (s[i] in mn2) and next then

next:=false

else

if (s[i] in mn1) and not next then

   next:=true

else chered:=false

end;

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

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

1. Назначение: удаление из заданной строки слов, которые не состоят из чередующихся гласных и согласных букв, и не являются симметричными относительно своего центра.

2. Имя: udalen

3. Вид: процедура

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

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

Статус Назначение Имя Тип Вид
Вxoд/выход Обрабатываемая строка слов s string параметр-переменная

5. Заголовок п/п: procedure udalen(var s:string);

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

  1. Для всех слов строки проверяем, если очередное k-ое слово не является последовательностью чередующихся гласных и согласных или не является симметричным относительно центра слова, то удаляем его (при этом величина k не изменяется). В противном случае увеличиваем номер слова k на 1. Так как в процессе перебора количество слов может изменяться, то использовать цикл с параметром нельзя. Поэтому метод решения следующий

1.1  ;

1.2.



  

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