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

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

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






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

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



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

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

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

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

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

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

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

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

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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