ТОП 10:

Блок-схемы линейных алгоритмов



В примере 1 алгоритм задаётся словесно, графически он даётся в виде схемы на рис.1.1 в примере 6, где не требуется описания алгоритма, так как он представляется наглядно.

Пример 6.

Рис. 1.1. Блок-схема линейного алгоритма примера 6

Блок 2 соответствует вводу данных. Блок 3 представляет арифметическое действие z=x+y2.

Блок 4 выводит результат. Блок 1 в схеме служит в качестве логического начала, а блок 5 –для завершения схемы.

Блок-схемы разветвляющихся алгоритмов

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

Пример 7.

При выполнении условия x>0 вычисляется функция: z=ln x+y, иначе, а именно, когда х=0 или x<0, вычисляется функция: z=x+y2. На рис.1.2 представлен разветвляющийся алгоритм, где в зависимости от условия выполнится одна из веток.

 

 

Рис. 1.2. Блок-схема разветвляющегося алгоритма примера 7

3. Примеры выполнения задания к практическому занятию № 1

Линейный алгоритм

Пример 8.

Вычислить и вывести на экран значение функции: Y = sin (x+30°)/(a + x)+b×a.

Рис. 1.3. Блок-схема линейного алгоритма примера 8

Разветвляющийся алгоритм

Пример 9.

Если х>0, тогда вычислить:

y = lg(x) + (a-d)/(d+b);

иначе вычислить:

y=sin (x)/(a + b)-b/d

Рис. 1.4. Блок-схема разветвляющегося алгоритма примера 9

В блок-схеме видно, что в зависимости от условия x>0 выполняется одна из ветвей алгоритма. После вычисления выводится результат .

Задания к практическому занятию № 1

1) По примеру 8 построить блок-схему для линейного алгоритма. Функцию каждому придумать свою. Образец для выполнения блок-схемы представлен на рис. 1.3.

2) По примеру 9 построить блок-схему для разветвляющегося алгоритма. Задачу каждому придумать свою. Образец для выполнения блок-схемы представлен на рис. 1.4.

Задание ИДЗ №3 по теме «Алгоритмы. Блок-схемы. Ветвления» в Приложении №1.

Вопросы для самоконтроля к практическому занятию № 1. Тема «Алгоритмы. Ветвления»

1. Универсальность (массовость) – это

1) алгоритм достигает результата за конечное число шагов.

2) каждое из действий и весь алгоритм в целом обязательно завершаются.

3) по завершении выполнения алгоритма обязательно получается конечный результат.

4) применимость алгоритма к различным наборам исходных данных.

2. Дискретность – это

1) применимость алгоритма к различным наборам исходных данных.

2) каждое из действий и весь алгоритм в целом обязательно завершаются.

3) процесс решения задачи по алгоритму разбит на отдельные действия.

4) алгоритм достигает результата за конечное число шагов.

3. Однозначность (детерминированность) – это

1) применимость алгоритма к различным наборам исходных данных.

2) правила и порядок выполнения действий алгоритма имеют единственное толкование.

3) каждое из действий и весь алгоритм в целом обязательно завершаются.

4) по завершении выполнения алгоритма обязательно получается конечный результат.

4. В результате работы линейного алгоритма:

y:=x+3;

x:=2*y;

y:=x+y;

вывод y.

Переменная У приняла значение 18. Указать значение Х до начала работы алгоритма.

1) 7;

2) 3;

3) 5;

4) 10.

5. В результате работы алгоритма:

a:= 5; b:= 7;

если b < a , то a:= b-4 , иначе b:=a+3;

на экран будет выведено:

1) a= 5; b=7; 2) a= 3 ; b=7; 3) a= 5; b= 8; 4) a= 3; b= 8.

6. В результате работы алгоритма:

x:= 10; y:= 7;

если x > y , то x:= x-3 , иначе y:= y+3;

на экран будет выведено:

1) x = 10; y = 7; 2) x = 7; y = 7; 3) x = 10; y = 10; 4) x = 7; y = 10.

Практическое занятие №2. Алгоритмы. Блок-схемы. Циклы

Цель занятия

Цель занятия – знать отличительные особенности представления циклических алгоритмов. Уметь записать алгоритм цикла графически, в виде блок-схемы.

Теоретический материал для практического занятия №2

Словесные алгоритмы. Циклы

Циклический алгоритм может быть задан в виде словесного описания.

Пример 1.

Найти сумму значений переменной Р, полагая, что начальное значение этой переменной равно нулю , т.е. Р=0. В каждом цикле переменная изменяется на 2, т.е. Р=Р+2. Количество циклов равно 5. В результате данного алгоритма значение переменной будет равна Р=10.

В следующем примере алгоритм задачи приближен к блок-схеме. Вместо графических блоков даётся словесное описание каждого действия.

Пример 2.

Пусть заданы начальные значения переменных:

x:=1; y:=5.

Начало цикла;

пока y>x

y: = y – x;

конец цикла.

Определить количество циклов и значения переменных x, y после выхода из цикла.

Решение.

Цикл выполняется до тех пор, пока выполняется условие y>x. Так как y:=5, x:=1, то условие выполняется, и значение y вычисляется по формуле y: = y – x.

В результате выполнения первого цикла получим y:=4.

Во втором цикле условие y>x выполняется, и после выполнения второго цикла получим значение y=3.

В третьем цикле условие y>x выполняется, и после выполнения цикла получим значение y=2.

В четвёртом цикле условие y>x выполняется, и после выполнения цикла получим значение y=1.

При значениях y:=1, x:=1 условие y>x не выполняется, цикл не будет выполняться.

Следовательно, в примере 2 цикл закончится, выполнится четыре цикла.

На выходе из цикла значения переменных будут равны y:=1, x:=1.

Блок-схемы. Циклы

Пример 3.

Составить в виде блок-схемы циклический алгоритм примера 2.

Решение.

Условие проверяется на входе в цикл. В теле цикла выполняется два блока:

1) у=у-х;

2) вывод значений переменных x, y.

Рис. 2.1. Блок-схема циклического алгоритма с предусловием (пример 2)

Цикл выполняется до тех пор, пока выполняется условие y>x. При условии равенства этих переменных у=х или y<x цикл заканчивается.

3. Примеры выполнения задания к практическому занятию №2

 

Пример 4.

В цикле вычислить значение функции z=x*y при условии, что одна из переменных «x» меняется в каждом цикле на единицу, а другая переменная «у» не меняется и может быть любым целым числом. В результате выполнения цикла при начальном значении переменной х=1 можно получить таблицу умножения. Алгоритм этой задачи приводится на рис. 2.2.

Во втором блоке вводятся количество циклов n и любые целые числа х, y.

В третьем блоке указывается диапазон изменения счётчика цикла (от i =1 до i=n).

В четвёртом блоке изменяются значения переменных: z, x.

В пятом блоке выводится результат. Четвёртый и пятый блоки повторяются в каждом цикле.

Циклические алгоритмы примеров 2 и 4 отличаются тем, что в блок-схеме примера 2 количество циклов не задано и определяется условием. Пока условие выполняется, цикл выполняется.

В примере 4 дано количество циклов. Пока не выполнится заданное количество циклов, повторение тела цикла продолжается.

Соответственно, из циклических алгоритмов выделяют два типа:

  • с заданным количеством циклов или со счётчиком циклов;
  • количество циклов неизвестно.

Алгоритм задачи в примере 4, представленный на рис. 2.2, относится к первому типу циклических алгоритмов, так как задано количество циклов переменной «n». Число циклов вводится с клавиатуры, что отображается во втором блоке на рис. 2.2. В третьем блоке переменная «i» считает количество циклов, после каждого цикла увеличиваясь на единицу, пока счётчик не будет равен i=n. При i=n будет выполнен последний цикл. Этот тип циклических алгоритмов предпочтителен, если дано количеством циклов.

Если количество циклов неизвестно, то блок-схемы циклических алгоритмов может быть представленаы в виде рисунков 2.1 и 2.3.

 

 

Рис. 2.2. Блок-схема циклического алгоритма со счётчиком циклов (пример 4)

Алгоритм, представленный на рис. 2.1, называется циклический алгоритм с предусловием, так как условие проверяется в начале цикла или на входе в цикл. При этом условии цикл выполняется.

Если условие в этой блок-схеме перенести в конец цикла, после вывода на печать, то условие изменится. В этом случае проверяется условие на выход из цикла: y<=x. При этом условии цикл не выполняется.

Алгоритм примера 3, если условие перенести в конец цикла, называется алгоритмом цикла с постусловием, изображен на рис. 2.3.

 

Рис. 2.3. Алгоритм цикла с постусловием

Задания к практическому занятию № 2

  1. Линейный алгоритм, выполненный в практической работе №1, переделать на циклический с заданным количеством циклов по примеру 4.
  2. Построить блок-схему, полагая одну из переменных изменяющейся с указанным шагом. Блок-схема строится аналогично рис. 2.2.
  3. Оформить работу.

Задание ИДЗ №3 по теме «Алгоритмы. Блок-схемы. Циклы» в Приложении №1 (Задание 2).

Вопросы для самоконтроля к практическому занятию № 2. Тема «Алгоритмы. Блок-схемы. Циклы»

1. Задан фрагмент алгоритма.

x:=1; y:=5;

Начало цикла

пока y>x

y: = y – x;

конец цикла.

Тело цикла выполнится:

1) 1 раз; 2) 4 раза; 3) 2 раза; 4) 3 раза.

2. Фрагмент блок-схемы цикла выполнит тело цикла:

1) 3 раза; 2) 2 раза; 3) 4 раза; 4) бесконечное число.

3. Значения целочисленных переменных x>0, y>0 после выполнения следующего фрагмента блок-схемы равны:

1) x=30; y=30;

2) x=30; y=5;

3) x=30; y=35;

4) x=5; y=5.

4. После выполнения фрагмента алгоритма:

k:=0;

Начало цикла для i от 1 до3

k:=k+2

конец цикла;

Вывод k.

Значение переменной k будет равно:

1) 0; 2) 2; 3) 4; 4) 6.







Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.29.190 (0.007 с.)