В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
M1N1G4M3R1
M1N1G4M3R1
15.02.2020 03:11 •  Информатика

Решите
Домашняя работа по информатике


Решите Домашняя работа по информатике
Решите Домашняя работа по информатике
Решите Домашняя работа по информатике
Решите Домашняя работа по информатике
Решите Домашняя работа по информатике

Показать ответ
Ответ:
star1010
star1010
12.05.2023 06:29
Алгоритмы в нашей жизни
Любой человек ежедневно встречается с множеством задач: от самых простых и хорошо известных до очень сложных. Для многих задач существуют определенные правила (инструкции, предписания), объясняющие исполнителю, как решать данную задачу. Эти правила человек может изучить заранее или сформулировать сам в процессе решения задачи. Чем точнее и понятнее будут описаны правила решения задач, тем быстрее человек овладеет ими и будет эффективнее их применять.
Решение многих задач человек может передавать техническим устройствам - автоматам, роботам, компьютерам. Применение таких технических устройств предъявляет очень строгие требования к точности описания правил и последовательности выполнения действий. Поэтому разрабатываются специальные языки для четкого и строгого описания различных правил. Это одна из задач информатики.
Каждый из нас ежедневно использует различные алгоритмы: инструкции, правила, рецепты и т. п. Обычно мы это делаем не задумываясь. Например, открывая дверь ключом, никто не размышляет над тем, в какой последовательности выполнять действия. Однако, чтобы кого – нибудь (скажем, младшего брата) научить открывать дверь, придется четко указать и сами действия, и порядок их выполнения. Например, так:
Достать ключ.
Вставить ключ в замочную скважину.
Повернуть ключ 2 раза против часовой стрелки.
Вынуть ключ.
А теперь представьте себе, что вас пригласили в гости. Наверняка вы попросите подробно и точно объяснить, как добраться. Вот как может выглядеть объяснение:
Выйти из дома.
Повернуть направо.
Пройти 2 квартала до автобусной остановки..
Сесть в автобус № 25, идущий к центру города.
Проехать 3 остановки.
Выйти из автобуса.
Посмотрим на эти алгоритмы. На первый взгляд, между ними нет ничего общего. Одно дело – открывать дверь, другое – ехать в гости. Однако если приглядеться внимательно, можно заметить существенное сходство между ними. Прежде всего, это строгий порядок выполнения действий. Давайте переставим в первом алгоритме второе и третье действия:
Достать ключ.
Повернуть ключ 2 раза против часовой стрелки.
Вставить ключ в замочную скважину.
Вынуть ключ.
Вы, конечно, сможете выполнить и этот алгоритм. Но дверь вряд ли откроется. А что произойдет, если поменять местами четвертое и пятое действия во втором алгоритме? Он станет невыполнимым! Итак, мы убедились, что для алгоритма важен не только набор действий, но и то, как они организованы, т. е. в каком порядке выполняются.
Мы можем теперь сказать, что алгоритмы - это строго определенная последовательность действий. Существует очень много определений понятия алгоритм. И надо подчеркнуть, что в информатике это понятие является основным. Таким же, какими являются понятия точки, прямой и плоскости в геометрии, пространства и времени в физике, вещества в химии. Поэтому мы не сможем дать полное определение алгоритма, а будем уточнять смысл этого понятия на примерах.
0,0(0 оценок)
Ответ:
vylko777Leybe
vylko777Leybe
10.07.2020 06:58

ответ:Вариант №1 (не совсем удачный, как было отмечено в комментариях).

//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)

var n,i,m:integer;

flag:boolean;

begin

 readln(n);

 flag:=false;

 if (n mod 2<>0)then i:=n-1 else i:=n;

 while i>0 do begin  

   if power(2,i)<=n then begin

     write(power(2,i),' '); flag:=true;

   end;

   i:=i-2;

end;

if not flag then writeln(0);

end.

Тест №1

1025

1024 256 64 16 4

Тест №2

1

0

Вариант №2

var a,i,n: integer;

begin

 a:=1;readln(n);

 i:=trunc(log2(n)); //получим степень двойки для n

 //если i нечетное,

 //то первое искомое число получаем путем сдвига влево на i-1 в

 //двоичном представлении числа иначе сдвиг на i

 if (i mod 2)=1 then a:=a shl(i-1) else a:=a shl i;

 //далее получаем числа сдвигая вправо на 2 разряда

 //в двоичном представлении числа

 while a>=2 do begin

   write(a,' ');

   a:=a shr 2;

 end;

end.

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

2147483647

1073741824 268435456 67108864 16777216 4194304 1048576 262144 65536 16384 4096 1024 256 64 16 4

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