М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
taukebai2002
taukebai2002
29.08.2020 10:24 •  Информатика

Укажите все клетки шахматного поля, находящиеся под боем коня, заданного координатами на шахматном поле. в паскаль

👇
Ответ:
Sayva11
Sayva11
29.08.2020
// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!

type
  tField=(char,integer);

function GetNewField(oldfld:tField;x,y:integer;var newfld:tField):boolean;
begin
  Result:=true;
  var xo:=oldfld[0];
  case xo.ToLower of
  'a':
    case x of
    -2,-1:Result:=false;
    1:newfld:=(Succ(xo),0);
    2:newfld:=(Succ(Succ(xo)),0)
    end;
  'b':
    case x of
    -2:Result:=false;
    -1:newfld:=(Pred(xo),0);
    1:newfld:=(Succ(xo),0);
    2:newfld:=(Succ(Succ(xo)),0)
    end;
  'g':
    case x of
    -2:newfld:=(Pred(Pred(xo)),0);
    -1:newfld:=(Pred(xo),0);
    1:newfld:=(Succ(xo),0);
    2:Result:=false
    end;
  'h':
    case x of
    -2:newfld:=(Pred(Pred(xo)),0);
    -1:newfld:=(Pred(xo),0);
    1,2:Result:=false
    end;
  else
    case x of
    -2:newfld:=(Pred(Pred(xo)),0);
    -1:newfld:=(Pred(xo),0);
    1:newfld:=(Succ(xo),0);
    2:newfld:=(Succ(Succ(xo)),0)
    end
  end;
  if Result=true then begin
    var yo:=oldfld[1];
    case yo of
    1:
      case y of
      -2,-1:Result:=false;
      else newfld:=(newfld[0],yo+y);
      end;
    2:
      case y of
      -2:Result:=false;
      else newfld:=(newfld[0],yo+y);
      end;
    7:
      case y of
      -2,-1,1:newfld:=(newfld[0],yo+y);
      2:Result:=false
      end;
    8:
      case y of
      -2,-1:newfld:=(newfld[0],yo+y);
      1,2:Result:=false
      end
    else
      newfld:=(newfld[0],yo+y);
    end
  end
end;

begin
  var ax:=Arr(-2,-1,1,2);
  var ay:=ax;
  var s:=ReadlnString('Укажите клетку, на которой стоит конь');
  var f1,f2:tField;
  f1:=(s[1],s[2].ToDigit);
  foreach var x in ax do
    foreach var y in ay do
      if abs(x)+abs(y)=3 then
        if GetNewField(f1,x,y,f2) then Print(f2[0]+f2[1]);
  Writeln
end.

Примеры
Укажите клетку, на которой стоит конь b1
a3 c3 d2

Укажите клетку, на которой стоит конь C5
A4 A6 B3 B7 D3 D7 E4 E6

Укажите все клетки шахматного поля, находящиеся под боем коня, заданного координатами на шахматном п
4,6(6 оценок)
Открыть все ответы
Ответ:

План характеристики химического элемента

по его положению в периодической таблице элементов

1. Название химического элемента. Химический знак этого элемента.

2. Положение в периодической таблице (порядковый номер, номер периода (малый, большой), номер группы.

3. Металл или неметалл.

4. Высшая валентность в кислородных соединениях, формулы высшего оксида, соответствующего гидроксида или кислоты, характер их свойств.

5. Валентность в водородном соединении, формула летучего водородного соединения (для неметаллов).

В ответе ставим только номера пунктов плана.

4,8(8 оценок)
Ответ:
zarugeos
zarugeos
29.08.2020

1.Из условия задачи «Для кодирования секретного сообщения используются 12
специальных значков-символов. При этом символы кодируются одним и тем же минимально возможным количеством бит. следует, что для кодирования используется алфавит, мощность которого равна N=12 (все символы алфавита равнозначны). Тогда информационный вес символов одинаков и вычисляется по формуле Хартли i=log212=4 бита. Тогда информационный объем сообщения, согласно алфавитному подходу, измеряется по формуле V=i*k. Значение i мы уже нашли, а k по условию задачи равно 256.
Получаем: V=4 (бита)×256 (символов) =1024 (бита) = 128 (байта).

2.всего используется 26 букв + 10 цифр = 36 символов для кодирования 36 вариантов необходимо использовать 6 бит, так как 2^5=32<36<2^6=64, т.е. пяти бит не хватит (они позволяют кодировать только 32 варианта), а шести уже достаточно таким образом, на каждый символ нужно 6 бит (минимально возможное количество бит).
полный номер содержит 7 символов, каждый по 6 бит, поэтому на номер требуется 6 x 7 = 42 бита.
По условию каждый номер кодируется целым числом байт (в каждом байте – 8 бит), поэтому требуется 6 байт на номер (5x8=40<42<6x8=48), пяти байтов не хватает, а шесть – минимально возможное количество на 20 номеров нужно выделить 20x6=120 байт.
ответ: 120 байт.

3. Всего клеток 8х8 = 64. Для кодирования 1 клетки необходимо 6 бит (2^6=64). В записи решения будет описано 12 клеток (11 ходов+начальная позиция). Объем информации записи 12х6 = 72 бита = 72:8 = 9 байт.
ответ: 9 байт.

4. 76 символов = 76 байт, 76 байт * 8 = 608 бит.
ответ: 608 бит.

5. на один символ было 16 бит, стало 8, таким образом:
8x=16x-240, отсюда:
x=30 символов

6. 4096 = 1024⋅4, 16 бит = 2 байта, 8 бит = 1 байт
Было в Unicode: 212 * 2 = 213 байт
Стало в Windows-1251: 212 байт.

Объём файла уменьшился на 213 байт - 212 байт = 212 байт = 4 Кбайта

ответ: 4.

4,4(95 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ