Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Понятие алгоритма и его свойства. Блок-схема алгоритма




ТРАНСЛЯЦИЯ, КОМПИЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ

 

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

 

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

 

Компилятор – это программа, предназначенная для трансляции исходного текста программы с высокоуровневого языка в объектный код. Входной информацией для компилятора является описание алгоритма или программа на языке программирования. На выходе компилятора – эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код).

 

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

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

 

При работе с программами существуют этапы:
а) компиляции
б) компоновки
в) интерпретации
г) исполнения программы.
Создание исполняемого файла из исходного текста программы предполагает выполнение этапов а и б (компиляции и компоновки).

 

Исполняемый файл – это файл, который может быть обработан или выполнен компьютером без предварительной трансляции. Обычно исполняемый файл получается в результате компиляции и компоновки объектных модулей и содержит машинные команды и/или команды операционной системы.

 

Интерпретатор анализирует и тут же выполняет программу покомандно, по мере поступления ее исходного кода на вход интерпретатора.
Алгоритм работы простого интерпретатора:
1) прочитать инструкцию;
2) проанализировать инструкцию и определить соответствующие действия;
3) выполнить соответствующие действия;
4) если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2.

Утверждение «Языковый процессор, который построчно анализирует исходную программу и одновременно выполняет предписанные действия, а не формирует на машинном языке скомпилированную программу, которая выполняется впоследствии» справедливо для интерпретатора

Режим интерпретации можно использовать при отладке программ на языке высокого уровня.

 

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

 

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

 

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

 

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

 

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

 

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

 

 

Этапы решения задачи на компьютере.

Для того чтобы правильно решить задачу с помощью автоматизированного подхода на ПЭВМ, необходимо пройти определенные этапы ее решения.
1. Формализация данных

2. Создание математической модели
3. Детальное описание алгоритма (блок-схема, текстовое)
4. Реализация на языке программирования
5. Отладка программы
6. Тестирование программы
7. Анализ результатов работы

 

Данная цепочка будет корректна с точки зрения решения задачи на ПЭВМ, поскольку на начальных этапах («Формализация данных» и «Создание математической модели») определяются исходные данные и модель решения. Далее, на этапах «Детальное описание алгоритма (блок-схема, текстовое)» и «Реализация на языке программирования», проходит пошаговое построение целевого алгоритма и реализация его на заданном языке программирования. На этапе «Отладка программы» устраняются явные некорректные ситуации реализации алгоритма, а этап «Тестирование программы» позволяет устранить скрытые и явные недостатки реализации исходной задачи. На финальном этапе «Анализ результатов работы» проводится исследование полученных результатов.

 

ПОНЯТИЕ АЛГОРИТМА И ЕГО СВОЙСТВА. БЛОК-СХЕМА АЛГОРИТМА

 

Единого определения понятия «алгоритм» нет. Приведем одно из возможных определений.

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

Пять важных свойств алгоритма – дискретность, конечность, детерминированность, результативность, массовость.

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

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

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

С другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа. Однако при включении метода генерации случайных чисел в список «исходных данных» вероятностный алгоритм становится подвидом обычного.

Результативность (направленность на получение искомого результата) ­– алгоритм должен завершаться определенными результатами.

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

 

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

 

Способы записи (представления) алгоритма:

– формульный

– словесный

– табличный

– с помощью блок-схем

– с помощью программы

 

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

 

Способы представления алгоритмов (еще раз):

– Словесный (описание на естественном человеческом языке)

– Графический (на языке блок-схем)

– С помощью символов специального языка проектирования программ-псевдокодов

– С использованием HIPO-диаграмм

– С использованием таблиц решений

– С помощью схемы Насси-Шнейдермана

– С помощью одного из алгоритмических языков программирования

 

Правила построения алгоритмов на языке блок-схем:

1. Блок-схема строится сверху вниз.

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

3. Должен быть хотя бы один путь из начала блок-схемы к любому элементу.

4. Должен быть хотя бы один путь от каждого элемента блок-схемы в конец блок-схемы.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...