Тема: Система команд исполнителя. Компьютер как исполнитель алгоритмов

Урок 34     13.05.2020   ЭГС-19-1

Задачи урока:

познакомятся с понятием исполнитель;

выяснят, что представляет собой система команд исполнителя;

смогут создавать словесные алгоритмы для любого исполнителя;

будут развивать социально-коммуникативную компетентность.

 

Многие годы понятие «алгоритм» использовалось математиками для описания правил решения математических задач. Например, существует алгоритм вычисления квадратного корня положительного числа, алгоритм нахождения наибольшего общего делителя двух чисел и многие другие.

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

Например, когда вы уходите в школу в отсутствии родителей, вам следует выполнить цепочку операций по обеспечению безопасности квартиры: закрыть форточки, выключить газ и электроприборы, запереть дверь и т.д. Входя в кабину телефона-автомата, вы видите на стене четкий алгоритм, однозначно описывающий ваши действия, цель которых - разговор с другом: снять трубку, опустить монету, набрать номер и т.д. Чтобы приготовить вкусное блюдо, ваша мама раскрывает поваренную книгу, отыскивает рецепт и, следуя его конкретным указаниям (2 стакана муки, 250 гр. Масла, 1 яйцо..., тесто разрезать на полоски..., в духовке 20-25 минут...), поставленную перед собой задачу.

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

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

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

Если сестренке, которую вы попросили купить хлеба, уже 12 лет, вы ставите задачу в общей форме:»Купи черного или белого, в такой-то булочной» и даете денег. Если же девочка еще не ходит в школу, вам придется разработать более детальный алгоритм: что делать, если по дороге встретиться большая собака или строители разрыли тротуар; не забыть получит сдачу и сколько; переходить внимательно проезжую часть дороги и только на зеленый свет светофора и т.д. автор кулинарного рецепта предполагает, что хозяйка умеет включать и выключать газовую и электрическую плиты; регулировать нагрев.

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

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

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

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

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

изложение алгоритма на языке, понятном машине.

Исполнитель алгоритма - это тот объект или субъект, для управления которым составлен алгоритм. Система команд исполнителя - это вся совокупность команд, которые исполнитель умеет выполнять.

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

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

Например:

Один исполнитель Несколько исполнителей
Выкопать котлован. Экскаваторщик. Выкопать котлован.
Сделать фундамент. Бетонщик. Сделать фундамент.
Сложить стены. Каменщик. Сложить стены.
Установить окна и двери. Плотник. Установить окна и двери.
Сделать крышу. Кровельщик. Сделать крышу.

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

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

В процедурно-ориентированном подходе действия описываются так, как будто все делаешь сам. В объектно-ориентированном подходе действия описываются так, как будто отдаешь команды для исполнителя нескольким помощникам.

Объектно-ориентированный подход более современен и считается более перспективным. Большинство современных разработок использует именно этот подход.

Для написания программ при процедурно-ориетированном и объектно-ориентированном подходах существуют определенные языки. Процедурно-ориентированный язык программирования строится на основе использования определенного алфавита и строгих правил построения предложений. В алфавит языка могут входить буквы, цифры, математические символы, а также операторы. Такие языки программирования представляют алгоритм в виде последовательности основных алгоритмических структур: линейная, ветвление, цикл. К таким языкам относятся: Бейсик, Паскаль, MSX-Бейсик, С и др.

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

Наиболее распространенными системами объектно-ориентированного визуального программирования являются Microsoft Visual Basic и Borland Delphi. 3.

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

Упражнение 2: Описать систему команд исполнителя «Геометр», который мог бы выполнять геометрические построения с помощью циркуля и линейки.

Упражнение 3: Описать исполнителя «Графопостроитель», который с помощью «пера» строит на бумаге с нанесенной масштабной сеткой геометрическую фигуру.


Домашнее задание - знать конспект.

Примечание: при резерве времени можно поработать с программой «Алгоритмика».

 





Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: