Возможно, вы захотите привести пример. Если ваш код слишком сильно фокусируется на языковых особенностях, которые не являются частью алгоритма, то, вполне понятно, можно сказать, что у вас был неалгоритм, смешанный с вашим алгоритмом, что привело к некорректному результату.
I Почувствуйте рассуждение, цель обучения - показать, что вы поняли концепцию, а не наклоняться и галочкой все правильные поля.
Компьютер можно научить проходить университет, но компьютер не может научиться фактически думать о себе и применять знания.
Ешьте и изрыгайте менталитет, поэтому я никогда не окончил.
Что касается вашего последнего комментария, его важное значение для реализации псевдокода не определено.Там, как правило, повторно термины в нем, но не строгий язык больше, чем английский язык (в противном случае было бы быть язык программирования, который может быть обработан и выполнен дословно)
значение псевдокода является мясо из логики части системы и не должен беспокоиться чрезмерно о синтаксисе за «имеет смысл»
Часто это может сделать псевдокод и более лаконичныи более понятным.
Pseudocode также не полагается на то, что читатель имеет понимание «волшебного синтаксиса» на языке для его обработки, все, что им нужно понять, это используемые термины.
Если вы хотите дать среднему человеку алгоритм в 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
Внезапно оно становится менее двусмысленным, и больший процент людей может его понять.
Возможно, половина упражнений с написанием алгоритма - это упражнение «Не только вы должны доказать, что вы это понимаете, но также должны доказать, что вы можете объяснить свои рассуждения другим, которые ничего не знают об этой проблеме», который является жизненно важной способностью, в которой вы нуждаетесь. Если вы не можете сообщить, что вы сделали, никто не сможет его использовать.
есть и эта малоприятная проблема с кодом, который не существует в алгоритме, и что код может выглядеть права, но не может делать то, что вы думаете он делает, и если он Безразлично Не делайте это правильно, и вы не понимаете, люди, читающие код обратной инженерии, будут его загрязнять и скопировать сломанный алгоритм. нехорошо. алгоритм в человеческой форме лучше переводит «это то, что я хочу, чтобы он делал»
> Компьютер можно научить проходить университет, но компьютер не может быть> еще научен, чтобы на самом деле думать для себя и применять знания. > Ешьте и изрыгайте менталитет, поэтому я никогда не окончил. Компьютер нельзя научить проходить достойный университет. – 2008-11-05 02:29:57