Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

*Математика и программирование

Автор mnashe, июля 2, 2015, 10:53

0 Пользователи и 1 гость просматривают эту тему.

balky_03

Цитата: mnashe от октября 13, 2016, 11:01
Скачиваешь архив, распаковываешь всё содержимое, запускаешь основной файл //meh.com.
mnashe!
Прошу прощения за свою бестолковость. Для меня указанная на картинке ссылка: закрыта!

The topic or board you are looking for appears to be either missing or off limits to you.

Прошу, пожалуйста, перенесите ссылку на архив  Multi-Edit в эту тему: *Математика и программирование.

Вот тут она выложена: 6 уровней диалога с Богом (Reply #1on: July 4, 2014, 00:39)
"6 уровней диалога с Богом", страница 3


mnashe

Цитата: balky_03 от октября 13, 2016, 11:30
The topic or board you are looking for appears to be either missing or off limits to you.
Sorry ::) Надо присоединиться к группе Религия (потом можно отписаться, тоже через свой профиль)'
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

balky_03

Цитата: mnashe от октября 13, 2016, 11:47
Sorry ::) Надо присоединиться к группе Религия (потом можно отписаться, тоже через свой профиль)'
mnashe!
Огромное спасибо за внимание и радушие!

Вступил в  группу "Религия". Затем скачал оба файла, буду разбираться:
1)  MULTEDIT.RAR (989.02 kB - downloaded 4 times.)
2)  screenshot.png (22.22 kB, 1132x617 - viewed 7 times.)

Два этапа:









balky_03

Цитата: balky_03 от октября 13, 2016, 12:40
буду разбираться
mnashe!
Спасибо, получилось очень легко и без заморочек. Программа практически всё сама делает, кроме MULTEDIT ничего не потребовалось. Почти напрямую в Windows. Поразительно!!  :yes:

Всего 38568 комбинаций, смотрите картинку ниже от Notepad++
Правда, у меня слабый процессор, поэтому он считал 6 мин. 34 секунды.

mnashe, последний раз уточняю для себя: это действительно язык Ассемблер?

Ниже картинки о последовательности моих действий:

Перед компиляцией


Общее время, затраченное на подсчёт


Файл OUTPUT.TXT (829 Kb)


mnashe

Цитата: balky_03 от октября 13, 2016, 20:45
mnashe, последний раз уточняю для себя: это действительно язык Ассемблер?
:o
Нет, конечно!
Это скриптовый язык Multi-Edit'а. Он в чём-то похож на C, в чём-то на Pascal, в чём-то ещё на что-то... на Аду, что ли... :???
Сильно упрощённый при этом, даже функций и процедур нет, только подпрограммы.
На ассемблере написано ядро Multi-Edit'а.
Вот как выглядит фрагмент ассемблерного ядра Multi-Edit'а (это раздел, отвечающий за пересчёт дат, времени и т.п.)

А вот сердце виртуальной машины:
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Bhudh

Цитата: balky_03 от октября 13, 2016, 20:45Всего 38568 комбинаций, смотрите картинку ниже от Notepad++
Правда, у меня слабый процессор, поэтому он считал 6 мин. 34 секунды.
А Вы уверены, что это из-за процессора?
Мне кажется, это из-за создания файла OUTPUT.TXT, в который записывается каждый результат.
Если открыть консоль браузера и пустить какой-нибудь цикл с выводом в консоль, витков эдак на 100k... Тоже исполнения долго ждать придётся.
Попробуйте вместо файла вывода сделать в скрипте простую переменную-счётчик результатов.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

mnashe

Цитата: Bhudh от октября 13, 2016, 23:02
А Вы уверены, что это из-за процессора?
Мне кажется, это из-за создания файла OUTPUT.TXT, в который записывается каждый результат.
Нет. Windows кэширует вывод, так что он существенной роли не играет. У меня, во всяком случае.
Без вывода была примерно та же скорость.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Bhudh

Это ещё от размера кэша зависит.
Сорок тыщ чисел не баран чихнул.
Я, кстати, вывод в консоль всегда стараюсь кэшировать, в строковой переменной или в массиве. :)
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

mnashe

Bhudh, кэширование же есть в программе.
Посмотри, я выделил всю работу с файлом:
Spoiler: программа ⇓⇓⇓
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Bhudh

Посыпаю главу пеплом, скрипт не смотрел (на телефоне проблематично).
Тогда интересно, что же там за процессор.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

mnashe

Покажу ещё один ассемблер. Для 8-битных микроконтроллеров фирмы Microchip.
Это программа, по которой работает мой палаточный фонарик на микроконтроллере PIC12F683 стоимостью меньше полудоллара:
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Тайльнемер

Цитата: Bhudh от октября 13, 2016, 23:19
Это ещё от размера кэша зависит.
Сорок тыщ чисел не баран чихнул.
Это же где-то полмегабайта всего. Чтобы 6 минут писать полмегабайта на диск...

Bhudh

Цитата: balky_03Файл OUTPUT.TXT (829 Kb)
Согласен, немного. Но каждое из чисел как-то там сложно вычисляется?
И шёл ли вывод только в файл?
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

balky_03

Цитата: mnashe от октября 14, 2016, 00:25
Покажу ещё один ассемблер. Для 8-битных микроконтроллеров фирмы Microchip.
Это программа, по которой работает мой палаточный фонарик на микроконтроллере PIC12F683 стоимостью меньше полудоллара:
mnashe!
Опять ничего не получается.
1) Код  не чисто Ассемблер, компиляция не проходит! Моему "flat assembler 1.71.54" не понравилась строка 12: include "p12f683.inc" — зарубил идею!



2) MULTEDIT тоже "рогом упёрся", не проходит компиляция. Как быть?
Multi-Edit V4.13  [Text Edit]   Insert             Mem[380k] ëÿÖÜ üë 10:31 ▌ä"ü▐
ERROR 28: $command expected
─L[00001]─C[007]─P[001]─────────────────────────────────────────────────────────
;     ┌───v───┐




balky_03

Цитата: Bhudh от октября 14, 2016, 00:24
Тогда интересно, что же там за процессор.
Bhudh!
Мой процессор двухъядерный  1.66 GHz.

Lodur

Цитата: balky_03 от октября 14, 2016, 11:15
Цитата: mnashe от октября 14, 2016, 00:25
Покажу ещё один ассемблер. Для 8-битных микроконтроллеров фирмы Microchip.
mnashe!
Опять ничего не получается.
1) Код  не чисто Ассемблер, компиляция не проходит! Моему "flat assembler 1.71.54" не понравилась строка 12: include "p12f683.inc" — зарубил идею!
:fp:
Прочтите уже что-нибудь по языкам программирования.
«Как и сам язык, ассемблеры, как правило, специфичны для конкретной архитектуры, операционной системы и варианта синтаксиса языка».
Было бы станно, если бы у вас скомпилировалась эта программа - у вас ведь, как я понимаю, такого контроллера (Microchip P12F683) нет? Скорее всего, нужный файл "инклюд" (include) распространяется вместе с контроллером, и представляет собой набор рутин (то бишь, стандартных подпрограмм) для работы с оным. У вас же, как я понимаю, этого файла просто нет, поэтому компилятор ругается.
8-й Девственник Лингвофорума

If the doors of perception were cleansed, everything would appear to man as it is: infinite. (W. Blake)
Какая потребителю разница, какой продукт лучше не работает?.. (Awwal12)

balky_03

Цитата: Lodur от октября 14, 2016, 12:13
Прочтите уже что-нибудь по языкам программирования...
Было бы станно, если бы у вас скомпилировалась эта программа - у вас ведь, как я понимаю, такого контроллера (Microchip P12F683) нет?.. поэтому компилятор ругается.
Lodur!
Осилил только ограничения: 3 и 8! С Ассемблером вижусь раз в полгода, редко.  :-[ Шапочное знакомство.

Хорошо, вот он — "p12f683.inc", скачал его (13 Кб) https://class.ee.washington.edu/475/peckol/code/Microchip/microchipExamples/mpasm/P12F683.INC



Что с ним делать, чтобы "код mnashe" сработал? Куда его вставить? Подскажите, пожалуйста.


balky_03

Цитата: balky_03 от октября 14, 2016, 13:22
Что с ним делать, чтобы "код mnashe" сработал? Куда его вставить? Подскажите, пожалуйста.
Чем дальше в лес, тем больше дров!!
Прописываю "p12f683.inc" по адресу: C:\FASM\INCLUDE\P12F683.INC


Запускаю "flat assembler 1.71.54"! Теперь ему не нравится "строка 103" в самом " //p12f683.inc", где он  сомневается в СТАТУСЕ:  RP1                          EQU     H'0006'


"Строка 103" выглядит так (на общем фоне)





mnashe

Цитата: Bhudh от октября 14, 2016, 10:41
И шёл ли вывод только в файл?
Да.

Цитата: balky_03 от октября 14, 2016, 13:22
Что с ним делать, чтобы "код mnashe" сработал?
1. Нарисовать схему и развести печатную плату фонарика (или воспользоваться моими).
2. Придумать конструкцию корпуса и собрать корпус (моей конструкцией лучше не пользоваться, она мне не понравилась, слишком много возни).
3. Купить все нужные детали:

       
  • микроконтроллер PIC12F683 в формате SO8
  • светодиодный драйвер AP3031 в формате SOT23-6
  • 4 светодиода разных цветов (RYGB) в формате 1206 и ещё три таких любых цветов (у меня два оранжевых и синий)
  • две микросхемы ёмкостного датчика касания ttp223 в формате SOT23-6
  • два полевых транзистора AO3400 или SI2300 в формате SOT23
  • диод Шоттки SS24 или SS34
  • пара резисторов на 100–300Ω в формате 1206 или 0805
  • пара резисторов на ≈1kΩ в формате 1206 или 0805
  • резистор на 47–0200Ω в формате 1206 или 0805
  • катушка индуктивности с ферритовым сердечником (то есть предназначенная для высоких частот) на 4,7μH 2A
  • керамический или танталовый конденсатор на 10μF 6,3V (или больше)
  • керамический или танталовый конденсатор на 0,47μF 20V (или больше)
  • пара керамических конденсаторов 25-35 pF
  • держатель литиевого аккумулятора или разъём для подключения
  • светодиодная матрица (COB) на цепочках из двух или трёх светодиодов в каждой
  • несколько разъёмов и проводков
4. Спаять плату.
5. Приклеить (на термопроводящий клей) или прикрутить (через термопасту) светодиодную матрицу на подходящий радиатор (в зависимости от мощности матрицы и конструкции корпуса).
6. Купить программатор (оптимальный вариант — PICkit3, цена порядка $12, точно не знаю сколько сейчас).
7. Загрузить с сайта Microchip и установить среду разработки MPLabX.
8. Подключить программатор к USB, а разъём программирования микроконтроллера на плате — к программатору (5 проводов, включая питание).
9. Запустить MPLabX.
10. Создать новый проект.
11. Добавить туда мой исходный код (файл tentlamp.asm).
12. Откомпилировать и залить в мк.
13. Отсоединить плату от программатора.
14. Перебросить перемычки или разъёмы на плате из режима программирования в рабочий режим.
15. Собрать весь фонарик: корпус, плату, держатель батарейки, радиатор с матрицей.

Я ничего не забыл? :???
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

balky_03

Цитата: mnashe от октября 14, 2016, 16:05
        ...
       
  • диод Шоттки SS24 или SS34
  • пара резисторов на 100–300Ω в формате 1206 или 0805
  • пара резисторов на ≈1kΩ в формате 1206 или 0805
   ...
13. Отсоединить плату от программатора.
14. Перебросить перемычки или разъёмы на плате из режима программирования в рабочий режим.
15. Собрать весь фонарик: корпус, плату, держатель батарейки, радиатор с матрицей.

Я ничего не забыл? :???
mnashe!
Нет! И так впечатляюще;up:
Спасибо, что вовремя меня предупредили (остановили). Хватит мне, выше крыши — сильных потрясений на сегодня.

mnasheдавайте земные (детские) задачи решать. Например, на оптимизацию ниже:

Условия
1)   После переработки сырья M получаем:  16a + 12b + 10c + 7d + 3e;
2)   Перерабатывая сырья N:  20a + 15b + 13c + 4d + 5e;
3)   Сырьё K:  11a + 10b + 9c + 5d + 4e.


Какое надо оптимальное соотношение (пропорция) между частями M, N и K — если общая потребность:  575a +  458b + 371c +  178d + 142e?



balky_03

Неужели никто не знает? Вроде ещё не ночь, спать рановато. Америка не в счёт.

Предполагаю:  вокруг иностранцы, поскольку в России такие задачи под силу ребёнку.
Смотрите моё решение, затратил 2-3 минуты — возможно у кого-нибудь получится лучше.



balky_03

Имеется четыре агрегата (автомата) для изготовления  однотипных изделий.

Таблица. Вид и длительность операций на единицу продукции, в минутах
___________Штамповка_____Сборка_____Покраска_____Упаковка
Агрегат 1______0,51__________1,25_________0,25________0,20
Агрегат 2______0,43__________1,44_________0,35________0,18
Агрегат 3______0,35__________1,52_________0,34________0,16
Агрегат 4______0,41__________1,39_________0,33________0,17


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

За что люблю программирование? Достаточно предложить любую детскую, но конкретную задачу, как математики тут же замолкают. Как бы теряют дар мышления.

balky_03

Цитата: balky_03 от октября 15, 2016, 09:41
Как правильно разделить операции между агрегатами, чтобы часовой выпуск готовой продукции был максимальным?
В Интернете аналогов подобных задач нет.

Затратил 5-7 минут  на решение — чисто умозрительное, чтобы каждый агрегат занимался делом, которое у него получается лучше. Никакое программирование не потребовалось.

Узкое место "сборка", поэтому максимальный часовой выпуск — 111 штук готовых изделий.



Yougi

 Программирование<>математике по одной простой причине
- не существует идеального компьютера с идеальным компилятором, как не существует идеального газа, сферического коня в ваккууме и прочих удобных для манипуляций, но отсутствующих в реальной жизни объектов.
"Мы живём в суровом аналоговом мире" (с) СтивенсОн.
Когда берут программера на работу, первое, о чём его спрашивают - знает ли он конкретный компилятор А, редактор В этсетера. Потому что часто А=B даёт в результате иной код, чем В=А. И всё это надо знать...
Лет 20 назад Дейкстра носился с идеей универсального верификатора программ... Ну и чем это кончилось? А ничем, собственно. По прежнему практика - критерий истины. Тестеры не нашли ошибок - и ладушки.

balky_03

Цитата: balky_03 от октября 17, 2016, 08:27
Никакое программирование не потребовалось.
Поправка компьютера, ниже, заметил мою описку.

Правильно: максимальный часовой выпуск — 112 штук готовых изделий.

У меня счётная ошибка по сборке  из-за рассеянности,  :-[ считал в уме — вроде всё просто.
Проверить на калькуляторе поленился [26 + 41 + 2 + 42(??) = 111] <—> [59,77/1,39 = 43!!].
Напоролся, споткнулся на ровном месте.


Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр