Гл. 13 Основи на изчислителното мислене и програмирането Терминология 260 думи

Алгоритъм: краен брой подредени стъпки, а не програма

Алгоритъмът е краен, подреден набор от стъпки за решаване на даден проблем; уловката на изпита е да бъде объркан с цялостна програма или с произволен списък.

Аудио

Слушай тази страница (бета)

Субтитри

Алгоритъмът е просто последователна рецепта за решаване на даден проблем и трябва да има ясно начало и край. Стъпките трябва да бъдат в логичен ред — ако размените местата на две стъпки, алгоритъмът може да не сработи. От решаващо значение е, че алгоритъмът не е същото като програма: програмата представлява алгоритъм, написан на конкретен език за програмиране, но самият алгоритъм може да бъде изразен на обикновен език, чрез блок-схема или дори чрез формула в електронна таблица. Например рецептата за приготвяне на чай е алгоритъм, а кодът на Python за приготвяне на чай е програма.

За да разпознаете алгоритъм във въпрос с избираем отговор, проверете за три характеристики: крайност (той трябва да приключи след краен брой стъпки), подреденост (стъпките трябва да следват смислена последователност) и определеност (всяка стъпка трябва да бъде недвусмислена). Често срещан трик е да се представи списък с произволни указания — това не е алгоритъм, защото липсва определен ред. Друга уловка е да се покаже само една стъпка, например „решете уравнението“ — това е твърде неясно и не представлява краен набор от стъпки. Ако видите цикъл или условие, това все пак може да е алгоритъм, но той отново трябва да бъде краен.

Един бърз начин да проверите всеки възможен вариант е да се запитате: „Мога ли да следвам тези стъпки механично и винаги да получавам един и същ резултат?“ Ако отговорът е „да“, това е алгоритъм. Ако стъпките не са подредени или са безкрайни, не е алгоритъм. За изпита запомнете мнемоничното съкращение „FOF“ — Finite, Ordered, Finite (Краен, Подреден, отново Краен) — за да не объркате алгоритъма с програма или с разбъркан списък.

Свързана флашкарта

Какво представлява алгоритъмът?

Краен, подреден набор от стъпки за решаване на проблем или изпълнение на задача.

Обратно към флашкартата Виж всички флашкарти