| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > проверить равенство количества символов |
| Автор: nmn 22.9.2010, 20:57 |
| здравствуйте есть лента, в каждой ее ячейке может быть записано 1 из 5 символов ((п)устой, (с)иний, (к)расный, (ж)елтый, (з)еленый), так же есть указывающее устройство (УУ) на текущий символ которое может двигаться только вперед доступны следующие операции: проверить что текущий символ является с или к (в случае совпадения УУ сдвигатся на один символ вперед), если не совпало ни с "с" ни с "к", то УУ не сдвигается вперед и остается на том же символе, после выполнения этой операции есть три варианта выполнения (когда символ с, когда символ к, и когда символ не с и не к, например п или ж или з) операция проверить что текущий символ является к или ж, принцип действия аналогичный операция записать символ(с, к, ж или з) в конец ленты задача: дана строчка вида сс...сссккккк...ккк, нужно определить является ли количество с и к одинаковым подскажите как решать пожалуйста |
| Автор: ksnk 22.9.2010, 23:03 |
| требуется решить более важную задачу - придумать язык ассемблера для этой системы тоесть - каждая операция на новой строчке, каждая строка имеет номер. номер строки операции - адрес для перехода в некоторых командах существует 2 команды сравнения типа сравнить(CЖ)?{№_строки_перехода}??{№_строки_перехода}:{№_строки_перехода}; и одна операция записи... |
| Автор: ksnk 23.9.2010, 07:27 |
| я правильно пнимаю, что если на ленте есть символ пробел (п) то сдвинутся по ленте нельзя никак? |
| Автор: nmn 23.9.2010, 15:06 | ||
можно, тогда переход будет по третьей ветке получилось! вот наглядно как выглядит решение ![]() если робот дойдет до желтого люка, то значит что строка принимается, если выбросят раньше с конвейера то строка не подходит штука с одним цветом записывает его в конец ленты, а переключатели работают как я выше описал |
| Автор: ksnk 23.9.2010, 15:16 |
| nmn, забавно. Оказывается это была задача на телепатию... |