Алгоритмы

Многие из тех, кто начинает учить информатику, так и тех, кто уже перешел непосредственно к основам программирования, задавались вопросом "что такое алгоритм". Логически обоснованный вопрос, иначе не сказать - ведь как можно учить алгоритмы, не разобравшись с понятием алгоритма. А тут все предельно просто и вы скоро сами в этом убедитесь, уважаемые новички-программисты. Для того чтобы наглядно понять что такое алгоритм в информатике и программировании мы рассмотрим обычный пример из жизни: выпишем все действия, которые производит среднестатистический человек утром, прежде чем попадет на работу.

Итак, вот такой примерно порядок действий у нас получится:

  1. Звонит будильник - мы просыпаемся.
  2. Встаем с постели и одеваемся в домашнюю одежду.
  3. Принимаем водные процедуры.
  4. Готовим себе завтрак.
  5. Завтракаем.
  6. Одеваемся и выходим на улицу.
  7. Идем на остановку, ждем автобус
  8. Едем на работу.

Где-то вот так все и происходит у нас по утрам. Вот эта последовательность заранее определенных логически обоснованных действий и является алгоритмом. Можно даже озаглавить этот алгоритм. Дадим ему название "алгоритм сбора на работу", например. Продолжим освещать ответ на наш вопрос...

Что такое алгоритм в информатике?

Алгоритм - это определенная последовательность логических действий для решения поставленной задачи.

Теперь переместимся в информатику и программирование, взглянем на то, как алгоритмы работают там. Абсолютно любая наша программа, по сути, это уже и есть алгоритм, т.к. это последовательность определенных и продуманных программистом действий и описанных в виде кода (инструкций компьютеру). К примеру, программа запрашивает у пользователя в цикле целые числа и, если число является четным, то печатает соответствующее сообщение, в ином случае (когда нечетное) выводит сообщение о том, что число нечетное.

do
{
	cout << "Vvedite celoe chislo: ";
	cin >> var;

	if (var % 2 == 0)
		cout << "chislo chetnoe" << endl;
	else
		cout << "chislo nechetnoe" << endl;
}
while (var != -1);

Вот этот кусочек кода, который мы сейчас с вами рассмотрели, является алгоритмом и его можно назвать как "алгоритм определения четности / нечетности целых чисел". У него есть действия:

  1. Запросить у пользователя целое число.
  2. Сохранить запрошенное число в выделенную для этого переменную.
  3. Проверить условие: делится ли это число на 2 без остатка.
  4. Если делится и остаток равен нулю, то вывести соответствующее сообщение.
  5. В ином случае, когда остаток не нулевой, вывести сообщение, что число нечетное.
  6. Если было введено не число -1, вернуться на начало цикла и продолжить все заново, начиная с пункта 1.

Итак, мы разобрались с понятием алгоритма и поняли, что любая наша программа уже является нашим собственным алгоритмом. Алгоритмом в информатике и программировании можно назвать, как целую программу, так и отдельный участок кода, выполняющий поставленную задачу. В отличие от составленных нами алгоритмов есть еще и, так называемые, фундаментальные алгоритмы, проверенные временем и выведенные учеными, математиками, либо просто хорошими программистами. Существует большое количество подобных алгоритмов, которые предназначены для решения различных задач. К примеру, есть алгоритмы поиска в массивах, строках, структурах; алгоритмы сортировки, различные алгоритмы сжатия данных, криптографические алгоритмы, алгоритмы компьютерной графики и так далее.