10 класс Информатика ГДЗ учебник Поляков 2 часть Параграф 67

10 класс Информатика ГДЗ учебник Поляков 2 часть Параграф 67 Матрицы

Стр.254-255.

1. Матрицы — это прямоугольные таблицы, составленные из элементов одного типа (например, чисел или строк). Они используются для хранения и обработки данных, организованных в виде таблиц. Примеры применения матриц включают научные вычисления, компьютерную графику и обработку изображений.

2. Массив — это одномерная структура данных, состоящая из элементов одного типа, каждый из которых имеет один индекс. Матрица, напротив, является двумерной структурой данных, в которой каждый элемент имеет два индекса: номер строки и номер столбца. Матрицы можно рассматривать как массивы массивов.

3. Нет, принято считать, что первый индекс элемента матрицы обозначает номер строки, а второй — номер столбца. Это стандартный способ индексирования в большинстве языков программирования, включая Python.

4. Главная диагональ матрицы состоит из элементов, у которых номер строки равен номеру столбца (например, A[0][0], A[1][1], A[2][2] и так далее). Побочная диагональ состоит из элементов, у которых сумма номеров строки и столбца равна размеру матрицы минус один (например, A[0][n-1], A[1][n-2], A[2][n-3] и так далее).

5. Суммирование элементов главной диагонали можно выполнить с помощью одного цикла, так как индексы строки и столбца совпадают (A[i][i]). Для суммирования элементов под главной диагональю необходимо использовать вложенный цикл, так как нужно обойти все элементы, расположенные ниже главной диагонали, где индекс столбца меньше индекса строки (A[i][j] при j < i).

Проекты

а) Игра «Крестики-нолики»

Объяснение

  1. print_board(board): Функция для вывода текущего состояния игрового поля.
  2. check_winner(board, player): Функция для проверки, есть ли победитель. Проверяет строки, столбцы и диагонали.
  3. check_draw(board): Функция для проверки, есть ли ничья.
  4. tic_tac_toe(): Основная функция игры. Инициализирует игровое поле и управляет ходами игроков.
  5. if name == «main»: tic_tac_toe(): Запуск игры.

б) Игра «Морской бой»

Объяснение

  1. create_empty_board(): Создает пустое поле 5×5, заполненное символами «O».
  2. place_ships(board): Расставляет три корабля («S») на случайные позиции на поле.
  3. print_board(board, hide_ships=True): Выводит игровое поле на экран, скрывая корабли, если hide_ships=True.
  4. check_shot(board, row, col): Проверяет, попал ли выстрел в корабль, и обновляет состояние поля.
  5. battleship(): Основная функция игры, в которой игроки поочередно стреляют по полям друг друга до тех пор, пока один из них не попадет три раза.

в) Игра «Жизнь»

«Игра «Жизнь»» — это клеточный автомат, придуманный математиком Джоном Конвеем. Она моделирует эволюцию клеток на плоскости по заданным правилам.

Правила игры:

  1. Любая живая клетка с менее чем двумя живыми соседями умирает от одиночества.
  2. Любая живая клетка с двумя или тремя живыми соседями продолжает жить.
  3. Любая живая клетка с более чем тремя живыми соседями умирает от перенаселения.
  4. Любая мертвая клетка с точно тремя живыми соседями становится живой.

Объяснение

  1. create_board(rows, cols): Создает начальное поле заданного размера, заполняя его случайными живыми (1) и мертвыми (0) клетками.
  2. print_board(board): Выводит игровое поле на экран. Живые клетки обозначены символом ‘█’, мертвые клетки — пробелом.
  3. count_neighbors(board, row, col): Подсчитывает количество живых соседей для клетки в позиции (row, col).
  4. update_board(board): Обновляет состояние игрового поля на основе правил игры «Жизнь».
  5. game_of_life(rows, cols, generations): Основная функция, которая инициализирует игровое поле и запускает обновление поля в течение заданного числа поколений.

Этот код можно запустить на вашем компьютере, чтобы наблюдать за эволюцией клеточного автомата «Жизнь» в реальном времени.

г) Игра «Найди пару»

Игра «Найди пару» (или «Память») — это классическая игра, где игрок должен найти все пары одинаковых карточек на игровом поле.

Объяснение

  1. create_board(size): Создает игровое поле размером size x size, заполняя его парными символами и перемешивая их.
  2. print_board(board, revealed): Выводит игровое поле на экран. Если карта открыта (revealed=True), отображается ее символ, иначе отображается ‘*’.
  3. check_win(revealed): Проверяет, все ли карты были найдены (все ли элементы в revealed равны True).
  4. find_pair(): Основная функция игры, которая инициализирует игровое поле, обрабатывает ввод игрока и контролирует процесс игры.

Этот код можно запустить на вашем компьютере, чтобы играть в игру «Найди пару». Игрок вводит координаты двух карт, чтобы попытаться найти совпадающие пары. Игра продолжается до тех пор, пока все пары не будут найдены.

д) Игра «Тетрис»

Игра «Тетрис» — это популярная игра-головоломка, где игроки размещают падающие фигурки различной формы, чтобы заполнить горизонтальные линии на игровом поле. Когда линия полностью заполнена, она исчезает, и игрок получает очки.

Объяснение

  1. Настройки игры: Задает цвета для фигур и их формы.
  2. Класс Tetris:
    • __init__: Инициализирует поле, счет, состояние игры и текущую фигуру.
    • new_figure(): Создает новую фигуру и размещает ее наверху поля.
    • intersects(): Проверяет, пересекается ли текущая фигура с уже установленными фигурами на поле.
    • break_lines(): Удаляет заполненные линии и увеличивает счет.
    • go_space(): Падает фигура до самого низа.
    • freeze(): Устанавливает фигуру на поле и создает новую фигуру.
    • go_down(): Перемещает фигуру вниз.
    • go_side(dx): Перемещает фигуру влево или вправо.
    • rotate(): Поворачивает фигуру.
  3. Основной цикл игры:
    • Создает окно игры с помощью Pygame.
    • Обрабатывает события клавиатуры для управления фигурой.
    • Обновляет состояние игры и отрисовывает текущее состояние поля и фигур.

Этот код можно запустить на вашем компьютере, чтобы играть в игру «Тетрис». Игрок управляет падающими фигурами с помощью клавиш стрелок и пробела.

е) Программа для построения магических квадратов

Магический квадрат — это квадратная матрица размером n×nn \times n, в которой суммы чисел в каждом столбце, каждой строке и обеих диагоналях одинаковы.

Ниже приведен код на Python для построения магического квадрата нечетного порядка с использованием метода Сиама.

Объяснение

  1. create_magic_square(n): Функция для создания магического квадрата нечетного порядка.
    • Проверяет, что nn нечетное. Если nn четное, выбрасывает исключение.
    • Инициализирует пустой магический квадрат размером n×nn \times n.
    • Заполняет квадрат числами от 1 до n2n^2 по правилу Сиама:
      • Начинает с середины верхней строки.
      • Помещает текущее число в текущую ячейку.
      • Переходит в следующую ячейку по диагонали вверх вправо.
      • Если ячейка занята, переходит в ячейку сразу под текущей.
    • Повторяет, пока все числа не будут размещены.
  2. print_magic_square(magic_square): Функция для печати магического квадрата в читаемом виде.

Пример использования

Запустите программу и введите нечетное число для создания магического квадрата. Программа создаст и выведет магический квадрат.

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

ж) Программа для построения случайного лабиринта

Ниже приведен код на Python для построения случайного лабиринта с использованием алгоритма поиска в глубину (DFS).

Объяснение

  1. create_maze(width, height): Функция для создания случайного лабиринта.
    • Инициализирует лабиринт размером width×heightwidth \times height, заполняя его стенами («#»).
    • Использует алгоритм поиска в глубину (DFS) для создания путей:
      • Начинает с точки (1, 1).
      • Добавляет текущую точку в стек.
      • Пока стек не пуст, выбирает случайного соседа на два шага в любом направлении.
      • Если соседняя точка находится в пределах лабиринта и еще не посещена, удаляет стену между текущей и соседней точкой, перемещается в соседнюю точку и добавляет ее в стек.
      • Если у текущей точки нет непосещенных соседей, возвращается к предыдущей точке.
    • Создает вход и выход в лабиринт.
  2. print_maze(maze): Функция для печати лабиринта на экран.

Пример использования

Запустите программу и введите нечетные числа для ширины и высоты лабиринта. Программа создаст и распечатает случайный лабиринт.

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

 

65 66 67 68 69

Добавить комментарий