Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Вниз

на каком языке это написано ?   Найти похожие ветки 

 
гость   (2008-01-17 08:21) [0]

всем привет
народ помогите перевести приведенный ниже код
в код паскаля

bool check(x, y, x2, y2);
begin
if((x>0&x2>0)||(x<0&x2<0);
if((y>0&y2>0)||(y<0&y2<0);
if(((|x|>|y|)&(|x2|>|y2|))|| ((|x|<|y|)&(|x2|<|y2|)));
return true;
else
return false;
endProcedure


 
MBo ©   (2008-01-17 09:08) [1]

непонятно, как между собой комбинируются три условных оператора.


 
гость   (2008-01-17 09:39) [2]

в ругих процедурах тогоже кода есть и такие условия :
if((x>0&x2>0)||(x<0&x2<0)
if((y>0&y2>0)||(y<0&y2<0);
где нет знаков припинания


 
MBo ©   (2008-01-17 09:44) [3]

лучше скажи, что функция должна делать


 
KilkennyCat ©   (2008-01-17 09:46) [4]

у меня зеленый, а в небе чугун.
причем здесь другие процедуры?

и вообще, что нужно? сабж? тогда ответ - на английском.


 
гость   (2008-01-17 09:53) [5]

это кусок кода вычисления растровой развертки дуги по брезенхейму.
скорее всего вычисляет дорисована ли дуга до конца или нет.
написать ее по своему можно но тогда всеравно не буду знать
ответ на поставленный вопрос ,
а условий подобного рода  в общем коде(который надо перевести на паскаль) пруд пруди.


 
KilkennyCat ©   (2008-01-17 10:02) [6]

не увидел ответа на мой предыдущий вопрос.
повторюсь.
Что нужно,
перевести приведенный ниже код или на каком языке это написано ?


 
han_malign ©   (2008-01-17 10:23) [7]

ну, учитывая что еще и скобок не хватает, имеется оператор модуля числа, смешаны битовые и булевые операторы - то скорее всего это что то самописное, ц-образное, "телепатируещее" синтактические ошибки... Опять таки при наличии "|x|" - не факт что ";" - имеет только функцию разделителя и пустого оператора - возможно , в данном контексте, ";if " заменяет ")&&"... (вполне вероятно, что вульгарно не поддерживаются выражения более второй вложенности)
Это не xCAD какой нибудь?

З.Ы. в С при наличи паритета скобок конструкция
if((x>0&x2>0)||(x<0&x2<0));
вполне рабочая - "выполнение" пустого оператора при выполнении условия, хотя С++ предупреждение должен дать.
короче говоря заглушка... - но здесь на это не похоже.

З.З.Ы. Хоть бы расширение файла обозначил.


 
DeBUGger13   (2008-01-17 10:28) [8]

Ето псевдокод какой-то, на С похожий.

funciton check(x, y, x2, y2):boolean;
begin
if ((x>0 and x2>0) or (x<0 and x2<0)) then
if ((y>0 and y2>0) or (y<0& and 2<0)) then
if ((( Abs(x)>Abs(y)) and (Abs(x2)>Abs(y2))) or
((Abs(x|<Abs(y)) and (Abs(x2)<Abs(y2)))) then
Result:=true
else
Result:=false;
end;
            ^
 |
 |
Тут что-то такое /
Не могу понять что из чего следует(Если одно из другого то зчем несколько условий ?).


 
han_malign ©   (2008-01-17 10:50) [9]

Возможно, в данном контексте, ";" означает разделелние секции else между тремя операторами if, и семантически читается как лоческое "И". Иначе - в случае невыполнения одного из первых двух условий - результат функции был бы не определен(как в случае порта DeBUGger13).


 
DeBUGger13   (2008-01-17 15:23) [10]


> han_malign


Cпасиб.
Терь буду знать.


 
гость   (2008-01-17 17:17) [11]

есть подозрение что это псевдо код .
данный код был взят из pdf файла(http://www.hobbycnc.ru/docs/helix.pdf) в результате принадлежность к какому либо языку программирования неизвестна.
если это псевдо код то как читать подобные конструкции операторов


 
uw ©   (2008-01-17 18:23) [12]

Если в конце строки нет точки с запятой, то оператор закончился. Точка с запятой - признак продолжения оператора на следующей строке. Питон такой, к примеру.


 
KilkennyCat ©   (2008-01-17 18:54) [13]


> гость   (17.01.08 17:17) [11]
>
> есть подозрение что это псевдо код .
> в результате принадлежность к какому либо языку программирования
> неизвестна.
> если это псевдо код
>


Что за бред...

на первой же странице читаем:
When writing a control program for CNC machines,
there are two basic motions that needs to be catered.
One of them is linear motion represented by G00 and
G01 and other one is circular motion represented
by G02 (clockwise direction) and G03 (counter
clockwise direction) in G-Code notation. Stepper
motors move in discrete steps and servo motors
depend on the output of encoders which is also
discrete. So in both cases we need to deal with
planes which are pixel based. One of the approaches
to draw circle in X &#8722;Y plane is to calculate different
values of y for given x from standard circle equation
with center at the origin.
I want to thank Prof. Dr. Noor M. Sheikh (Director,
K.I.C.S., Dean, Electrical Engg. Deptt., U.E.T., Lahore), his
support made it possible for me to complete this paper
1RS-274D is a recommended standard for NC machines developed
by Electronic Industry Association in the early 1960’s


 
Правильный_Вася   (2008-01-17 19:03) [14]


> Точка с запятой - признак продолжения оператора на следующей
> строке

вот это верно
встречал в каком-то языке


 
KilkennyCat ©   (2008-01-17 19:10) [15]

bool check(x, y, x2, y2);
begin
 if((x>0&x2>0)||(x<0&x2<0);
   if((y>0&y2>0)||(y<0&y2<0);
     if(((|x|>|y|)&(|x2|>|y2|))|| ((|x|<|y|)&(|x2|<|y2|)));
       return true;
 else
   return false;
endProcedure


А вот так выглядит кусок кода в оригинале. В общем, опять чайник морочит голову.


 
гость   (2008-01-18 09:35) [16]

to KilkennyCat

по поводу чайника :  небыл бы чайником не спрашивал бы ))))


 
KilkennyCat ©   (2008-01-18 22:14) [17]


> гость   (18.01.08 09:35) [16]

 ну, блин, надо ведь хоть немного становиться электрочайником :) Сохранили бы форматирование - сразу бы все решилось.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.048 c
2-1201285791
Тоник
2008-01-25 21:29
2008.02.17
отлавливать показ формы


2-1201170599
Res
2008-01-24 13:29
2008.02.17
Файл


3-1191432473
PeL!gr!m
2007-10-03 21:27
2008.02.17
Миграция ПО с БД


3-1191485669
Ega23
2007-10-04 12:14
2008.02.17
TADODataSet.Post - не сохранять данные в БД


2-1201302467
altatr
2008-01-26 02:07
2008.02.17
Memo - запись в одну строку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский