Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Основы алгоритмизации и объектно-ориентированного программирования

VISUAL BASIC

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ

И

АЛГОРИТМИЗАЦИЯ

(Лекции)

 

 

 

 

 

Стерлитамак

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

Слово “алгоритм” происходит от “algorithmi” – латинской формы написания имени выдающегося математика IX века аль-Хорезми, который сформулировал правила выполнения арифметических операций.

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

Пример 1. Составим алгоритм решения квадратного уравнения :

  1. Пусть a=1; b=5; c=4
  2. Вычислить d=b-4ac
  3. Сравнить d с нулем. Если d<0 перейти к пункту 4. В противном случае вычислить , .
  4. Прекратить вычисления.

Пример 2. Пользователю необходимо произвести редактирование текста. Исходное состояние: фрагмент текста “информационная модель”, курсор находится перед первым символом. Необходимо перевести его в конечное состояние: “модель информационная”, курсор находится после последнего символа.

1. Выделить символы с l по 15

2. Вырезать этот фрагмент и поместить его в буфер обмена

3. Установить курсор на позицию после 7-го символа

4. Вставить из буфера вырезанный фрагмент текста

 

К алгоритму предъявляются следующие требования:

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

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

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

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

5. Алгоритм решения задачи разрабатывается в общем виде так, чтобы его можно было применить к решению данного класса задач, различающихся лишь исходными данными. Например, в алгоритме решения квадратного уравнения значения a,b,c можно поменять и решить другое уравнение. Это свойство алгоритма называется массовостью.

Алгоритм можно фиксировать несколькими способами:

1. На естественном языке, как был написан алгоритм решения квадратного уравнения.

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

3. На специальном языке.

Специальные языки – алгоритмические языки, близки к естественному, но имеют жесткие правила, которые должен понимать компьютер. Алгоритм, записанный на специальном языке, понятном компьютеру, называется программой. Компьютер понимает только машинные команды, то есть набор нулей и единиц. На заре компьютерной эры (50-е годы XX века) программы писались на машинном языке и представляли собой очень длинные последовательности нулей и единиц, такие языки программирования назывались языками низкого уровня, языком программирования низкого уровня (близким к машинному) является Assembler. Достоинством языков низкого уровня является то, что с их помощью создаются самые эффективные программы (краткие и быстрые), обычно их применяют для написания программ-драйверов устройств, но их очень трудно изучить, ведь для каждого типа процессора свой язык Assembler. В 60-70 годах для облегчения труда программистов начали создаваться языки программирования высокого уровня (более понятные человеку, чем компьютеру), формальные языки, кодирующие алгоритмы в виде предложений. Они строились на основе использования определенных инструкций (операторов), жестко определенного списка ключевых слов и строгих правил построения предложений (синтаксиса). Для того чтобы реализовать эти правила и практически получить результаты программы на компьютере, создавалась специальная программа – транслятор, которая переводила программу с алгоритмического языка в машинный код. По принципу действия различают два вида трансляторов: компиляторы и интерпретаторы. Интерпретаторы работают как синхронные переводчики: берут один оператор из программы, транслируют его в машинный код и исполняют, лишь только после того, как исполнение прошло успешно, интерпретатор берет следующий оператор. Если какой-то оператор многократно используется в программе, интерпретатор будет добросовестно выполнять его перевод так, как будто встретил его впервые. Компиляторы обрабатывают программу в несколько приемов. Сначала они несколько раз просматривают исходный текст (исходный код), находят общие места, выполняют проверку на наличие синтаксических ошибок и противоречий, а лишь потом переводят программу в машинный код. Программа получается компактной и эффективной. Если программа написана на интерпретируемом языке программирования, то ее можно выполнить лишь на том компьютере, на котором установлен данный интерпретатор, программы, написанные на компилируемых языках программирования, работают на любом компьютере и делают это в сотни раз быстрее. Наиболее широко распространенным типом языков программирования высокого уровня являются процедурные языки. Одним из первых процедурных языков был Бейсик (Basic), созданный в 1964 году. Далее появились QBasic, Pascal, C++. В настоящее время наибольшей популярностью пользуются системы объектно-ориентированного визуального программирования Microsoft Visual Basic (VB), Borland Delphi, Borland C и т.д.). Для создания приложений в среде Windows&Office используется язык программирования Visual Basic for Applications (VBA).

<== предыдущая лекция | следующая лекция ==>
Implementation | Основные типы алгоритмических структур
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 613; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.