БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ




АЛГОРИТМЫ. БЛОК-СХЕМЫ

Алгоритм — заранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для решения задачи за конечное число шагов.

Исполнителя характеризуют:

среда - "место обитания" исполнителя;

элементарные действия;

система команд - команды только из некоторого строго заданного списка;

отказы - возникают, если команда вызывается при недопустимом для нее состоянии среды.

Универсальным исполнителем алгоритмов является компьютер.

 
 
Классы алгоритмов: - вычислительные; - информационные; - управляющие.  


Этапы решения задач на ЭВМ:

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

2) формализация задачи (математическая модель);

3) выбор (или разработка) метода решения;

4)

Схема работы алгоритма:
разработка алгоритма;

5) составление программы;

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

7) анализ результатов.

 

Основные свойства алгоритмов

 

1. Понятность для исполнителя — исполнитель алгоритма должен понимать, как его выполнять. Алгоритм должен включать только те команды, которые входят в его систему команд.

2. Дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов (этапов).

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

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

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

 

Порядок выполнения алгоритма:

― действия выполняются в порядке их записи;

― нельзя менять местами никакие два действия алгоритма;

― нельзя не закончив одного действия переходить к следующему.

Формы записи алгоритма

1. Словесная - запись на естественном языке.

Словесный способ не имеет широкого распространения, т.к. такие описания:

― строго не формализуемы;

― многословны;

― допускают неоднозначность толкования отдельных предписаний.

 

 

2. Графическая - изображения из графических символов.

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

 

Название Символ Назначение
Начало/конец Начало или конец программы, вход или выход в подпрограмму
Ввод/вывод Ввод или вывод данных для любого носителя
Действие Выполняет вычислительное действие или группу действий
Логический блок (условие) Выбор направления выполнения алгоритма в зависимости от условия
Предопределенный процесс (подпрограмма) Действия по стандартной или пользовательской подпрограмме
Блок модификации Выполнение действий, изменяющих пункты алгоритма
Соединитель Указание связи между прерванными линиями в пределах одной страницы
Межстраничный соединитель Указание связи между частями схемы, расположенной на разных страницах
Линии Указывают очередность выполнения действий

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

― блок-схема выстраивается в одном направлении: сверху вниз и слева направо;

― все повороты соединительных линий выполняются под углом 90º.

 

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

 

4. Программная - тексты программ (листинги) на языках программирования.

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

Такой язык называют языкомпрограммирования, а запись алгоритма на этом языке — программой для компьютера.

 

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

― машинные;

― машинно-оpиентиpованные (ассемблеpы);

― машинно-независимые (языки высокого уровня = ЯВУ).

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

ЯВУ имитируют естественные языки; делятся на:

процедурные (алгоритмические) (Basic, Pascal, C и др.) - предназначены для однозначного описания алгоритмов; для решения задачи в той или иной форме явно записать процедуру ее решения;

логические (Prolog, Lisp и др.) - ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;

объектно - ориентированные (Object Pascal, Delphi, C++, C#, Java и др.) - в основе лежит понятие объекта, сочетающего в себе данные и действия над нами.


БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ

Д – ДЕЙСТВИЕ (например, вычисление) = ОПЕРАТОР (в языке программирования)

 

УУСЛОВИЕ (логическое выражение). Это утверждение, допускающее два возможных ответа: «Да » (условие истинно – True) или «Нет » (условие ложно – False)

 

К - КОНСТАНТА

 

  Блок-схема Запись на Turbo Pascal Правила работы  
СЛЕДОВАНИЕ   Д1; Д2; ДN; Следование означает, что действия выполняются последовательно, одно за другим.   Линейный алгоритм (линейная программа) – содержит только указания следования.    
ВЕТВЛЕНИЕ (полная форма)     ifУ thenД1 elseД2; Ветвление – форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия выполняется то или иное действие.   В полной форме ветвления сначала проверяется выполнение Условия. Если Условие истинно, то выполняется Действие1 (ветвь «Да»). Если Условие ложно, то выполняется Действие2 (ветвь «нет»).   В сокращенной форме ветвления отсутствует ветвь «нет». При невыполнении Условия здесь не нужно выполнять никаких действий.   После выполнения команды ветвления происходит переход к следующей за ветвлением команде.  
ВЕТВЛЕНИЕ (сокращенная форма)  
 
 

 

 

ifУ thenД1;    
ВЫБОР(полная форма)     caseСелекторof К1: Д1; К2: Д2; … КN: ДN; elseДN+1 end;   Оператор выбора (варианта) позволяет выбрать одно из многих действий в зависимости от значения селектора. Селектор – это переменная (чаще всего) или выражение, всегда имеет порядковый тип.   Сначала вычисляется значение Селектора. Далее последовательно значение Селектора сравнивается со значением каждой из Констант. Выполняется то Действие, Константа которого совпадает со значением Селектора. При несовпадении Селектора ни с одной из Констант, выполняется ДействиеN +1. В сокращенной форме команды выбора отсутствует ветвь else.  
ЦИКЛ с предусловием     whileУ do Д; Повторение (цикл) – форма организации действий, при которой некоторые действия выполняются многократно. Тело цикла - серия повторяющихся команд.   В цикле с предусловием сначала проверяется Условие и, если оно истинно, выполняется Действие (тело цикла). Если Условие ложно, цикл прекращается.   В цикле с постусловием сначала выполняется Действие, затем проверяется Условие. Если условие ложно, то снова выполняется действие, если истинно – цикл прекращается. Тело цикла выполняется хотя бы один раз.   В цикле с параметром сначала параметр I получает начальное значение IН, которое сравнивается с конечным IК. Если Условие I<= IК истинно, выполняется Действие, шаг h автоматически увеличивается на +1 (уменьшается на -1), и снова проверяется Условие. Цикл прекращается, когда достигается условие I>IК.  
ЦИКЛ с постусловием     repeat Д1; Д2; … ДN untilУ;
ЦИКЛ с параметром     forI:=IНtoIКdo Д; forI:=IНdowntoIК do Д;  
           

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: