Студопедия — ПОНЯТИЕ АЛГОРИТМА. СПОСОБЫ ПРЕДСТАВЛЕНИЯ АЛГОРИТМОВ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ПОНЯТИЕ АЛГОРИТМА. СПОСОБЫ ПРЕДСТАВЛЕНИЯ АЛГОРИТМОВ






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

В ГОСТе 19.781-74 понятие алгоритма приближено к его выполнению в виде программы на ЭВМ: «Алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату».

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

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

2. В виде формулы – описание в символах математического языка). Вычисление по формуле позволяет найти значение некоторой величины (функции) от значений других величин – независимых параметров (аргументов). Например, зависимость силы тяжести от массы P=mg.

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

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

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

6. В виде компьютерной программы:

1. на алгоритмическом языке высокого уровня, например, на языке Паскаль, С++, Фортран, Ада, Пролог или

2. на машинно-ориентированном языке типа ассемблера – описание в символах и операторах команд процессора или

3. на внутреннем языке компьютера – в виде последовательности кодов (в двоичной или 16-тиричной системе счисления) команд процессора.

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

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

1. команды арифметических операций;

2. команды логических операций;

3. команды ввода и вывода данных;

4. команды пересылки информации между различными видами памяти (оперативной, дисковой, КЭШ-памяти и т.д.);

5. команды обращения к подпрограммам;

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

7. специальные команды (например, команды приостановки или прерывания выполняемой программы).

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

При компиляции выполняются следующие группы действий:

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

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

· если синтаксических ошибок не обнаружено, то компилятор переходит к группе действий п.2;

2) выполняется перевод операторов программы с языка высокого уровня на внутренний язык ЭВМ (см. выше п. 6), при этом каждому оператору языка высокого уровня соответствует определенная последовательность более простых операторов (команд процессора);

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

Результатом этих действий является получение исполняемого (загрузочного) файла программы, имеющего то же имя, что и файл исходной программы (на языке высокого уровня), но с расширением.exe (о файлах и о типах расширений файлов см. 8.3). Процесс трансляции (компиляции) выполняется специальной программой, которая называется транслятором (компилятором). Программа-компилятор является частью общей системы (среды) программирования, которая имеет приставку Турбо-, то есть такие системы называются Turbo-Pascal, Turbo-C. Кроме программы-компилятора, в эту систему входят средства редактирования и отладки пользовательских программ, средства отображения процессов и результатов выполнения программы. Учитывая ограничение объема данного пособия, описание среды программирования здесь не приводится. Для изучения возможностей среды Turbo-Pascal рекомендуем [1].

 







Дата добавления: 2015-10-19; просмотров: 486. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

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

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

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

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия