Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лабораторная работа № 11. Цель работы: освоение приемов объявления и обработки строк при решении задач.






Тема: СТРОКИ

Цель работы: освоение приемов объявления и обработки строк при решении задач.

Образцы решения задач.

Задача № 1. Подсчитать количество букв «м» в последнем слове данного текста.

Постановка задачи.

Для того чтобы подсчитать количество букв «м» в последнем слове, необходимо рассмотреть текст с конца и до пробела, сравнивая каждый символ с символом «м» и, в случае, совпадения увеличивать счетчик.

Задача будет содержать два модуля: модуль 1 - описания используемые, как в основной программе, так и в других модулях; модуль 2 - функции обработки данных.

Входные данные.

< Строка> символов – stt (тип – string).

Выходные данные.

< Количество> букв «м» в последнем слове текста – col (тип – word).

Алгоритм.

1. Ввод исходной < Строки>.

2. Подсчет < Количества> букв «м» в последнем слове данного текста.

3. Вывод результата.

Функциональная структура алгоритма

 
 

 


Текст программы

Модуль 1.

unit op;

Interface

 

Type

tStr= string [150];

Implementation

End.

Модуль 2.

unit obrabotka;

Interface

uses op;

 

function kol(st: tStr): integer;

Implementation

function kol;

Var

i, col: integer;

Begin

i: =Length(st);

col: =0;

while st[i]< > ’ ’ do begin {Цикл - пока не найден пробел}

if (st[i]=’м’) or (st[i]=’М’) then // если это буква ’м’ или ’М’

col: =col+1; // увеличили количество найденных букв на 1

i: =i-1 // перешли к предыдущему символу

end;

kol: =col // указали возвращаемое значение

End;

End.

 

Примечание: Условие в команде ветвления можно записать используюя ктнструктор множества. Например, вместо условия (st[i]=’м’) or (st[i]=’М’) записать st[i] in [’м’, ’М’].

 

Основная программа.

Uses

op, obrabotka;

Var

stt: str;

col: byte;

Begin

writeln(’Введите текст’);

readln(stt);

col: = kol(stt); // нашли количество букв

writeln(’Количество букв «м» в последнем слове данного текста ’, col)

End.

Задача № 2. Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных русских или латинских букв; между соседними словами – запятая, за последним словом – точка. Напечатать все слова последовательности, которые отличны от первого слова, предварительно преобразовав каждое из них по следующему правилу: удалить первую букву.

Постановка задачи.

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

Входные данные.

Максимальное < Количество> слов в тексте – n (постоянное целое).

< Строка> текста – st (тип – string).

Промежуточные данные.

< Список> слов – LstSlovo (тип – массив строк)

Выходные данные.

Преобразованный < Список> слов неравных первому слову.

Алгоритм.

1. Ввести < Строку> текста.

2. Сформировать < Список> слов из заданной < Строки> текста.

3. Удалить первую букву у каждого слова из < Списка>.

4. Вывести слова из < Списка> неравные первому слову.

 

Текст программы.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.