Псевдокод

от Уикипедия, свободната енциклопедия
Псевдокод

Псевдкод в информатиката е начин да бъде описан алгоритъм или характеристика на някакъв език за програмиране, без да се използва конкретният език за програмиране. Това става, като на човешки език се опишат стъпките, които трябва да бъдат извършени от програмиста, за да се постигне желания резултат. Псевдокодът е вид стилизиран и идеализиран изходен код, за който не съществува компилатор.

Синтаксис[редактиране | редактиране на кода]

Както името може би предполага, няма стандарт за писане на псевдокод. Преценката за детайла и термините, използвани в псевдокода, е на автора. Така например той може да се съобрази с потенциалните читатели.

Често се случва псевдокод да бъде комбиниран с код на истински език за програмиране с цел спестяване на място. На езика са описани важните фрагменти, на които авторът иска да обърне внимание, а ясните и маловажните са описани с псевдокод.

Също така псевдокод често бива съчетаван с математически формули.

Примери[редактиране | редактиране на кода]

Пример 1[редактиране | редактиране на кода]

Условието е да се отпечатат елементите на масив

Псевдокод

за всеки елемент х в а
  отпечатай х;

JavaScript

let a = [10, 50];
a.forEach(x => console.log(x));

C++

for(auto x : a)
  cout << x;

Ruby

a.each do |x|
  puts x;

Програмист, който не е запознат с JavaScript, C++ или Ruby спокойно може да разбере какво се има предвид в примера зададен с псевдокод

Пример 2[редактиране | редактиране на кода]

Даден е по-сложен алгоритъм: За топологично сортиране на граф. Програмист, който не знае как точно да реализира този алгоритъм, може да разчете псевдокода и после да го пресъздаде на езика за прогирамиране, който му е необходим.

Нека L е празен списък, който ще съдържа сортираните върхове
Нека S е списък, който съдържа върховете, които нямат входящи ребра
докато S не е празен списък
  махаме първият връх n от S;
  пъхаме n в L;
  за всеки връх m, с ребро e: от n do m
    махаме е от графа;
    ако m няма други входящи ребра
      пъхаме m в S;
 ако графът има още ребра
   отпечатай „Грешка: Графът има поне един цикъл“
 иначе
   отпечатай "Топологичното сортиране на върховете в графа е: " L

Източници[редактиране | редактиране на кода]