кто или что является исполнителем алгоритма

Исполнитель алгоритма

Урок 21. Информатика 4 класс ФГОС

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.

Получите невероятные возможности

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Конспект урока «Исполнитель алгоритма»

Привет, мальчики и девочки!

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

Давайте, вспомним почему.

Чтобы план действий можно было назвать алгоритмом он должен обладать следующими свойствами:

· количество шагов известно и конечно;

· понятен смысл шагов;

· выполнение приводит к решению задачи и подходит для решения целого класса задач.

А помните ли вы, какие формы записи алгоритмов существуют?

Это текстовая и графическая формы.

Графическая форма, которая описывается в виде блок-схемы.

И мы помним, что бывает линейный алгоритм, в котором все шаги выполняются последовательно.

Также есть алгоритм и с ветвлением – это алгоритм, в котором есть блок с условием, один вход и два выхода: «Да» и «Нет».

Ну что же, мы вспомнили, что изучили на предыдущих уроках.

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

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Ребята, скажите, кто выполняет этот алгоритм в данном случае?

Та-а-а-к, а теперь вспомним алгоритм нахождения периметра треугольника.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

А исполнять его может и ученик, и учитель и даже родители.

Вот мы и подошли к тебе нашего сегодняшнего урока – «Исполнитель алгоритма».

В алгоритмах, которые мы рассмотрели ранее, исполнителем был человек.

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

Но не только живые существа выполняют команды.

Наверное, вы видели машинку, которой можно управлять при помощи пульта?

В данном случае машинка выполняет команды, которые вы ей задаёте – вперёд, назад, повернуть налево, направо.

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

Получается, что человек, машина, животное, управляемая игрушка могут выполнять команды. Значит они являются исполнителями алгоритма.

Исполнитель алгоритма – это объект, выполняющий команды (шаги, инструкции) по определённым правилам и в нужном порядке.

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

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

Ребята, вы знаете, что исполнитель может принимать команды в виде сигнала. Это могут быть слова, звуковой сигнал, световой сигнал, радиосигнал и другие.
Для исполнителя каждый сигнал имеет определённое значение. Например, управляемая машинка «понимает» и исполняет такие команды, как «вперёд», «назад», «влево», «вправо».

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

А его можно назвать исполнителем?

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

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

Кодировать информацию можно звуками, буквами, цифрами, рисунками, нотами, знаками и другим.

Компьютер обрабатывает любую информацию – звуковую, текстовую, графическую, числовую.

Использовать компьютер, то есть работать на нём, может человек любой профессии: учёный, строитель, учитель. Но не обязательно нужно работать, чтобы пользоваться компьютером. Его могут использовать мальчики и девочки, бабушки и дедушки. На компьютере можно играть, переписываться в социальных сетях, рисовать и многое-многое другое.

Поэтому компьютер – это универсальный исполнитель алгоритмов.

А кто ещё является универсальным исполнителем алгоритмов?

Только человек понимает и обрабатывает информацию, составляет и исполняет алгоритмы. А компьютер не создаёт алгоритмы, не понимает смысла программ. Он только выполняет шаги программы, которые для него написал человек на каком-либо языке программирования.

Язык программирования – это искусственный язык, созданный человеком, чтобы обрабатывать информацию с помощью компьютера.

У компьютера, как и у человека может быть большо-о-ой набор команд.

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

Например, в систему команд исполнителя-человека могут входить команды – «реши пример», «скажи ответ», «найди ошибку», «подними руку». В данном случае исполнителем-человеком может быть ученик. Он понимает и может выполнить эти команды.

Другой пример, собака понимает определённые команды: «фу», «рядом», «сидеть», «лежать» и другие.

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

Найдите на кухне автоматических исполнителей.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Давайте проверим, всех ли автоматических исполнителей вы нашли.

Стиральная машина, которой мы задаём программу для стирки.

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

Посудомоечная машина, которой также, как и стиральной машине, задаётся режим работы.

Кофемашина. Мы выбираем тип кофе, и машина делает его по алгоритму.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Ребята, вы молодцы, но давайте выполним вот такое задание: выберите инструкции, которые компьютер не может выполнить.

Вывести ответ на экран.

Понять смысл программы.

Создать план действий.

Рассказать решение задачи.

Правильный ответ на это задание:

Понять смысл программы.

Создать план действий.

Рассказать решение задачи.

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

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

Человек создаёт алгоритм и исполняет его.

Компьютер только выполняет алгоритм, написанный человеком на языке программирования.

Система команд исполнителя – это список команд или набор шагов, которые способен выполнить конкретный исполнитель.

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

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

Источник

Понятие алгоритма. Исполнитель алгоритма

Урок 10. Информатика 8 класс (ФГОС)

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.

Получите невероятные возможности

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Конспект урока «Понятие алгоритма. Исполнитель алгоритма»

Ежедневно вокруг нас происходят различные события.

Например, восьмиклассница Кристина решила:

· приготовить новое блюдо по рецепту;

· развесить бельё на верёвке после стирки;

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

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

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

Навыки алгоритмического мышления способствуют формированию особого стиля культуры человека, составляющими которого являются:

· целеустремлённость и сосредоточенность;

· объективность и точность;

· логичность и последовательность в планировании и выполнении своих действий;

· умение чётко и лаконично выражать свои мысли;

· умение правильно ставить задачу и находить окончательные пути её решения;

· умение быстро ориентироваться в стремительном потоке информации.

Происхождение термина «алгоритм» связано с математикой. История его возникновения такова.

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

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

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

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Аль-Хорезми стремился к тому, чтобы сформулированные им правила были понятными. Достичь этого в девятом веке, когда ещё не была разработана математическая символика (знаки операций, скобки, буквенные обозначения и т.д.), было трудно. Однако ему удаюсь выработать чёткий стиль строгого словесного предписания, который не давал читателю возможность уклониться от предписанного или пропустить какие-нибудь действия.

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

Наверняка каждый из вас слышал слово алгоритм. То есть

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

Причём исполнителем может выступать как человек, животное так и техническое устройство.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Например, украшение торта будет алгоритмом.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Или установка игры на компьютер, так же выполняется по алгоритму.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

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

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

· спросить пароль у администратора кафе;

· открыть настройки телефона;

· найти сеть Wifi данного кафе;

· ввести пароль и подключиться к сети.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

В следующий раз помощь вам уже не понадобится.

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

Задача «Приготовить чай» решается в пять шагов:

· вскипятить в чайнике воду;

· положить в чашку пакетик заварки;

· налить туда кипяток;

· добавить две чайные ложки сахара;

· размешать сахар ложкой.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

А задача по химии «Получение водорода» решается в четыре шага:

· налить в колбу соляной кислоты;

· бросить в колбу кусочек цинка;

· собрать выделяющийся газ в пробирку.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

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

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

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

Работу алгоритма можно представить в виде следующей схемы:

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

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

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

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Рассмотрим следующий пример.

Дан алгоритм, который приводит к тому, что из одной цепочки символов получается новая цепочка:

1. Необходимо вычислить длину в символах исходной цепочки.

2. Если длина начальной цепочки нечётна, то к ней справа приписывается цифра 1, иначе цепочка не изменяется.

3. Символы попарно меняются местами (первый — со вторым, третий — с четвёртым, пятый — с шестым и т. д).

4. Справа к полученной цепочке приписывается цифра 2.

После выполнения действий получить новую цепочку, которая будет

являться результатом работы алгоритма. Итак, пусть нам дана исходная цепочка КОТ. Выполним над ней действия по алгоритму.

2. Символов – 3. Это нечётное число. Значит нужно справа приписать цифру один.

3. Меняем символы попарно местами. То есть К меняем местами с О и Т с единицей.

4. Справа к полученной цепочке приписываем цифру два

В результате получаем цепочку: ОК1Т2.

Если исходной была цепочка ЛЕТО, то результатом работы алгоритма будет цепочка ЕЛОТ2.

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

Исполнитель – это объект живой природы или техническое устройство, способное выполнять алгоритм.

Различают формальных и неформальных исполнителей. Формальный исполнитель выполняет одну и ту же команду всегда одинаково. А неформальный может импровизировать.

Например, вспомним алгоритм приготовления чая. Здесь вы можете действовать по-разному. Можете сначала положить в чашку пакетик с чаем, а затем вскипятить в чайнике воду. Или положить в чашку сначала сахар, а затем чай. В данном примере человек, который готовит чай является неформальным исполнителем алгоритма.

То есть Неформальный исполнитель может выполнять алгоритмы по-разному.

К неформальным исполнителям можно отнести все объекты живой природы.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

А вот формальный исполнитель одну и ту же команду всегда выполняет одинаково.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

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

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Но вряд ли кому-нибудь из певцов (неформальному исполнителю) удастся несколько раз совершенно одинаково исполнить песню из своего репертуара.

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

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

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

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

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

Режим работы исполнителя. Выделяют два процесса управления исполнителем: режим непосредственного управления

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

и программное управление.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

В первом случае исполнитель принимает команды от человека и немедленно их выполняет. Во втором случае исполнителю задаётся полная последовательность команд (программа), а он выполняет эти команды в автоматическом режиме.

Рассмотрим примеры исполнителей.

Исполнитель Автобус может выполнять команды: налево, направо, вперёд.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

По команде налево автобус поворачивает налево, по команде направо автобус поворачивает направо, по команде вперёд Автобус перемещается на одну клетку вперёд. Давайте составим алгоритм, в результате которого Автобус окажется в клетке с остановкой.

Итак, в результате мы получим следующий алгоритм: вперёд, вперёд, вперёд, налево, вперёд, вперёд, вперёд, налево, вперёд, вперёд, вперёд, налево вперёд, направо, вперёд.

Следующий пример. Исполнитель Тюбик перемещается по экрану компьютера и оставляет след в виде линии. Система команд Тюбика состоит из следующих команд:

Вперёд N (где N — целое число) — вызывает передвижение Тюбика на N шагов в направлении движения;

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

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

Давайте посмотрим, что получится в результате выполнения следующего алгоритма: налево сорок пять, прямо два, направо сорок пять, прямо шесть, налево девяносто, прямо три, направо девяносто, прямо два, направо девяносто, прямо один, направо девяносто, прямо два, налево девяносто, прямо шесть, направо сорок пять, прямо два, направо сорок пять, прямо восемь.

кто или что является исполнителем алгоритма. Смотреть фото кто или что является исполнителем алгоритма. Смотреть картинку кто или что является исполнителем алгоритма. Картинка про кто или что является исполнителем алгоритма. Фото кто или что является исполнителем алгоритма

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

Таким образом, для составления алгоритма необходимо:

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

· Определить исходные данные и требуемый результат.

· Определить последовательность действий исполнителя для достижения результата.

· Данную последовательность действий записать с помощью команд, входящих в систему команд исполнителя.

Пришло время подвести итоги урока:

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

Команда алгоритма – это точное предписание выполнить конкретное действие.

Исполнитель алгоритма – это объект живой природы или техническое устройство, способное выполнить алгоритм. Исполнители делятся на формальные и неформальные.

Система команд исполнителя – это набор команд, которые понимает и может исполнить данный исполнитель.

Источник

Глава 7. Алгоритмы. Алгоритмизация. Алгоритмические языки


7.1. Что такое алгоритм?

Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Именно поэтому важно в нем разобраться.

Название «алгоритм» произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783—850 гг. В своей книге «Об индийском счете» он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними «столбиком», знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе.

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

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

Алгоpитм — заранее заданное понятное и точное пpедписание возможному исполнителю совеpшить определенную последовательность действий для получения решения задачи за конечное число шагов.

Это — не определение в математическом смысле слова, а, скорее, описание интуитивного понятия алгоритма, раскрывающее его сущность.

Понятие алгоритма является не только одним из главных понятий математики, но одним из главных понятий современной науки. Более того, с наступлением эры информатики алгоритмы становятся одним из важнейших факторов цивилизации [56].

7.2. Что такое «Исполнитель алгоритма»?

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

Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды.

Обычно исполнитель ничего не знает о цели алгоpитма. Он выполняет все полученные команды, не задавая вопросов «почему» и «зачем».

В информатике универсальным исполнителем алгоритмов является компьютер.

7.3. Какими свойствами обладают алгоpитмы?

Основные свойства алгоритмов следующие:

1. Понятность для исполнителя — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.

2. Дискpетность (прерывность, раздельность) — алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).

3. Опpеделенность — каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.

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

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

7.4. В какой форме записываются алгоритмы?


7.5. Что такое словесный способ записи алгоритмов?

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида).

Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. Убедитесь в этом самостоятельно, определив с помощью этого алгоритма наибольший общий делитель чисел 125 и 75.

7.6. Что такое графический способ записи алгоритмов?

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

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

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

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

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

7.7. Что такое псевдокод?

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

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

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

Примером псевдокода является школьный алгоритмический язык в русской нотации (школьный АЯ), описанный в учебнике А.Г. Кушниренко и др. «Основы информатики и вычислительной техники», 1991. Этот язык в дальнейшем мы будем называть просто «алгоритмический язык».

7.8. Как записываются алгоритмы на школьном алгоритмическом языке?


Основные служебные слова


алг (алгоритм)сим (символьный)данодляда
арг (аргумент)лит (литерный)надоотнет
рез (результат)лог (логический)еслидопри
нач (начало)таб (таблица)тозначвыбор
кон (конец)нц (начало цикла)иначеиввод
цел (целый)кц (конец цикла)всеиливывод
вещ (вещественный)длин (длина)поканеутв

Общий вид алгоритма:

Примеры предложений алг:

алг Объем и площадь цилиндра ( арг вещ R, H, рез вещ V, S )
алг Корни КвУр ( арг вещ а, b, c, рез вещ x1, x2, рез лит t )
алг Исключить элемент ( арг цел N, арг рез вещ таб А[1:N] )
алг Диагональ ( арг цел N, арг цел таб A[1:N, 1:N], рез лит Otvet )

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

Команды школьного АЯ

Команды если и выбор. Применяют для организации ветвлений.

Команды для и пока. Применяют для организации циклов.

Пример записи алгоритма на школьном АЯ


7.9. Что такое базовые алгоритмические структуры?

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

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

7.10. Какие циклы называют итерационными?

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

Пример. Составить алгоритм вычисления бесконечной суммы

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

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

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

Сравните эти два подхода по числу операций.

Алгоритм на школьном АЯБлок-схема алгоритма

Пример вложенных циклов пока

Вычислить произведение тех элементов заданной матрицы A(10,10), которые расположены на пересечении четных строк и четных столбцов.

7.12. Чем отличается программный способ записи алгоритмов от других?

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

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

Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой для компьютера.

7.13.Что такое уровень языка программирования?

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

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

7.14. Какие у машинных языков достоинства и недостатки?

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

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

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

7.15. Что такое язык ассемблера?

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

Программы, написанные на языке ассемблера, требуют значительно меньшего объема памяти и времени выполнения. Знание программистом языка ассемблера и машинного кода дает ему понимание архитектуры машины. Несмотря на то, что большинство специалистов в области программного обеспечения разрабатывают программы на языках высокого уровня, таких, как Object Pascal или C, наиболее мощное и эффективное программное обеспечение полностью или частично написано на языке ассемблера.

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

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

7.16. В чем преимущества алгоритмических языков перед машинными?


7.17. Какие компоненты образуют алгоритмический язык?

Алгоритмический язык (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика.

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

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

7.18. Какие понятия используют алгоритмические языки?

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

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

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

1. Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы (пеpеменных, массивов, функций и дp.).

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

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

7.19. Что такое стандартная функция?

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

Таблица стандартных функций школьного алгоритмического языка


Название и математическое обозначение функцииУказатель функции
Абсолютная величина (модуль)| х |abs(x)
Корень квадратныйsqrt(x)
Натуральный логарифмln xln(x)
Десятичный логарифмlg xlg(x)
Экспонента (степень числа е

Каждый язык программирования имеет свой набор стандартных функций.

7.20. Как записываются арифметические выражения?


Примеры записи арифметических выражений

Типичные ошибки в записи выражений:

5x + 1
a + sin x
((a + b)/c**3
Пропущен знак умножения между 5 и х
Аргумент x функции sin x не заключен в скобки
Не хватает закрывающей скобки

7.21. Как записываются логические выражения?

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

Примеры записи логических выражений, истинных при выполнении указанных условий.


7.22. Упражнения

7.1. Запишите по правилам алгоритмического языка выражения:

a)e)
б)ж)
в)з)
г)и)
д)к)

[ Ответ ]

7.2. Запишите в обычной математической форме арифметические выражения:

а) a / b ** 2;
б) a+b/c+1;
в) 1/a*b/c;
г) a**b**c/2;
д) (a**b)**c/2;
е) a/b/c/d*p*q;
ж) x**y**z/a/b;
з) 4/3*3.14*r**3;
и) b/sqrt(a*a+b);
к) d*c/2/R+a**3;
л) 5*arctg(x)-arctg(y)/4;
м) lg(u*(1/3)+sqrt(v)+z);
н) ln(y*(-sqrt(abs(x))));
о) abs(x**(y/x)-(y/x)**(1/3));
п) sqrt((x1-x2)**2+(y1-y2)**2);
р) exp(abs(x-y))*(tg(z)**2+1)**x;
c) lg(sqrt(exp(x-y))+x**abs(y)+z);
т) sqrt(exp(a*x)*sin(x)**n)/cos(x)**2;
у) sqrt(sin(arctg(u))**2+abs(cos(v)));
ф) abs(cos(x)+cos(y))**(1+sin(y)**2);

[ Ответ ]

7.3. Вычислите значения арифметических выражений при x=1:
а) abs(x-3)/ln(exp(3))*2/lg(10000);
Решение: abs(1-3)=2; ln(exp(3))=3; lg(10000)=4; 2/3*2/4=0.33;

7.4. Запишите арифметические выражения, значениями которых являются:
а) площадь треугольника со сторонами a, b, c (a, b, c>0) и полупериметром p;
Ответ: sqrt(p*(p-a)*(p-b)*(p-c));

б) среднее арифметическое и среднее геометрическое чисел a, b, c, d;
в) расстояние от точки с координатами (x,y) до точки (0,0);
г) синус от x градусов;
д) площадь поверхности куба (длина ребра равна а);
е) радиус описанной сферы куба (длина ребра равна а);
ж) координаты точки пересечения двух прямых, заданных уравнениями
a 1 x+b 1 y+c 1 =0 и a 2 x+b 2 y+c 2 =0 (прямые не параллельны).
[ Ответ ]

7.7. Начертите на плоскости (x,y) область, в которой и только в которой истинно указанное выражение. Границу, не принадлежащую этой области, изобразите пунктиром.

а) (x =0)
Ответ:

е) ((x-2)**2+y*y x/2)
Ответ:

б) (x>=0) или (y =0
г) (x+y>0) и (y =1
ж) (x*x+y*y x*x);
з) (y>=x) и (y+x>=0) и (y 1);

[ Ответ ]

7.8. Запишите логическое выражение, которое принимает значение «истина» тогда и только тогда, когда точка с координатами (x, y) принадлежит заштрихованной области.

[ Ответ ]

в противном случае
[ Ответ ]

7.12. Постройте графики функций y(x), заданных командами если:

Решение

[ Ответ ]

7.13. Определите значение целочисленной переменной S после выполнения операторов:

Решение
iS
128
1128/2=64
264/2=32
332/2=16
416/2=8
Ответ: S=8
Решение
ijS
0
120+1+2=3
33+1+3=7
227+2+2=11
311+2+3=16
Ответ: S=16

[ Ответ ]

7.14. Определите значение переменной S после выполнения операторов:

Решение
Условие iiS
00
010+1 2 =1
121+2 2 =5
235+3 2 =14
3
Ответ: S=14
Решение
Условие N > 0SN
0125
125 > 0? да0+5=512
12 > 0? да5+2=71
1 > 0? да7+1=80
0 > 0? нет (кц)
Ответ: S=8

[ Ответ ]

7.15. Составьте алгоритмы решения задач линейной структуры (условия этих задач заимствованы из учебного пособия В.М. Заварыкина, В.Г. Житомирского и М.П. Лапчика «Основы информатики и вычислительной техники», 1989):

в) в треугольнике известны три стороны a, b и c; найти радиус описанной окружности и угол A (в градусах), используя формулы: где

г) в правильной треугольной пирамиде известны сторона основания a и угол A (в градусах) наклона боковой грани к плоскости основания; найти объем и площадь полной поверхности пирамиды, используя формулы:

V=S ocн · H/2;
где

д) в усеченном конусе известны радиусы оснований R и r и угол A (в радианах) наклона образующей к поверхности большего основания; найти объем и площадь боковой поверхности конуса, используя формулы:

где

7.16. Составьте алгоритм решения задач развлетвляющейся структуры:

а) определить, является ли треугольник с заданными сторонами a, b, c равнобедренным;
Решение:

б) определить количество положительных чисел среди заданных чисел a, b и c;

в) меньшее из двух заданных неравных чисел увеличить вдвое, а большее оставить без изменения;

г) числа a и b — катеты одного прямоугольного треугольника, а c и d — другого; определить, являются ли эти треугольники подобными;

д) даны три точки на плоскости; определить, какая из них ближе к началу координат;

е) определить, принадлежит ли заданная точка (x, y) плоской фигуре, являющейся кольцом с центром в начале координат, с внутренним радиусом r1 и внешним радиусом r2 ;

ж) упорядочить по возрастанию последовательность трех чисел a, b и c.
[ Ответ ]

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *