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

Вопрос №2 Алгоритм. Основные алгоритмические структуры и конструкции




Вопрос №1 Алгоритм. Свойства алгоритма. Способы формализации алгоритма.

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

Такими свойствами являются:

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

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

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

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

(формализация через языки программирования и схему)

Вопрос №2 Алгоритм. Основные алгоритмические структуры и конструкции

1. Базовая структура " следование". Образуется последовательностью действий, следующих одно за другим:

2. Базовая структура " ветвление". Обеспечивает в зависимости от результата проверки условия ( да или нет ) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:

если-то;

если-то-иначе;

выбор;

выбор-иначе.

Базовая структура " цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.

Вопрос №3 Этапы построения алгоритма. Технологическая цепочка решения задачи на ЭВМ

Работа по решению прикладной задачи на компьютере проходит через следующие этапы:

· постановка задачи;

· математическая формализация;

· построение алгоритма;

· составление программы на языке программирования;

· отлад­ка и тестирование программы;

· проведение расчетов и анализ полученных результатов.

Вопрос №4 Алгоритмический язык. Структура алгоритмического языка.

Алгоритми́ ческий язык — формальный язык, используемый для записи, реализации или изучения алгоритмов. Всякий язык программирования является алгоритмическим языком, но не всякий алгоритмический язык пригоден для использования в качестве языка программирования.

Вопрос №5 Алгоритмический язык. Машино-зависимые и машинно-независимые языки. Поколения языков программирования

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

Машинно-независимые языки не зависят от типа компьютера, на котором они используются. Машинно-независимые языки в отличие от машинно-зависимых называются языками высокого уровня. Они делятся на процедурно-ориентированные и проблемно-ориентированные языки.

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

При программировании на процедурно-ориентированных языках не требуется детального знания устройства компьютера. Наиболее широко используемыми языками высокого уровня являются БЭЙСИК, ПАСКАЛЬ, СИ.

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

Вопрос №6 Трансляция. Виды трансляторов

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

Трансляторы подразделяют[2]:

§ Адресный. Функциональное устройство, преобразующее виртуальный адрес (англ. Virtual address) в реальный адрес.

§ Диалоговый. Обеспечивает использование языка программирования в режиме разделения времени.

§ Многопроходной. Формирует объектный модуль за несколько просмотров исходной программы.

§ Обратный. То же, что детранслятор. См. также: декомпилятор, дизассемблер.

§ Однопроходной. Формирует объектный модуль за один последовательный просмотр исходной программы.

§ Оптимизирующий. Выполняет оптимизацию кода в создаваемом объектном модуле.

§ Синтаксически-ориентированный (синтаксически-управляемый). Получает на вход описание синтаксиса и семантики языка и текст на описанном языке, который и транслируется в соответствии с заданным описанием.

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

Поделиться:





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



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