Необходимо выполнить два задания на языке Pascal в среде разработки Lazarus. Задания должны основываться на приведенных кодах из учебника. Так, например, в учебнике есть пример алгоритма генерации перестановок ферзей на шахматной доске, в задании же необходимо переделать данный код под ладей.
1. Алгоритм (процедура) генерации всех таких перестановок ладей на шахматной доске (n x n), чтобы они не «били» друг друга. (Ладьи бьют по вертикалям и горизонталям). Вызов из программы. Доказательство правильности (инвариант), трудоемкости, глубины рекурсии.
2. Написать программу, которая: 1) вводит n, 2) вводит n чисел и методом вставки формирует из них упорядоченный список, 3) вводит число M, 4) ищет элемент в списке, равный M дихотомическим поиском, 5) выводит результат поиска.