Задать вопрос
21 декабря, 00:35

1. Заполнить магический квадрат (25,8,11,14,17,20,23,26), составить свой магический квадрат.

2. Придумать алгоритм-фокус.

3. Решить алгоритм Гаусса (4,5,6,7,8,9,10,11,12,13)

+5
Ответы (1)
  1. 21 декабря, 01:10
    0
    Магический квадрат с n сторон

    const

    mn = 16;

    var

    p: Boolean;

    procedure Swap (var a, b: Integer) ;

    var

    T: Integer;

    begin

    T : = a; a : = b; b : = T

    end;

    procedure CreateMagic (n: Integer) ;

    var

    i, j, k, s, b, r, m: Integer;

    a: Array[1 ... mn, 1 ... mn] Of Integer;

    begin

    p : = True;

    if Odd (n) Then

    begin

    i : = 1; j : = Succ (n div 2) ;

    for k : = 1 To Sqr (n) do

    begin

    a[i, j] : = k;

    if k mod n = 0 Then Inc (i)

    Else

    begin

    Dec (i) ; Inc (j) ;

    if i = 0 Then i : = n;

    if j > n Then j : = 1

    end

    end;

    end

    Else

    if n mod 4 = 0 Then

    begin

    k : = 1;

    for i : = 1 To n Do

    for j : = 1 To n Do

    begin

    a[i, j] : = k; Inc (k)

    end;

    j : = 2; m : = n div 2;

    for i : = 1 To m Do

    for k : = 1 To m Div 2 Do

    begin

    if j = Succ (m) Then j : = 2

    Else

    if j = (m + 2) Then j : = 1;

    s : = Succ (n - i) ; b : = Succ (n - j) ;

    Swap (a[i, j], a[s, b]) ;

    Swap (a[i, b], a[s, j]) ;

    Inc (j, 2)

    end

    end

    Else

    if n 2 Then

    begin

    k : = 1;

    for i : = 1 To n Do

    for j : = 1 To n Do

    begin

    a[i, j] : = k; Inc (k)

    end;

    r : = Pred (n div 2) div 2; m : = n div 2;

    for i : = 1 To m Do

    begin

    j : = i;

    for k : = 1 To r Do

    begin

    if j > m Then j : = 1;

    s : = Succ (n - i) ; b : = Succ (n - j) ;

    Swap (a[i, j], a[s, b]) ;

    Swap (a[i, b], a[s, j]) ;

    Inc (j)

    end

    end;

    i : = 1;

    for k : = 1 To m Do

    begin

    if j > m Then j : = 1;

    s : = Succ (n - i) ;

    Swap (a[i, j], a[s, j]) ;

    Inc (i) ; Inc (j)

    end;

    i : = 1; j : = r + 2;

    for k : = 1 To m Do

    begin

    if j > m Then j : = 1;

    b : = Succ (n - j) ;

    Swap (a[i, j], a[i, b]) ;

    Inc (i) ; Inc (j)

    end

    end

    Else p : = False;

    if p Then

    begin

    for i : = 1 To n Do

    begin

    for j : = 1 To n Do

    Write (a[i, j]: 4) ;

    WriteLn

    end

    end

    Else

    WriteLn ('do not exists')

    end;

    var

    n: Integer;

    begin

    WriteLn ('n = ') ; ReadLn (n) ;

    CreateMagic (n) ;

    end.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «1. Заполнить магический квадрат (25,8,11,14,17,20,23,26), составить свой магический квадрат. 2. Придумать алгоритм-фокус. 3. Решить ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Умоляю помогите, мне нужно составить Алгоритм своего имени, зовут меня Нурлан Мне необходимо составить алгоритм каждой буквы: н, у, р, л, а, н Примерно алгоритм выглядит вот так - Поднять перо. Сместиться в точку. Опустить перо. Сместиться на вектор.
Ответы (1)
исключи из предложенных сочетаний слов те, которые невозможны в информатике: 1) линейный алгоритм 2) прямой алгоритм 3) циклический алгоритм 4) разветвляющийся алгоритм
Ответы (2)
Алгоритм выполнения домашнего задания. Алгоритм рецепта приготовления пирога. Алгоритм мытья посуды. Алгоритм путешествия Колобка в известной сказке. Оформление.
Ответы (1)
Какой алгоритм называется линейным? А. Алгоритм, в котором имеется ввод данных, вычисления и вывод результатов. Б. Алгоритм, в котором для получения результатов последовательно выполняются все операторы по одному разу В.
Ответы (1)
Если данное предложение представить в виде алгоритма то это будет: Если сделаешь уроки, то можешь пойти в кино, иначе сиди дома. А) Линейный алгоритм В) Алгоритм с ветвлением С) Комбинированный алгоритм D) Алгоритм с циклом
Ответы (1)