Руководство к выполнению практической работы.




ЛАБОРАТОРНАЯ РАБОТА №8

 

ТЕМА: Понятие алгоритма. Способы записи алгоритма. Свойства алгоритма. Алгоритм как модель деятельности. Примеры алгоритмов. Блок-схемы простейших алгоритмов.

ЦЕЛЬ ЗАНЯТИЯ: Изучить понятие алгоритма. Способы записи алгоритма. Свойства алгоритма. Алгоритм как модель деятельности. Примеры алгоритмов. Блок-схемы простейших алгоритмов.

ТРЕБОВАНИЯ:

1. прочитать лабораторную работу;

2. иметь личную «флешку» для работы на компьютере;

3. выполнить все упражнения и задания лабораторной работы;

4. найти и выучить ответы на контрольные вопросы;

5. для получения зачета по лабораторной работе необходимо:

  • давать четкие ответы на все контрольные вопросы;
  • уметь выполнить любое задание из лабораторной работы по просьбе преподавателя.

КРАТКАЯ ТЕОРИЯ

Алгоритм как модель деятельности.

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

1. Изучить образ автомобиля по имеющейся модели.
2. Начертить двери, кузов машины на бумаге.
3. Вырезать эскизы.
4. Попробовать скрепить эскизы, откорректировать ошибки.
5. Склеить части модели.

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

Понятие алгоритма

Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал спо­собы выполнения арифметических действий над многозначными числами. Само слово «алгоритм» возникло в Европе после перевода на латынь книги этого среднеазиатского математика, в которой его имя писалось как «Алгоритми».

Алгоритм — описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

Алгоритмизация — процесс разработки алгоритма (плана действий) для решения задачи.
Другие примеры алгоритмов
Любой прибор, купленный в магазине, снабжается инструкцией по его использованию.
Каждый шофер должен знать правила дорожного движения.
Массовый выпуск автомобилей стал возможен только тогда, когда был придуман порядок сборки машины на конвейере.
Свойства алгоритмов

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

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

 

Дискретность (от лат. discretus — разделенный, прерывистый) – это разбиение алгоритма на ряд отдельных законченных действий (шагов).

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

Детерминированность (от лат. determinate — определенность, точность) - любое действие алгоритма должно быть строго и недвусмысленно опре­делено в каждом случае.
Например, если к остановке подходят автобусы разных маршрутов, то в алгоритме должен быть указан конкретный номер маршрута — 5. Кроме того, необходимо указать точное количество остановок, которое надо проехать, — скажем, три.

 

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

Массовость - один и тот же алгоритм можно использовать с разными исходными данными.
Например: алгоритм приготовления любого бутерброда.
1. Отрезать ломтик хлеба.
2. Намазать его маслом.
3. Отрезать кусок любого другого пищевого продукта (колбасы, сыра, мяса).
4. Наложить отрезанный кусок на ломоть хлеба.

 

Результативность - в алгоритме не было ошибок.
Пример: рассмотрим алгоритм нахождения большего из двух заданных чисел А и В:
1. Из числа А вычесть число В.
2. Если получилось отрицательное значение, то сообщить, что число В больше.
3. Если получилось положительное значение, то сообщить, что число А больше.

При всей простоте и очевидности алгоритма, не каждый сразу поймет его ошибочность. Ведь если оба числа равны, то не получится ни­ какого сообщения. Значит, надо обязательно предусмотреть это вариант, например:

1. Из числа А вычесть число В. 2. Если получилось отрицательное значение, то сообщить, что число В больше.
3. Если получилось положительное значение, то сообщить, что число А больше.
4. Если получился ноль, то сообщить, что числа равны.
Виды алгоритмов
Существует 4 вида алгоритмов: линейный, циклический, разветвляющийся, вспомогательный.
Линейный (последовательный) алгоритм — описание действий, которые выполняются однократно в заданном порядке.

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

Циклический алгоритм — описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие. Перечень повторяющихся действий называется телом цикла. Многие процессы в окружающем мире основаны на многократном повторении одной и той же последовательности действий. Каждый год наступают весна, лето, осень и зима. Жизнь растений в течение года проходит одни и те же циклы. Подсчитывая число полных поворотов минутной или часовой стрелки, человек измеряет время.
Условие — выражение, находящееся между словом «если» и словом «то» и принимающее значение «истина» или «ложь».
Разветвляющийся алгоритм — алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Примеры разветвляющих алгоритмов: если пошел дождь, то надо открыть зонт; если болит горло, то прогулку следует отменить; если билет в кино стоит не больше десяти рублей, то купить билет и занять свое место в зале, иначе (если стоимость билета больше 10 руб.) вернуться домой.
В общем случае схема разветвляющего алгоритма будет выглядеть так: «если условие, то..., иначе...». Такое представление алгоритма получило название полной формы. Неполная форма, в которой действия пропускаются: «если условие, то...».Вспомогательный алгоритм — алгоритм, который можно использовать в других алгоритмах, указав только его имя.

Например: вы в детстве учились суммировать единицы, затем десятки, чтобы суммировать двузначные числа, содержащие единицы вы не учились новому методу суммирования, а воспользовались старыми методами.
Графическое представление алгоритмов.

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

Прежде всего определим понятие блок-схемы. Блок-схема - это ориентированный граф, указывающий порядок исполнения команд алгоритма; вершины такого графа могут быть одного из трех типов

Самый примитивный вариант:

Руководство к выполнению практической работы.

 

Методические рекомендации для выполнения задания:

Упражнения:

1. Запишите исполнителей для приведённых ниже видов работ:
  Уборка мусора во дворе – Перевозка пассажиров в поезде – Выдача заработной платы – Приём экзаменов в школе – Сдача экзамена в университете – Набор текста на компьютере – Приготовление еды в ресторане -  
2. Определите полный набор данных для решения следующих задач обработки информации:
  а) вычисление стоимости покупок в магазине     б) вычисление суммы сдачи от данных Вами продавцу денег     в) определение времени показа по телевизору интересующего Вас фильма     г) вычисление площади треугольника     д) определение времени падения кирпича с крыши дома     е) определение месячной платы за расход электроэнергии     ж) перевод русского текста на итальянский язык     з) перевод итальянского текста на русский язык  
3. Есть исполнитель «Перевозчик», который перевозит через реку волка, козу и капусту. Напишите алгоритм перевоза через реку волка, козы и капусты, если СКИ «Перевозчика» содержит 5 команд: ВЗЯТЬ КОЗУ, ВЗЯТЬ ВОЛКА, ВЗЯТЬ КАПУСТУ, ВЫСАДИТЬ, ПЕРЕПЛЫТЬ. В лодку может поместиться только один предмет или животное. Нельзя оставлять на берегу одних волка с козой и козу с капустой.
   
4. Напишите алгоритмприготовления какого-либо блюда (алгоритм должен иметь линейнуюструктуру).
   
5. Есть исполнитель «Арифмометр», который понимает следующие команды: - взять число N (занести в память число N), - умножить (перемножаются занесённые в память последние два числа), - сложить (складываются занесённые в память последние два числа), - вычесть (вычисляется разность занесенных в память последних двух чисел), - результат (вывести результат) Например, в результате выполнения алгоритма: - взять число 5, - взять число 10, - взять число 2, - вычесть, - умножить, - результат получим ответ 40, так как 5*(10-2)=40. Какой результат будет получен при выполнении приведённого ниже алгоритма? - взять число 4, - взять число 8, - взять число 2, - вычесть, - взять число 10, - умножить, - взять число 56, - вычесть, - вычесть, - результат. Дайте объяснение своему ответу (приведите формулу для вычисления).
   
6. Почему приведённые ниже алгоритмы для исполнителя «Арифмометр» не могут быть выполнены (какие свойства алгоритма нарушены)?
А) – взять число 4, - взять число 5, - умножить, - вычесть, - результат.   Б) – взять число 6, - взять число 3, - разделить, - результат В) – взять число, - взять число, - сложить, - результат

 

А) Б) В)  

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-12-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: