fetisov68av
?>

Расставьте в правильном порядке этапы решения на компьютере 1) формализация 2) алгоритмизация 3) постановка 4) отладка и тестирование 5) программирование

Информатика

Ответы

yna21289
1. Постановка задачи. 2. Формализация. 3. Алгоритмизация. 4. Программирование. 5. Отладка и тестирование.
gamolml
Не подходит — 1) 2528, так как максимальное число разряда 9, то мы понимаем что максимальное возможное число любой поразрядной суммы трех чисел  27. 2528 если брать 25 и 28, то 28 больше 27 (про другой вариант и говорить не стоит — 2 и 528).
А номер 2) как раз подходит, например числа 90, 91, 90 получается 127 (27 — старшие разряды, 1 — младшие, записываем в порядке возрастания).
В общем результатом работы "автомата" могут быть все кроме 1) 2528. Ну конечно если я правильно понял условия. То что 2) не правильный в условии или как, с чего ты решил что это так?
Veronika1270

Код в приложении.

Пояснения:

Посмотрим, как же нам решить задачу. Сначала, поймём как обнулить бит. Бит можно обнулить если использовать логическое И с нулём. Значит, нам нужно использовать логическое И на нужном бите. Как же это сделать? В С++ есть побитовые операции между двумя числами, но побитовое И (&) применяется между всеми битами двух чисел, т.е.

101\ \& \ 110 = (1 \&1)(0\& 1)(1 \& 0) = 100

Заметим, что

a \& 0 = 0\\a \& 1 = a

Числа в С++ с фиксированной разрядностью, т.е. битов всегда определённое кол-во. Исходя из условий задачи, тут нужен int - 32-битный тип.

Тогда, чтобы обнулить нужный бит, нам нужно использовать побитовое И с таким числом, что все его биты, кроме нужного, равны 1.

Добиться этого мы сможем следующим образом. Сдвинем 1 влево на k бит и получим такое число, что все биты, кроме k-го равны 0, а k-ый равен 1, и используем побитовую инверсию (~), т.е. инвертируем каждый бит в числе.

Получив нужное число, выполняем побитовое И и обнуляем k-ый бит.

Как работают примеры:

n = 21 = 10101, \ k = 1\\n \& \sim(1

И второй пример:

n = 21 = 10101, \ k = 2\\n \& \sim (1


Условие Даны два числа N и K. Требуется изменить число N так, чтобы в K-м бите этого числа в двоично

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Расставьте в правильном порядке этапы решения на компьютере 1) формализация 2) алгоритмизация 3) постановка 4) отладка и тестирование 5) программирование
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

alexseyzyablov
artmasterstyle
ирина Альбертовна
svetsalikowa
grekova5
КалюкМарасанов1026
annino
sbelova
Radikovnanikolaeva
Марина_Мария
plv-57
Yekaterina358
R7981827791127
Сухроб944
Gradus469