ПредишенСледващото

Анотация: Алгоритъм е основно понятие за тези, които искат да започнат програмиране на всеки език за програмиране. Всеки проблем, който може да се официализира алгоритмично. За да се разбере от къде да започна, помислете за основните видове алгоритми. Целта на тази глава - да запознае студентите с концепцията на алгоритъма; да покаже, че такова нещо абстрактно като алгоритъм ни заобикаля в ежедневието.

Има няколко определения на понятието алгоритъм. Това са двете най-чести.

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

Алгоритъм - набор от действия, които да доведат до успех в краен брой стъпки.

Най-общо казано, първото определение не изразяват пълнотата на смисъла на понятието алгоритъм. Използва думата "последователност" стеснява тази концепция, защото действия, не трябва непременно да се следват един друг - те може да се повтори или съдържат състояние.

  1. Дискретен (от латинската discretus -. Разделени, с прекъсвания) - това разделяне алгоритъм на няколко отделни действия завършени (стъпки).
  2. Детерминизъм (от латински сочете на -. Сигурност, точност) - всяко действие на алгоритъма трябва да бъде строго и ясно определени за всеки отделен случай. Например, алгоритъмът направления помежду си, ако е необходимо, за да спре автобуса на различни маршрути, алгоритъмът трябва да посочат определен маршрут номер 5. В допълнение, трябва да посочите точния брой на спирките, които трябва да шофирате, да речем, три.
  3. Краен - всяка дейност поотделно, а алгоритъмът като цяло би трябвало да може да се изпълни.
  4. Маса - същия алгоритъм може да се използва с различни входни данни.
  5. Ефективност - алгоритъм би трябвало да доведе до значително решение.

Основната цел на алгоритмично - съставяне на алгоритми за компютри с по-нататъшно решение на проблема на компютър.

  1. Всяко устройство, закупени в магазина е оборудван с инструкции за използването му. Тази инструкция е алгоритъм за правилната работа на устройството.
  2. Всеки шофьор трябва да знае правилата на пътя. Правила за движение ясно управляват поведението на всеки един от участниците трафик. Познаването на тези правила, водачът трябва да действа в съответствие с определен алгоритъм.
  3. Масовото производство на автомобили е станало възможно само тогава, когато процедурата е изобретена машина поточна линия. Специфична цел на сглобяване на автомобили - набор от действия, в резултат на което колата се превръща.

Има няколко начина да пишат алгоритми. На практика, следните са най-честата форма на представяне на алгоритмите:

  1. вербална (в запис естествен език);
  2. Псевдокод (semiformalized описващ алгоритми за конвенционален език за програмиране, включително и двете езикови елементи за програмиране и естествен език фраза, конвенционалното Математически знаци и др.);
  3. графики (снимки, графични символи - Блок схеми);
  4. софтуерни (текстове в езиците за програмиране - кода на програмата).

Подробно обсъждане на всеки вариант алгоритми записване примера следния проблем. Задължително да се намери частното на две числа.

метод Вербална запис е описание на алгоритмите на последователни фази на данни. Алгоритъмът е посочено в който и да е изявление на естествен език. Отговорът в този случай получава лицето, което изпълнява командите, според устната справка.

Пример вербална рекорд:

  1. настроите двата номера, които са неделими и разделител;
  2. провери дали делителя е равна на нула;
  3. ако делителя не е нула, а след това намери частен, той пише в отговора;
  4. ако делителя е нула, тогава отговорът е да напишете "не е решение."

Вербална метод не се използва широко, тъй като такива описания: не строго формализирана; страдат детайлност на записи; Позволете нееднозначно тълкуване на някои разпоредби.

Представяме основни контролни структури Псевдокод в таблица. 1.1.

Таблица 1.1. Основна структура на контрол Псевдокод

Този пример използва три променливи: дивидент, делител и коефициент. Дивиденти и делител са дадени изпълнител произволни числа. Любителски под внимание само ако делител не е нула.

Графиката показва прилагането на схемата по алгоритъма. Блоковата схема се състои от блокове определени форми, свързани със стрелки. Отговорът в този случай получава лице, което извършва командата според схемата по. Повече подробности за блокови диаграми ще бъдат описани в Лекции 2.

Софтуер изпълнение на алгоритъма - компютърна програма, написана на всеки алгоритмичен език за програмиране, като C ++, Pascal, Basic, и т.н. Програмата се състои от определен език за програмиране команди. Имайте предвид, че една и съща схема на потока може да се реализира в различни езици за програмиране. Отговорът в този случай получава компютър, а не човек. За повече информация относно програмиране в C ++ на език за програмиране, вижте Глава 3.

Има три основни вида алгоритми:

  1. линеен алгоритъм,
  2. разклоняване алгоритъм
  3. кръгови.

Linear алгоритъм - алгоритъм, при който етапите се извършват веднъж и строго последователно.

Най-простият пример линеен алгоритъм - на пътя на този университет.

Вербална метод за запис на този алгоритъм:

  1. измъкнем от университета, за да се спре;
  2. изчака подходящия автобуса;
  3. хванеш правилната автобуса;
  4. плати цената на билета;
  5. въведете желаната спирка;
  6. достигне дома.

Очевидно е, че този пример, се отнася до линеен алгоритъм, като всички действия следват един друг, без условия и повторения.

Разклонение алгоритъм - алгоритъм, в която, в зависимост от условията изпълнени една или друга последователност.

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

Горният пример на Псевдокод за намиране на частното на две числа се отнася също до алгоритъм разклонения.

Цикличен алгоритъм - алгоритъм, който команди са повторени определен брой пъти подред.

Най-простият пример кръгов принцип - докато четете книга ще се повтаря едно и също действие: прочетете на страницата, perelistnut т.н.

За повече информация за линейни, разширявам се и с нетърпение всеки срещу всеки Лекция 2.

кратко резюме

Всяка задача може да се раздели на елементарни действия. За всеки математически проблем или ситуация на живот може да направи алгоритъм решение. Алгоритъмът може да бъде описан устно, Псевдокод, графично или от софтуер. Проблемът се решава чрез винаги основни типа алгоритъм - линеен, разклонен или цикличен.

  1. Какво е един алгоритъм?
  2. Каква е задачата на алгоритмична?
  3. Какво свойствата на алгоритъм?
  4. Какви видове алгоритъм са?

упражнения

  1. Направи алгоритми на кампания за магазин за ябълки. Използвайте линейни и разклоняващи алгоритми. прилагането им устно.
  2. Направете един алгоритъм за намиране на корените на квадратното уравнение по отношение на дискриминантата. Използвайте разклоняване алгоритъм. Прилагане на псевдо му.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!