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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 5626—5617 | 5616—5607 | 5606—5597 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 65


№ 5616   20-10-2007 02:27 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5612« (Илья Ермаков)
___________________________
>>> Потому что грамотно :-)
>>> А не партизанщина голым фором против танков :-)
А где доказательство того, что грамотно? Вот я привел контраргумент:

WHILE (i < len) & Condition(i) DO ... END;


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


№ 5615   19-10-2007 18:30 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5614« (Илья Ермаков)
___________________________


___________________________
А конструкции навроде for-break - это вообще не высокоуровневый цикл. А просто несколько более красивая замена машинному коду с jmp.

И чтобы доказать обратное, нужно как минимум описать метод формального построения алгоритмов на основе циклов с break. А затем ещё хорошо бы показать, будет ли он хотя бы также прост, как для просто циклов.


№ 5614   19-10-2007 18:24 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5613« (Jack Of Shadows)
___________________________

Ответ на »сообщение 5612« (Илья Ермаков)
___________________________
Потому что грамотно :-)
"Самый правильный цикл" - это чушь собачья, нонсенс.

Правильно. Нет менее и более правильных циклов. Как нет "рыбы второй свежести".
Есть цикл - это формальная конструкция с одним входом и одним выходом, которая выполняется многократно до тех пор, пока истинна её охрана (или счётчик for соответствует определённым до начала выполнения ограничениям).

А конструкции навроде for-break - это вообще не высокоуровневый цикл. А просто несколько более красивая замена машинному коду с jmp.


№ 5613   19-10-2007 18:15 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5612« (Илья Ермаков)
___________________________
Потому что грамотно :-)
Илья, перебирать элементы списка при помощи while - это самая большая безграмотность по отношению к циклам, которую только можно себе представить.
"Самый правильный цикл" - это чушь собачья, нонсенс. Так же как и "самый правильный условный оператор"
Поразительно как можно любую идею довести до абсурда. Это я об идее минимализма оберона.
Добредили до "самого правильного цикла". Следующий шаг - выкинуть все "неправильные".
Затем приняться за case




№ 5612   19-10-2007 18:09 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5609« (Стэн)
___________________________

Ответ на »сообщение 5607« (Geniepro)
___________________________
Поэтому вопрос не снимается - возможно ли это там, и если да, то почему это WHILE лучше, чем FOR с break

Потому что грамотно :-)
А не партизанщина голым фором против танков :-)


№ 5611   19-10-2007 17:33 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5608« (AVC)
___________________________
>>> Будет время, загляните в начало "Дисциплины программирования" Дейкстры ("От автора").
>>> Там кое-что любопытное написано о циклах и рекурсии.
А можно пояснить, что же там такого интересного?... А то я не проникся...
Нам еще на первом курсе университета преподаватель математики говорил - "Математика не занимается вычислениями!"...
Дейкстра также подчеркивает, что есть разница между описанием алгоритма и его реализацией, но далее приводит пример с повторением и рекурсией. А не получается ли так же? В теории действительно здорово и просто:

while B do S;


Но кто может доказать, что реализация этого выражения будет гарантировать отсутствие side-effect'ов, подобно тем, что я приводил в »сообщение 5606«?


№ 5610   19-10-2007 17:24 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5608« (AVC)
___________________________

Отдельные главы из книги можно найти здесь:
http://oberon2005.ru/classics/ed1976.pdf

А всю книгу (в формате DjVu) можно скачать с rapidshare:
http://rapidshare.com/files/3766647/Dijkstra.rar.html
 AVC


№ 5609   19-10-2007 16:36 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5607« (Geniepro)
___________________________
>>> А в нормальном языке функция просто не имеет права изменять значения своих параметров, так что там этой проблемы просто не возникает...
Неплохо было бы озвучить список "нормальных" языков... ;-) Это во-первых.
А во-вторых, вопросы о видах циклов относились к императивным языкам вообще, и к Оберону, в частности... Поэтому вопрос не снимается - возможно ли это там, и если да, то почему это WHILE лучше, чем FOR с break, или FOREACH...
И еще раз подчеркну, что речь не об изменении параметра, а о "Ведь в спецификации не указано, что i для WHILE может быть только локальной переменной, на которую нельзя получать ссылки или указатели..."


№ 5608   19-10-2007 16:35 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5602« (Geniepro)
___________________________

Ну вот видите, как всё запущенно... На все машинные команды инвариантов прям не напасёшься... Так и стоит ли ими заморачиваться вообще? :о))

Конечно, не стоит.
Не зря же существуют ЯВУ и структурное программирование.

Прав Jack of Shadows: хороший цикл -- мёртвый (в смысле - отсутствующий) цикл! :о))

Новая задорная кричалка для поднятия боевого духа функциональщиков на морозе? ;)
Будет время, загляните в начало "Дисциплины программирования" Дейкстры ("От автора").
Там кое-что любопытное написано о циклах и рекурсии.
Отдельные главы из книги можно найти здесь:
http://oberon2005.ru/classics/ed1976.pdf
 AVC


№ 5607   19-10-2007 16:27 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5606« (Стэн)
___________________________

А что это мы все о видах циклов? А от перестановки слагаемых значение меняется? У тех, кот считает, что WHILE лучше чем FOR, хотелось бы спросить: А это действительно безопасно в общем случае?:
WHILE (i < len) & Condition(i) DO ... END;
Hint: Condition меняет значение i так, что оно становится > len, но возвращает TRUE. Ведь в спецификации не указано, что i для WHILE может быть только локальной переменной, на которую нельзя получать ссылки или указатели...

А в нормальном языке функция просто не имеет права изменять значения своих параметров, так что там этой проблемы просто не возникает...


<<<... | 5626—5617 | 5616—5607 | 5606—5597 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 65


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

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

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

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

Перейти на конкретную страницу по номеру
  
Время на сайте: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

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