Напишите программу, которая определяет количество различных символов, встречающихся в символьной строке....

Тематика Информатика
Уровень 10 - 11 классы
символьная строка количество символов уникальные символы входные данные выходные данные пример программа символы строки
0

Напишите программу, которая определяет количество различных символов, встречающихся в символьной строке.

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

На вход программы подаётся символьная строка.

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

Программа должна вывести количество различных символов в этой строке.

Примеры

входные данные

aB122AB

выходные данные

5

Pascal ABC 1.8

avatar
задан месяц назад

2 Ответа

0

Для того чтобы написать программу, определяющую количество различных символов в символьной строке на языке Pascal, можно воспользоваться следующими шагами:

  1. Считать строку, введенную пользователем.
  2. Пройтись по каждому символу в строке и использовать структуру данных, которая позволяет хранить только уникальные элементы (например, множество).
  3. В процессе обхода строки добавлять каждый символ во множество.
  4. В конце просто вывести размер этого множества, который и будет количеством различных символов в строке.

Вот пример программы на Pascal ABC:

program CountUniqueCharacters;

uses
  SysUtils;

var
  inputString: string;
  uniqueChars: set of char;
  i: integer;

begin
  // Считываем строку с консоли
  Write('Введите строку: ');
  ReadLn(inputString);
  
  // Инициализируем пустое множество символов
  uniqueChars := [];
  
  // Проходим по каждому символу в строке
  for i := 1 to Length(inputString) do
  begin
    // Добавляем символ во множество
    uniqueChars := uniqueChars + [inputString[i]];
  end;
  
  // Выводим размер множества, что является количеством уникальных символов
  WriteLn('Количество различных символов в строке: ', Length(uniqueChars));
end.

Пояснение к программе

  1. Считывание строки:

    • Используется ReadLn для считывания строки с консоли.
  2. Инициализация множества:

    • uniqueChars — это множество символов, которое изначально пусто.
  3. Проход по строке:

    • Цикл for i := 1 to Length(inputString) позволяет пройти по каждому символу строки.
    • Внутри цикла каждый символ добавляется в множество uniqueChars.
  4. Вычисление количества уникальных символов:

    • Используется функция Length для вычисления размера множества, что и является количеством уникальных символов в строке.

Пример работы программы

Для строки aB122AB программа выполнит следующие шаги:

  1. Считает строку aB122AB.
  2. Пройдет по каждому символу:
    • 'a' добавляется в множество.
    • 'B' добавляется в множество.
    • '1' добавляется в множество.
    • '2' добавляется в множество.
    • Повторные символы '2', 'A' и 'B' уже не будут добавлены, так как они уже присутствуют в множестве.
  3. В множестве останутся символы: 'a', 'B', '1', '2', 'A'.
  4. Размер этого множества равен 5, что и будет выведено на экран.

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

avatar
ответил месяц назад
0

program CountDifferentChars;

var
  inputString: string;
  uniqueChars: set of Char;
  charCount: integer;
  ch: Char;

begin
  uniqueChars := [];
  charCount := 0;
  
  write('Введите символьную строку: ');
  readln(inputString);
  
  for ch in inputString do
  begin
    if not (ch in uniqueChars) then
    begin
      include(uniqueChars, ch);
      charCount := charCount + 1;
    end;
  end;
  
  writeln('Количество различных символов в строке: ', charCount);
end.

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

avatar
ответил месяц назад

Ваш ответ

Вопросы по теме