Тема 12 · Информатика

Строки и анализ алгоритмов

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

0
Решено
0
Правильно
0%
Точность

Простыми словами

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

Строка — последовательность символов. Символы нумеруются с первого. length(s) — длина строки (число символов), s[i] — символ на -м месте.

информатика 1234567891011 length(s) = 11, s[7] = 'а', буква «а» встречается 2 раза www.reknow.ru
Строка = «информатика»

Посимвольная обработка

Строку проходят циклом от 1 до length(s) и проверяют каждый символ. Так считают частоту буквы, ищут символ или собирают новую строку.

k := 0;
for i := 1 to length(s) do
  if s[i] = 'е' then k := k + 1;

Сколько раз «е» встречается в слове «переменная»?

  1. Выписываем по номерам: п(1) е(2) р(3) е(4) м(5) е(6) н(7) н(8) а(9) я(10).
  2. Совпадения на местах 2, 4, 6. Ответ: .

Пробелы и знаки препинания — тоже символы и входят в длину строки: length('да, нет') = 7. Буквы «е» и «ё», заглавные и строчные — разные символы.

Считая длину вручную, ставьте над буквами номера — так ни одна не потеряется.

Анализ алгоритма

Чтобы понять готовый алгоритм, его трассируют: выписывают значения всех переменных после каждого шага. Обратная задача — подобрать входные данные под нужный результат — решается так же, только рассуждение идёт от конца к началу.

s := 'кот'; t := '';
for i := 1 to length(s) do t := s[i] + t;
s[i]t
1кк
2оок
3тток

Каждый символ приписывается в начало — алгоритм переворачивает строку: «ток».

Если алгоритм выводит a mod 10, то по ответу 7 нельзя восстановить само число: подойдёт любое, оканчивающееся на 7.

Подсчёты в строке и обратные задачи

  • Различные буквы: вычёркиваем повторы. В «клавиатура» 10 символов, но «а» встречается три раза, поэтому различных букв . Длина равна числу различных букв, только если повторов нет («компьютер» — 9 и 9).
  • Гласные русского языка: а, е, ё, и, о, у, ы, э, ю, я. В «массив» гласные «а», «и» — 2.
  • Склейка строки с её копией удваивает длину: «оператор» (8) 16 символов.
  • Удаление всех букв «с» из «массив»: длина 6, букв «с» 2, остаётся .
  • Номер последнего символа равен длине строки, потому что нумерация начинается с 1. Если считать с нуля, номер последнего будет на 1 меньше длины.

Алгоритм выводит a div 10. Наименьшее , при котором выведется 7?

  1. div 10 отбрасывает последнюю цифру, значит — число вида : от 70 до 79.
  2. Наименьшее — .

Двузначных чисел с суммой цифр 1 — одно: 10 (первая цифра не может быть нулём).

Серия: 0
Учителю

Готовые работы по теме

Собраны заранее — одним нажатием: распечатать с ключом, раздать ученикам ссылкой или QR-кодом, поменять настройки. Номер набора постоянный: по этой ссылке всегда та же работа.

Самостоятельная

10 заданий · 2 варианта · с ключом

РаспечататьРаздать ссылкойИзменить

Контрольная

15 заданий · онлайн, 40 минут

РаспечататьРаздать ссылкойИзменить

Диагностика перед темой

8 заданий · 15 минут

РаспечататьРаздать ссылкойИзменить

теория этой темы, 8 заданий по подтемам и ключ — файлом DOCX, который можно править под себя.

Учителю о теме

Что проверяется

  • Строки и анализ алгоритмов

Содержание

На бумаге — не больше 25: дальше лист перестаёт быть работой на урок. Онлайн — до 40.

Не нравится задание в собранном листе — нажмите «заменить» под ним: вместо него встанет другое из той же подтемы.

Варианты

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

Прохождение онлайн

Имя ученика никуда не отправляется: он вводит только номер по списку, а таблицу «номер → фамилия» видите только вы.

Оценка
Печать

Собранный лист можно скачать файлом Word — кнопка «Скачать DOCX» над листом: задания, место под решение и ключ, всё редактируется.

Печатается над каждым вариантом. Хранится только в этом браузере, в ссылку не попадает.

По одному и тому же номеру собирается та же работа — ссылку можно сохранить и вернуться к ней позже.