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

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

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






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

В ГОСТе 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; просмотров: 482. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

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

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

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

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

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

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