В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
said97
said97
12.03.2022 03:52 •  Информатика

дано исходное положение исполнителя Нижний правый угол направлении вверх программа для исполнителя в пока впереди не край повторять начало цикла прыжок поворот прыжок поворот поворот поворот конец цикла Определите где будет находиться исполнитель После выполнения данной программы​

Показать ответ
Ответ:
iskevuchp091sn
iskevuchp091sn
01.09.2022 03:40
# # Код на ruby 2.2.3p173
def LineUpArraySize(num)
    cur_size = 4
    while num > cur_size
        cur_size = 2 * cur_size + 8
    end
    cur_size = 2 * cur_size + 8
end

def getSpiralNeighbours(num)
    a = []
    a[0] = [0, 0]
    a[1] = [-1, 1]
    moves = [[1, 0], [0, -1], [-1, 0], [0, 1]]
    move_direction = 0
    side_size = 2
    cur_size = 1
    cycle = 1
    mode_direction = 0
    for i in 2..LineUpArraySize(num)
        new_num = Array.new(2)
        new_num[0] = a.last[0] + moves[move_direction][0]
        new_num[1] = a.last[1] + moves[move_direction][1]
        a[i] = new_num
        # p new_num
        cur_size += 1

        if cur_size == side_size
            cur_size = 1
            move_direction = (move_direction + 1) % 4
            side_size += 1 if move_direction % 2 == 0
            cycle += 1 if move_direction == 0
        end
    end

    a.each_with_index do |i,x|
        p [x, i] if (i[0]-a[num][0]).abs <= 1 and  (i[1]-a[num][1]).abs <= 1
    end
end

getSpiralNeighbours(1090)

Вывод (числа и условные координаты)
[962, [15, 16]]
[1089, [15, 17]]
[1090, [16, 17]]
[1091, [16, 16]]
[1224, [15, 18]]
[1225, [16, 18]]
[1226, [17, 18]]
[1227, [17, 17]]
[1228, [17, 16]]
0,0(0 оценок)
Ответ:
mada4653
mada4653
19.06.2020 20:14

У меня определены две функции: y = 5 + 2x и tabulate. Функция tabulate принимает функцию, концы отрезка и количество точек, в которых нужно вычислить значение. Внутри этой функции в цикле вычисляется и выводится значение функции, на каждой итерации к текущему значению аргумента прибавляется (b - a)/n.

Программа (python 3.6):

def y(x):

   return 5 + 2 * x

def tabulate(f, a, b, n):

   h = (b - a)/n

   while a <= b:

       print(f"{a:7.4f} {f(a):7.4f}")

       a += h

tabulate(y, 1., 10., 9)

Вывод:

1.0000  7.0000

2.0000  9.0000

3.0000 11.0000

4.0000 13.0000

5.0000 15.0000

6.0000 17.0000

7.0000 19.0000

8.0000 21.0000

9.0000 23.0000

10.0000 25.0000

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