СТ
Сергей Травин

Помогите начинающему программисту.

Мне нужно на языке Pascal написать следующюю программу. Нужно определить между какими степенями двойки лежит заданное число V. Например, если ввели число V=15, то программа должна выдать, что число 15 лежит между 8 и 16 => между 3-ей и 4-ой степенями двойки.
Мне бы хотя бы понять алгоритм.

ТМ
Тимофей Мешков

логарифм по основанию 2 используй.

Лёха ***
Лёха ***

Берем двойку, задаем счетчик равный 1.. Сравниваем с V. Мало - домножаем на 2, счетчик +1; снова мало - опять домножаем и увеличиваем счетчик. .
И так до тех пор, пока степень двойки не превысит V.
Что-то вроде
while tmp <= V do
begin
tmp*2;
count := count + 1;
end;

Ирина Радина
Ирина Радина

При условии, что N > 0

АИ
Андрей Иванов

floor и ceil от log2(V) выводи просто

как на паскале реализовать - гугл

Люлек
Люлек

Я постарался написать код максимально близкий к вашей задаче, я написал полностью готовую программу на Embarcadero RAD Studio XE5 (Delphi):

program Project1;
uses
System.SysUtils,math;
var
v,step1,step2,povt,i,j:integer;
b,c:single;
label met1;
begin
for povt:=0 to 1000 do // повторить программу 1000 раз
begin
met1:
write('vvedite chislo: '); // ввести число
readln(v);
if(v<1)then
begin
writeln;
write('vvedite chislo >=1 !!!');
writeln;
writeln;
goto met1;
end;
writeln;
i:=0;
while power(2,i) begin
step1:=i;
b:=power(2,i);
i:=i+1;
end; // конец цикла

if(power(2,step1+1)=v)then // для нахождения числа больше данного
begin // если введённое число равно 2 в N степени
step2:=step1+2;
c:=power(2,step2);
end

else // для нахождения числа больше данного
begin // если введённое число меньше 2 в N степени
step2:=step1+1;
c:=power(2,step2);
end;
i:=Round(b);
j:=Round(c);

write('chislo ',v,' lezhit mezhdu ',i,' i ',j,' => mezhdu 2^',step1,' i ','2^',step2);
writeln;
writeln;
end;
end.



Скачать исходники этого проекта можно отсюда: https://yadi.sk/d/l86Yk3SEcR8P3

Похожие вопросы
Помогите начинающему программисту
Программист 1с (стоит ли начинать)
Литература начинающему программисту.
скажите пожалуйста сайты для начинающих программистов. помогите
Я как начинающий программист Java. Вот сам вопрос...
Начинающий java программист
А вы опытный программист или начинающий ?
Помогити начинающему Java программисту
Программисты помогите начинающему программисту!!! с++
Помогите начинающему программисту!