Задание 12
Алгоритм ветвление
Блок-схема разветвляющегося алгоритма выглядит следующим образом:

Что в словесной форме будет звучать так:
- ввод
aиb; - если
aбольшеb, то переменнойmaxприсваиваем значениеa, иначе переменнойmaxприсваиваем значениеb; - вывод
max.
Реализуем это в Паскале:

Ветвление бывает неполное, в таком случае отсутствует блок «иначе»:

На Паскале:

О сложных условиях в Паскале можно прочитать здесь.
Познакомиться с оператором выбора.
Цикл со счетчиком (с переменной)
Рассмотрим блок-схему работы цикла со счетчиком (счетчик считает, сколько раз выполнилось тело цикла):

Что словесно будет означать следующее:
iравно0;- если
iравно5, то заканчиваем программу, иначе выводим на экран слово Привет и увеличиваемiна единицу; - возвращаемся к проверке
i(к предыдущему пункту).
На языке Паскаль цикл со счетчиком выглядит так:

Если в теле цикла более одного оператора:

Бывает так, что в программе удобней счетчик отсчитывать обратно:

Цикл с предусловием
Рассмотрим блок-схему цикла с предусловием:

Данный алгоритм подсчитывает количество цифр в числе:
- вводится число
n cприсваивается0(т.е. обнуляем счетчик)- пока
nне равно0выполняем: - увеличиваем
cна единицу - делим целочисленно
nна10иnприсваиваем получившееся значение - выводим значение
c - конец
Теперь рассмотрим этот алгоритм в Паскале:

Подробнее узнать о цикле с предусловием можно по ссылке.
Цикл с постусловием
Рассмотрим блок-схему:

Что дословно означает:
- вводится
n - если
nбольше0то продолжаем программу, иначе возвращаемся к предыдущему пункту (вводn)
В Паскале:

Подробнее узнать о цикле с постусловием можно по ссылке.
Решение заданий 12 ЕГЭ по информатике
Плейлист видеоразборов задания на YouTube:
Задание демонстрационного варианта 2022 года ФИПИ
Исполнитель Редактор и цепочки символов
Учимся по видео (решения разного типа программным способом):
YouTube здесьКакая строка получится?
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах
v и w обозначают цепочки цифр.А) заменить (v, w)
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w.
Б) нашлось (v)
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка при этом не изменяется.
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 40 идущих подряд цифр 123? В ответе запишите полученную строку.
НАЧАЛО ПОКА нашлось (12) ИЛИ нашлось (333) ЕСЛИ нашлось (12) ТО заменить (12, 3) ИНАЧЕ заменить (333, 3) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
- Рассмотрим алгоритм: редактор будет выполнять команды только тогда, когда в строке встречается цепочка «12» или цепочка «333»;
- если в строке есть «12», то тогда эта цепочка заменяется на «3»;
- если в строке нет цепочки «12», но есть «333», то цепочка «333» заменяется на «3».
- Теперь вернемся к условию нашей задачи. Условие цикла истинно, соответственно выполняем блок ЕСЛИ, т.е. делаем замену: в каждом из 40 чисел ‘123‘, заменяем 12 на 3. Получим 40 + 40 = 80 троек (40 троек было изначально и 40 добавилось);
123123123...123 ↓ ↓ ↓ ↓ 3 33 33 3...3 3
333 333 333 333... 333 33 26 троек по три получили: 3 3 3 3 ... 3 33 26 + 2
333 333 333 333... 333 3 9 троек по три + 1 получили: 3 3 3 3 ... 3 3 9 + 1
333 333 333 3 3 тройки по три + 1 получили: 3 3 3 3
3 3 3 3 ↓ 3 3
Результат: 33
✎ Решение 2. Программное:
Pascalabc.net:
| Pascal (традиционный): | Python: |
| С++: | |
Результат: 33
Комментарии
Отправить комментарий