Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

681

.pdf
Скачиваний:
32
Добавлен:
07.01.2021
Размер:
635.8 Кб
Скачать

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

Алгоритм, в котором команды выполняются последовательно одна за другой, называется линейным алгоритмом. Его структура представлена в табл. 7.

 

Таблица 7. Линейный алгоритм

Школьный АЯ

Язык блок-схем

 

 

 

 

 

 

 

Действие 1

 

 

 

 

 

 

 

 

 

 

 

Действие 1

 

Действие 2

 

Действие 2

 

 

 

 

 

 

 

 

.

 

Действие n

 

 

..

 

 

 

Действие n

 

 

 

 

 

 

 

 

 

 

 

Алгоритмическая структура «Ветвление»

В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в алгоритмической структуре «Ветвление» та или иная серия команд выполняется в зависимости от истинности условия.

Условные выражения могут быть простыми и сложными. Простое условие включает в себя два числа, две переменных или два арифметических выражения, которые сравниваются между собой с использованием операций сравнения. Например: a>b; a·c=b; 2·8=4·4 и т.д. Сложное условие – это последовательность простых условий, объединенных между собой знаками логических операций. Например: a>b И a>c.

Структура «Ветвление» существует в двух основных вариантах (табл.

8):

если – то;

если – то – иначе.

108

 

 

Таблица 8. Структура «Ветвление»

Школьный АЯ

 

Язык блок-схем

 

если – то

если условие

 

 

 

да

 

 

нет

 

то действия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

все

 

 

 

 

 

 

 

 

 

 

действия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если – то – иначе

если условие то действия 1

иначе действия 2 да

нет

все

 

 

действия 2

действия 1

 

 

 

 

 

 

 

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

Алг Площадь треугольника (арг цел a, b, c, рез лит S)

Дано a>0, b>0, c>0

Надо S=”Треугольник можно построить ” или S=“Треугольник построить нельзя”

Нач

Ввод a, b, c

Если a+b>c И a+c>b И b+c>a

то S:=”Треугольник построить можно” иначе S:=”Треугольник построить нельзя”

все вывод S

кон

109

Начало

Ввод a,b,c

 

да

(b+c>a) И

нет

 

(a+c>b)

 

 

 

 

 

 

И (a+b>c)

 

 

 

 

 

 

 

S:=”Треугольник по-

 

S:=”Треугольник по-

строить можно”

 

строить нельзя”

 

 

 

 

 

 

 

 

 

 

Вывод S

Конец

Алгоритмическая структура «Выбор»

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

Структура «Выбор» существует в двух основных вариантах (табл. 9):

110

-выбор

-выбор – иначе.

Таблица 9. Структура «Выбор»

 

Школьный АЯ

 

 

 

Язык блок-схем

 

 

 

выбор

 

 

 

 

 

 

 

 

Выбор

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

условие 1

 

 

действия 1

 

 

 

 

при условие 1: действия 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при условие 2: действия 2

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

при условие N: действия N

 

 

условие 2

 

 

действия 2

 

 

 

 

все

 

 

 

нет.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

условие N

да

 

 

 

 

 

 

 

 

 

 

 

 

 

действия N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выбор - иначе

 

 

 

 

 

 

 

 

Выбор

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

условие 1

 

 

действия 1

 

 

 

 

 

 

 

 

 

 

 

 

при условие 1: действия 1

 

 

 

 

 

 

 

 

 

 

 

 

при условие 2: действия 2

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при условие N: действия N

 

 

условие 2

да

 

 

 

 

 

 

 

 

 

 

 

действия 2

 

 

 

 

иначе

действия N+1

 

 

 

 

 

 

 

все

 

 

 

нет.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

условие N

 

 

 

 

 

 

 

 

 

 

 

 

 

действия N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

действия N+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

111

Примеры команд если и выбор приведены в табл. 10.

Таблица 10.

Структуры «Если» и «Выбор»

Школьный АЯ

Язык блок - схем

1

2

если x>0

то y:=sin(x) да x>0 нет

все

y:=sin(x)

если a>c

 

да

 

 

нет

то a:=a**2; c:=c/2

 

a>c

 

 

 

 

 

иначе a:=a/2; c:=c**2

 

 

 

 

 

 

 

 

 

 

 

 

все

 

 

 

 

 

 

 

a:=a**2; c:=c/2

 

a:=a/2; c:=c**2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выбор

x=0

да

 

y:=cos(

 

 

 

 

 

 

 

при x=0: y:=cos(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при x=1: y:=sin(x)

нет

 

 

 

 

 

 

при x=-1: y:=0

 

да

 

 

 

 

 

все

x=1

 

y:=sin(x

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x=-1

да

 

 

 

 

 

y:=0

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

112

Выбор

a>4

да

a:=sqrt(

 

при a>4: a:=sqrt(a)

нет

 

 

 

 

 

 

при a<4: a:=a**2

 

 

 

иначе a:=a-2

a<4

да

 

 

a:=a**2

 

все

 

 

нет

a:=a-2

Алгоритмическая структура «Цикл»

В алгоритмическую структуру «Цикл» входит серия команд, выполняемых многократно. Такая последовательность команд называется телом цикла.

Циклические алгоритмические структуры бывают двух типов:

-циклы со счетчиком, в которых тело цикла выполняется определенное количество раз (циклы типа для);

-циклы с условием, в которых тело цикла выполняется, пока условие истинно (циклы типа пока).

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

(табл. 11).

 

Таблица 11. Структура «Цикл со счетчиком»

Школьный АЯ

 

 

 

Язык блок - схем

нц для i от i1 до i2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=i1, i2

 

 

 

 

 

 

тело цикла (последовательность дейст-

 

 

 

 

 

 

 

вий)

 

 

 

 

 

 

 

 

кц

 

 

 

тело цикла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Часто бывает так, что необходимо повторить тело цикла, но заранее неизвестно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия, которое необходимо записать после слова пока (табл. 12 ).

Таблица 12. Структура «Цикл пока»

113

Школьный АЯ

 

Язык блок - схем

нц пока условие

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

тело цикла (последовательность дейст-

 

 

условие

 

 

 

 

вий)

 

 

 

да

 

кц

 

 

 

 

 

 

 

тело цикла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Примеры команд для и пока приведены в табл. 13.

 

Таблица 13. Примеры структур циклов

Школьный АЯ

Язык блок - схем

s:=0

i=1, 30

нц для i от 1 до 30 s:=s+i

кц

s:=s+i

 

 

 

 

 

 

 

 

i:=1;p:=1

i<=30

нет

 

нц пока i<=30

 

 

 

 

p:=p*i

 

да

 

i:=i+1

 

 

p:=p*i

 

 

кц

 

 

i:=i+1

 

 

 

 

 

 

 

 

 

 

Пример записи алгоритма на школьном алгоритмическом языке и в виде блок-схемы. Дан массив А(N). Вычислить сумму четных элементов массива.

Алг Сумма (арг цел n, i, арг цел таб А[1:N], рез цел S) Дано N>0

Надо S – сумма четных элементов

нач

Ввод N; S:=0

Нц для I от 1 до N

Ввод A[I]

114

Если mod(A[I],2)=0 то S:=S+A[I]

все

кц

вывод “S = “ , S

кон

Начало

Ввод N

S:=0

i=1, N

Ввод A[I]

да

Mod

нет

 

(A[I],2)

 

S:=S+A[I]

 

 

Вывод S

Конец

115

Практические задания

1. Опишите следующие схемы условных операторов на школьном АЯ:

а)

 

 

b)

нет

 

 

x>0

нет

 

Y=0

z=x/y

 

y=x2+z2

 

 

 

 

 

 

 

 

да

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y=x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c)

да

 

d)

да

 

a>b

b=a2+b

 

a>0,

b=a2+b

 

 

 

 

 

 

 

b>0

 

 

 

 

 

 

 

 

нет

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a=a+b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a=a+b

z=a+b

2.Составьте блок-схему вычисления функции у по формуле y=24x– 1,5x2+1,5x3 при значениях х от 1 до 9,9 включительно с шагом 0,1.

3.Присвойте переменной max наибольшее из значений a, b, c.

4.Составьте на школьном АЯ и в виде блок-схемы фрагмент программы, выполняющей следующие вычисления:

если x<–3, то у 6x csin x

если –3x<=x<0, то y 5ax3 b ccos x

если x=0, то y 10

если x>1, то y x2 ccos x

2

5.Вычислите значение y для переменных а=3; b=4; c=5:

a)Если a-b/c**2>=b-c/a**c

то y=a-b/c*6*(b-c)**2*a/b иначе y=b/c/b*a**3*c**a/b

Все

б) Если a>b

116

то y=c

иначе Если b>c

то y=a

иначе Если c>a

то y=b

иначе y=c

все

6. Вычислите значение к после выполнения алгоритма.

Начало

k=0

x=1

x<=10

да

Mod (x,2)=0

нет

k:=k+1

x=x+1

к

Конец

7.Напишите программу на школьном АЯ, которая по введенному времени года (1 – зима, 2 – весна, 3 – лето, 4 – осень) выдавала соответствующие этому времени года месяцы (например: 1 – декабрь, январь, февраль).

8.Вычислите и выведите на экран значения функции

117

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]