мага092
22.01.2020 07:53

Запишите для исполнителя Шестиклассник алгоритм сложения дробей a/b и c/d. Выполните алгоритм для дробей 13/27 и очень нужно!
(/ - черта дроби, если что)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
мирали3
01.02.2021 14:58

рисунки кодируются с следующих команд:

установить х, у — установить в качестве текущей точку с координатами (х, у);

линия к х1, у1 — нарисовать линию от текущей точки до точки с координатами (х, у), при этом точка (х1, у1) становится текущей;

окружность х, у — нарисовать окружность с центром в точке (x, у) и радиусом ;

прямоугольник х1, у1, х2, у2 — нарисовать прямоугольник, где (x1, у1) — координаты левого верхнего, а (х2, у2) — правого нижнего угла этого прямоугольника.

по имеющимся описаниям восстановите рисунки.

описание

установить 60, 20

линия к 20, 60

линия к 180, 60

линия к 140, 20

линия к 60, 20

прямоугольник 60, 80, 100, 60

прямоугольник 100, 120, 150, 60

окружность 140, 40, 10

описание

установить 20, 50 линия к 40, 70 линия к 50, 70 линия к 90, 110 линия к 120, 120 линия к 110, 90 линия к 70, 50 линия к 70, 40 линия к 50, 20 линия к 50, 40 линия к 40, 50 линия к 20, 50 окружность 80, 80, 10 окружность 100, 100, 10

описание

установить 20, 80 линия к 65, 110 линия к 110, 80 линия к 20, 80 прямоугольник 20, 30, 110, 10 прямоугольник 30, 80, 40, 30 прямоугольник 50, 80, 60, 30 прямоугольник 70, 80, 80, 30 прямоугольник 90, 80, 100, 30

описание

установить 30, 40 линия к 40, 10 линия к 60, 10 линия к 70, 40 прямоугольник 20, 50, 80, 40 установить 50, 50 линия к 50, 80 окружность 40, 80, 10 окружность 60, 80, 10 окружность 30, 100, 10 окружность 50, 100, 10 окружность 70, 100, 10 окружность 40, 120, 10 окружность 60, 120, 10

0,0(0 оценок)
Ответ:
fnnifnnr
02.04.2023 11:36
Непростая задача...

const
  n = 16;

type
  R = record
    v: integer;
    p: integer
  end;
  mR = array[1..n] of R;

function SummOfDigits(n: integer): integer;
{ Сумма цифр в трехзначном числе }
begin
  SummOfDigits := (n div 100) + ((n mod 100) div 10) + (n mod 10)
end;

procedure Swp(var a, b: R);
{ Меняет местами элементы a и b }
var
  t: R;
begin
  t.v := a.v; t.p := a.p;
  a.v := b.v; a.p := b.p;
  b.v := t.v; b.p := t.p
end;

procedure Shell(var a: mR; n: integer);
{ сортировка методом Шелла }
var
  i, j, step: integer;

begin
  step := n div 2;
  while step > 0 do
  begin
    for j := n - step downto 1 do
    begin
      i := j;
      while i <= n - step do
      begin
        if a[i].v > a[i + step].v then Swp(a[i], a[i + step]);
        i := i + step
      end
    end;
    step := step div 2
  end
end;

var
  a: array[1..n] of integer;
  b: mR;
  i: integer;

begin
  Randomize;
  Writeln('*** Исходные элементы массива ***');
  for i := 1 to n do
  begin
    a[i] := Random(900) + 100;
    b[i].v := SummOfDigits(a[i]);
    b[i].p := i;
    Write(a[i]:4)
  end;
  Writeln;
  Shell(b, n);
  Writeln('*** Упорядоченные по возрастанию суммы цифр элементы массива ***');
  for i := 1 to n do
  begin
    Write(a[b[i].p]:4)
  end;
  Writeln
end.

Тестовое решение:

*** Исходные элементы массива ***
 862 244 599 379 595 840 551 151 614 383 185 893 131 172 139 256
*** Упорядоченные по возрастанию суммы цифр элементы массива ***
 131 151 244 172 551 614 840 139 256 185 383 862 595 379 893 599
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота