Вы можете привести пример. Если ваш код слишком много внимания уделяется специфике языка, которые не являются частью алгоритма, то понятно, что можно сказать, у вас не-алгоритм, смешанный с алгоритмом, что приводит к неправильному результату.
I Feel для рассуждений, весь смысл обучения, чтобы показать вам понять концепцию, а не наклоняться и отметьте все правильные коробки.
Компьютер можно научить пройти в университет, но компьютер не может быть еще преподаются на самом деле думать, для себя и применять знания.
Ешьте и пересказывают менталитет, почему я не закончил.
Что касается вашего последнего комментария, важно понимать , псевдокод не определен. Там , как правило , повторно термины в нем, но не строгом языке больше , чем английский язык ( в противном случае было бы быть языком программирования, который может быть обработан и выполнен дословно)
Значением псевдокода является конкретизацией в логической части системы и не должно беспокоиться чрезмерно о синтаксисе за «имеет смысл»
Часто это может сделать псевдокод и более лаконичным и более понятным.
Псевдокод также не полагаться на читателе, имеющий представление о «волшебном синтаксисе» на языке, чтобы обработать его, все они должны понять термины, используемые.
Если вы должны были дать средним людям алгоритм в Perl, например, большинство людей просто умирают от ужаса, потому что они не видят мимо стяжек линии шума.
В то время как:
sub foo {
my @args = @_ ;
my( $a, $b )=(@args[0],@args[1]);
for( @{ $a } ){
$b .= $_ ;
s/id//g;
}
return [$b,$a];
}
может сделать некоторые когерентное Sence кому-то разбирающийся в Perl, к среднему читателю кода все они получают это «что, черт возьми, ты сказал» ответ. Документирование это не помогает много ни.
| there is a subroute foo which can take a list of strings, and a default string,
\- which then iterates all items in that list,
| \- and for each item in that list
| 1. appends the contents of that item to the end of the default string
| 2. removes all instances of the string "id" in that item
|
\ and returns a list, which contains
1. the concatentated default string
2. the modified input list
Неожиданно она становится менее неоднозначной и больший процент людей может понять.
Таким образом, возможно, половина упражнения с написанием алгоритма этого упражнения в «Мало того, что вы должны доказать, что вы понимаете это, вы также должны доказать, что вы можете объяснить ваши рассуждения других, которых ничего не знают о проблеме», которая является жизненно важной возможность вам нужно. Если вы не можете сообщить, что вы сделали, никто не может его использовать.
есть также эта малоприятная проблема с кодом, который не существует в алгоритме, и что код может выглядеть хорошо, но не может делать то , что вы думаете , он делает, и если он не делает это правильно, и вы не «т понимают, люди , читающие код обратного проектирования будет загрязнять его и скопировать сломанный алгоритм. нехорошо. алгоритм в человеческой форме лучше переводит «это то , что я хочу это делать делать»