Найти в Дзене
it-ить или не it-ить...

Массивы или списки - не важно! Важно, что они работают.

Вот прямо хлебом не корми - дай массивы использовать.

Прекрасный инструмент, хорошо укладывается в любую структуру. а главное - они всегда дают понятный и компактный код. А как с помощью массивов решается 27 задача в ЕГЭ по информатике!?..

Есть одна учебная задачка, которая мне запомнилась еще со времен учебы в вузе. Кстати, для особо придирчивых отмечу, что в первый раз за компьютер я сел только в вузе и про массивы я также узнал только в вузе. Это было чудесное время: ms dos, norton commander, командная строка и turbo pascal 7.0.

Задачка такая - дана строка, нужно посчитать сколько каких букв в этом тексте. Простая задача на частотный словарь. Но это сейчас - а тогда даже факт перехода курсора на новую строку при нажатии на Enter оказывал вау-эффект.

Решение получается красивое, если мы используем массив. И приведу сначала решение именно на Pascal'е - причем старом - если кому интересно, то можно использовать вот тут - https://www.onlinegdb.com/online_pascal_compiler - это онлайн редактор и компилятор на учебных языках программирования. У меня тоже нет старого классического Pascal - для чистоты кода использовал его.

Если говорить о современном Pascal'е, то тут мне нравится PascalABC.net - язык уже стал рабочим, есть инструменты, которые делают его ближе к java-подобным языкам, и код становится в том числе и компактным.

Короче, берем строку st, еще пару вспомогательных переменных, а главная переменная - это mArr:

-2

Вообще говоря, мало кто сразу принимает тот факт, что тип данных char может быть параметром, указывающим на способ индексирования элементов массива. Такая запись означает, что мы можем обратиться к элементу массива например так:

Индекс - это символ.
Индекс - это символ.

И когда я пишу:

-4

Выше приведен полный код программы - он небольшой относительно. Единственное неудобство - вывод элементов из такого массива.

Таких проблем нет при написании аналогичного кода на Python (кстати, если использовать PascalABC.net - код уже можно сделать более "читабельным").

-5

Правда здесь нет и массивов (точнее списков - в Python они называются списки) - вместо них здесь был использован словарь (dict).

Хотя со списками решение также возможно - и вот какое (как вариант):

-6

В примерах кода (и на Pascal'е и на Python) сделано ограничение на набор символов - проход только по первым 256 символам. Это не позволит, например, проверить частоту символов в кириллическом тексте. И частота здесь не совсем частота - а просто ответ на вопрос "Сколько?". Есть куда его дорабатывать - но все зависит от конкретного условия задачи.