Полная версия

Главная arrow Информатика arrow Алгоритмы arrow
Основы алгоритмизации и языки программирования

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Алгоритм, подсчитывающий количество чисел в массиве

Рассмотрим на примере: Дана таблица А, в которой 100 целых чисел. Требуется найти все числа, значение которых = 25. Найти их количество. Составить алгоритм.

Обозначим количество – k, начальное значениеk=0. Эта величина в отличие от суммы всегда должна иметь целый тип и всегда одно и то же правило изменения, если не задано дополнительных условий. Если сравнение на совпадениеA(i) и числа 25 истинно, то количество должно увеличиваться на 1.

Алгоритм поиска в тексте заданного символа

Задан текст. Найти, содержится ли в данном тексте некоторый заданный символ и сколько раз он повторяется.

Имеем текст или некоторую последовательность символов, которая является исходной. Назовем эту последовательность Slovo, каждый символ этой последовательности равенi, т.е. – это номер позиции, в которой находится символ. Также имеется заданный символ (или строка символов), с которым будем сравнивать исходную последовательность. Символ обозначимS1. Длину символьной последовательности можно определить как некоторое вычисляемоеN, – средства языка программирования позволяют это сделать.

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

<имя строки[i]>, гдеi– индекс символа, на который ссылается алгоритм. Значение индекса первого элемента равно 1, второго – 2 и т.д.

Для определения количества найденных символов, равных S1, введем переменнуюk1. Переменнаяkнеобходима для обозначения номера позиции, в которой найден символS1. В схеме алгоритма удобно реализовать циклическую структуру с предусловием – пока номер позиции символа в рассматриваемой последовательности меньше длины всей последовательности.

Если найдено совпадение в какой-то позиции символа с S1, то этот найденный номер позиции увеличивается на 1, т.е. переходим к рассмотрению следующего символа позиции.

Алгоритм нахождения самого длинного слова

Допустим, имеется некоторый текст Frag, переменная типа строкаStringнеизвестной длины. Чтобы выделить слова в тексте, необходимо выделить пробелы между словами – количество пробелов равно количеству слов минус 1. обозначим массив слов какSlovo, тип – строкаString. Введем символическое ограничение не более 10 знаков в слове, в тексте не более 100 слов или не более 256 знаков. Определим словесный алгоритм.

  • 1. Ввод текста.
  • 2. Выделить слова в тексте в массив слов.
  • 3. Найти самое длинное слово.

Для последнего пункта можно использовать стандартный алгоритм поиска в заданной последовательности. В данном случае последовательность будет состоять из массива Slovo(1), Slovo(2),…, который можно определить, если решить следующие задачи:

  • 1) Выделить пробел n.
  • 2) Определить количество выделенных слов m.
  • 3) Определить отдельное словjв массив словSlovo(m).
  • 4) Повторить с п.1, пока не достигли конца текста.
 
<<   СОДЕРЖАНИЕ   >>

Похожие темы