Форум: "Потрепаться";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
ВнизПеревод с Си на Паскаль Найти похожие ветки
← →
arbiter (2002-08-07 20:22) [0]Сейчас я перевожу код с Си на Паскаль, и поскольку с си я не работал уже года три, то я сомневаюсь в корректном переводе некоторых конструкций. Может быть знатоки си поправят меня, коль я не прав.
Итак:
1.
for (i = 1; (int)i <= tablebits; i++)
{...}
while (i <= 16)
{...}
эквиавалентно ли
for i := 1 to tablebits do
...;
I := tablebits + 1; //?
while (i <= 16) do
...;
2. if (k & mask) эквивалентно ли if k and mask <> 0 then
3.
while (--c >= 0)
pt_len[i++] = 0;
эквивалентно ли
Dec(c);
while c >= 0 do
begin
pt_len[i] := 0;
Inc(i);
Dec(c);
end;
4.
do
{...}
while (c >= NT);
эквивалентно ли
repeat
...
until not (c >= NT);
Фух вроде бы всё на пока.
← →
PVOzerski (2002-08-07 20:42) [1]>1.
> for (i = 1; (int)i <= tablebits; i++)
> {...}
> while (i <= 16)
> {...}
>эквиавалентно ли
> for i := 1 to tablebits do
> ...;
> I := tablebits + 1; //?
А вот этого не надо! Это в Паскале предопределённое действие в цикле For.
← →
arbiter (2002-08-07 20:57) [2]
> PVOzerski ©
По хелпу, после завершения цикла, значение счётчика не определено.
Именно поэтому я и присваиваю это значение перед вторым циклом...
← →
PVOzerski (2002-08-07 21:30) [3]Тогда, чтобы голова не болела, в общем случае переводи циклы C через while, а не через for, так как помимо традиционного i++ там Бог знает что бывает... А что, насуммировавшееся в цикле значение i после выхода из него у Вас используется?
← →
arbiter (2002-08-07 22:21) [4]Так в том то и дело, там два цикла подряд... посмотрите внимательно на си кусок
причём счётчик из одного цикла используется в другом без инициализации
← →
arbiter (2002-08-08 05:07) [5]ну где вы? знатоки си...
← →
Suntechnic (2002-08-08 07:18) [6]Я бы помог, но я не знаток Паскаля :) Anyway here are some comments ;)
1. Вроде верно.
2. Если в Паскалеk and mask
это побитовое И, тогда тоже верно.
3. Верно
4. Не знаю особенности работы Паскалевской конструкции until not, но смущает почему именно not?
В С эта конструкция будет выполнятся пока верно условие внутри while. Т.е. фактически это тот же while, но с проверкой условия в конце.
← →
KSergey (2002-08-08 09:48) [7]Да вроде как все уже и написали, про 4 Suntechnic вроде тоже правильно уточнил... Чтобы еще добавить?...
[а на сколько все же Си компактнее!]
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c