logo search
Информатика_ЗФ / 2013_Информатика УМО_легпром

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

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

Словесно-формульное описание алгоритма представляет структуру алгоритма и содержание выполняемых действий средствами естественного языка, представлено ниже в тестовых заданиях с решениями 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 = 3b = 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.18. Рисунок, иллюстрирующий условие задания 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;

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

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

  1. 4;

  2. 2;

  3. 3;

  4. 1.

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

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

1) i = 1;

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

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-й шаг;

3

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-й шаг;

4

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;

1

3) а <b? Подставляя значения a=15 и b=4, имеем 15<4? Ответ: нет. Следовательно, после 3-го шага выполняем 4-й шаг;

4) а = а-b. Подставляя значения a и b, имеем a=15-4=11;

5) перейти к 3), следовательно, после 5-го шага выполняем шаг 3);

2

3) а<b? Подставляя значения a и b, имеем 11<4? Ответ: нет. Следовательно, после 3-го шага выполняем 4-й шаг;

4) а = а-b. Подставляя значения a и b, имеем a=11-4=7;

5) перейти к 3), следовательно, после 5-го шага выполняем шаг 3);

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