русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Понятие и свойства алгоритма


Дата добавления: 2013-12-23; просмотров: 1335; Нарушение авторских прав


АЛГОРИТМЫ И СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ

Принципы трансляции (компилятор и интерпретатор)

 

Трансляция - перевод программы, написанной на языке программирования, в последовательность машинных команд.

 

Схему работы компилятора можно представить в следующем виде.

 


 

 

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

Свойства алгоритма

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

2. Определенность (детерминированность). Каждое правило алгоритма должно быть четким и однозначным. Отсюда выполнение алгоритма носит механический характер.

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

4. Массовость. Алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся исходными данными (область применимости алгоритма).

 

Язык блок-схем – способ формального описания алгоритмов

алгоритмов

Основные элементы блок схем:

1. Обработка данных (вычисление, пересылка и т.п.)

2. Вызов процедуры

3. Проверка условия

4. Соединительные линии и их объединение.

5. Ввод-вывод данных

6. Точки связи или соединители

7. Начало, завершение программы или подпрограммы

8. Комментарий

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



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

Простая программа - алгоритм, для которого:

• Существует единственный вход и единственный выход.

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

Примеры простой и непростых программ

Простая программа

 

Бесконечный цикл

 

Недостижимый фрагмент

 

Основные (базовые) структуры алгоритмов и их производные

Следование последовательное выполнение действий (блоков).

Цикл «До» (с постусловием) - тело цикла (блок 2) выполняется до тех пор, пока условие (блок 3) не станет истинным.

Цикл «Пока» (с предусловием) - пока не будет нарушено условие (блок 3), осуществляется повторение тела цикла (блок 2).

Разветвление - применяется, когда в зависимости от условия требуется выполнить либо одно действие, либо другое.

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

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

Альтернативный способ описания логики программы на этапе проектирования – использование псевдокода (или языка проектирования программ PDL – Process Design Language). Он занимает промежуточное положение между естественным языком и языком программирования и состоит из внешнего синтаксиса и внутреннего синтаксиса.

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

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

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

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

Операторы внешнего синтаксиса псевдокода следующие:

- Следование. Записываются последовательно операции одна под другой. Для отделения части последовательности операторов используются операторы – do…end-do.

 
 
первая операция вторая операция do третья операция end-do  

 

 


- Индексная последовательность (цикл по счетчику). Цикл с заранее определенным числом шагов (среднее между обычными последовательностью и классическим циклом).

 

 
 
for индексный список do do-часть end-do  

 

 


- Цикл-До. Операции структуры, включая модификацию until-теста, выполняются один или более раз до тех пор, пока until-тест не примет значение истина;

 

 
 
do do-часть until until-тест end-do  

 


Операторы внешнего синтаксиса псевдокода:

- Цикл-Пока. Do-часть выполняется пока while-тест имеет значение истина. Do-часть модифицирует условие while-теста для того, чтобы окончить вычисления.

 

 
 
while while-тест do do-часть end-do  

 

 


- Разветвление. Если…то…иначе

 

 

 
 
if if-тест then then-часть else else-часть end-if  

 


- Множественный выбор

 
 
case список 1 case-часть 1 список 2 case-часть 2 …список n case-часть n else else-часть end-case  

 

 


Алгоритмы вычисления суммы квадратов первых N целых чисел с использованием псевдокода и языка блок-схем

 
 

 


Ввести Число слагаемых

Сумма = 0

Номер = 1

do

Сумма = Сумма + Номер2

Увеличить Номер на единицу

Until

Номер > Число слагаемых

end-do

Напечатать Сумму

 

 

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

«Программа – это конкретное, основанное на некотором реальном представ-лении и строении данных, воплощение абстрактного алгоритма». (Н. Вирт).

 

 

 



<== предыдущая лекция | следующая лекция ==>
Понятие язык программирования | Алгоритмы сортировки


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.