![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Paskal [Win95/98]
Бегинер © (2002-09-24 02:53:00)В универе для зачета необходимо сделать несколько не очень простых программ....сидел вспоминал Paskal и наикнулся на проблему.....как нужно возвести число в степень, показателем которой служит переменная....пишу:
z:=b*2^(a-1);
Выдает ошибку.....курсор прыгает под знак ^....
MBo (2002-09-24 06:16:00) [1]К универсальному ответу Эндера добавлю, что для возведения двойки в целочисленную степень, что, несомненно, и требуется в данном случае, нужно выполнить сдвиговую операцию
2^N = 1 SHL (N-1)
Эндер (2002-09-24 04:23:00) [2]В системном модуле турбо-паскаля есть только функции exp(x:extended) - возвращает e в степени x - b ln(x:extended) - возврашает натуральный логарифм x. Исходя из этого,
function power(const x,y:double):double;
begin
if x=0.0 then
power:=x
else if x>0.0 then
power:=Exp(y*Ln(x))
else
power:=-Exp(y*Ln(-x));
end;
Бегинер (2002-09-24 03:17:00) [3]
> Во-первых (24.09.02 03:07)
> Паскаль пишется Pascal. Во-вторых символ ^ служит в паскале
> для "разыименования" указателей, что явно не соответсвует
> твоей задаче. В третьих - по сабжу - речь идет о именно
> Pascal"e, но упоминание "сидел вспоминал Paskal и наикнулся"
> наводит на мысль, что "для зачета необходимы программы"
> на чем-то ином нежели просто паскаль.
Paskal - это, конечно, мой косяк....
А что значит "на чем-то ином нежели просто паскаль."?
Вообще задача сводится не к этому
зедание: В среде программирования Pascal написать программу переводящуу числа из десятичной СС в двоичную, восмеричную, HEX
(1 балл)
И наоборот (2 бала)
Моя поблема в том, как сделать наооборот, как правильно написать:
.......
z:=0;
for i:=1 to a do begin
b:=mas[i];
z:=z+b*2^(a-i);
end;
Это всем известный алгорит перевода из Bin в Dec, где а это сило символов двоичного числа
kex86 (2002-09-24 03:08:00) [4]>Бегинер ©
Смотри выше
Во-первых (2002-09-24 03:07:00) [5]Паскаль пишется Pascal. Во-вторых символ ^ служит в паскале для "разыименования" указателей, что явно не соответсвует твоей задаче. В третьих - по сабжу - речь идет о именно Pascal"e, но упоминание "сидел вспоминал Paskal и наикнулся" наводит на мысль, что "для зачета необходимы программы" на чем-то ином нежели просто паскаль.
kex86 (2002-09-24 03:05:00) [6]1. ^ - это указатель
2. могу порекомендовать
function power(Base, Exponent: Extended):Extended; в модуле Match
Бегинер (2002-09-24 03:05:00) [7]
> ЮЮ © (24.09.02 03:02)
> ^ - это из Васика, в Паскале нет оператора возведения в
> стемень. Смотри фунции Sqr,Power
.......ага....точно из Basic"а....
Так что там насчет Power?
ЮЮ (2002-09-24 03:02:00) [8]^ - это из Васика, в Паскале нет оператора возведения в стемень. Смотри фунции Sqr,Power