Предмет: Информатика,
автор: zdiana20
ПАСКАЛЬ. Написать программу, которая считает количество буквы в строке. Допустим букву "а" в любом регистре, строка вводится с клавиатуры.
входной файл: предложение
выходной файл: количество буквы
Я просто немного понять не могу, как счетчик вести с символами. Помогите пожалуйста.
Ответы
Автор ответа:
2
PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018
Внимание! Если программа не работает, обновите версию!
begin
ReadlnString.MatchValues('[аА]').Count.Println
end.
Пример
А роза упала на лапу Азора
8
Аноним:
Точки позволяют создать цепочку и в ней результат одного действия служит вводом для следующего.
ReadlnString запрашивает ввод строки с клавиатуры и принимает все символы до нажатия Enter. Полученная строка передается на вход MatchValues('[аА]')
Эта функция проверяет все символы полученной строки на совпадение с буквой а или А. Ее результат - последовательность найденных букв, т.е. набор вида А а а а А...
Этот набор попадает на вход функции Count, которая подсчитывает, сколь элементов ей пришло, т.е. в данном случае количество найденных символов.
И наконец, найденное количество попадает на вход Println и выводится.
Собственно, это все....
Еще раз спасибо, не думала, что алгоритм программы может быть в одну строку, и без переменных в Var, кажется мне надо обновлять знания) Большое спасибо за объяснение!))
Может, все зависит от того, на каком уровне Вам дают программирование.
Конечно, эту же задачу можно решить в подмножестве языка Турбо Паскаль по образцу конца 80-х годов прошлого века. Но по элегантности и красоте такой код будет существенно уступать приведенному. Если хотите его увидеть, создайте за минимум баллов еще раз этот вопрос и укажите, что нужен код Turbo Pascal.
Хорошо
Похожие вопросы
Предмет: Физика,
автор: Denvage3412
Предмет: Математика,
автор: nikga9452
Предмет: Биология,
автор: iradaahadova2055
Предмет: Математика,
автор: ТеРеНтий228228
Предмет: Математика,
автор: EdmanStar