Misschien wilt u een voorbeeld geven. Als uw code richt zich te veel op de taal details die geen deel uitmaken van het algoritme, dan Begrijpelijk, het kan worden gezegd dat u niet-algoritme gemengd met uw algoritme, wat resulteert in een onjuist resultaat.
I Feel voor de redenering, het hele punt van leren is om aan te tonen u het concept te begrijpen, niet te bukken en aan de juiste vakjes.
Een computer kan worden onderwezen naar de universiteit gaan, maar een computer kan niet nog worden geleerd om daadwerkelijk denken voor zichzelf en kennis toe te passen.
Eet en braken mentaliteit is de reden waarom ik nooit afgestudeerd.
Met betrekking tot uw recente commentaar, is het belangrijk om te beseffen pseudocode is niet gedefinieerd. Er zijn over het algemeen hergebruikt termen in, maar het is niet een strenge taal meer dan Engels is (anders zou het zijn een programmeertaal, die kunnen worden ontleed en letterlijk uitgevoerd)
Het belang van de pseudocode is om invulling te geven aan de logica deel van het systeem en niet te overdreven zorgen te maken over de syntax voorbij 'is het zinvol'
Vaak kan dit de pseudocode zowel meer te maken bondig en begrijpelijker.
Pseudo-code heeft ook geen beroep doen op de lezer met een goed begrip van de 'magic syntax' in de taal te kiezen om het te verwerken, alles wat ze nodig hebben om te begrijpen is de gebruikte termen.
Als je aan de gemiddelde persoon een algoritme in perl bijvoorbeeld te geven, zouden de meeste mensen gewoon sterven aan horror omdat ze niet verder kijken dan de dekvloeren van ruis op de lijn.
Terwijl:
sub foo {
my @args = @_ ;
my( $a, $b )=(@args[0],@args[1]);
for( @{ $a } ){
$b .= $_ ;
s/id//g;
}
return [$b,$a];
}
kunnen sommige coherent sence om iemand thuis in perl te maken, om de gemiddelde codelezer alles wat ze krijgen is een "what the hell heb je gewoon zeggen" reactie. Documenteren helpt ook niet veel.
| 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
Plotseling wordt het minder dubbelzinnig en een groter percentage van de volkeren kan begrijpen.
Dus misschien de helft van de oefening met het schrijven van het algoritme is een oefening in "Niet alleen heb je te bewijzen dat je het te begrijpen, moet je ook bewijzen dat je kunt uw redenering aan anderen wie niets van het probleem weten te leggen", dat is een essentieel het vermogen je nodig hebt. Als je niet kan communiceren wat je hebt gedaan, kan niemand het gebruiken.
er is ook dit vervelende probleem met de code, die niet bestaat in een algoritme, en dat is de code kan kijken naar rechts, maar kan niet doen wat je denkt dat het doet, en als het niet goed doen, en je don 't realiseren, mensen die het lezen van de code reverse engineering het zal vervuilen en een kopie van een gebroken algoritme. niet goed. het algoritme in menselijke vorm beter vertaalt 'dit is wat ik wil het niet doen'