Нижегородский государственный технический университет имени Р. Е. Алексеева
Опубликован: 26.03.2015 | Доступ: свободный | Студентов: 6482 / 1243 | Длительность: 07:05:00
ISBN: 978-5-9556-0173-1
Специальности: Программист, Преподаватель
Лекция 2:

Блок-схемы. Графическая реализация алгоритмов

< Лекция 1 || Лекция 2: 12345 || Лекция 3 >

Занятие 5. Выполнение блок-схем

Блок-схема сама по себе не содержит ответа. Чтобы получить результат, нужно выполнить блок-схему.

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

Если блок-схема составлена корректно, то, выполнив ее, человек получит ответ к своей задаче. Если же при составлении блок-схемы были допущены ошибки, то исполнитель либо вообще не дойдет до блока Конец, либо получит неверный ответ.

Для выполнения нам понадобится поле для расчетов (аналог "оперативной памяти") и поле для вывода результата (аналог экрана для вывода данных). Экран будем показывать несколько раз в зависимости от вывода новых данных на экране.

Выполнение блок-схемы для примера 3. Даны числа a=2, b=7. Вычислить сумму S и разность R чисел a и b.

Выполнение блок-схемы приведем в табл. 2.2.

Таблица 2.2. Выполнение блок-схемы для примера 3
Расчеты:
Начало
a=2
b=7
S=a+b={подставляем значения a и b}=2+7=9
R=a-b={подставляем значения a и b}=2-7=-5
Выводим на экран S=9, R=-5:
					
Вывод данных (экран)
S=9
R=-5
							
Конец.

Выполнение блок-схемы для примера 6. Даны числа a=2, b=7. Вычислить сумму S и разность R чисел a и b. Сравнить полученные значения S и R и указать большее из них.

Выполнение блок-схемы приведем в табл. 2.3.

Таблица 2.3. Выполнение блок-схемы для примера 6
Расчеты:
Начало
a=2
b=7
S=a+b=2+7=9
R=a-b=2-7=-5
Выводим на экран S=9, R=-5:
				
Вывод данных (экран)
S=9
R=-5
						
S>R   9>-5   да, верно
Выводим на экран "Max S":
				
Вывод данных (экран)
S=9
R=-5
Max S
						
Конец.

Выполнение блок-схемы для примера 9. Даны числа a, b. Известно, что число а меняется от -10 до 10 с шагом 5, b=7 и не изменяется. Вычислить сумму S и разность R чисел a и b для всех значений a и b.

Выполнение блок-схемы с предусловием приведем в табл. 2.4.

Таблица 2.4. Выполнение блок-схемы с предусловием для примера 9
Расчеты:
Начало
b=7
a=-10
a≤10   -10≤10   да, верно
S=a+b=-10+7=-3
R=a-b=-10-7=-17
Вывод S, R
					
Экран
S=-3   R=-17
a=a+5=-10+5=-5
{Идем по стрелке вверх}
a≤10   -5≤10   да, верно
S=a+b=-5+7=2
R=a-b=-5-7=-12
Вывод S, R
				
Экран
S=-3   R=-17
S=2   R=-12
						
a=a+5=-5+5=0
{Идем по стрелке вверх}
a≤10   0≤10   да, верно
S=a+b=0+7=7
R=a-b=0-7=-7
Вывод S, R
Экран
S=-3   R=-17
S=2   R=-12
S=7   R=-7
						
a=a+5=0+5=5
{Идем по стрелке вверх}
a≤10   5≤10   да, верно
S=a+b=5+7=12
R=a-b=5-7=-2
Вывод S, R
				
Экран
S=-3   R=-17
S=2   R=-12
S=7   R=-7
S=12   R=-2
						
a=a+5=5+5=10
{Идем по стрелке вверх}
a≤10   10≤10   да, верно
S=a+b=10+7=17
R=a-b=10-7=3
Вывод S, R
				
Экран
S=-3   R=-17
S=2   R=-12
S=7   R=-7
S=12   R=-2
S=17   R=3
						
a=a+5=10+5=15
{Идем по стрелке вверх}
a≤10   15≤10   нет, ложно {выходим из цикла}
Конец.
				

Выполнение блок-схемы с постусловием приведем в табл. 2.5.

Таблица 2.5. Выполнение блок-схемы с постусловием для примера 9
Расчеты:
Начало
b=7
a=-10
S=a+b=-10+7=-3
R=a-b=-10-7=-17
Вывод S, R
					
Экран
S=-3   R=-17
a=a+5=-10+5=-5
a≤10   -5≤10   да, верно
{Идем по стрелке вверх}
S=a+b=-5+7=2
R=a-b=-5-7=-12
Вывод S, R
				
Экран
S=-3   R=-17
S=2   R=-12
						
a=a+5=-5+5=0 
a≤10   0≤10   да, верно
{Идем по стрелке вверх}
S=a+b=0+7=7
R=a-b=0-7=-7
Вывод S, R
Экран
S=-3   R=-17
S=2   R=-12
S=7   R=-7
						
a=a+5=0+5=5 
a≤10   5≤10   да, верно
{Идем по стрелке вверх}
S=a+b=5+7=12
R=a-b=5-7=-2
Вывод S, R
				
Экран
S=-3   R=-17
S=2   R=-12
S=7   R=-7
S=12   R=-2
						
a=a+5=5+5=10
a≤10   10≤10   да, верно
{Идем по стрелке вверх}
S=a+b=10+7=17
R=a-b=10-7=3
Вывод S, R
				
Экран
S=-3   R=-17
S=2   R=-12
S=7   R=-7
S=12   R=-2
S=17   R=3
						
a=a+5=10+5=15
a≤10   15≤10   нет, ложно {выходим из цикла}
Конец.
				

Пример 10. Даны числа a, b. Известно, что число а меняется от -10 до 10 с шагом 5, b=7 и не изменяется. Вычислить сумму S и разность R и сравнить полученные значения суммы и разности для всех значений a и b.

Выполнение блок-схемы с предусловием приведем в табл. 2.6.

Таблица 2.6. Выполнение блок-схемы с предусловием для примера 10
Расчеты:
Начало
b=7
a=-10
a≤10   -10≤10   да, верно
S=a+b=-10+7=-3
R=a-b=-10-7=-17
Вывод S, R
S>R   -3>-17   да, верно
Вывод "Max S"
					
Вывод данных (экран)
S=-3   R=-17   Max S
a=a+5=-10+5=-5
{Идем по стрелке вверх}
a≤10   -5≤10   да, верно
S=a+b=-5+7=2
R=a-b=-5-7=-12
Вывод S, R
S>R   2>-12   да, верно
Вывод "Max S"
				
Вывод данных (экран)
S=-3   R=-17   Max S
S=2   R=-12   Max S
						
a=a+5=-5+5=0
{Идем по стрелке вверх}
a≤10   0≤10   да, верно
S=a+b=0+7=7
R=a-b=0-7=-7
Вывод S, R
S>R   7>-7   да, верно
Вывод "Max S"
Вывод данных (экран)
S=-3   R=-17   Max S
S=2   R=-12   Max S
S=7   R=-7   Max S
						
a=a+5=0+5=5 
a≤10   5≤10   да, верно
{Идем по стрелке вверх}
S=a+b=5+7=12
R=a-b=5-7=-2
Вывод S, R
S>R   12>-2   да, верно
Вывод "Max S"
				
Вывод данных (экран)
S=-3   R=-17   Max S
S=2   R=-12   Max S
S=7   R=-7   Max S
S=12   R=-2   Max S
						
a=a+5=5+5=10
{Идем по стрелке вверх}
a≤10   10≤10   да, верно
S=a+b=10+7=17
R=a-b=10-7=3
Вывод S, R
S>R   17>3   да, верно
Вывод "Max S"
				
Вывод данных (экран)
S=-3   R=-17   Max S
S=2   R=-12   Max S
S=7   R=-7   Max S
S=12   R=-2   Max S
S=17   R=3   Max S
						
a=a+5=10+5=15
{Идем по стрелке вверх}
a≤10   15≤10   нет, ложно {выходим из цикла}
Конец.
				

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

Краткие итоги

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

Вопросы

  1. Что такое блок-схема?
  2. Какие типы блоков бывают?
  3. Какие блоки используются при реализации линейного, разветвляющегося, циклического алгоритмов?
  4. Можно ли составить разные варианты блок-схем для одной и той же задачи?
  5. Какие виды циклического алгоритма бывают?
  6. Какие пункты должны присутствовать в любом цикле?
  7. Что такое выполнение блок-схемы?
  8. Для чего следует выполнять блок-схему?

Упражнения

  1. Составьте блок-схемы для задачи по походу в магазин за яблоками. Используйте линейный, разветвляющийся и циклический алгоритмы.
  2. Составьте блок-схему для нахождения корней квадратного уравнения через дискриминант. Используйте разветвляющийся алгоритм. Получите ответ, выполнив блок-схему.
  3. Составьте блок-схемы для вывода на экран целых чисел от 1 до 10. Используйте цикл с предусловием, с постусловием. Выполните блок-схемы.
< Лекция 1 || Лекция 2: 12345 || Лекция 3 >
Никита Беллонский
Никита Беллонский

Лекция 4. Упражнение №4.

Составил блок-схему и по ней написал программу. Работает корректно, но если подбираю значения, чтобы выходила сумма меньше -2, на выводе значится: "-na n(i nd)". 

Я так понимаю, это потому что в выражении выполняется извлечение квадратного корня из отрицательного числа. Но что значит "-na n(i nd)"? Почему вывод именно такой? Машина всегда так сообщает о "неудачных" вычислениях? 

Антон Биганов
Антон Биганов

в лекции 2.

"Таблица 2.4. Выполнение блок-схемы с предусловием для примера 9" - в блоке условия стоит а<10, при таком условии последяя строка {S=17, R=3} на экран выведена не будет.