Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Способы описания алгоритмов




 

В настоящее время используются следующие способы описания алгоритмов:

- словесно-формульное описание алгоритма;

- псевдокод;

- табличный способ;

- языки программирования (программа);

- графический способ (блок-схема).

Словесно-формульное описание алгоритма представляет структуру алгоритма и содержание выполняемых действий средствами естественного языка, представлено ниже в тестовых заданиях с решениями 9.1 ÷ 9.6. Достоинства этого способа: общедоступность, возможность описывать алгоритм с любой степенью детализации. Недостаток этого способа – многословность, низкая наглядность, громоздкость, возможна неоднозначность толкования.

Тестовое задание 9.1.

Чему равны значения переменных а и b после выполнения следующего фрагмента алгоритма:

1) а = 3;

2) b = 7;

3) b = a;

4) a = b;

5) b = b*2

Ответы:

1) a = 3; b = 6

2) a = 14; b = 7

3) a = 7; b = 14

4) a = 6; b = 3

5) a = 3; b = 14

 

Решение.

Выполняем алгоритм последовательно по шагам:

1) а = 3;

2) b = 7;

3) b = a; знак равенства «=» в этом случае трактуется как знак присваивания «=:», следовательно, переменной b присваивается значение переменной а=3; т.е. переменная b примет значение b=3;

4) a=b; переменной а присваивается значение переменной b=3; следовательно, переменная а примет значение а =3;

5) b=b*2; переменной b присваивается значение b*2 ( к этому моментупеременная b имеет значение b=3); следовательно, переменная b примет значение b= b·2=3·2=6.

Таким образом, в результате выполнения алгоритма переменные а и b примут значения a = 3 b = 6.

 

Тестовое задание 9.2.

Какие результаты будут получены в результате выполнения фрагмента алгоритма в каждом из следующих случаев: 1) x = 3; 2) x = 1 (от y решение не зависит):

1) ввести координаты точки x и y;

2) если x ≥ 2, то вывод «точка находится в области В» иначе вывод «точка находится в области А»?

Ответы:

1-й случай:

1) точка находится в области В;

2) точка находится в области А;

2-й случай:

1) точка находится в области А

2) точка находится в области В

 

Решение.

Выполняем алгоритм последовательно по шагам:

1-й случай − x = 3:

1) вводим координаты точки x = 3;

2) x ≥ 2? Подставляя значение x = 3, имеем 3 ≥ 2? Ответ: да, следовательно, выполняется вывод «точка находится в области В»;

 

2-й случай − x = 1:

1) вводим координаты точки x = 1;

2) x ≥ 2? Подставляя значение x = 1, имеем 1 ≥ 2? Ответ: нет, следовательно, выполняется вывод «точка находится в области А»;

 

Можно проиллюстрировать условие задачи рисунком 9.1.

 

 

Рис. 9.1. Рисунок, иллюстрирующий условие задания 9.2

 

Замечание. Тот же алгоритм можно записать следующим образом:

1) Ввести координаты точки x и y;

2) eсли x ≥ 2, то вывод «точка находится в области В», перейти к 4);

3) вывод «точка находится в области А».

4) вычисления прекратить.

В этом варианте, если условие x ≥ 2 не выполняется, то выполнение алгоритма переходит к следующему шагу, т.е. к 3-му шагу.

Тестовое задание 9.3.

Какие результаты будут получены в результате выполнения следующего фрагмента алгоритма?

1) i = 1;

2) вывод i;

3) i = i + 1;

4) если i ≤ 4, то перейти к 2)

5) прекратить вычисления.

Ответы:

1) 1 2 3 4;

2) 1 2 3 4 5;

3) 2 3 4 5;

4) 1 3 5 7;

5)

Тестовое задание 9.4.

Сколько раз при выполнении предыдущего задания будет повторена последовательность шагов 2), 3) и 4)?

1) 4;

2) 2;

3) 3;

4) 1.

 

Решение тестовых заданий 9.3 и 9.4.

Выполняем алгоритм последовательно по шагам:

  1) i = 1;
  2) вывод i, так как i =1, то выводится 1; 3) i = i +1, предыдущее значение i =1, следовательно, новое значение i = i +1=1+1=2; 4) i ≤ 4? Подставляя новое значение i =2, имеем 2<4. Ответ: да. Следовательно, после 4-го шага выполняем 2-й шаг;
  2) вывод i, так как новое значение i =2, то выводится 2; 3) i = i +1, предыдущее значение i =2, следовательно, новое значение i = i +1=2+1=3; 4) i ≤ 4? Подставляя новое значение i =3, имеем 3<4, Ответ: да. Следовательно, после 4-го шага выполняем 2-й шаг;
  2) вывод i, так как новое значение i =3, товыводится 3; 3) i = i +1, предыдущее значение i =3, следовательно, новое значение i = i +1=3+1=4; 4) i ≤ 4? Подставляя новое значение i =4, имеем 4 ≤ 4. Ответ: да. Так как 4 = 4, следовательно, после 4-го шага выполняем 2-й шаг;
  2) вывод i, так как новое значение i =4, то выводится 4; 3) i = i +1, предыдущее значение i =4, следовательно, новое значение i = i +1=4+1=5; 4) i ≤ 5? Подставляя новое значение i =5, имеем 5 ≤ 4. Ответ: нет, так как 5>4, следовательно, после 4-го шага выполняем 5-й шаг;
  5) прекращаем вычисления.

При этом последовательность шагов 2), 3) и 4) будет повторена 4 раза.

Тестовое задание 9.5.

Какие результаты будут получены в результате выполнения следующего фрагмента алгоритма:

1) а = 15;

2) b = 4;

3) если а < b, то перейти к 6);

4) а = а - b;

5) перейти к 3);

6) вывод а.

Будет вывод числа:

1) 3;

2) 11;

3) 7;

4) -2.

Тестовое задание 9.6.

Сколько раз при выполнении предыдущего задания будет повторена последовательность шагов 3), 4) и 5)?

1) 3;

2) 2;

3) 1;

4) 4.

 

Решение тестовых заданий 9.5 и 9.6.

Выполняем алгоритм последовательно по шагам:

    1) а = 15; 2) b = 4;
  3) а <b? Подставляя значения a=15 и b=4, имеем 15<4? Ответ: нет. Следовательно, после 3-го шага выполняем 4-й шаг; 4) а = а-b. Подставляя значения a и b, имеем a=15-4=11; 5) перейти к 3), следовательно, после 5-го шага выполняем шаг 3);
  3) а<b? Подставляя значения a и b, имеем 11<4? Ответ: нет. Следовательно, после 3-го шага выполняем 4-й шаг; 4) а = а-b. Подставляя значения a и b, имеем a=11-4=7; 5) перейти к 3), следовательно, после 5-го шага выполняем шаг 3);
  3) а<b? Подставляя значения a и b, имеем 7<4? Ответ: нет. Следовательно, после 3-го шага выполняем 4-й шаг; 4) а = а-b. Подставляя значения a и b, имеем a=7-4=3; 5) перейти к 3), следовательно, после 5-го шага выполняем шаг 3);
  3) а<b? Подставляя значения a и b, имеем 3<4? Ответ: да. Следовательно, после 3-го шага выполняем 6-й шаг;
  6) вывод a; а на данном шаге имеет значение 3, следовательно, будет выведено число 3.

При этом последовательность шагов 3), 4) и 5) будет повторена 3 раза.

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

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

При проектировании визуальных алгоритмов используют специальные графические символы.Результатом алгоритмизации решения задачи является блок-схема алгоритма, состоящая из некоторой последовательности графических блоков, связанных по управлению линиями (направлениями потока) со стрелками. В блоках записывается последовательность действий. Блоки могут нумероваться. Порядковые номера проставляются слева в верхней части символов. В пределах одной схемы рекомендуется изображать блоки одинаковых размеров. Для визуального представления алгоритмов обычно используют символы в соответствии с ГОСТ 19.701–90 «Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения» [1]. Наиболее часто употребляемые символы представлены в таблице 14.

 

Таблица 14

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

Название символа Обозначение Пояснение  
Данные Символ отображает данные, носитель которых не определен.    
  Документ Символ отображает данные, представляемые не в компьютерном виде (на бумаге, на пленках и т. д.)  
Ручной ввод Символ отображает данные, вводимые вручную с помощью клавиатуры, мыши, светового пера и т. д.      
  Дисплей Данные, отображаемые на экране монитора, сигнальные индикаторы и т.д.    
Процесс Символ отображает функцию обработки данных любого вида (выполнение определенной операции или группы операций, в результате которых изменяется значение, форма представления или расположение данных)    
Предопределенный процесс Символ отображает предопределенный процесс, состоящий из одной или нескольких операций или шагов программы, которые определены в другом месте (в подпрограмме, модуле). Вычисления по подпрограммам, процедурам и функциям  
  Подготовка Модификация команды или группы команд для воздействия на последующую функцию. Символ используется для изображения унифицированной структуры цикл с параметром. Внутри символа записывается параметр цикла с указанием начального и конечного значений, а также шаг изменения цикла, если он не равен единице.    
  Решение Операция с одним входом и несколькими альтернативными выходами, один из которых активизируется после проверки условия, записываемого внутри символа. Определяет выбор направления выполнения алгоритма.  
    Границы цикла       Символ отображает начало и конец цикла. Особенности работы цикла (инициализация, приращение, условие) записывается в начале или конце, в зависимости от того, где осуществляется его проверка (циклы с предусловием или постусловием)
Линии потока Символ отображает поток данных или управления. Отображает связи между блоками. Направление потока слева направо и сверху вниз считается стандартным. В случаях, когда необходимо внести большую ясность в схему (например, при соединениях), на линиях используются стрелки. Если поток имеет направление, отличное от стандартного, стрелки должны указывать это направление.  
Соединитель Указывает связь между прерванными линиями, соединяющими символы. Соответствующие символы-соединители должны содержать одно и то же уникальное обозначение  
Терминатор   Символ отображает выход во внешнюю среду и вход из внешней среды (начало или конец схемы программы, вход в подпрограмму, процедуру, выход из подпрограммы, процедуры  
Комментарий Пояснения к операции данного блока, содержание подпрограмм, процедур, формулы  
             

 

Общими правилами при проектировании схем являются следующие правила:

1. Каждая схема должна начинаться и заканчиваться символами, обозначающими начало и окончание алгоритма. В алгоритме должен быть только один символ начала и один символ окончания.

2. В начале алгоритма должны быть символы ввода значений входных данных.

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

4. В конце алгоритма должны располагаться символы вывода значений выходных данных.

Описания алгоритма в словесной форме, на псевдокоде или в виде блок-схемы допускают некоторую произвольность при изображении команд. Вместе с тем, любая из этих форм позволяет человеку понять суть дела и исполнить алгоритм. На практике исполнителями алгоритмов выступают компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке, такой формализованный язык называют языком программирования. Алгоритм, записанный на языке программирования, называется программой. В этом случае алгоритм представляется в виде последовательности операторов языкапрограммирования.

 




Поделиться с друзьями:


Дата добавления: 2014-10-22; Просмотров: 433; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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