Выполните задание, На бесконечном столе ссть горизонтальная и вертикальная стены. Правый конец горизонталь- ной стены соединен с нижним концом вертикаль- ной стены. Длины стен неизвестны, в каждой стене есть ровно один проход, точное место про- хода и его ширина нагзвестны. Робот находится в клетке, расположенной непосредственно слева от вертикальной стены у её нижнего конца. На pot- сунке указан один из возможных распо- пожження стен и Робота (Робот обозначся буквой «Р»). Напишите для Робота алгоритм, закрашивающий псе клетки, распологатенныс непосредственно выше и горизонтальной стены н левее вертикальной стены. Проходы должны остаться незакрашеннъом. Робот доласен закрасить только клетки, удовлетворяющие данному условию. Например, для приведенного выше рисунка Робот должен закрасить следующие клетки (ом, рисунок). При исполнении алгоритма Робот не должҫн разрушиться, выполненне горитма должно завершитьса. Конечное расположение Робота может быть произвольным. Алгоритм должен решать зада- чу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен. Алгоритм может быть выполнен в среде формального інстиоттеля или записан в текстовом редакторе. Сохраните алгоритм в текстовог фоайте.
Именно с шапки начинается любой скрипт. Блок шапка — это некое событие (например щелчок по зелёному флагу), которое вызвано взаимодействием пользователя с программой. Они скруглены сверху и имеют выступ снизу для прикрепления других блоков. Существуют 7 блоков шапок, 6 из которых в категории события, 1 в категории управления.
Обычный блок
Форма обычного блока
Обычные блоки – это блоки команд. Они прикрепляются сверху выступом и прикрепляют снизу выступом вовнутрь, то есть остальные блоки могут быть помещены как сверху, так и снизу обычных блоков. Всего насчитывают 71 такой блок – это самая большая категория блоков.
Логический блок
Форма логического блока
Логические блоки – это условия, определяющие правильно или ложно заданное условие. Спроси своего друга «2 умножить на 2 будет 4?» и попроси его ответить только «Да» или «Нет». Твой друг станет этаким логическим блоком. Они имеют форму шестиугольника и всего насчитывается 12 таких блоков.
Репортёр
Форма блоков репортёров
Блоки репортёры дают какие-либо значения. Они могут быть как числами, так и строками. Например, спроси друга: "Сколько будет 2 + 2?". Он ответит "4". Твой друг станет этаким репортёром. Кстати, репортёрами могут быть и переменные. Форма репортёров – закруглённые прямоугольники. Всего насчитывают 30 таких блоков, не считая репортёров переменных и списков.
Обвивающий блок
Форма обвивающего блока
Обвивающие блоки – это блоки повторения или блоки условий. Их насчитывают всего 5 и их можно найти во вкладке "Управление". Имеют выступ вовнутрь сверху и простой выступ внутри и снаружи.
Закрывающий блок
Форма закрывающего блока
Закрывающие блоки заканчивают скрипт или все процессы. Имеют выступ вовнутрь сверху и не могут иметь прикреплённых блоков снизу. Всего существует 2 закрывающих блока, и оба находятся во вкладке "Контроль".
https://imgur.com/a/zEYf69b (или скриншот, если не откроется ссылка)
Ваша программа:
1) Вы считываете все в одну строку, что не соответствует главному условию задачи: в файле даны строки, а не одна строка. На скриншоте приведено верное написание: пишем цикл for s in file.readlines(), так мы обозначим, что строк больше одной.
2) Для подсчета количества букв логично использовать встроенный метод str.count(''), однако если вы решили обойти это и использовать специальные переменные для подсчета (такой вариант решения возможен, хотя и менее эффективен с точки зрения написания кода), верное решение таким путем приведено на скриншоте №2
2.1) В программе №2 необходимо не забывать обнулять переменные
после каждого цикла, как это указано на скриншоте №2
Шапка
Форма блока шапки
Именно с шапки начинается любой скрипт. Блок шапка — это некое событие (например щелчок по зелёному флагу), которое вызвано взаимодействием пользователя с программой. Они скруглены сверху и имеют выступ снизу для прикрепления других блоков. Существуют 7 блоков шапок, 6 из которых в категории события, 1 в категории управления.
Обычный блок
Форма обычного блока
Обычные блоки – это блоки команд. Они прикрепляются сверху выступом и прикрепляют снизу выступом вовнутрь, то есть остальные блоки могут быть помещены как сверху, так и снизу обычных блоков. Всего насчитывают 71 такой блок – это самая большая категория блоков.
Логический блок
Форма логического блока
Логические блоки – это условия, определяющие правильно или ложно заданное условие. Спроси своего друга «2 умножить на 2 будет 4?» и попроси его ответить только «Да» или «Нет». Твой друг станет этаким логическим блоком. Они имеют форму шестиугольника и всего насчитывается 12 таких блоков.
Репортёр
Форма блоков репортёров
Блоки репортёры дают какие-либо значения. Они могут быть как числами, так и строками. Например, спроси друга: "Сколько будет 2 + 2?". Он ответит "4". Твой друг станет этаким репортёром. Кстати, репортёрами могут быть и переменные. Форма репортёров – закруглённые прямоугольники. Всего насчитывают 30 таких блоков, не считая репортёров переменных и списков.
Обвивающий блок
Форма обвивающего блока
Обвивающие блоки – это блоки повторения или блоки условий. Их насчитывают всего 5 и их можно найти во вкладке "Управление". Имеют выступ вовнутрь сверху и простой выступ внутри и снаружи.
Закрывающий блок
Форма закрывающего блока
Закрывающие блоки заканчивают скрипт или все процессы. Имеют выступ вовнутрь сверху и не могут иметь прикреплённых блоков снизу. Всего существует 2 закрывающих блока, и оба находятся во вкладке "Контроль".
Категории блоков
Объяснение:
Программа на Python приведена ниже
Объяснение:
https://imgur.com/a/zEYf69b (или скриншот, если не откроется ссылка)
Ваша программа:
1) Вы считываете все в одну строку, что не соответствует главному условию задачи: в файле даны строки, а не одна строка. На скриншоте приведено верное написание: пишем цикл for s in file.readlines(), так мы обозначим, что строк больше одной.
2) Для подсчета количества букв логично использовать встроенный метод str.count(''), однако если вы решили обойти это и использовать специальные переменные для подсчета (такой вариант решения возможен, хотя и менее эффективен с точки зрения написания кода), верное решение таким путем приведено на скриншоте №2
2.1) В программе №2 необходимо не забывать обнулять переменные
после каждого цикла, как это указано на скриншоте №2