Вопрос:

3. Составьте программу для определения: а) содержится ли в данном слове данная буква; б) имеется ли в данном слове часть, равная заданному слову; в) сколько раз встречается в данном слове часть, равная заданному слову.

Смотреть решения всех заданий с листа

Ответ:

Программы на Бейсике:

Для выполнения этих программ потребуется ввод данных пользователем (слова, буквы, подслова).

а) Проверка наличия буквы в слове:

10 INPUT "Введите слово: ", S$$
20 INPUT "Введите букву: ", L$$
30 IF INSTR(S$$, L$$) > 0 THEN PRINT "Буква " + L$$ + " содержится в слове."
40 ELSE PRINT "Буква " + L$$ + " не содержится в слове."
50 END
  • Объяснение:
  • INPUT: запрашивает ввод данных от пользователя.
  • INSTR(S$$, L$$): Эта функция ищет первое вхождение строки L$$ (буквы) внутри строки S$$ (слова). Если буква найдена, функция возвращает позицию (номер символа), с которой она начинается (значение больше 0). Если не найдена, возвращает 0.
  • IF ... THEN ... ELSE ... END: Условный оператор, который проверяет результат INSTR и выводит соответствующее сообщение.

б) Проверка наличия подслова в слове:

10 INPUT "Введите основное слово: ", S$$
20 INPUT "Введите искомое слово (часть): ", SUB$$
30 IF INSTR(S$$, SUB$$) > 0 THEN PRINT "Часть " + SUB$$ + " найдена в слове."
40 ELSE PRINT "Часть " + SUB$$ + " не найдена в слове."
50 END
  • Объяснение:
  • Аналогично пункту (а), но функция INSTR ищет подстроку SUB$$ внутри основного слова S$$.

в) Подсчет количества вхождений подслова в слово:

10 INPUT "Введите основное слово: ", S$$
20 INPUT "Введите искомое слово (часть): ", SUB$$
30 COUNT = 0
40 POS = INSTR(S$$, SUB$$)
50 IF POS = 0 THEN GOTO 90
60 COUNT = COUNT + 1
70 S$$ = MID$$(S$$, POS + LEN(SUB$$))
80 GOTO 40
90 PRINT "Часть " + SUB$$ + " встречается " + STR$$(COUNT) + " раз(а)."
100 END
  • Объяснение:
  • COUNT = 0: Инициализируем счетчик вхождений.
  • POS = INSTR(S$$, SUB$$): Находим первое вхождение подстроки.
  • IF POS = 0 THEN GOTO 90: Если подстрока не найдена (POS равно 0), переходим к выводу результата.
  • COUNT = COUNT + 1: Если найдено, увеличиваем счетчик.
  • S$$ = MID$$(S$$, POS + LEN(SUB$$)): Обрезаем основное слово, начиная с позиции сразу после найденной подстроки. Это нужно, чтобы искать следующие вхождения, не находя снова уже найденное.
  • GOTO 40: Возвращаемся к поиску следующего вхождения в измененном слове.
  • PRINT ... STR$$(COUNT): Выводим итоговый счетчик. STR$$ преобразует число в строку для вывода.
ГДЗ по фото 📸
Подать жалобу Правообладателю

Похожие