Відповідь:
Відповідь:procedure TForm1.Button2Click (Sender: TObject);
var a: array [1..10] of integer; i, j, min, nmin: integer;
begin
for i : 1 to 10 do
a[i] : StrToInt (Memo1.Lines[i-1]);
for i : 1 to 9 do
begin
min : a[i];
nmin : i;
for j : i+1 to 10 do
if a[j] < min then
begin
min : a[j]; nmin : j;
end;
a[nmin] : a[i];
a[i] : min;
end;
Memo2.Lines.Clear;
for i : 1 to 10 do
Memo2.Lines.Append (IntToStr (a[i]))
end;
Пояснення:
Початкову суму грошей помножити на А*N
Если m ≥ n, то m - n ≥ 0, иначе m - n < 0
Если m и n – целые числа и хранятся в переменных типа int, то результат вычисления разности тоже будет целочисленным.
Целое число со знаком в памяти компьютера представлено в виде 4 Байт, первый бит этого набора выделен для хранения знака. Если этот бит равен 0, то число положительное, если 1 – отрицательное.
Зная это, можно написать программу, которая будет выводить 1, если m ≥ n и любое другое число в противном случае. Для этого достаточно воспользоваться побитовыми операциями. В частности, операторами побитового сдвига и побитового И.
#include <iostream>int main() { int m, n; std::cin >> m >> n; std::cout << ((m - n) >> (sizeof(int) - 1)) + 1; // Разбор ниже return 0;}Разберем последнюю строчку. В переменной q хранится разность чисел m и n. Нас интересует первый бит этого числа, так как он хранит информацию о том, положительное число или отрицательное. Для этого нам необходимо с побитового сдвига вправо (>>) сдвинуть все биты числа, хранимого в целочисленной переменной q, кроме самого первого бита. Получить количество бит мы можем, воспользовавшись встроенной функцией sizeof(), от полученного значения достаточно отнять единицу.
Как уже упоминалось ранее, нас интересует положительное число в q, а выражение q >> (sizeof(q) - 1) в этом случае вернёт 0. Для того, чтобы результирующее значение было верным необходимо прибавить к результату выражения 1. Таким образом, условие "Если m≥n, то требуется вывести 1, в противном случае — любое другое число." выполняется.
Стоит отметить, что прибавление единицы к выражению – не единственный вариант. Также можно воспользоваться приведением типов. Например, "std::cout << (int)(!(q >> (sizeof(q) - 1)));" выведет тот же результат.
1500*6=9000 бит весь текст 9000=1125 байт=приблизительно 1,1 Кбайт
2) 32=2^5, те информационный объем об 1 выпавшем шаре=5 бит.
Если получено 20 бит информации, то 20/5=4 шара выпало
3) Количество пикселей в изображении=640*480=307200 пикселей
100 Кбайт переводим в биты=100*1024*8=819200 бит
Тогда 1 пиксель "весит" 819200/307200 =2, 7 бит, те 3 бита
Количество цветов в палитре N=2^3=8
4) 4=2^2, те 1 px весит 2 бита. В изображении 300*200 =60000px. Изображение весит 60000*2=120000 бит (это объем видеопамяти)
Если в палитре 256 цвета 256=2^8, то 1px в такой палитре весит 8 бит.
120000/8=15000 px в изображении. (например 150х100)