Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 2_КР.doc
Скачиваний:
17
Добавлен:
25.11.2019
Размер:
116.22 Кб
Скачать

Алгоритм

Инструментальные системы – это средства для проектирования программ для ЭВМ. Решение задач на ЭВМ реализуется программным способом, путем выполнения последовательно во времени отдельных операций над информацией, предусмотренных алгоритмом решения задачи. В основе решения любой задачи лежит понятие алгоритма. СЛАЙД 1

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

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

Предположим, что Вам поручено разработать алгоритм решения какой-либо задачи, и Вы не знаете с чего начать? У Вас сразу возникает мысль позвонить по объявлению, чтобы Вашу контрольную работу сделал кто-нибудь другой?

Не спешите. Мы предлагаем Вам сначала разобраться, так ли это все сложно, что Вы не можете сделать это сами.

Представьте ситуацию. Вы много и тяжело работали и в конце концов заработали много денег, купили себе большой дом, наняли прислугу. Но вот беда: за много лет Вы так привыкли есть на завтрак бутерброды, а Ваш повар, как на зло, не умеет их готовить. Вы не можете отказаться от своей привычки (тем более, что имеете на нее полное право) и увольнять повара из-за такого пустяка Вам не хочется. Вполне логично, если Вы напишете ему инструкцию по приготовлению этого шедевра кулинарного искусства. Посмотрим, как могла бы выглядеть подобная инструкция: СЛАЙД 2

Инструкция по приготовлению бутербродов

  1. Взять батон, масло, колбасу, сыр, немного зелени (салат, укроп, петрушку), кетчуп.

  2. Отрезать небольшой ломтик от батона, тонкий ломтик от сыра и толстый кусок колбасы.

  3. Намазать хлеб маслом.

  4. Положить ломтик сыра, затем лист салата (несколько веточек петрушки или укропа) и сверху кусок колбасы.

  5. Повторить пункты 1-4 данной инструкции пока количество бутербродов не будет равно пяти.

  6. Положить приготовленные бутерброды на сковороду и поставить на 5 минут в печь (духовку, тостер, гриль и т.д.).

  7. Готовые бутерброды переложить на тарелку, полить кетчупом и подать к столу.

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

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

Таким образом, алгоритм решения задачи - это конечная последовательность четко сформулированных правил решения некоторого класса задач.

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

Алгоритм обладает целым рядом свойств. СЛАЙД 3

Прежде всего - это дискретность, точность, понятность, а также результативность и массовость.

Дискретность - это разбиение алгоритма на ряд отдельных законченных действий - шагов. Вернемся к нашей инструкции. Если не разбить ее на некоторое количество пунктов (шагов), то теряется сам смысл инструкции (алгоритма). Наша инструкция (алгоритм) как раз и нацелена на

получение некоторого количества более простых и понятных последовательных действий. Отсюда следуют и другие свойства алгоритма.

Точность - это указание последовательности шагов. Вызывает сомнение, что Вам понравился бы результат, если Ваш повар сначала положил продукты в печь, а затем начал бы нарезать.

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

Результативность - обязательное получение результата за конечное число шагов. Согласитесь, если бы Вы не были уверены, что в итоге получите именно те бутерброды, которые хотите, то и не начали бы составлять никакой инструкции.

Массовость - применимость алгоритма к решению целого класса однотипных задач.

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