Главная страница

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


Скачать 0.67 Mb.
НазваниеПрактическая раборта 1 Построение блоксхем алгоритмов(теория)
Дата16.09.2022
Размер0.67 Mb.
Формат файлаdocx
Имя файлаЛ1 Построение блок-схем алгоритмов.docx
ТипДокументы
#680816

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

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

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

Таблица 1



Блок

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

1



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

блок-схемы

2




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

3




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

4




условие

6




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


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


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

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

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

Пример: Вычислить функцию 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.

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


1

2

3

4

5

6


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

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

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

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

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

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

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

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

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

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


1

2

3

4



5

6


Рис.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 и цикл повторяется.


1

2

3

4

5

6


Рис.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



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



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



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



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



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



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



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



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



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



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



    Задача

    1



    2



    3



    4



    5



    6



    7



    8



    9



    10



    11



    12



    13



    14



    15



    16



    17



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



Задача

1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

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

10

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

11

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

12

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

13

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

14

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

15

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

16

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

17

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



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



Задача

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

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



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



Задача

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:



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



    Задача

    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

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

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



Задача

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;





написать администратору сайта