Ksenya356
05.10.2022 10:40

Дан двумерный массив (10 на 10 клеток) который представляет из себя лабиринт. Дано:

1. есть робот (обозначьте его в массиве каким угодно числом отличным от 0 и 1);

2. у этого робота есть несколько команд: идти на одну ячейку вперед, поворот направо,

поворот налево и сканировать ячейку спереди.

Задача: составить программу которая выводила-бы робота из лабиринта без участия пользователя (в автоматическом режиме). Начальные координаты робота задаются случайными числами от 2 до 6, начальное направление робота задается также случайными числами от 1 до 4 (где: 1-вверх, 2-вправо, 3-вниз, 4-влево), при этом надо учитывать что-бы робот не появился в стене.

Использовать только уже имеющиеся знания.


Дан двумерный массив (10 на 10 клеток) который представляет из себя лабиринт. Дано:1. есть робот (об

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Whitestar123
17.05.2020 20:40

Удивлен что ещё проходит обучение по 2 версии питона. Скажи преподу чтобы на 3 переходил ;)

1) Python - Питон

print - Распечатать (Вывод на экран)

2) print "Привет, Вася!"

==1 задачка==

Входные данные мы задаём в коде, либо в ходе выполнения кода:

1)a = 2

b = 3

2)a = int(input("Ввод:")

b = int(input("Ввод:")

Я бы взял первый вариант.

Сложив 2 и 3,получим 5

"""Код"""

a = 2

b = 3

c = a+b

print(c) #Получим 5

Вопросы к заданию:

Типы входных данных:

В двух вариантах он будет один - int (тобишь числовой)

Входных значений у нашего алгоритма всего лишь два.

Третье значение, C, вычисляется уже исходя из предоставленных нами данных.

Результат так же относится к числовому типу int.

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

(не особо понял какие стрелки)

==2 задачка==

Не знаю, эстетично ли это со стороны программистов, но я бы сделал так.

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

Можно разнообразить наш код, добавив обычный модуль рандомизации, для того чтобы скорость автомобиля не всегда была равна n-числу

В коде будут все комментарии, не запутаешься)

Просто вставь код ниже в свой текстовый редактор.

""Код""

import random #Для будущей рандомизации

import time #Для использования задержки времени.

clear = "/n"*500 #Переменная для очистки консоли, с неё наш Навигатор будет красивее

total = 0 #В этой переменной у нас будут храниться данные об пройденном пути

counter = 0 #В этой переменной у нас будет пройденное время.

speed = int(input("Введите скорость вашего автомобиля:") #В этой переменной мы спрашиваем пользователя об скорости его авто. Понадобиться чтобы сделать в будущем разброс.

while True: #Запускаем бесконечный цикл.

counter = counter + 1

speed_up = random.uniform(speed, speed+5) #Появились вопросы не так ли? Итак, эта функция позволяет нам рандомизировать нашу скорость. Приведу краткий пример random.uniform(1,5), эта функция, выдаст нам рандомное число в диапазоне от 1 до 5

to_total = speed_up / 60 / 60

total = to_total + total

print(clear) #очистка консоли

print("Скорость автомобиля - " + str(speed_up) + "/nПройденный путь - " + str(total) + " м./nПройденное время - " + str(counter)

""Конец кода""

ответы на вопросы:

Входные данные относятся к числовому типу данных.

3 входных значерия, не считая переменной для очистки, она у нас используется для украшения выводимой информации, чтобы все не было докучи.

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

Результатов в моем алгоритме - будет бесконечно. Пока юзер не закроет консоль.

===Информация от меня===

Если возникли какие то проблемы по питону, пиши мне в телеграм - @imogokuru

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

0,0(0 оценок)
Ответ:
SemyaTanya
17.10.2022 01:43
В шестеричной системе алфавит состоит из цифр 0,1,...5.
Четырехразрядное число по условиям задания (1) и (2) имеет вид aabb,
где a=1,2,...5, b=0,1,...5.
В развернутой записи число имеет вид
a×6³+a×6²+b×6+b×1 = 6²×a(6+1)+b(6+1) = 7(36a+b)
При этом по условию (3) можно записать, что k² = 7(36a+b)
Чтобы число 7(36a+b) было полным квадратом, 36a+b должно быть кратно 7, а остаток от деления (36a+b) на 7 также должен быть полным квадратом.
Получаем, что 36a+b = 7m²
Минимальное значение 36a+b равно 36×1+0 = 36, следовательно m>2 (при m=2 получим 7×4=28, что меньше 36).
При m=3 получаем 36a+b = 63 и при a∈[1;5], b∉[0;5] решений нет.
При m=4 получаем 36a+b = 112 и находим a=3, b=4 - есть решение!
При m=5 получаем 36a+b = 175 и при a∈[1;5], b∉[0;5] решений нет.
При m=6 получаем 36a+b = 175 и получаем, что a=7, а это недопустимо. Дальше смысла проверять нет.
Итак, a=3, b=4, число 3344₆ = 7×(36×3+4) = 784₁₀ = 28²

ответ: 3344
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота