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

Составьте блок-схему алгоритма, записанного на алгоритмическом языке



Рабочая тетрадь по Информатике 8 класс Босова


Задание 148. Составьте блок-схему алгоритма, записанного на алгоритмическом языке.


Задание 147НаверхЗадание 149

Задание 153 Составьте блок-схему алгоритма, записанного на алгоритмическом языке Информатика Босова Рабочая тетрадь 2 часть

Алгоритм:
алг ведро воды 2
нач
взять пустое ведро и кружку
нц
наполнить кружку водой
вылить воду из кружки в ведро
кц при ведро наполнено
кон

Задание 153 Составьте блок-схему алгоритма, записанного на алгоритмическом языке Информатика Босова Рабочая тетрадь 2 часть

На этой странице размещен вариант решения заданий с страницы к рабочей тетради часть 1 по информатике за 8 класс авторов Босова. Здесь вы сможете списать решение домашнего задания или просто посмотреть ответы. ГДЗ, рабочая тетрадь часть 1

Литература:Рабочая тетрадь, часть 1,2. Информатика, 8 класс. Автор: Босова Л.Л., Босова А.Ю. Издательство: Бином

Did you find apk for android? You can find new Free Android Games and apps.

Практическая
раборта № 1

Построение
блок-схем алгоритмов(теория)

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

Таблица 1

Блок

Назначение
блока

1

Начало
или конец

блок-схемы

2

Ввод
или вывод данных

3

Процесс
(в частности вычислительный)

4

условие

6

Цикл
с параметром (
for)

Основные
типы алгоритмов

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

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

Линейный алгоритм является наиболее
простым. В нём предполагается последовательное выполнение операций. В этом
алгоритме не предусмотрены проверки условий или повторений.

Пример: Вычислить функцию z=
(х-у)/x +y2
.

Составить блок-схему вычисления функции по
линейному алгоритму. Значения переменных х, у могут быть
любые, кроме нуля, вводить их с клавиатуры.

Решение: Линейный алгоритм вычисления
функции задан в виде блок-схемы на рис.1. При выполнении линейного алгоритма
значения переменных вводятся с клавиатуры, подставляются в заданную функцию,
вычисляется результат, а затем выводится результат.

Рис.1. Линейный алгоритм

Назначение блоков в схеме на
рис.1:

·       
Блок 1 в схеме служит в качестве
логического начала.

·       
Блок 2 соответствует вводу данных.

·       
Блок 3 представляет арифметическое
действие.

·       
Блок 4 выводит результат.

·       
Блок 5 в схеме служит в качестве
логического завершения схемы.

Алгоритмы ветвлений

Разветвляющийся алгоритм предполагает
проверку условий для выбора решения. Соответственно в алгоритме появятся две
ветви для каждого условия.

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

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

Составить
блок-схему вычисления функции по алгоритму ветвления. Значения переменных х,
у
могут быть любые, вводить их с клавиатуры.

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

Рис.2. Алгоритм ветвления

Пример: Найти максимальное значение
из трёх различных целых чисел, введенных с клавиатуры. Составить блок-схему
решения задачи.

Решение: Данный алгоритм
предполагает проверку условия. Для этого выбирается любая из трёх переменных и
сравнивается с другими двумя. Если она больше, то поиск максимального числа
окончен. Если условие не выполняется, то сравниваются две оставшиеся
переменные. Одна из них будет максимальной. Блок-схема к этой задаче
представлена на рис 3.

Рис. 3. Блок-схема поиска максимума

Циклические алгоритмы

Циклический алгоритм предусматривает
повторение одной операции или нескольких операций в зависимости от условия
задачи.

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

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

2)                
количество циклов неизвестно.

Пример:
В цикле вычислить значение функции z=x*y при условии, что одна из
переменных
x
меняется в каждом цикле на единицу, а другая переменная у не
меняется и может быть любым целым числом. В результате выполнения цикла при
начальном значении переменной х=1 можно получить таблицу умножения.
Количество циклов может быть любым. Составить блок-схему решения задачи.

Решение:
В примере количество циклов задаётся. Соответственно выбирается алгоритм
циклов первого типа. Алгоритм этой задачи приводится на рис. 4.

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

В
блок-схеме появился новый блок 3, в котором переменная i считает
количество циклов, после каждого цикла увеличиваясь на единицу, пока счётчик не
будет равен i=n. При i=n будет выполнен последний
цикл.

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

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

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

Рис.4 . Циклический алгоритм со счётчиком
циклов

Этот
тип циклических алгоритмов предпочтителен, если дано количеством циклов.

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

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

Решение:
В примере количество циклов неизвестно. Соответственно выбирается алгоритм
циклов второго типа. Алгоритм этой задачи приводится на рис. 5.

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

1)
у=у-х;
i=i+1;

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

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

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

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

Во втором блоке вводятся y=30,
x=4.

В
третьем блоке проверяется условие
y>x
на входе в цикл. Если условие выполняется, то переход к блоку 4, иначе на блок
6.

В
четвёртом блоке вычисляется значение переменной у, подсчитывается
количество выполненных циклов
i=i+1.

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

·       
значение переменной у,

·       
количество выполненных циклов i.

Пример:
Составить блок-схему примера (рисунок 5), проверяя условие выхода из цикла.
В этом примере условие задачи не меняется, и результат выведется тот же, но
блок-схема будет другой.

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

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

Во
втором блоке вводятся
y=30,
x=4.

В
третьем блоке вычисляется значение переменной у, подсчитывается
количество выполненных циклов
i=i+1.

В
четвёртом блоке выводится результат:

·       
значение переменной у,

·       
количество выполненных циклов i.

В
пятом блоке проверяется условие
y<=x
на выход из цикла. Если условие выполняется, то переход к блоку 6, иначе на
блок 3 и цикл повторяется.

 

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

Индивидуальные задания к работе:

1.
Найти
результат работы алгоритма:

Входные данные по вариантам

A

B

C

D

1

0

-1

-2

-3

2

1

0

-1

-2

3

2

1

0

-1

4

3

2

1

0

5

4

3

2

1

6

5

4

3

2

7

6

5

4

3

8

7

6

5

4

9

-3

7

6

5

10

-4

-3

7

6

11

-5

-4

-3

7

12

-6

-5

-4

-3

13

-7

-6

-5

-4

14

9

-7

-6

-5

15

8

7

-7

-6

16

5

5

8

-7

17

5

2

4

5

2.     При
заданном Х условие выполнется? Написать результат вычисления и ответ попадаем в
условие или нет.

Входные данные по вариантам

X1

X1

1

55

12

2

85

13

3

24

17

4

65

15

5

17

54

6

15

67

7

26

3

8

27

21

9

92

34

10

12

23

11

45

22

12

66

45

13

71

46

14

13

76

15

45

67

16

53

35

17

52

23

3.     Написать
результат выполнения алгоритма с указанными входными данными

Входные данные по вариантам

S

1

1,5

2

1,8

3

2,4

4

1,6

5

1,7

6

1,3

7

2,6

8

2,37

9

1,92

10

1,12

11

1,45

12

2,66

13

2,71

14

2,13

15

1,45

16

2,53

17

1,52

4.     Написать
результат выполнения алгоритма с указанными входными данными

Входные данные по вариантам

X

1

-1

2

0

3

1

4

2

5

3

6

4

7

5

8

6

9

7

10

-3

11

-4

12

-5

13

-6

14

-7

15

7

16

5

17

2

5.     Построить
блок схему к задаче(по вариантам). Указать тип алгоритма, что дано и что нужно
найти.

Задача

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

6.     Построить
блок схему к задаче(по вариантам). Указать тип алгоритма, что дано и что нужно
найти.

Задача

1

Дано двузначное число.
Найти: число десятков в нем;

2

Дано двузначное число.
Найти: число единиц в нем;

3

Дано двузначное число.
Найти: сумму его цифр;

4

Дано двузначное число.
Найти: произведение его цифр.

5

Дано двузначное число.
Получить число, образованное при перестановке цифр заданного числа.

6

Дано трехзначное число.
Найти: ачисло единиц в нем;

7

Дано трехзначное число.
Найти: число десятков в нем;

8

Дано трехзначное число.
Найти: сумму его цифр;

9

Дано трехзначное число.
Найти: произведение его цифр.

10

Дано трехзначное число.
Найти число, полученное при прочтении его цифр справа налево.

11

Дано трехзначное число.
В нем зачеркнули первую слева цифру и приписали ее в конце. Найти полученное
число.

12

Дано трехзначное число.
В нем зачеркнули последнюю справа цифру и при- писали ее в начале. Найти
полученное число.

13

Дано трехзначное число.
Найти число, полученное при перестановке первой и второй цифр заданного числа

14

Дано трехзначное число.
Найти число, полученное при перестановке второй и третьей цифр заданного числа.

15

Дано трехзначное число,
в котором все цифры различны. Получить шесть чи- сел, образованных при
перестановке цифр заданного числа.

16

Дано натуральное число
n (n > 9). Найти: число единиц в нем;

17

Дано натуральное число
n (n > 9). Найти: число десятков в нем.

7.     Построить
блок схему к задаче(по вариантам). Указать тип алгоритма, что дано и что нужно
найти.

Задача

1

Определить максимальное
и минимальное значения из двух различных веще- ственных чисел.

2

Известны два
расстояния: одно в километрах, другое — в футах ( 1 фут 0,305 м ). Какое из
расстояний меньше?

3

Известны две скорости:
одна в километрах в час, другая — в метрах в секун- ду. Какая из скоростей
больше?

4

Даны радиус круга и
сторона квадрата. У какой фигуры площадь больше?

5

Даны объемы и массы
двух тел из разных материалов. Материал какого из тел имеет большую
плотность?

6

Известны сопротивления
двух несоединенных друг с другом участков элек- трической цепи и напряжение
на каждом из них. По какому участку протекает меньший ток?

7

Даны вещественные числа
a, b, c (a 0). Выяснить, имеет ли квадратное уравнение с данными параметрами
решение

8

Известны площади круга
и квадрата. Определить: уместится ли круг в квадрате?

9

Известны площади круга
и квадрата. Определить:  уместится ли квадрат в круге?

10

Известны площади круга
и равностороннего треугольника. Определить: уместится ли круг в треугольнике?

11

Известны площади круга
и равностороннего треугольника. Определить: уместится ли треугольник в круге?

12

Дано двузначное число.
Определить: какая из его цифр больше: первая или вторая;

13

Дано двузначное число.
Определить: одинаковы ли его цифры

14

Дано двузначное число.
Определить: кратна ли трем сумма его цифр;

15

Дано двузначное число. Определить:
кратна ли сумма его цифр числу а.

16

Дано трехзначное число.
Определить, какая из его цифр больше: первая или последняя;

17

Дано трехзначное число.
Определить, какая из его цифр больше: вторая или последняя.

8.     Построить
блок схему к задаче(по вариантам). Указать тип алгоритма, что дано и что нужно
найти.

Задача

1

Одна штука некоторого
товара стоит 20,4 руб. Напечатать таблицу стоимости 2, 3, …, 20 штук этого
товара.

2

Напечатать таблицу
соответствия между весом в фунтах и весом в килограм- мах для значений 1, 2,
…, 10 фунтов (1 фунт = 453 г).

3

Напечатать таблицу
перевода расстояний в дюймах в сантиметры для значе- ний 10, 11, …, 22
дюйма (1 дюйм = 25,4 мм).

4

Напечатать таблицу
перевода 1, 2, … 20 долларов США в рубли по текущему курсу (значение курса
вводится с клавиатуры).

5

Считая, что Земля —
идеальная сфера с радиусом R 6350 км, определить расстояние до линии
горизонта от точки с высотой над Землей, равной 1, 2, … 10 км.

6

. Напечатать таблицу
умножения на 7:

7

Напечатать таблицу
умножения на 9:

8

Напечатать
“столбиком” значения sin 2 , sin 3 , …, sin 20 .

9

Напечатать таблицу
стоимости 50, 100, 150, …, 1000 г сыра (стоимость 1 кг сыра вводится с
клавиатуры).

10

Вывести
“столбиком” следующие числа: 2,1, 2,2, 2,3, …, 2,8.

11

. Вывести
“столбиком” следующие числа: 3,2, 3,2, 3,3, …, 3,9.

12

Вывести
“столбиком” следующие числа: 2,2, 2,4, 2,6, …, 4,2.

13

Вывести “столбиком”
следующие числа: 4,4, 4,6, 4,8, …, 6,4.

14

Напечатать таблицу
стоимости 100, 200, 300, …, 2000 г конфет (стоимость 1 кг конфет вводится с
клавиатуры).

15

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

16

Напечатать таблицу
умножения на 2:

17

Напечатать таблицу
умножения на 5:

9.     Построить
блок схему к задаче(по вариантам). Указать тип алгоритма, что дано и что нужно
найти.

Задача

1

Даны числа а1, а2,
а3…а10, . Определить их сумму

2

Известна масса каждого
из 12 предметов. Определить общую массу всего на- бора предметов.

3

. Известны оценки
абитуриента на четырех экзаменах. Определить сумму на- бранных им баллов.

4

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

5

Известна масса каждого
предмета, загружаемого в автомобиль. Определить общую массу груза.

6

Известно сопротивление
каждого из элементов электрической цепи. Все эле- менты соединены
последовательно. Определить общее сопротивление цепи.

7

Известно сопротивление
каждого из элементов электрической цепи. Все эле- менты соединены
параллельно. Определить общее сопротивление цепи.

8

Известны оценки по
физике каждого из 20 учеников класса. Определить сред- нюю оценку.

9

Известны оценки ученика
по 10 предметам. Определить среднюю оценку

10

Известны оценки по
алгебре каждого ученика класса. Определить среднюю оценку

11

Известна масса каждого
предмета из некоторого набора предметов. Опреде- лить среднюю массу

12

Известны оценки двух
учеников по четырем предметам. Определить сумму оценок каждого ученика.

13

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

14

Известен возраст (в
годах в виде 14,5 лет и т. п.) каждого ученика двух клас- сов. Определить
средний возраст учеников каждого класса. В каждом классе учатся 20 человек.

15

Известно количество
осадков, выпавших за каждый день января и марта. Оп- ределить среднедневное
количество осадков за каждый месяц

16

Известен рост каждого
ученика двух классов. Определить средний рост уче- ников каждого класса.
Численность обоих классов одинаковая.

17

Известны оценки по
физике каждого ученика двух классов. Определить среднюю оценку в каждом
классе. Количество учащихся в каждом классе одинаковое.

10. Построить
блок схему к задаче(по вариантам). Указать тип алгоритма, что дано и что нужно
найти.

Задача

1

Дано натуральное число.
а) Верно ли, что сумма его цифр больше 10?

2

Дано натуральное число.
б) Верно ли, что произведение его цифр меньше 50?

3

Дано натуральное число.
в) Верно ли, что количество его цифр есть четное число?

4

Дано натуральное число.
г) Верно ли, что это число четырехзначное? Составное условие и вложенный
условный оператор не использовать.

5

Дано натуральное число
д) Верно ли, что его первая цифра не превышает 6?

6

Дано натуральное число.
е) Верно ли, что оно начинается и заканчивается одной и той же цифрой?

7

Дано натуральное число.
ж) Определить, какая из его цифр больше: первая или последняя.

8

Дано натуральное число.
а) Верно ли, что сумма его цифр меньше a?

9

Дано натуральное число.
б) Верно ли, что произведение его цифр больше b?

10

Дано натуральное число.
в) Верно ли, что это число k-значное? Составное условие и вложенный услов-
ный оператор не использовать.

11

Дано натуральное число.
г) Верно ли, что его первая цифра превышает m?

12

Дано натуральное число.
а) Верно ли, что сумма его цифр больше k, а само число четное?

13

Дано натуральное число.
б) Верно ли, что количество его цифр есть четное число, а само число не пре-
вышает b?

14

Дано натуральное число.
в) Верно ли, что оно начинается цифрой x и заканчивается цифрой y?

15

Дано натуральное
число.  г) Верно ли, что произведение его цифр меньше a, а само число делится
на b?

16

Дано натуральное число.
д) Верно ли, что сумма его цифр больше m, а само число делится на n?

17

Дано натуральное число.
Определить: а) есть ли в нем цифра 3;

Алгоритм. Свойства алгоритмов.
Блок-схемы. Алгоритмические языки

Код ОГЭ: 1.3.1. Алгоритм, свойства алгоритмов, способы записи алгоритмов.
Блок-схемы. Представление о программировании



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

■  Алгоритм
строго определенная последовательность действий для некоторого исполнителя, приводящая к поставленной цели или заданному результату за конечное число шагов.

Любой алгоритм составляется в расчете на конкретного исполнителя с учетом его возможностей. Исполнитель — субъект, способный исполнять некоторый набор команд. Совокупность команд, которые исполнитель может понять и выполнить, называется системой команд исполнителя.

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

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

Свойства алгоритмов

Алгоритм должен обладать определенными свойствами. Наиболее важные свойства алгоритмов:

  • Дискретность. Процесс решения задачи должен быть разбит на последовательность отдельных шагов — простых действий, которые выполняются одно за другим в определенном порядке. Каждый шаг называется командой (инструкцией). Только после завершения одной команды можно перейти к выполнению следующей.
  • Конечность. Исполнение алгоритма должно завершиться за конечное число шагов; при этом должен быть получен результат.
  • Понятность. Каждая команда алгоритма должна быть понятна исполнителю. Алгоритм должен содержать только те команды, которые входят в систему команд его исполнителя.
  • Определенность (детерминированность). Каждая команда алгоритма должна быть точно и однозначно определена. Также однозначно должно быть определено, какая команда будет выполняться на следующем шаге. Результат выполнения команды не должен зависеть ни от какой дополнительной информации. У исполнителя не должно быть возможности принять самостоятельное решение (т. е. он исполняет алгоритм формально, не вникая в его смысл). Благодаря этому любой исполнитель, имеющий необходимую систему команд, получит один и тот же результат на основании одних и тех же исходных данных, выполняя одну и ту же цепочку команд.
  • Массовость. Алгоритм предназначен для решения не одной конкретной задачи, а целого класса задач, который определяется диапазоном возможных входных данных.

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

  • словесная запись (на естественном языке). Алгоритм записывается в виде последовательности пронумерованных команд, каждая из которых представляет собой произвольное изложение действия;
  • блок–схема (графическое изображение). Алгоритм представляется с помощью специальных значков (геометрических фигур) — блоков;
  • формальные алгоритмические языки. Для записи алгоритма используется специальная система обозначений (искусственный язык, называемый алгоритмическим);
  • псевдокод. Запись алгоритма на основе синтеза алгоритмического и обычного языков. Базовые структуры алгоритма записываются строго с помощью элементов некоторого базового алгоритмического языка.

Словесная запись алгоритма

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

■  Пример 1. Записать в словесной форме правило деления обыкновенных дробей.

Решение.
Шаг 1. Числитель первой дроби умножить на знаменатель второй дроби.
Шаг 2. Знаменатель первой дроби умножить на числитель второй дроби.
Шаг 3. Записать дробь, числителем которой являет результат выполнения шага 1, знаменателем — результат выполнения шага 2.

Описанный алгоритм применим к любым двум обыкновенным дробям. В результате его выполнения будут получены выходные данные — результат деления двух дробей (исходных данных).

Формальные исполнители алгоритма

Формальный исполнитель — это исполнитель, который выполняет все команды алгоритма строго в предписанной последовательности, не вникая в его смысл, не внося ничего в алгоритм и ничего не отбрасывая. Обычно под формальным исполнителем понимают технические устройства, автоматы, роботов и т. п. Компьютер можно считать формальным исполнителем.

Программы на языке произвольного формального исполнителя могут состоять только из элементарных команд, которые входят в его систему (которые исполнитель «понимает»).

Исполнитель может иметь свою среду (например, систему координат, клеточное поле и др.). Среда исполнителя — это совокупность объектов, над которыми он может выполнять определенные действия (команды), и связей между этими объектами. Алгоритмы в этой среде выполняются исполнителем по шагам.

■ Пример 2. Исполнитель Крот имеет следующую систему команд:

  1. вперед k — продвижение на указанное число шагов вперед;
  2. поворот s — поворот на s градусов по часовой стрелке;
  3. повторить m [команда1 … командаN] — повторить m раз серию указанных команд.

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

Повторить 5 [вперед 10 поворот 72]

Решение. Команда вынуждает исполнителя 5 раз повторить набор действий: пройти 10 шагов вперед и повернуть на 72° по часовой стрелке. Так как поворот происходит на один и тот же угол, то за весь путь исполнитель повернет на 5 х 72° = 360°. Поскольку все отрезки пути одинаковой длины и сумма внешних углов любого многоугольника составляет 360°, то в результате будет оставлен след в форме правильного пятиугольника со стороной в 10 шагов исполнителя.

Заметим, что если увеличить количество повторов серии команд, то исполнитель будет повторно передвигаться по тем же отрезкам (произойдет повторное движение по тому же пятиугольнику).

■ Пример 3.  В системе команд предыдущего исполнителя Крот сформировать алгоритм вычерчивания пятиступенчатой лестницы (длина ступеньки — 10 шагов исполнителя).

Решение. За каждый шаг цикла должно происходить 4 действия: движение вперед на 10 шагов исполнителя, поворот на 90° по часовой стрелке, еще 10 шагов вперед и поворот на 90° против часовой стрелки (= 270° по часовой). В результате за один шаг цикла формируется ломаная из двух отрезков длиной 10 под прямым углом. За пять таких шагов сформируется 5–ступенчатая лестница (ломаная будет содержать 10 звеньев).

Повторить 5 [вперед 10 поворот 90 вперед 10 поворот 270]

Блок–схема

Блок–схема — наглядный способ представления алгоритма. Блок–схема отображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Определенному типу действия соответствует определенная геометрическая фигура блока. Линии, соединяющие блоки, определяют очередность выполнения действий. По умолчанию блоки соединяются сверху вниз и слева направо. Если последовательность выполнения блоков должна быть иной, используются направленные линии (стрелки).

Основные элементы блок–схемы алгоритма:

Основные элементы блок–схемы алгоритма:

Общий вид блок–схемы алгоритма:

Общий вид блок–схемы алгоритма:

■ Пример 4.  Алгоритм целочисленных преобразований представлен в виде фрагмента блок–схемы. Знаком := в нем обозначен оператор присваивания некоторого значения указанной переменной. Запись X := 1 означает, что переменная Х принимает значение 1.

Определить результат работы алгоритма для исходных данных Х = 7, Y = 12.

Решение.

  1. Блок ввода данных определит исходные значения переменных Х и Y (7 и 12 соответственно).
  2. В первом условном блоке осуществляется сравнение значений Х и Y. Поскольку условие, записанное в блоке, неверно (7 < 12), происходит переход по линии «нет».
  3. Во втором условном блоке выполняется второе сравнение, которое для исходных данных оказывается верным. Происходит переход по линии «да».
  4. Вычисляется результат выполнения алгоритма: X := 0, Y := 1.

Ответ: X := 0, Y := 1.

Алгоритмические языки

Алгоритмический язык — это искусственный язык (система обозначений), предназначенный для записи алгоритмов. Он позволяет представить алгоритм в виде текста, составленного по определенным правилам с использованием специальных служебных слов. Количество таких слов ограничено. Каждое служебное слово имеет точно определенный смысл, назначение и способ применения. При записи алгоритма служебные слова выделяют полужирным шрифтом или подчеркиванием.

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

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

Псевдокод

Псевдокод занимает промежуточное положение между естественным языком и языками программирования. Пример псевдокода — учебный алгоритмический язык. Алфавит учебного алгоритмического языка является открытым. Существенным достоинством этого языка является то, что его служебные слова, конструкции и правила записи алгоритма весьма схожи с теми, что применяются в распространенных языках программирования. Благодаря этому учебный алгоритмический язык позволяет легче освоить основы программирования.

Служебные слова учебного алгоритмического языка:

Служебные слова учебного алгоритмического языка:

Стандартная структура алгоритма

Представление алгоритма на алгоритмическом языке (в том числе и языке программирования) состоит из двух частей. Первая часть — заголовок — задает название алгоритма и включает описание переменных, которые используются в нем. Вторая часть — тело алгоритма — содержит последовательность команд алгоритма.

Общий вид записи алгоритма на учебном алгоритмическом языке:

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

В следующих строках конкретизируют, какие именно переменные являются аргументами алгоритма (входными данными), а какие — его результатами (выходными данными). Для этого после служебного слова арг приводится список имен переменных–аргументов; в следующей строке после служебного слова рез приводится список имен переменных–результатов.

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

Примеры заголовков алгоритмов:

В первом примере алгоритм имеет название Объем_шара, один вещественный аргумент Радиус и один вещественный результат Объем. Во втором примере алгоритм под названием Choice имеет три аргумента — целые M и N и логический b, а также два результата — вещественные Var1 и Var2.

Пример алгоритма вычисления гипотенузы прямоугольного треугольника:

На вход алгоритму даются два вещественных аргумента a и b (величины катетов), результатом является вещественная переменная с (гипотенуза). Для ее расчета используется функция вычисления квадратного корня sqrt.

Описание величин и действия над ними

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

При представлении алгоритма решения в виде блок–схемы выбранные обозначения величин приводятся отдельно от блок–схемы (как объяснение к ней). Если алгоритм представлен на языке программирования, то характеристика обрабатываемых величин включается в программу. Учебный алгоритмический язык также предусматривает описание величин, используемых в алгоритме.

Все величины в алгоритме разделяют на постоянные (константы) и переменные. Константа не может изменять свои значения в процессе работы алгоритма. Переменная может приобретать различные значения, которые сохраняются до тех пор, пока она не получит новое значение. Переменным величинам назначают имена. Таким образом, переменная — это именуемая величина, которая в процессе выполнения алгоритма может приобретать и хранить различные значения.

В алгоритмическом языке не существует специальных правил именования переменных. Однако их названия не должны совпадать со служебными словами алгоритмического языка. Во многих языках программирования для имен можно использовать только латинские буквы, цифры, знак подчеркивания. Имена обязательно должны начинаться с буквы, при этом строчные и прописные буквы в именах не различаются. В одном алгоритме не могут существовать разные объекты с одинаковыми именами. Все имена являются уникальными. Имена переменных и констант стараются выбирать так, чтобы они напоминали их смысл. Например, имена переменных и констант: S, p12, result, итог.

При представлении алгоритма на алгоритмическом языке именуются не только величины, но и сам алгоритм, и другие объекты. Имя алгоритма выбирают так же, как и имена переменных.

Величина — переменная, с которой связывается определенное множество значений. Этой величине присваивается имя (в языках программирования его называют идентификатор).

Значение — то, чему равна переменная в конкретный момент. Значение переменной можно задать двумя способами: присваиванием и с помощью процедуры ввода.

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

Числовой тип предназначен для обработки числовых данных. Различают целый и вещественный числовые типы. Целый тип в учебном алгоритмическом языке обозначается служебным словом цел, к нему относятся целые числа некоторого определенного диапазона. Они не могут иметь дробной части, даже нулевой. Число 123,0 является не целым, а вещественным числом. Вещественные величины относятся к вещественному типу данных и обозначаются в учебном алгоритмическом языке служебным словом вещ. Такие величины могут отображаться двумя способами: в форме с фиксированной запятой (например, 0,0511 или –712,3456) и с плавающей запятой (те же примеры: 5,11*10-2 и –7,123456*102).

Над числовыми данными можно выполнять арифметические операции и операции сравнения.

обозначение операций

Над целыми числами можно также выполнять две операции целочисленного деления div и mod. Операция div обозначает деление с точностью до целых чисел (остаток от деления игнорируется). Операция mod позволяет узнать остаток при делении с точностью до целых чисел. Например, результатом операции 100 div 9 будет число 11, а результатом 100 mod 9 — число 1.

Литерный тип представляет собой символы и строки, он дает возможность работать с текстом. Литерные величины — это произвольные последовательности символов. Эти последовательности заключаются в двойные кавычки: «результат», «sum_price». В качестве символов могут быть использованы буквы, цифры, знаки препинания, пробел и некоторые другие специальные знаки (возможными символами могут быть символы таблицы ASCII). В учебном алгоритмическом языке литерные величины обозначаются лит.

Над литерными величинами возможны операции сравнения и слияния. Сравнение литерных величин производится в соответствии с их упорядочением: «a» < «b», «b» < «с» и т. д. Слияние (конкатенация) литерных величин приводит к образованию новой величины: «пол» + «е» образует «поле».

Логический тип определяет логические переменные, которые могут принимать только два значения — истина (True) или ложь (False). Над логическими величинами можно выполнять все стандартные логические операции.

Команды учебного алгоритмического языка

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

ОПЕРАЦИЯ ПРИСВАИВАНИЯ

Ко всем типам величин может быть применена операция присваивания, которая обозначается знаком «:=» и служит для вычисления выражения, стоящего справа, и присваивания его значения переменной, указанной слева. Например, если переменная H имела значение 12, а переменная М — значение 3, то после выполнения оператора присваивания H := М + 10 значение переменной H изменится и станет равным 13.

Вычисления в операторе присваивания выполняются справа налево: сначала необходимо вычислить значение выражения справа от знака присваивания. Поэтому допустимы конструкции вида H := Н + 10. В этом случае сначала будет вычислено выражение в правой части (12 + 10), а его результат будет присвоен в качестве нового значения переменной Н (значение 22).

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

ВВОД И ВЫВОД ДАННЫХ

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

При записи алгоритма с помощью блок–схемы ввод и вывод данных отображаются с помощью блоков ввода/вывода (параллелограммов). При этом только указывается перечень данных для ввода или вывода, а сам процесс не детализируется.

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

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

Список ввода может содержать только имена переменных. После выполнения команды ввод алгоритм получит значения перечисленных в списке переменных.

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

Если при выполнении алгоритма ввести значения 20 и 10, то переменная v примет значение 20, а переменная t — значение 10. По окончании работы алгоритма будет выведен результат:

Путь 200 м

Тот же результат был бы получен, если бы изменить строку вывода на

вывод «Путь «, v * t, » м»


Конспект по информатике «Алгоритм. Свойства алгоритмов. Блок-схемы. Алгоритмические языки».

Вернуться к Списку конспектов по информатике.

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

поделиться знаниями или
запомнить страничку

  • Все категории
  • экономические
    43,658
  • гуманитарные
    33,653
  • юридические
    17,917
  • школьный раздел
    611,962
  • разное
    16,905

Популярное на сайте:

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах. 

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте. 

Как быстро и эффективно исправить почерк?  Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

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

Добавить комментарий