Зная количество бит в двоичной записи числа, можно посчитать количество бит в восьмеричной записи, так как из двоичной в восьмеричную систему счисления число можно привести группировкой по трем соседним разрядам, начиная с младших. Например, есть число 1100111. Сгруппируем его разряды: (1)(100)(111)=147 - в восьмеричной СС. Пусть количество разрядов 2-ичного числа равно n. Тогда количество разрядов восьмеричного числа будет n/3, деленное нацело и округленное вверх. n=7 => n/3=7/3. Округляем, будет 3. a) 10111010. n=8 => 8/3 - 3 8-ричных разряда б) 1001111000111, n=13 => 13/3 - 5 8-ричных разрядов в) A18C. Сначала найдем n. Посмотрим, сколько значащих разрядов у старшей цифры. A=1010 - 4 разряда. У остальных цифр по 4 разряда всегда. Поэтому n=3*4+4=16 => 16/3 - 6 8-ричных разрядов. г) 1375BE. 1=1 : 1 разряд => n=5*4+1=21 => 21/3 - 7 8-ричных разрядов
В начале присваивает заданной переменной (переменная-счётчик) начальное число. Переменной-счётчиком может быть любая переменная типа integer, затем в зависимости от направления прибавляет (to) или убавляет (downto) счётчик на единицу. Цикл начинает повторение пока счётчик будет меньше или равен второму числу. Когда счётчик стал больше второго числа, цикл выполняет строки команд до конца, но уже не начинает повторять из снова.
В строках с командами цикла не должно быть команды, которая изменяет значение счётчика, иначе будет ошибка. Счётчик нельзя изменять внутри цикла пока он идёт.
Запись
for ПеременнаяСчётчик := Число Направление Второечисло do
begin
Строки с командами, которые должен повторять цикл;
end;
Пример
Программа, которая выводит числа от 5 до 10 и в конце пишет "Конец"
a) 10111010. n=8 => 8/3 - 3 8-ричных разряда
б) 1001111000111, n=13 => 13/3 - 5 8-ричных разрядов
в) A18C. Сначала найдем n. Посмотрим, сколько значащих разрядов у старшей цифры. A=1010 - 4 разряда. У остальных цифр по 4 разряда всегда. Поэтому n=3*4+4=16 => 16/3 - 6 8-ричных разрядов.
г) 1375BE.
1=1 : 1 разряд => n=5*4+1=21 => 21/3 - 7 8-ричных разрядов
Цикл со счётчиком"
В начале присваивает заданной переменной (переменная-счётчик) начальное число. Переменной-счётчиком может быть любая переменная типа integer, затем в зависимости от направления прибавляет (to) или убавляет (downto) счётчик на единицу. Цикл начинает повторение пока счётчик будет меньше или равен второму числу. Когда счётчик стал больше второго числа, цикл выполняет строки команд до конца, но уже не начинает повторять из снова.
В строках с командами цикла не должно быть команды, которая изменяет значение счётчика, иначе будет ошибка. Счётчик нельзя изменять внутри цикла пока он идёт.
Запись
for ПеременнаяСчётчик := Число Направление Второечисло do
begin
Строки с командами, которые должен повторять цикл;
end;
Пример
Программа, которая выводит числа от 5 до 10 и в конце пишет "Конец"
program raf105;
var i: integer;
begin
for i:=5 to 10 do
begin
writeln(i);
end;
writeln('Конец');
end.