Лекция № 2. Тема: « Алгоритм — информационная модель явления, процесса или объекта»

Лекция № 2

Тема: « Алгоритм — информационная модель явления, процесса или объекта»

УЭ-0 Интегрированная цель: опираясь на понятие и определение информационной модели дать определение алгоритму, его свойствам, средствам записи.

УЭ-1 Цель: выясним, что мы знаем об алгоритме, дадим ему определение с точки зрения информационного моделирования.

Задание (повторение):

1.  Что такое модель? Какие классы моделей вы знаете? Что представляют собой информационные модели?

2.  Привести определение алгоритма.

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

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

Ключевыми словами, раскрывающими смысл этого понятия, являются: исполнитель, команда, система команд исполнителя.

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

3.  Свойства алгоритма

Обратим внимание на основные особенности алгоритма:

Ú  Алгоритм имеет некоторое число входных величин - аргументов, задаваемых до начала работы.

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

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

Для алгоритма можно брать различные наборы входных данных, т. е. можно применять один и тот же алгоритм для решения целого класса однотипных задач, различающихся исходными данными. Это свойство алгоритма называют МАССОВОСТЬЮ.

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

Ú  Чтобы алгоритм можно было выполнить, он должен быть ПОНЯТЕН исполнителю. Алгоритм, составленный на конкретного исполнителя, должен включать только те команды, которые входят в его систему команд, т е. Алгоритм не должен быть рассчитан на принятие каких-либо самостоятельных решений исполнителем, не предусмотренных составителем алгоритма.

Ú  Алгоритм представлен в виде КОНЕЧНОЙ последовательности шагов. Говорят, что алгоритм имеет дискретную структуру. Следовательно, его исполнение расчленяется на выполнение отдельных его шагов и должно завершиться за конечное их (шагов) число.

Ú  Данное свойство ещё называется результативностью РЕЗУЛЬТАТИВНОСТЬ.

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

Ú  Каждый шаг алгоритма должен быть четко и недвусмысленно (ОДНОЗНАЧНО) определен и не должен допускать произвольной трактовки исполнителем. При исполнении алгоритма исполнитель должен строго в соответствии с его правилами и у него не должно возникать потребности предпринимать какие - нибудь действия, отличные от предписанных алгоритмом.

Иными словами,

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

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

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

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

Ú  Кроме того, эффективность означает, что алгоритм может быть выполнен не только за конечное, а за разумное конечное время.

4.  Перечислить средства описания или представления алгоритмов

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

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

a.  Словесная запись алгоритма. (ориентирована на исполнителя — человека.)

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

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

b.  Схемы алгоритмов.

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

Для записи внутри блоков используется естественный язык с элементами математической символики. В результате проверки условий возникают два возможных пути продолжения алгоритма. Эти пути изображаются стрелками с соответствующими надписями «Да» и «Нет». Рассмотрим алгоритм «бытовой сферы» записанный двумя способами: словесной записью и с помощью схемы алгоритма

c.  Псевдокоды

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

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

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

b.  Языки программирования

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

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

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

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

УЭ-2 Цель: выясним, что мы знаем об алгоритме, дадим ему определение с точки зрения информационного моделирования.

Вспомним ещё раз определение информационной модели: Информационная модель — модель, в которой описание моделируемого объекта производится на одном из языков кодирования информации (словесное описание, схемы, чертежи, карты, рисунки, научные формулы, программы и т. д)

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

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

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

Ú  Естественный язык для словесно-пошагового способа записи алгоритма

Ú  Искусственный язык блок-схем как графический способ записи алгоритмов

Ú  Язык программирования

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

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

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

В процессе теоретического анализа задачи определяется множество исходных данных.

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

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

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

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

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

Пример:

Дано целое положительное число n. Присвойте переменной m последнюю цифру этого числа.

1.Введем обозначения для тех переменных, которые нам даны и являются существенными:
Дано: n-целое положительное число

Найти: m

Связь (метод решения): используя встроенную функцию нахождения остатка от деления мы можем найти последнюю цифру в записи числа и присвоить значение этой цифры переменной m

Ограничения: нет

2. Последовательная формализация алгоритма

Подпись:

Блок-схема

Подпись:



Подпишитесь на рассылку:


Алгоритмы


Проекты по теме:

Основные порталы, построенные редакторами

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством

Каталог авторов (частные аккаунты)

Авто

АвтосервисАвтозапчастиТовары для автоАвтотехцентрыАвтоаксессуарыавтозапчасти для иномарокКузовной ремонтАвторемонт и техобслуживаниеРемонт ходовой части автомобиляАвтохимиямаслатехцентрыРемонт бензиновых двигателейремонт автоэлектрикиремонт АКППШиномонтаж

Бизнес

Автоматизация бизнес-процессовИнтернет-магазиныСтроительствоТелефонная связьОптовые компании

Досуг

ДосугРазвлеченияТворчествоОбщественное питаниеРестораныБарыКафеКофейниНочные клубыЛитература

Технологии

Автоматизация производственных процессовИнтернетИнтернет-провайдерыСвязьИнформационные технологииIT-компанииWEB-студииПродвижение web-сайтовПродажа программного обеспеченияКоммутационное оборудованиеIP-телефония

Инфраструктура

ГородВластьАдминистрации районовСудыКоммунальные услугиПодростковые клубыОбщественные организацииГородские информационные сайты

Наука

ПедагогикаОбразованиеШколыОбучениеУчителя

Товары

Торговые компанииТоргово-сервисные компанииМобильные телефоныАксессуары к мобильным телефонамНавигационное оборудование

Услуги

Бытовые услугиТелекоммуникационные компанииДоставка готовых блюдОрганизация и проведение праздниковРемонт мобильных устройствАтелье швейныеХимчистки одеждыСервисные центрыФотоуслугиПраздничные агентства

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