Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  23:39[Войти] | [Зарегистрироваться]
Обсуждение темы:
Оберон-технология: особенности и перспективы


Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение. 

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 6256 сообщений

Добавить свое сообщение

Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 5226—5217 | 5216—5207 | 5206—5197 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 105


№ 5216   26-09-2007 02:28 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5215« (Beginner)
___________________________

>>>Позор мне. В последнем слове, что могу сказать в оправдание - пал жертвой привычки.

Суд удаляется на совещание... :D
 AVC


№ 5215   26-09-2007 02:13 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5204« (AVC)
___________________________
0FAX
Позор мне. В последнем слове, что могу сказать в оправдание - пал жертвой привычки. Цвета в Дельфи без ведущего 0. А здесь по существу (по практике) надо с 0 начинать.


№ 5214   26-09-2007 01:59 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5208« (Geniepro)
___________________________

Ой, даже не предлагайте! Я вот щас два часа делал простейшие примитивные функции работы с линейным списком на КП - аж замучился. Оказывается, вообще всё забыл и разучился...

На минутку возвращаясь к вчерашней задаче (она мне показалась любопытной).
Почему для нее надо брать линейный список?
По краткому размышлению, в основу лучше положить приоритетную очередь, а это уже скорее дерево, а лучше всего -- массив.
На моем (не самом быстром) компе список простых чисел до миллиона выводится за пару секунд.
(Реализация несколько строчек на КП, хотя, из-за экспериментального характера кода, "непедагогических". :) )
 AVC


№ 5213   26-09-2007 01:21 Ответить на это сообщение Ответить на это сообщение с цитированием
Смысла вводить foreach ни в C# ни в Delphi (а ввели ведь) не вижу. Ни укорачивания кода, ни унификации кода для разных типов контейнеров, этим не достигается. Единственная цель, которая действительно этим достигнута - "шобы было".


№ 5212   26-09-2007 00:59 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5209« (Geniepro)
___________________________
>>> Процедура utilizePacket должна проверить пакет на его целостность, и если с ппакетом всё в порядке (контрольная сумма или ещё что соответсвует) - то продолжить обработку пакета, иначе - вызвать badPacket...
>>> В чём проблема-то?
Или вызывающая процедура должна проверить целостность пакета до вызова utilizePacket? А как это делается?... И причем тут Оберон я уже писал...


№ 5211   25-09-2007 17:33 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5208« (Geniepro)
___________________________

Ответ на »сообщение 5201« (Стэн)
___________________________

И что это мы все про линейные массивы... Давайте напишем на Обероне цикл обхода хотябы двоичного дерева, да так, чтобы было видно, по каким элементам идет итерация...

Ой, даже не предлагайте! Я вот щас два часа делал простейшие примитивные функции работы с линейным списком на КП - аж замучился. Оказывается, вообще всё забыл и разучился...
Нет, всякие Хаскеллы вредны, так как балуют отсутсвием низкоуровнего программирования... :о)))


Да ладно уж! :)
Обход дерева в любом детском учебнике есть.
На глаз, что-то вроде

PROCEDURE (t: Tree) Traverse* (p: PROCEDURE(node: Node));
  PROCEDURE tr(n: Node);
  BEGIN IF n # NIL THEN tr(n.left); p(n); tr(n.right) END
  END tr;
BEGIN tr(t.root)
END Traverse;


 AVC


№ 5210   25-09-2007 16:56 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5208« (Geniepro)
___________________________

>>>(Пытаюсь сделать простенькую программку, которая бы выдавала бесконечный список простых чисел - плутал в трёх соснах при копировании и реверсировании списка... Цель - сравнить скорость подпрограмм работы со списками на Хаскелле, КП и Си...)

Наверное, все же не просто программку, выдающую бесконечный список простых чисел. :)
Там проблема могла быть только в создании "абстракции целого числа произвольного размера" (такая, кстати, в КП уже есть: Integers.Integer), чтобы было куда результаты "утрамбовывать" и потом на печать выводить.
Наверное, речь о программе, выдающую бесконечный список простых чисел без пропусков.
А что предполагается делать, когда оперативная память кончится?
 AVC


№ 5209   25-09-2007 16:09 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5207« (Стэн)
___________________________

Допостим, что я выяснил, что в коде написано так:
var buf : array[100];
recv( s, buf, LEN(buf), 0 );
utilizePacket( buf );
Вместо правильного:
var buf : array[100];
if recv( s, buf, LEN(buf), 0 ) = 100 then
  utilizePacket( buf );
else
  badPacket( buf );
end
Оберон же ничем в данном случае не поможет... По аналогии с примерами из C - явно не проконтролировал - сам дурак...

Процедура utilizePacket должна проверить пакет на его целостность, и если с ппакетом всё в порядке (контрольная сумма или ещё что соответсвует) - то продолжить обработку пакета, иначе - вызвать badPacket...
В чём проблема-то?


№ 5208   25-09-2007 14:38 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5201« (Стэн)
___________________________

И что это мы все про линейные массивы... Давайте напишем на Обероне цикл обхода хотябы двоичного дерева, да так, чтобы было видно, по каким элементам идет итерация...

Ой, даже не предлагайте! Я вот щас два часа делал простейшие примитивные функции работы с линейным списком на КП - аж замучился. Оказывается, вообще всё забыл и разучился...
Нет, всякие Хаскеллы вредны, так как балуют отсутсвием низкоуровнего программирования... :о)))

(Пытаюсь сделать простенькую программку, которая бы выдавала бесконечный список простых чисел - плутал в трёх соснах при копировании и реверсировании списка... Цель - сравнить скорость подпрограмм работы со списками на Хаскелле, КП и Си...)


№ 5207   25-09-2007 11:42 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5206« (AVC)
___________________________
>>> Честно говоря, я не понял, где здесь таятся претензии к Оберону.
Всегда ждете подвоха?.. )))

>>> Да и о подобных хакерских атаках я что-то не слыхал.
А это гипотетическая ситуация атаки на реализацию протокола...
Допостим, что я выяснил, что в коде написано так:

var buf : array[100];
recv( s, buf, LEN(buf), 0 );
utilizePacket( buf );


Вместо правильного:

var buf : array[100];
if recv( s, buf, LEN(buf), 0 ) = 100 then
  utilizePacket( buf );
else
  badPacket( buf );
end


Оберон же ничем в данном случае не поможет... По аналогии с примерами из C - явно не проконтролировал - сам дурак...

>>> Т.е. я просто не понял этого Вашего замечания.
Необходимо учитывать контекст обсуждения. Изначально было о том, что компактная грамматика Оберона требует написания кода, который содержит слишком много низкоуровневых деталей... А потом именно Вы как-то плавно перешли на тему "Оберон vs C: Массивы Оберона лучше чем в С"... На что я Вам показываю, что всевозможные ошибки на массивах не заканчиваются...


<<<... | 5226—5217 | 5216—5207 | 5206—5197 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 105


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования