Co to jest Pseudokod i algorytm?

Anonim

W bardzo prosty sposób, Pseudo kod to narracja opisująca logikę algorytmu.

Pseudokod nie jest wykonywalnym kodem, więc nie jest obowiązkowe stosowanie dokładnej składni; jednak pomocne jest zastosowanie powszechnie stosowanego standardu w branży, który może być łatwo zrozumiany przez zespół ds. rozwiązań.

Unified Modeling Language (UML) i inne metodologie modelowania biznesowego można również nazwać przykładami pseudokodu. Chociaż narzędzia te nie są oparte wyłącznie na tekście, służą do wizualnej reprezentacji wykonywalnego zadania lub procesu.

Najlepszą praktyką jest wyraźne udokumentowanie pseudokodowania strukturalnego i pełnego, aby pomóc w dokładnym tłumaczeniu i jest to niezbędny element planowania logiki rozwiązania i programowania.

Jeśli pseudokod nie istnieje dla algorytmu, niepotrzebny czas spędzany jest na wymyśleniu rozwiązania lub wydobyciu jakiegoś niejasnego pomysłu na etapie kodowania, zwykle z nadejściem terminu.

Podczas rozwiązywania problemów z algorytmem pseudokod zapewnia kontekstowe myślenie o tym, jak został on złożony, a programista może, ale nie musi, być zawsze w pobliżu, aby to zrozumieć.

Spójrz na ten przykład pseudokodu z Khan Academy[ja]:

Jest to pseudokod tekstowy napisany w narzędziu programistycznym.

Poprzednie obrysy // wskazują, że tekst jest komentarzem (lub został skomentowany w kategoriach programowania) i dlatego nie jest częścią kodu wykonywalnego.

Pogrubiony tekst poniżej pokazuje składnię i wymiary programisty, interpretując je z wymagań w kodzie pseudokodowym do kodu wykonywalnego.

// Jak wprowadzamy nasze pomysły w kod?

// Narysuj twarz, owalną pośrodku elipsa (szerokość /2, wysokość/2, 200, 300);

// Narysuj dwa oczy, dwa owale, około 2/3 w górę twarzy i 1/5 rozmiaru twarzy elipsa (szerokość /2 – 40, wysokość/2 – 50, 40, 40); elipsa (szerokość /2 + 40, wysokość/2 – 50, 40, 40);

Inny przykład poniżej pokazuje bardziej techniczną i uporządkowaną stronę zbliżającą się do pisania pseudokodu:

Jeśli ocena ucznia jest większa lub równa 60

Drukuj "Dobrze zrobione!"

jeszcze

Drukuj "Niestety, nie udało Ci się"

Odnosząc się do strukturalnego pseudokodu, istnieją standardowe terminy, które reprezentują logikę algorytmu, takie jak SEKWENCJA, PODCZAS, IF-THEN-ELSE i dodatkowe konstrukty, które są również użyteczne obejmują POWTARZAĆ DOPÓKI, WALIZKA, i DLA.

Warunki te są zrozumiałe dla programistów i pomocne w budowaniu wymagań bez używania slangu lub terminów osobistych, które mogą nie być zrozumiane przez innych.

  • SEKWENCJA wskazuje sekwencyjnie wykonywanie zadań od góry do dołu.
  • PODCZAS jest powtarzającą się pętlą wykonywaną do momentu spełnienia warunku zdefiniowanego na początku.
  • IF-THEN-ELSE to decyzja podjęta między dwoma warunkami:
Przykład

IF HoursWorked> NormalWeek THEN

Wyświetl komunikat grafiku o nadgodzinach

JESZCZE

Wyświetl komunikat normalnego grafiku

  • POWTARZAĆ DOPÓKI jest wykonywaną pętlą powtarzalną do momentu spełnienia warunku zdefiniowanego na końcu.
Przykład

POWTARZAĆ

sekwencja

DO WARUNKU

  • WALIZKA przewiduje wiele decyzji opartych na wartości wyrażenia.
  • DLA jest powtarzającą się pętlą liczącą

Zauważ, że dla każdego zadania lub procesu użyj KONIEC/ENDIF (gdzie IF jest używany) na końcu, aby wskazać, że jest to punkt końcowy lub wynik końcowy.

Gdy konstrukty są zagnieżdżone w sobie nawzajem, muszą być wyraźnie wcięte z ich konstrukcji macierzystej, innymi słowy, wszystkie instrukcje pokazujące zależność powinny być wcięte.

Z czasownikami, słowami "robienie", korzystaj z takich terminów, jak: Proces, Komputer, Resetuj, Przyrost, Dodaj, Pomnóż, Drukuj, Wyświetl itd. I zauważ, że wcięcie promuje pożądany pseudokod.

Teraz spójrzmy na algorytmy i ich różne od pseudokodowania.

Po pierwsze, czym jest algorytm?

"Nieformalnie algorytm jest dowolną dobrze określoną procedurą obliczeniową niektóre wartości lub zestaw wartości jako dane wejściowe i generuje pewną wartość lub zestaw wartości jako wydajność. Algorytm jest zatem sekwencją kroków obliczeniowych, które przekształcają wejście do wyjścia.” [ii]

W uproszczeniu, algorytm to wykonywalna logika kodu zdefiniowana przez sekwencję kroków rozwiązywania problemu lub wykonania zadania.

W przeciwieństwie do pseudokodu, osoba pisząca algorytm potrzebuje wiedzy programistycznej, ponieważ jest interpretowana przez komputer - nie jest programistą - wykonywanie zadań, manipulowanie, szyfrowanie i wyodrębnianie danych.

Algorytmy zasadniczo instruują program komputerowy do wykonywania zadania, zgodnie z definicją w logice kodu. Błędy w dowolnej składni programowania zapobiegną pomyślnemu wykonaniu tych zadań, w których potrzebna jest wiedza programistyczna.

Pisząc pseudokod na etapie planowania pamiętaj, że algorytm musi być skuteczny, skoncentrowany i osiągnąć wynik końcowy; wszystkie aspekty rozwiązania muszą być zawsze brane pod uwagę.

Co robi algorytm? Zasadniczo jest on wykonywany przez wyzwalacz, proces lub inny algorytm i akceptuje dane jako dane wejściowe. Dane przechodzą kolejne etapy instrukcji i manipulacji, aby uzyskać dane wyjściowe.

Dane są przechowywane w zmiennych, a każda zmienna ma nazwę algorytmu przypisywania danych do niej podczas procesu wykonywania.

Algorytmy są również nazwane, ponieważ mogą zawierać odwołania i wywołania innych algorytmów. Podczas opracowywania algorytmów może występować wiele komplikacji i problemów technicznych, niezależnie od używanego oprogramowania kodowania i dlatego należy je dokładnie zdefiniować, aby uzyskać dokładne i pożądane wyniki.

Kolejnym ważnym aspektem, który należy wziąć pod uwagę przy projektowaniu i wdrażaniu algorytmu, jest szybkość jego uruchamiania. Jest to coraz bardziej widoczne w przypadku użytkowników końcowych, którzy przyzwyczajają się do szybszego oprogramowania i szybszych urządzeń.

Na przykład stosowanie filtrów do kryteriów wyszukiwania i oczekiwanie niezwykle długiego czasu na wyświetlenie wyników może być nie do zniesienia. Programiści będą wtedy badać, w jaki sposób i kiedy dane są odbierane, czy dane mogą być filtrowane w podprocesie itp.

Pisanie kodu, który spowalnia każdy proces, ma negatywny wpływ na użytkowników, programistów i firmę.

Podsumowując, pseudokod jest ważną narracją do planowania logiki kodu i wdrażania niezawodnych rozwiązań. Rozwiązania te są wdrażane przy użyciu dobrze zorganizowanych, szybkich i skutecznych algorytmów, które zapewniają dokładne i pożądane wyniki.