Artisan

Artisan
Рейтинг
394
Регистрация
04.03.2005
Интересы
Беларусь, Минск, наука, техника, ...
Пишу программы для вычислительных машин, от драйверов устройств, до сложных систем для работы с большим количеством знаний. Умею бережно использовать железо, и другие ресурсы. Образец изделия: ( www.leak.info ) / изучайте ДАРОМ входящие указатели конкурентов и забытых доменов. Бесплатный обучающий курс (на русском языке) про это изделие: stepik.org/278486
Rupor22:
Может уважаемый All поможет добрым советом,
или даже приглашением разместиться.

Вам поможет платная контекстная реклама.

edogs:
Спасибо что пояснили, а то поначалу Вас поняли полностью наоборот
(что Вы советуете, а не критикуете) и сильно удивились:)

В советах есть слова надо,

лучше, и другие типа таких.

edogs:
Кстати, если решать ТУ задачу в лоб, то мы бы назвали компромиссом
if(x=220 || x=0) x^=220; else {и вот тут по желанию или ничего или эксепшен}
Ибо если значения не предусмотренные ТЗ, то мы их как минимум не будем менять
их - делая их неопределенными по сути, а как максимум предупредим о проблеме.

Я предпочитаю писать

проще по возможности.

Если задача кривая, то

лучше уточнить задачу,

чем писать кривизну.

edogs:
Нашли заодно свой тест для php-шников, который еще больше 10 лет назад использовали (так что делаем поправку на реалии тех лет) http://abazaba.ru/temp/test.zip . В начале в комментах небольшая "легенда". Так вот проблема в том, что даже на 90% его не выполняли 90% пхп-шников, при этом не было ни одного оценивающего свой уровень ниже 8 баллов... как-то так. Надо будет стряхнуть с него пыль и еще раз где-нибудь на фрилансе запулить, посмотреть изменилось ли что-то за 10 лет с лишним:)

/* Скрипт брошен слегка недоделанным

предыдущим программистом, является частью

бОльшей системы, но сам по себе независим.

логин пользователя на входе в скрипт

передается в печеньях в переменной user_login

md5 хэш пароля хранится в печеньях

в переменной user_pwd */

Я бы ответил, что хранить plain text пароли

на сервере опасно, в прянике для сеанса надо

хранить не md5 пароля, а случайную строку,

которая генерится при начале сеанса,

и нет времени на такие тесты.

vbgm:
Спасибо!

1. Что есть K&R?

2. Это не инлайн процедура в сикоде. Это одна из асм-процедур в асм-программе. Весь движок будет на асме.
Там пока 30Кб кода и еще 12Кб в inc-файле всяческих прототипов, макросов, констант, структур и т.д.

3. У меня все предусмотрено. В читаемых файлах последняя строка неудаляемая.

4. Нельзя. В eax содержится код ошибки последней выполненной функции для выходного лога. GetLastError - не вариант.

1.

http://en.wikipedia.org/wiki/The_C_Programming_Language

The C Programming Language (sometimes referred to as K&R, after its authors' initials) is a well-known computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as co-designed the Unix operating system with which development of the language was closely intertwined. The book was central to the development and popularization of the C programming language and is still widely read and used today. Because the book was co-authored by the original language designer, and because the first edition of the book served for many years as the de facto standard for the language, the book was regarded by many to be the authoritative reference on C.

http://ru.wikipedia.org/wiki/Язык_программирования_Си_(книга)

«Язык программирования Си» (англ. The C Programming Language, также известная как K&R) — книга Брайана Кернигана и Денниса Ритчи, причём последний — один из непосредственных авторов и разработчиков языка Си. Книга стала основой для разработки и популяризации Си, до сих пор имеет спрос[1] и широко используется в качестве «классического» учебника по языку. Она долгое время была единственным справочным руководством и де-факто — стандартом языка.

2. Проще все на C наваять, и будет

лучше читаемость и переносимость.

3. Кто-нибудь "умный" сделает

последнюю строку без LF знака.

4. eax обычно используют для

крайнего кода, а тащить код из

глубины лучше в других регистрах.

Сами потом запутаетесь.

edogs:
Т.е. так a=a+1; // добавляем к a единичку
а не так b=b+2; // что бы увеличить скорость на 2
Уверены?

Автор хотел критику, я ему

написал, что мне не нравится.

; Умножаем на 8 байт (2 по 4)

Вместо того, чтобы написать,

что готовим место для указателя

и длины для каждой строки.

vbgm:
Я без словаря в крестах не разбираюсь.
Как в Хатч в masm32 организовал макрос, так я и пишу сейчас.
Судья я. Вот мой пример, прошу критики.

Я писал без крестов,

K&R, вот это наше все.

ASM в Вашем образце, культура

кодирования отвратительная.

В самом начале процедуры должно

быть описание, вход, выход, действия.

Комментарии описывают простые действия,

без пояснения зачем нужны эти действия.

Все числовые константы надо

define со смыслом предварительно.

#define ProcedureIndexFile 00020004h

#define LineFeed 0Ah

Константы для условий надо

define именовать обязательно.

#define FileFail 0

#define HeapFail 0

.if eax == FileFail

Зачем вообще ассемблер для этой задачи?

Страдают читаемость и переносимость.

Файловые действия сожрут столько

времени, что вся скорость теряется.

Не обязательно строка файла

заканчивается LF знаком, последняя

строка может быть без LF знака,

Вы такую строку не считаете.

loop LdCoreCfgFileLoop01

inc ebx ; надо считать последнюю строку без LF знака

jmp LdCoreCfgFileComplete01

Выходной код лучше отдавать

в обычном eax регистре.

Можно еще подумать,

но есть другие дела.

vbgm:
1. Источник электропитания - y;
Описать принцип кнопки-триггера,
переключающей напряжение 220В - 0В.
Flector:
в реальной задаче я бы проверял любые значения напряжения.
у меня сейчас ИБП питания показывает входящее 215в.

но в конкретной задаче на строго поставленном
ТЗ в виде триггера - никаких проверок на несоответствие
220 и 0 я делать ни в коем случае не буду.

В этой задаче явно написано,

что переключаем напряжение.

Откуда Вы точно знаете,

какое значение у переменной?

Я выше уже написал, что

может влиять на переменную.

Если у переменной может быть

значение 220, то это уже явно

не один бит, поэтому надо

учитывать все возможности.

220 Вольт есть опасное напряжение,

поэтому если надеяться, что выключено,

когда на самом деле включено,

то могут быть жертвы.

Flector:
в условии задачи явно есть слово триггер.
триггеры — это устройства с двумя состояниями.

Сферическая лошадь в вакууме.

Напряжение плавает, потому что движение

электронов при нормальных условиях случайно.

Дребезг контактов, системные прерывания,

преобразование типов данных, многопоточность,

взаимодействие между процессами, бывают даже

глюки транслятора языка программирования.

И могут быть другие причины.

---------- Post added 14-03-2015 at 11:12 ----------

Дополнение о сферических лошадях.

https://ru.wikipedia.org/wiki/Ошибка_Pentium_FDIV

Ошибка Pentium FDIV — это ошибка в модуле операций с плавающей запятой в оригинальных процессорах Pentium, выпускавшихся фирмой Intel в 1994 году. Ошибка выражалась в том, что при проведении деления над числами с плавающей запятой при помощи команды процессора FDIV в некоторых случаях результат мог быть некорректным.

Данная ошибка была впервые обнаружена и опубликована профессором Линчбургского колледжа Томасом Найсли в октябре 1994 года[1].

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

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

Стремление производителя утаить проблему и реакция на ее обнаружение вызвали недовольство потребителей и обширную критику в СМИ, в том числе жесткий репортаж CNN. В результате компания изменила позицию и объявила, что будет свободно обменивать дефектные процессоры всем желающим. Энди Гроув принес публичные извинения. История стоила Intel более половины прибыли за последний квартал 1994 г. — $475 млн[3].

Доверьяй, но проверьяй!

(C) Рональд Рейган

edogs:
По нам так при поставленной задаче надо эксепшен кидать.

Дело житейское, на каждый кривой

электрон эксепшнов не напасешься.

vbgm:
Так вот, простая задача: написать программу "кнопка-триггер".
Дано:
1. Источник электропитания - y;
2. Проводник - x;
3. Кнопка - программа;
4. Потребитель электропитания (не фигурирует в программе).

Описать принцип кнопки-триггера, переключающей напряжение 220В - 0В.

В абсолютно всех присланных решениях использовались условные операторы if:
if x = 220
x = 0

else
x = 220

endif

Один чел прислал решение xor 220. И его не взял, т.к. решение он подсмотрел. Пишу сам с 2-мя старыми сишниками-знакомыми.
Но надежда есть!

А судьи кто?

if (x > 110)

x = 0; else

x = 220;

NeMaster:
Тут подробно все расписано. Натуральное питание.
http://kotemot.com/8-naturalnoe-kormlenie-koshek.html
Но соблюдать рекомендации не просто.

Там бред по поводу каши,

вареного, и промораживания.

Кошкам надо сырое самое свежее

мясо, печень, сердце, немного жира

на мясе, можно яичные желтки.

Можно предлагать вареную морковку,

полезно сеять свежую траву типа овес.

Если варить, то будет

нехватка витаминов.

qapoz:
А то жрут одно мясо, причем исключительно вырезку.
И то через раз - очень привередливы к качеству.
Всякие "Вискасы" вообще и видеть не хотят.
С другой стороны, слышал, что одно мясо им есть вредно.
Как можно плавно поменять рацион?
http://en.wikipedia.org/wiki/Carnivore

Obligate carnivores or "true" carnivores depend on the nutrients only found in animal flesh for their survival. While they may consume small amounts of plant material, they lack the physiology required for the efficient digestion of vegetable matter and, in fact, some carnivorous mammals eat vegetation specifically as an emetic. For instance, felids including the domestic cat are obligate carnivores requiring a diet of primarily animal flesh and organs.[5] Specifically, cats have high protein requirements and their metabolisms appear unable to synthesize certain essential nutrients (including retinol, arginine, taurine, and arachidonic acid), and thus they rely on animal flesh in their diet to supply these nutrients. [6][7]

Коты правильно делают,

но полезно к мясу добавки.

~ 10 % (свежая!) печень, можно сердце.

~ 5 % жир на мясе, лучше говяжий.

Иногда полезно предлагать

тертую вареную морковку.

Полезно посеять

траву типа овес.

Всего: 6319