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


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






Пояснения к программе. Конкретизируя обработку введенного символа, выделим 5 случаев: цифра, буквы 'a', 'b', 'c', все остальные символы





Конкретизируя обработку введенного символа, выделим 5 случаев: цифра, буквы ' a ', ' b ', ' c ', все остальные символы.

Признаком окончания ввода строки является точка, поэтому ввод строки посимвольно организован в цикле While, выполняющемся до тех пор, пока вводится символ, отличный от точки. В цикле в первую очередь проверяется, является ли введенный символ цифрой. В составном операторе, обрабатывающем цифру, выполняется переход к значению цифры (целочисленная переменная K), затем это значение проверяется на нечетность с помощью функции ODD, и символ цифры заменяется знаком плюс или минус, последовательность знаков заключается в круглые скобки. Вторая ветвь условного оператора обрабатывает все остальные символы: в операторе варианта они проверяются на совпадение с буквами ' a ', ' b ', ' c ' и для каждой из них выполняется обработка в соответствии с заданием, затем все символы выводятся на экран. В конце цикла вводится очередной символ, и процесс обработки повторяется.

program STROKA (input, output);

Var:

Sim: Char;

literB: Boolean;

K, i, indA: Integer;

Begin

indA:= 0;

literB:= false;

Read (Sim);

{ цикл по всем символом строки }

While Sim <> '.' do

Begin

if (Sim >= '0') AND (Sim <= '9')

Then

{ обработка цифр }

Begin

Write ('(');

K:= ord (Sim) - ord ('0');

if ODD (K)

then Sim:= '-'

else Sim:= '+';

for i:= 1 to K do

Write (Sim);

Write (')')

End

Else

{ обработка остальных символов — не цифр }

Begin

Case Sim of

'a': indA:= indA + 1;

'b': literB:= true;

'c': if literB

then Sim:= '/'

end;

Write (Sim)

end;

Read (Sim)

end {While};

Writeln;

Writeln ('Буква "а" входит ', indA, ' раз')

End.

4.3. Пусть даны целое число n, символы S 1, S 2,..., S п. Удалите из данной последова­тельности все группы букв, образующих запись аbcd, то есть получите новую последовательность, не содержащую этих групп литер.

4.4. Пусть даны целое число n, символы S 1, S 2,..., S п, среди которых есть двоеточие. Получите все символы, расположенные:

а) до первого двоеточия включительно;

б) между первым и вторым двоеточием; если второго двоеточия нет, то по­лучите все символы, расположенные после имеющегося двоеточия.

4.5. Напечатайте заданный непустой текст, удалив из него все буквы b, непосредственно перед которыми находится буква с.

4.6. Заданный текст распечатайте по строкам, понимая под строкой либо очередные 20 литер, если среди них нет запятой, либо часть текста до запятой вклю­чительно.

4.7. Пусть в заданный непустой текст входят только цифры и буквы. Определите, удовлетворяет ли он следующему условию:

а) текст начинается с некоторой ненулевой цифры, за которой следуют толь­ко буквы, и их количество равно числовому значению этой цифры;

б) текст начинается с k букв (1 ≤ k ≤ 9), за которыми следует только одна литера — цифра с числовым значением k;

в) сумма числовых значений цифр, входящих в текст, равна длине текста.

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

4.9. Пусть дан непустой текст из заглавных латинских букв, за которым следует точка. Определите, упорядочены ли эти буквы по алфавиту.

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

4.11. Пусть вводится последовательность символов, длина которой не больше наперед заданного числа nmах. Замените каждую из рядом стоящих групп точек одной точкой. Решите эту задачу в двух вариантах:

а) полученная последовательность просто выводится на печать, а массив, в котором хранится исходная последовательность, не изменяется;

б) преобразованная последовательность должна заместить исходную в массиве.

4.12. Известно, что длина последовательности символов не превышает наперед заданного числа nmах. Подсчитайте максимальное количество идущих подряд пробелов.

4.13. Пусть вводится последовательность символов, длина которой не превышает 80. Напечатайте те русские буквы (в алфавитном порядке), которые встречаются в заданной последовательности.

4.14. Пусть дан текст из 80 литер. Напечатайте сначала все цифры, входящие в него, а затем все остальные литеры, сохраняя при этом взаимное расположение литер в каждой из этих двух групп.

4.15. Пусть дан текст, содержащий от 1 до 70 букв. Напечатайте буквы текста в обратном порядке.

4.16. Пусть дан непустой текст из прописных русских букв, за которым следует точка. Определите, упорядочены ли эти буквы по алфавиту.

4.17. Пусть дан текст, за которым следует восклицательный знак. Замените все прописные русские буквы, встречающиеся в тексте, строчными.

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

Date: 2015-07-23; view: 861; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию