Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Algol] Алгол-60, помогите первести код в Delphi 
V
    Опции темы
dr.ZmeY
  Дата 14.7.2005, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Алгол-60 ,собственно, очень похож на Паскаль... Но всё равно, некоторые его операторы мне не понятны...

Внизу прикреплён файл, скуском кода...
Я пытался его в Delphi переписать, но, что то не так... программа работает с ошибкой smile

Помогите.... Очень нужно... Описания алгоритма нет, а код - не очень понятен местами....

Присоединённый файл ( Кол-во скачиваний: 25 )
Присоединённый файл  algoritm2.gif 37,15 Kb


--------------------
PM MAIL WWW ICQ Skype   Вверх
vadims
Дата 14.7.2005, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



Алгол несчстный здесь причем ???

Простая алгоритмика - честно скажу - серьезно вникать не стал
Проблема то в чем на самом деле ???


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
dr.ZmeY
Дата 14.7.2005, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Вот, что получилось... Работает неправильно... где ошибка?
Код

function pointpol(x0,y0:real, x,y array of real) : boolean;    
var i:integer; b:boolean;    
begin    
   x[n+1]:=x[1]; y[n+1]:=y[1]; // на всякий пожарный перезамыкаем многоугоьник    
   b:=false;    
   for i:=1 to n do begin    
       if (y0<y[i]) or (y0>y[i+1]) then begin    
            if (x0-x[i])<((y0-y[i]) * (x[i+1]-x[i])/(y[i+1]-y[i])) then begin    
                 b:=true;    
            end;    
       end;    
   end;    
  pointpol:=b;    
end;

Цитата(vadims @ 14.7.2005, 23:41)
Алгол несчстный здесь причем ???

Простая алгоритмика - честно скажу - серьезно вникать не стал
Проблема то в чем на самом деле ???

В написании некоторых операторов... Что меня смутило... Т.е. было бы более подробно описание алгоритма (хотя бы что к чему) - фигня... Меня больше выражения в "условиях" интересуют... Я запросто мог что-нибудь не правильно понять (извени, в булевых значках - плаваю smile)


--------------------
PM MAIL WWW ICQ Skype   Вверх
vadims
Дата 14.7.2005, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



Черт - никак не вьеду - что на самом деле то делаем что - на мой неискушенныц взгляд - ничего

У тебя там конечно куча простых синтаксических ошибок
Честно - не соображу

Все таки обрисуй немножко задачу - может просто все на самомом деле

А буйволава алгебра - она и состот то из 4 операций - чего ты сам знаешь не хуже меня


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
dr.ZmeY
Дата 14.7.2005, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Цитата(vadims @ 15.7.2005, 00:29)
Черт - никак не вьеду - что на самом деле то делаем что - на мой неискушенныц взгляд - ничего

У тебя там конечно куча простых синтаксических ошибок
Честно - не соображу

Все таки обрисуй немножко задачу - может просто все на самомом деле

Хех, задачу... я так понимаю, что задача тут - проверка, принадлежит ли точка плоскости к многоугольнику на той же плоскости.... Если да, то ответ функции - true... Большего знать не могу... Этот клочёк, точнее ксерокопия клочка от журнала по программированию за 80-е годы... Мне просто надо перевести представленный там код в Дэлфи... дальше я сам его изменю так как мне надо... Т.е. как верно представить выражения в условиях, так чтобы Делфи их правильно понял? Чего не ясно в моей просьбе?



Цитата(vadims @ 15.7.2005, 00:29)
А буйволава алгебра - она и состот то из 4 операций - чего ты сам знаешь не хуже меня

Это я так, к шутке...
Добавлено @ 23:57
Я этот Алгол60 первый раз в глаза вижу...


--------------------
PM MAIL WWW ICQ Skype   Вверх
VNTRH
Дата 15.7.2005, 09:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вместо звёздочки попробуйте поставить and:
Код

...
if (x0-x[i])<((y0-y[i]) and (x[i+1]-x[i])/(y[i+1]-y[i])) then ...

  Вверх
dr.ZmeY
Дата 15.7.2005, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Цитата(VNTRH @ 15.7.2005, 10:00)
VNTRH


Цитата(VNTRH @ 15.7.2005, 10:00)
Вместо звёздочки попробуйте поставить and:

А как понять ?
Цитата(VNTRH @ 15.7.2005, 10:00)
(x[i+1]-x[i])/(y[i+1]-y[i]))

Это ж условие... А значит выражение должно быть законченым...


--------------------
PM MAIL WWW ICQ Skype   Вверх
vadims
Дата 15.7.2005, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



dr.ZmeY
Имхо во вторых просто скобка лишняя
А главное - забыли написать, что чего меньше-больше - по смыслу наверное догадаться можно

Помоему в алголе нет понятия как в С - операция она же логическое выражение - но честно говоря я плохо его помню и на самом деле не так уж хорошо его и не так уж я его знал


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
VNTRH
Дата 15.7.2005, 14:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











По поводу звёздочки я ошибся. Смотрел невнимательно.
  Вверх
dr.ZmeY
Дата 15.7.2005, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Цитата(vadims @ 15.7.2005, 14:20)
Имхо во вторых просто скобка лишняя
А главное - забыли написать, что чего меньше-больше - по смыслу наверное догадаться можно

Ага, ещё бы иметь описание алгоритма... А где забыли?


--------------------
PM MAIL WWW ICQ Skype   Вверх
volvo877
Дата 16.7.2005, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2072
Регистрация: 15.11.2004

Репутация: 1
Всего: 116



dr.ZmeY, вот тут посмотри:
http://www.ecse.rpi.edu/Homepages/wrf/Rese...tes/pnpoly.html

Цитата
Earlier implementations of point-in-polygon testing presumably exist, tho the code might never have been released. Pointers to prior art, especially publicly available code, are welcome. One early publication, which doesn't handle the point on an edge, and has a typo, is this:
    * M Shimrat, "Algorithm 112, Position of Point Relative to Polygon", Comm. ACM 5(8), Aug 1962, p 434.

Это как раз тот самый 112 алгоритм Shimrat smile
PM MAIL   Вверх
dr.ZmeY
Дата 16.7.2005, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Сенькс...


--------------------
PM MAIL WWW ICQ Skype   Вверх
Secandr
Дата 19.7.2005, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: нет
Всего: 39



В файле рабочий пример, а вот ещё каакой-то алгоритм.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  _.zip 86,16 Kb


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Guest
Дата 26.10.2005, 17:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(dr @ 14.7.2005, 21:52)
Алгол-60 ,собственно, очень похож на Паскаль

Собственно говоря, это Паскакаль очень похож на Алкоголь-60 smile
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Добро пожаловать в раздел "Другие языки" форума Vingrad!

Void
Void

Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)

  • Обязательно следуйте правилам Форума.
  • Пожалуйста, прочитайте и следуйте рекомендациям по работе в разделе и навигации по Форуму.
  • Для вставки текстов исходных кодов используйте подсветку синтаксиса из выплывающего списка Код в форме ответа. Если Ваш язык в списке не представлен, то используйте тег: [code=ваш_язык]код[/code], например, [code=ada]код[/code]. Если в будущем подсветка синтаксиса для указанного языка будет реализована, исходный код преобразится.
  • Помните, один вопрос - одна тема.

Приятного времяпрепровождения! С уважением, Void, kemiisto .

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие языки | Следующая тема »


 




[ Время генерации скрипта: 0.1365 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.