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

Что нужно знать при обработке алгоритма​

👇
Ответ:
kolotilka23
kolotilka23
21.03.2021

сортировки – от пузырька, до параллельной кеш-независимой сортировки;

динамическое программирование;

алгоритмы сжатия данных – кодирование Хаффмана, арифметическое кодирование, сжатие подпоследовательностей;

символические вычисления – как организовать;

как сделать статическую структуру динамической – как сделать быструю (O(logN)) вставку в упорядоченный массив.

4,6(43 оценок)
Открыть все ответы
Ответ:
nikop65
nikop65
21.03.2021
Uses crt,graphABC;
var a,m,n,j,i,x1,y1,x2,y2,x3,y3,x4,y4,kg,kv,p:integer;
    k:real;
    
procedure kvadrat;//рисование 1 квадрата
begin
setpencolor(clBlue);
moveto(x1,y1);
lineto(x2,y2);
lineto(x3,y3);
lineto(x4,y4);
lineto(x1,y1);
end;
 
begin
hidecursor;
repeat
write('Сторона квадрата от 20 до 100 a=');
read(a);
until a in [20..100];
repeat
writeln('Введите 2 числа для определения соотношени m<n:');
read(m,n);
until m<n;
clearwindow;
k:=m/n;//отношение
kg:=windowwidth div a+1; //кол. кв. по горизонтали
kv:=windowheight div a+1; //по вертикали
for j:=1 to kg do
for p:=1 to kv do
 begin
  for i:=1 to 50 do //рисуем 50 вложенных квадратов в 1 месте
   begin
    kvadrat;
    x1:=trunc(x1+(x2-x1)*k); y1:=trunc(y1+(y2-y1)*k);
    x2:=trunc(x2+(x3-x2)*k); y2:=trunc(y2+(y3-y2)*k);
    x3:=trunc(x3+(x4-x3)*k); y3:=trunc(y3+(y4-y3)*k);
    x4:=trunc(x4+(x1-x4)*k); y4:=trunc(y4+(y1-y4)*k);
   end;
x1:=a*(j-1); y1:=a*(p-1); //на новое место
x2:=a*j; y2:=a*(p-1);
x3:=a*j; y3:=a*p;
x4:=a*(j-1); y4:=a*p;
end;
 
 
end.

Втетради нарисовать орнамент из разноцветных прямоугольников, ромбов, квадратов, подготовить програм
4,4(82 оценок)
Ответ:
zaikayes
zaikayes
21.03.2021
При переводе из системы в систему, дробные части в 99% случаев имеют погрешность и переводить их можно до бесконечности, так что ограничемся 6 знаками после запятой.

В переводе дробной части, делаем на оборот, не деление, а умножение, но умножение только дробной части:
0.43*2=0.86
0.86*2=1.72
0.72*2=1.44
0.44*2=0.88
0.88*2=1.76
0.76*2=1.52
0.52*2=1.04

Так можно продолжать до бесконечности, но мы уже посчитали 6 значений, тут записываем целые части чисел полученных, сверху вниз:
0110111 - это 0.43 в двоичной.

Просто склеим эти два числа через точку и получим:
162.43 = 10100010.0110111

Двоичная -> восьмиричная

Проще всего перевести в восьмиричную из двоичной, все что нужно, это представить число в виде троек:
целая часть:
010'100'010 - целая часть (дописали спереди 0, просто что бы было целая тройка чисел)
011'011'100 - дробная часть (дописали уже два 0 в конце числа, то же что бы было по три цифры)

Теперь дело за малым, смотрим в прикрепленную картинку, берем целую часть, первые три цифры, смотрим по столбику для двоичной системы, ищем там 010, когда нашли, ведем пальчиком по рядочку на соответствующую цифру в столбике для восьмиричной системы, это будет 2. Проделываем ту же операцию для следующих трех цифр: 100 - в восьмиричной это 4, ну и наконец 010 как уже знаем - 2.
Получается число 242 - целая часть.

Абсолютно точно так же считаем дробную часть:
011 - 3
011 - 3
100 - 4
Дробная часть это 334

Склеиваем через точечьку:
242.334
Хотите большую точность? Не вопрос! Делите точно так же как мы переводили из 10чной в 2чную, только теперь не на 2, а на 8, принцип перевода везде одинаковый :)

Двоичная -> Шеснадцатиричная
Теперь попробуем перевести в 16ричную, у вас этого не написанно, но если это ошибка в условии, то не помешает, если ещё и учесть, что это не сложно!
Снова благодарим простой принцип перевода и табличку, ведь всё что нужно сделать на этот раз, это то ж самое, что и при переводе в восьмиричную, с тем лишь изменением, что формируем не тройки чисел а четверки:
Целую часть 10100010 для удобства представим так: 1010'0010
Дробную часть 01101110 тоже запишем вот так: 0110'1100
Тот же алгоритм действий по табличке, только пальцем ведем до столбца с цифрой 16 вверху, получится что 1010 из двоичной в шестнадцатеричной это 'A', ну и так далее:
Целая часть:
1010 = A
0010 = 2
A2

Дробная часть:
0110 = 6
1110 = E
6E

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