Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Алгоритмы и теория программирования


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

CradleA
Статус: Профессионал
Рейтинг: 37
∙ повысить рейтинг »
Megaloman
Статус: Академик
Рейтинг: 12
∙ повысить рейтинг »
Роман Селиверстов
Статус: Советник
Рейтинг: 0
∙ повысить рейтинг »

∙ Алгоритмы и теория программирования

Номер выпуска:197
Дата выхода:16.09.2016, 16:51
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:19 / 7
Вопросов / ответов:3 / 4

Консультация # 134499: Уважаемые эксперты! Помогите пожалуйста составить алгоритм записи 5 байт в массив памяти 512 байт (), так чтобы записывались по циклу разные участки памяти (это нужно для продления ресурса памяти, т. к. число перезаписей ограничено) Наверное нужно писать еще 6й байт - адрес текущего блока или какую-то комбинацию, так чтобы при считывании массив...
Консультация # 74861: Здраствуйте ув. эксперты! Вчера, в обед, решая одну олимпиадную задачу, я поймал себя на том, что совершенно не в состоянии придумать алгоритм, перебирающий все комбинации элементов в ряду (этим должно было заканчиваться решение). Если не очень понятно: Элементы -- это числа. Ряд -- это массив (одномерный). Требуется перемешивать числа ...
Консультация # 185979: Здравствуйте уважаемые эксперты! У меня возникли сложности с таким вопросом: Расширить алгоритм, представленный на Рис. на слова ВАСЯ, ВРЕМЯ, АКЦИЯ, ЗАДАЧА. Вот пример который был дан для помощи: Описать процедуру, реализующую пре...

Консультация # 134499:

Уважаемые эксперты!
Помогите пожалуйста составить алгоритм записи 5 байт в массив памяти 512 байт (), так чтобы записывались по циклу разные участки памяти (это нужно для продления ресурса памяти, т. к. число перезаписей ограничено) Наверное нужно писать еще 6й байт - адрес текущего блока или какую-то комбинацию, так чтобы при считывании массива точно определить какие 5 байт были записаны последними. Заранее спасибо.

Дата отправки: 28.04.2008, 12:25
Вопрос задал: Ляудинскайте Юлианна
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Гнедов Андрей:

Здравствуйте, Ляудинскайте Юлианна!
Насколько я понял, Вы пишете 5 байтов в микросхему, которая имеет ограничения по числу циклов стирание/запись, но практически не имеет ограничений на чтение.
Если Вам нужно хранить всего 5 байтов, а у Вас их 512, нужно всю память разделить на блоки, напрмер по 8 байт - 3 байта на номер записи и 5 байт на содержимое. Всего 64 блока, номера 0-63. Смещение блока - номер*8.

При инициализации: вся память записывается нулевыми данными с нужными номерами. Запись производится последовательно, сначала в 0-й - номер 0, потом в 1-й - номер 1, и т.д. После 63-го - опять в 0-й.

При записи ищется последовательная пара номеров, чтобы следующий был меньше предыдущего на 64 ( с учетом кольца, что после 63-его - снова 0-й, а после номера 0xFFFFFF - 0x000000). Тогда второй в этой паре - самый старый, его переписываем.

При чтении: ищется блок с максимальным номером (с учетом, что после номера 0xFFFFFF идет 0x000000) , он и есть последний.

Можно ускорить работу, если при поиске максимального номера просматривать не все 64 записи, а искать переход делением пополам.

Консультировал: Гнедов Андрей
Дата отправки: 28.04.2008, 18:09
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Errandir:

Здравствуйте, Юлианна!

Я полностью согласен с Андреем, но хочу заметить, что лучше делить на блоки по 6, так как это улучшит коэффициент использования памяти на 20.5%.

Коэффициент использования памяти — отношение памяти использованной для хранения полезной информации на максимальное количество изменений байта по всей памяти ко всей памяти. // если один и тот же участок памяти используется несколько раз, то объём памяти складывается

для 8-и байтового блока: ((64*5)/1)/512=62.5%
для 6-и байтового блока: ((85*5)/1)/512=83.0%

Приложение:

Консультировал: Errandir
Дата отправки: 28.04.2008, 20:40
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 74861:

Здраствуйте ув. эксперты!
Вчера, в обед, решая одну олимпиадную задачу, я поймал себя на том, что совершенно не в состоянии придумать алгоритм, перебирающий все комбинации элементов в ряду (этим должно было заканчиваться решение). Если не очень понятно:
Элементы -- это числа. Ряд -- это массив (одномерный).
Требуется перемешивать числа в массиве так, чтобы кратчайшим (читай быстрейшим) способом получить все возможные массивы.
Помогите пожалуйста. Язык -- паскаль (можно фри).
Заранее благодарен.

Дата отправки: 08.02.2007, 23:14
Вопрос задал: Dobrotsvetov_D_M
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Xoma:

Здравствуйте, Dobrotsvetov_D_M!
Насколько я понял, Это комбинаторная задача. Получение всех перстоновок. всего их N! где N-количество элементов множества.
Вам поможет любая книга по комбинаторике. Например, книга Захаровой "Алгоритмы дискретной математики" там на страницах 16 - 17 приведён текст программы на пскале, которая переберает перестановки данного массива. Его (текст программы) вам и отсылаю.

Приложение:

Консультировал: Xoma
Дата отправки: 08.02.2007, 23:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 185979:

Здравствуйте уважаемые эксперты! У меня возникли сложности с таким вопросом:
Расширить алгоритм, представленный на Рис. на слова ВАСЯ, ВРЕМЯ, АКЦИЯ, ЗАДАЧА.


Вот пример который был дан для помощи:
Описать процедуру, реализующую преобразование из именительного падежа в родительный для существительных следующих типов: ДОМ, МАМА, ВИЛКА, КИНО, НОЧЬ, ТОКАРЬ, КИЛЬ.
Решение 1 указано на Рис. в виде блок схемы соответствующего алгоритма.
+ сам алгоритм решения задачи-примера отправляю отдельным файлом: скачать файл
Заранее спасибо за помощь!

Дата отправки: 06.05.2012, 22:02
Вопрос задал: Куценко Андрей Валерьевич
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, Куценко Андрей Валерьевич!

Вот Вам расширенный алгоритм.


В виде DOC-файла alg.doc (71.9 кб)
В файле для наглядности указал куда попадают слова.

PS В Вашем алгоритме неправильно обрабатывалось слово ДОМ

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 07.05.2012, 01:56

5
нет комментария
-----
Дата оценки: 07.05.2012, 11:33

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное