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

На заводе по производству кирпичей установили автоматическую линию. Главной задачей линии является сортировка по весу некоторого поддона с кирпичами. Вес кирпича варьируется от 1 до 9 кг. Количество кирпичей в линии - 7. Кирпичи лежат в лотках, робот проверяет их последовательно одно за другим, проходя от первого до последнего лотка. Робот может менять местами только соседние кирпичи. Если левый кирпич больше правого, они меняются местами. После прохождения всей линии до последнего кирпича, робот возвращается к первому кирпичу и начинает сравнение заново, переставляя, если нужно, соседние кирпичи до предпоследнего и так далее. Таким образом, при многократном возврате линия становиться отсортированной по возрастанию веса кирпичей. Например, веса кирпичей в исходном порядке: 8 1 2 4 5 3 5 Первое прохождение до последнего кирпича: 1 8 2 4 5 3 5 / 1 2 8 4 5 3 5 / 1 2 4 8 5 3 5 / 1 2 4 5 8 3 5 / 1 2 4 5 3 8 5 / 1 2 4 5 3 5 8 . (6 замен) Второе прохождение до 6-го кирпича: 1 2 4 3 5 5 8 (1 замена) Третье прохождение до 5-го кирпича: 1 2 3 4 5 5 8 (1 замена). Всего произошло 8 замен. Какое количество замен произведет робот для сортировки линии кирпичей со следующим порядком весов: 6 2 1 5 8 9 1?

👇
Открыть все ответы
Ответ:
evamakuh
evamakuh
24.03.2023

Program ToDec;

Uses crt;
var s:string;
n,l,i:integer;

 

function Pow(x,y:integer):integer;
begin
     if y>0 then Pow:=Pow(x,y-1)*x
               else Pow:=1;
end;

function ToDec(A : string) : integer;
var L : Byte;
begin
      if A = '' then ToDec := 0
                else begin
                              L := length(A);
                               case A[1] of
                                     '0' : ToDec := ToDec(Copy(A, 2, L - 1));
                                     '1' : ToDec := Pow(2, L - 1) + ToDec(Copy(A, 2, L - 1));
                                end;
     end;
end;

begin
     clrscr;
     write('Введите двоичное число: ');
     readln(s);
      writeln('Это число в десятичной системе : ', ToDec(S));
 readkey;
end.

 

 

 

4,5(60 оценок)
Ответ:
55brb
55brb
24.03.2023
Program Vby_1;
uses crt;
var a,b,c:real;
begin
  writeln('***   Alphaues is thinking...   ***');
  writeln('Ok, введите катеты: ');
  write('a= ');readln(a);
  write('b= ');readln(b);
  writeln('Периметр прямоугольного треугольника = ',a+b+sqrt(a*a+b*b):8:2);
end.

Program Vby_2;
uses crt;
var a,b,h,t:real;
begin
  writeln('***   Alphaues is thinking...   ***');
  writeln('Ok, введите данные: ');
  write('Одно основание = ');readln(a);
  write('Другое основание = ');readln(b);
  write('Высота = ');readln(h);
  t:=abs(a-b)/2;
writeln('Периметр трапеции =',a+b+sqrt(h*h+t*t):8:2);
end.

Program Vby_3;
uses crt;
var s:integer;
begin
  writeln('***   Alphaues is thinking...   ***');
  write('Ok, введите расстояние в сантиметрах: '); readln(s);
  write('Число полных метров = ',s div 100);
end.
4,5(75 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ