Головна сторінка Випадкова сторінка КАТЕГОРІЇ: АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія |
МЕТОДИКА ВИВЧЕННЯ ГРАМАТИКИ І ЛЕКСИКИДата добавления: 2015-10-19; просмотров: 1676
Понятие алгоритма. В основе решения задач на компьютере лежит понятие алгоритма. Существует несколько определений алгоритма, раскрывающих его свойства и особенности. В ГОСТе 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].
|