Jest pisanie kodu poza nadal uważane za algorytmicznych reprezentację?

głosy
2

Właśnie stracił 50% swojej odpowiedzi na teście bo pisałem kod na zewnątrz zamiast algorytmu na moim średnioterminowej, wpadając mi od A do C. Czy pisanie kodu poza nadal uważane za algorytmicznych reprezentację?

Wikipedia: Algorytm Przedstawicielstwo (od stylu programowania jest dość dużo oparte na konsensusie)

EDIT: Ok, więc pozwól mi zrobić kilka punktów przewagi:

  1. Test poprosił o pseudo-kodu, który nigdy naprawdę „zdefiniowany” w klasie; po prostu wypisał angielskiego dla naszych algorytmów.

  2. Jest to klasa Java i wypisał całą rozwiązanie w metodzie Java, wraz z komentarzami. Wszystko to było odręcznie, i trwało dłużej pisać niż pseudo-kodu. Myślałem, że będzie bardziej jasne.

  3. I normalnie nie miałoby problemu o takich rzeczach, ale jest różnica między A i C, i mam jazdę stypendialny na moich egzaminów.

  4. Wreszcie, robię to stanowisko z dwóch powodów:

    4.1 Chcę pokazać, co współczesny społeczność programowanie myśli o pseudo-kod i algorytmicznej reprezentacji.

    4.2 Chcę wiedzieć, co jest dopuszczalne w „realnym świecie”; I już zostały programowania od jakiegoś czasu, ale chcę, aby być w stanie przyczynić się do projektów wkrótce open source, a ja nie chcę wchodzić na czyjeś palce. (Chociaż jestem pewien, że ten temat ma niewielkie szanse na wymyślanie w realnym świecie).

Ponownie, dzięki za pomoc / poradę.

Utwórz 05/11/2008 o 00:12
źródło użytkownik
W innych językach...                            


8 odpowiedzi

głosy
0

Wszystko co wiem, to nie powinno się pisać żadnego kodu, dopóki masz algorithim.

Odpowiedział 05/11/2008 o 00:15
źródło użytkownik

głosy
5

Możesz podać przykład. Jeśli kod skupia się zbytnio na specyfikę języka, które nie są częścią algorytmu, to zrozumiałe, że można powiedzieć, że trzeba było non-algorytm zmieszany z algorytmem, w wyniku nieprawidłowego wyniku.

Czuję do rozumowania, cały sens nauki jest pokazanie Ci zrozumieć koncepcję, aby nie zginać i zaznaczyć wszystkie właściwe pola.

Komputer może być nauczane, aby przejść na uniwersytet, ale komputer nie mogę być jeszcze uczy się właściwie myśleć za siebie i stosować wiedzę.

Jeść i regurgitate mentalność jest dlaczego nigdy nie ukończył.


Waszym ostatnim komentarzu, ważne, aby uświadomić sobie, pseudokod jest niezdefiniowany. Tam zazwyczaj są ponownie używane terminy w nim, ale nie jest to ścisły język dłużej niż angielski jest (w przeciwnym razie byłoby to być język programowania, który może być analizowany i wykonywany verbatim)

Znaczenie z Pseudokod jest ukształtowaniu logicznej części systemu i nie trzeba martwić się zbytnio o składni poza „ma sens”

Często może to uczynić pseudokod zarówno bardziej zwięzły i bardziej zrozumiałe.

Pseudokod również nie zależy od czytelnika mającego zrozumienie „magicznego” składni w języku, w celu ich przetworzenia, wszystkie one muszą zrozumieć to terminy stosowane.

Jeśli było dać przeciętny człowiek algorytm w Perlu na przykład, większość ludzi po prostu umiera z przerażenia, bo nie widzą obok jastrychów hałasu linii.

Podczas:

sub foo { 
   my @args = @_ ; 
   my( $a, $b )=(@args[0],@args[1]); 
   for( @{ $a } ){
       $b .= $_ ; 
       s/id//g; 
   }
   return [$b,$a];
}

może zrobić jakiś spójny sence komuś zorientowanych w Perl, średniego czytnika kodów wszyscy get to „co do cholery powiedziałeś” odpowiedź. Dokumentowania go nie pomaga dużo albo.

| 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 

Nagle staje się mniej dwuznaczne i większy odsetek ludności może go zrozumieć.

Więc ewentualnie pół ćwiczenia z pisania algorytm jest ćwiczeniem w „Nie tylko trzeba udowodnić, że to zrozumieć, trzeba także wykazać można wyjaśnić swoje rozumowanie do innych, których nic nie wiedzą o problemie”, która jest niezbędna zdolność trzeba. Jeśli nie mogą się komunikować, co masz zrobić, nikt nie może go używać.

istnieje również ten paskudny mały problem z kodem, który nie istnieje w algorytmie, a to jest kod może wyglądać dobrze, ale nie może robić to, co myślę to robi, a jeśli to nie robi to dobrze, a ty don „t sobie sprawę, że ludzie czytanie inżynierię odwrotną kod będzie zanieczyszczać go i skopiować złamaną algorytmu. niedobrze. Algorytm w ludzkiej postaci lepszej tłumaczy „to jest to, co chcę, to rób”

Odpowiedział 05/11/2008 o 00:20
źródło użytkownik

głosy
3

W tym przypadku trzeba odroczyć do profesora.

Odpowiedział 05/11/2008 o 00:23
źródło użytkownik

głosy
0

Problem z wykorzystaniem kodu zamiast Pseudokod jest to, że teoretycznie rzecz biorąc, można by przypuszczać, że to był kod, nie pseudokod. W każdym razie, nauczyciel klas Ci za odpowiedź, nie do poznania - Państwo będzie lepiej odpowiadając czego poprosił, w warunkach nauczyciel lubi. Tak, wszyscy wiemy, wiesz lepiej. Ale nigdy nie jest zły ćwiczenie próbować rozumieć sposób innej osoby, wiesz. A przynajmniej w moim kraju, nauczyciel ma prawo do oceny swobodnie, więc ... dogadać się z nim!

Odpowiedział 05/11/2008 o 00:29
źródło użytkownik

głosy
2

Trzeba podać więcej informacji. Zostali poproszeni o algorytmie, ale dostarczony kod. Czy komentowania kodu? Ile? (Chciałbym zobaczyć pytanie i odpowiedź, ale być może, że jest zainteresowanie zbyt dużo).

Więc ja odpowiem na podstawie własnego doświadczenia. Jeśli pytam dla algorytmu, to chcę coś, co wyjaśnia, w przyzwoity angielski, jak rozwiązać ten problem i / lub spełnienia wymagań w rachubę. Schematy są również dobre (czasami lepiej). Ustęp, punkt forma, cokolwiek - to po prostu musi być jasny, zwięzły i poprawny.

Jeśli mnie dostarczamy z kodem, który robi z powyższym, potem pełne śladów. Jednakże, jeśli kod, który jest czysty „język”, a raczej tajemniczy dostarczyć, a następnie znaki zostaną utracone - bardziej lub mniej w zależności od tego, jak tajemniczy kod faktycznie jest. Nawet z kodem, chciałbym zobaczyć schemat, jak również, żeby pokazać pełne zrozumienie pojęć.

Jedną z najtrudniejszych rzeczy, jakie napotykają podczas nauczania programowania jest w coraz studenci napisać więcej, a nie mniej. Czasami musiałem przypominać im, że zadanie (lub egzamin) nie jest wpis w „najbardziej ukrywane konkursie kodu”. ;-)

Twoje zdrowie,

-R

Odpowiedział 05/11/2008 o 00:49
źródło użytkownik

głosy
0

Wystarczy porozmawiać z profesorem i zapytać go, dlaczego masz pytanie źle. Zapytaj go, co to prawidłowa odpowiedź będzie, i to, co jest zasadnicza różnica między tymi dwoma.

To może być, że algorytm napisałeś nie była prawidłowa?

Odpowiedział 05/11/2008 o 01:56
źródło użytkownik

głosy
0

Kod jest algorytm napisany tak, że maszyna może ją wykonać. Nie ma nic w tej definicji mówi, że to nie jest także napisane dla człowieka, aby zrozumieć. Czy pisanie w Javie przesłaniać algorytmu? To by określić, czy I uzgodnione z nauczycielem.

Odpowiedział 05/11/2008 o 02:22
źródło użytkownik

głosy
2

Jako równiarka na kursie zaawansowanym algorytmom, bym zawsze zdjąć punkty, jeśli nie jest to po prostu zakodowane rozwiązanie.

Niektóre rzeczy po prostu nie może być wyrażona jako wymownie w kodzie, jak mogą w języku angielskim. Pseudo-kod jest próbą uwolnić ścisłej składni kompilatora i pozwolić trochę wyrazistości. Jest to krok we właściwym kierunku zrozumiałość, ale nie zawsze wystarcza.

w klasie algorytmów szczególnie, to zawsze ważne, aby dostarczyć dowód poprawności (czy to przez indukcję, sprzeczności, etc.), a także notacji big-O dla czasoprzestrzeni i czasowemu złożoności algorytmu.

Odpowiedział 13/11/2008 o 21:04
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more