yanameleshko2016
23.04.2021 06:59

информатика 8 класс задание 11 параграф 1.1


информатика 8 класс задание 11 параграф 1.1

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Anna888Anna1
26.06.2022 11:28
Это код консольного приложения

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils, Windows;

function storona(x1,y1,x2,y2: real): real;
var s: real;
begin
  s:=sqrt(sqr(x1-x2)+sqr(y1-y2));
  storona:=s;
end;

var
  x1,y1,x2,y2,x3,y3: real;
  l1,l2,l3: real;
begin
  //Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  //Если после переключения русские буквы показываются неверно,
  //следует открыть системное меню консольного окна - щелчком мыши в левом
  //верхнем углу окна консоли и выбрать:
  //Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  write('Введите координаты точки А: ');
  readln(x1,y1);
  write('Введите координаты точки B: ');
  readln(x2,y2);
  write('Введите координаты точки C: ');
  readln(x3,y3);
  l1:=storona(x1,y1,x2,y2);
  l2:=storona(x2,y2,x3,y3);
  l3:=storona(x1,y1,x3,y3);
  if (l1>l2)and(l1>l3) then
  begin
    writeln('Периметр прямоугольника = ',(l2+l3)*2:6:2);
    writeln('Площадь прямоугольника = ',l2*l3:6:2)
  end;
    if (l2>l1)and(l2>l3) then
  begin
    writeln('Периметр прямоугольника = ',(l1+l3)*2:6:2);
    writeln('Площадь прямоугольника = ',l1*l3:6:2)
  end;
    if (l3>l1)and(l3>l2) then
  begin
    writeln('Периметр прямоугольника = ',(l1+l2)*2:6:2);
    writeln('Площадь прямоугольника = ',l1*l2:6:2)
  end;
  readln;
end.
0,0(0 оценок)
Ответ:
yakormnevzad
27.09.2022 09:15
                                     PascalABC.NET                                       function ToBinary (x:integer):string; beginif (x>0) then ToBinary := ToBinary(x div 2) + (x mod 2).ToString;end; function FromBinary (x:string):integer; beginif (x.Length>0) then FromBinary := FromBinary(x.Substring(1)) + x[1].ToDigit*Round(Power(2,x.Length-1));end; function func (x:integer):integer; beginvar s := ToBinary(x); loop 2 do s += s.AsEnumerable.Sum(c->c.ToDigit) mod 2; func:=FromBinary(s);end; begin Println('f(N):',func(ReadInteger('N:'))); Println('Количество:',(1..160).Count(x->func(x) in 90..160)); end.

Примечание:

Если к числу в двоичной системе счисления приписывать в конец цифры, то число увеличивается и никак не может уменьшится. Поэтому, n<f(n). Следовательно, перебор различных чисел, принадлежащих отрезку [90;160], можно смело ставить до 160 (можно и меньше, но лень расписывать вычисления).

ToBinary - функция перевода числа из десятичной СС в двоичную. Можно писать любой алгоритм, необязательно в точности использовать мой.

FromBinary - функция перевода числа из двоичной СС в десятичную. Можно писать любой алгоритм, необязательно в точности использовать мой.

func - функция, которая выполняет преобразования числа согласно условию (пункты 1, 2, 3, 4).

Код кажется большим только из-за процедур и begin/endов. Без них - всего то 7 строчек :). В скринах можно проверить, действительно ли 19 (40-22+1).

Пример работы:


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