Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт апр 18, 2024 05:03

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 85 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Пт фев 10, 2012 14:41 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
Идиосинкразия (от греч. idios — своеобразный, особый, необычный и synkrasis — смешение),
болезненная реакция, возникающая у отдельных людей на раздражители, которые у большинства других не вызывают подобных явлений.
Я наверное отношусь к большинству, а вы к отдельным людям.

Тем не менее, термин "идиосинкразия" используется и в ироничном смысле, когда человек хочет намекнуть, что раздражает-то многих, а прямо указывает пока что только он.
chess писал(а):
Манипуляторы это инструмент, который нужно применять в определенных условиях, как и все остальное. Для данной задачки подходит. А также, подходят к разнообразной работе с параметрами на стеке независимо от типа этих параметров.

Я вот эту пестрятину даже прочитать нормально не смог. А уж писать такое - вообще ужас. С какой целью? Сэкономить три такта и два байта? Если ценой написания трудновоспринимаемого кода - спасибо, не надо.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Пт фев 10, 2012 15:01 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
Тем не менее, термин "идиосинкразия" используется и в ироничном смысле, когда человек хочет намекнуть, что раздражает-то многих, а прямо указывает пока что только он.

На иронию можно ответить такой-же иронией.
Хищник писал(а):
Я вот эту пестрятину даже прочитать нормально не смог. А уж писать такое - вообще ужас.

Если не умеете читать, зачем пытаться. На форуме некоторые уже умеют и писать тоже.
Хищник писал(а):
С какой целью? Сэкономить три такта и два байта? Если ценой написания трудновоспринимаемого кода - спасибо, не надо.

Цель не в экономии тактов и байтов, а в резком снижении затрат на создание корректного решения.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Пт фев 10, 2012 15:22 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
Если не умеете читать, зачем пытаться. На форуме некоторые уже умеют и писать тоже.

Раз пишут - читаю :) А на форуме могут быть и знающие китайские иероглифы.
chess писал(а):
Цель не в экономии тактов и байтов, а в резком снижении затрат на создание корректного решения.

И каким образом иероглифический стиль кодирования резко снижает затраты на создание корректного решения? Что автор заинтересован - это понятно. Что он смог уговорить кого-то тоже попробовать и у того тоже получилось - не показатель.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Пт фев 10, 2012 15:49 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
Раз пишут - читаю А на форуме могут быть и знающие китайские иероглифы.

Не читаете, только просматриваете. Чтобы читать, надо сначала научиться читать.
И что, на форуме на них пишут программы?
Хищник писал(а):
И каким образом иероглифический стиль кодирования резко снижает затраты на создание корректного решения?

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

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Пт фев 10, 2012 18:06 
chess писал(а):
безошибочно работающее решение
За такую фразу программиста впору увольнять.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Пт фев 10, 2012 20:40 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
gudleifr писал(а):
За такую фразу программиста впору увольнять.

Если ошибка найдется - можно. Можно из-за ошибок и без фразы уволить.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Пт фев 10, 2012 21:01 
chess писал(а):
Если ошибка найдется - можно.
Ошибки есть всегда! Никто не отменял главную аксиому программирования - в любой программе всегда есть две серьезные ошибки. Это число никак не зависит от числа ошибок, которые были уже найдены или будут найдены позднее.
Так как мне по роду службы приходилось искать чужие ошибки, то я даже классификацию ошибок, присутствующих в правильно работающих программах, придумал. По мере возрастания серьезности.
1) Заглушки, оставленные программистом. Самый легкий случай, т.к. программист о них знает, и если на него надавить, в них сознается и пообещает исправить.
2) Ошибки, которые исправляет язык программирования или операционная система. Избыточные или недостающие инициализации... Избыточные буферизации и проверки условий... Незакрытие открытых или закрытие неоткрытых файлов...
3) Ошибки, вылезающие в крайних случаях. Переполнения, исчерпания, гонки...
4) Несоответствие программы требованиям ТЗ. То ли программист о них забыл, то ли неправильно понял, то ли они были изменены...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Пт фев 10, 2012 21:55 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
gudleifr писал(а):
Ошибки есть всегда!

Удобный предлог для программистов уйти от ответственности по причине своих незнаний-неумений-лени-шапкозакидательству-потаканиям_начальству-боязни_потерять_работу-и-тд-и-тп.
Ошибки проявляются когда программа неправильно сработала и оказалось, что по ТЗ она так работать не должна. Наказывают не за ошибки в тексте программы, а за то, что не были предприняты все необходимые действия для того, чтобы их там не было
на момент сдачи программы в эксплуатацию.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Пт фев 10, 2012 23:25 
chess писал(а):
Удобный предлог для программистов уйти от ответственности
Американцы как-то похвалялись, что в их программах РВСН на 1000 строк кода всего 5 ошибок. NASA, правда, утверждает, что у нее на 1000 строк только 0,1 ошибки, но это больше похоже на рекламу.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Сб фев 11, 2012 00:55 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
Не читаете, только просматриваете. Чтобы читать, надо сначала научиться читать.

Да ну, мне такое не осилить! :))
chess писал(а):
Результат достигается быстрее по причине отсутствия необходимости отслеживать и управлять положением параметров на стеке во время работы программы и одновременным контролем(оперативным удержанием) гораздо большего куска программы нежели ранее. Насчет уговорить - ваши домыслы.

Обоснование одного недоказанного не может производиться за счет другого недоказанного. "Быстрее" имеет четкие метрические характеристики, выражаемые в секундах/минутах/часах на кодирование, верификацию, сопровождение и так далее.
chess писал(а):
Показатель только один - результат(безошибочно работающее решение), полученное за меньшее время.

"Безошибочно" - это откуда? Кто проверил? И пока я вижу большее время, потому что разобраться в мешанине символов оказывается довольно-таки сложно. Это, правда, уже выяснили - у меня же межушное пространство пустое, и читалка туда не встроена :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Сб фев 11, 2012 00:59 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
gudleifr писал(а):
Ошибки есть всегда!

Удобный предлог для программистов уйти от ответственности по причине своих незнаний-неумений-лени-шапкозакидательству-потаканиям_начальству-боязни_потерять_работу-и-тд-и-тп.

Оценка работы программистов не представляет собой выбор между черным и белым. Скорее стремление к безошибочности есть удобный предлог, чтобы затребовать дополнительное время и ресурсы.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Сб фев 11, 2012 01:35 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
Код:
: ?min
  2dup = if 2drop -1 exit then
  2dup > if swap then 0
;

: med ( a b c -- m | _ )
  ?min if drop exit then rot
  ?min if drop exit then drop
  ?min if exit then swap drop
;


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


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Сб фев 11, 2012 08:58 
Не в сети

Зарегистрирован: Ср июл 05, 2006 14:44
Сообщения: 236
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.
Так как и для меня самого это в диковинку, расскажу как я написал решение на
стековых манипуляторах.

открываю дежурно форум, ага есть новая тема от chessa, что это там пишет дружище?
а задачка. такс как раз отрыто два фара, открываю в одном таблицу определений
символов стековых манипуляторов тащу вверх, в другом открываю редактор.
перечитываю первую фразу. На стеке три числа. пишу {: miidle 3\} представляю в уме
себе их 1 2 3, именно как числа с именами 1 2 3
.. среднее .. а это, пишу {12>13<&} поднимаю глаза выше как там ифы пишутся?,
дописываю {i} оставим значит 1 и выход пишу - {1} и дописываю {;t}, а с числом 1
у нас может быть другой вариант, записываю {12<13>&} и дописываю {i1;t}, да
думаю симпатично тут иф записывается, лаконично. теперь бы думаю не запутаться,
берем число 2 и если оно .., а руки сами пишут {21>23<&} оставляем 2 {i2;t} и
другой вариант для двойки руки записывают за раз {23>21<&i2;t}, для 3 числа
немного кося на начало строки записываю разом весь блок {31>32<&i3;t31<32>&i3;t}
ну вот, кажется все пишу {;}
сохраняюсь и проверяю 2 1 3 middle - 2, хорошо а 5 2 5 middle? пусто.
сижу немного прибалдевший, обычно когда пишу текст программы, совершаю
некоторые механические действия и обдумаваю что писать, что вычленить.
то есть вставляю убираю пустые строки, выравниваю if и then, begin again
здесь я ни разу не сменил позицию курсора ! каждое слово в размышлении
легло в свой символ. странное и новое ощущение.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Сб фев 11, 2012 12:52 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Alex писал(а):
открываю в одном таблицу определений
символов стековых манипуляторов тащу вверх, в другом открываю редактор

Alex писал(а):
поднимаю глаза выше как там ифы пишутся?

Alex писал(а):
теперь бы думаю не запутаться,

Alex писал(а):
немного кося на начало строки

Кошмар.
Alex писал(а):
обычно когда пишу текст программы, совершаю
некоторые механические действия и обдумаваю

А тут весь ресурс мышления ушел на попытки удержать в голове, какая закорючка нужна для выражения очередного действия?
Alex писал(а):
выравниваю if и then, begin again

А это разве не автоматически делается во многих редакторах?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Оставить среднее
СообщениеДобавлено: Сб фев 11, 2012 15:44 
Не в сети

Зарегистрирован: Ср июл 05, 2006 14:44
Сообщения: 236
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.
Цитата:
А тут весь ресурс мышления ушел на попытки удержать в голове, какая закорючка нужна для выражения очередного действия?

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

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

вот гляньте как из темы выстроилось вспомагательное слово 3DUP

Код:
: 3DUP ( x1 x2 x3 -- x1 x2 x3 x1 x2 x3 ) ROT DUP >R -ROT 2DUP R> -ROT ;
: 3DUP ( x1 x2 x3 -- x1 x2 x3 x1 x2 x3 ) >R 2DUP R@ -ROT R> ;
: 3DUP ( x1 x2 x3 -- x1 x2 x3 x1 x2 x3 ) DUP 2OVER ROT ;
: 3DUP ( x1 x2 x3 -- x1 x2 x3 x1 x2 x3 ) 3|123 ;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 85 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB