vic57
улучшенная версия с обработкой ошибок
Сначала надо удалить ошибки из списка и составить чистый список, в котором все молекулы без ошибок, а потом подавать этот чистый список в алгоритм, который не занимается ничем посторонним, а только преобразует молекулы в молярные массы.
У тебя получилось, что ошибки участвуют в сортировке. Если там будет миллион молекул в списке и не будет ни одной правильной молекулы, то твой алгоритм будет сортировать миллион ошибок. То есть алгоритм будет сортировать ошибки.
Так вот, в реальных пограммах, когда ты их пишешь и они для чего-то нужны, не для обучения и не для развлечения или тренировки в кодинге, ошибки обычно нужно записать в отдельный журнал ошибок, чтобы потом прийти в конце месяца или полугодия туда, где установлена программа физически, и прочитать всё то, чем занимались какие-то учёные химики и когда, кто и почему там наделал неправильных формул. Бывает так, что программы следят за людьми, а бывает так, что программы следят за программами. То есть журналирование проводится не просто так, не ради прикола, а оно может быть единственным способом узнать, что что-то происходило когда-то.
Поэтому в рамках структурной парадигмы программирования у каждой функции должно быть только одно дело, которым она занимается, и только одна конкретная задача, которую она выполняет. Тогда из таких функций можно, как из простых кирпичиков, собрать любую программу, как любую постройку. Можно собрать кладовку на ноль человек, а можно собрать детский садик на триста мест, хотя кирпичики, которые используются для постройки, одни и те же.
tags: function errors