Здавалка
Главная | Обратная связь

Тема 5. Смешанные структуры алгоритмов.



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

Рассмотрим примеры, где сочетаются различные структуры алгоритмов.

Пример №1

Составить блок-схему алгоритма вычисления итоговой стоимости покупки с учетом скидки. Скидка в 3% предоставляется, если стоимость приобретенного товара больше 500 рублей, в 5% - если сумма больше 1000 рублей.

Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.1.

Рис.1.

Пояснения к блок-схеме (рис.1):

1. Проверяются условия стоимость приобретенного товара < 500 рублей и > 1000 рублей;

2. Если условия выполняются, то вычисляются итоговые стоимости покупки с учетом 5% и 3% скидок;

3. Вывод на экран итоговой стоимость покупки с учетом или без учета скидок.

 

Пример №2

Составить блок-схему алгоритма сравнения 2-х чисел, с указанием большего или меньшего числа в виде сообщения, например 56 больше 32.

Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.2.

 

Рис.2.

Пояснения к блок-схеме (рис.2):

1. Ввод пользователем двух чисел а и b;

2. Проверяются условия а = b и а < b;

3. В зависимости от того, какое условие выполняется, на экран выводятся сообщения.

Пример №3

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

Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.3.

Пояснения к блок-схеме (рис.3):

1. Проверяется условие, является ли день недели субботой или воскресеньем (dn =7 ‌‌OR dn =6).

2. В зависимости от выполнения или не выполнения условия вывод на экран стоимости разговора по телефону с учетом и без учета скидки.

 

Рис.3.

Пример №4

Имеется 8 шариков одинаковой формы и размеров. Один из них легче, чем остальные, другие 7 одинаковые. Составить блок-схему алгоритма определения легкого шарика, используя чашечные весы, если разрешено сделать только 2 измерения.

Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.4.

Рис.4.

Пояснения к блок-схеме (рис.4):

1. Разбиваем 8 шариков на две группы, каждая из которых состоит из 3 шаров;

2. Взвешиваем на чашечных весах данные группы;

3. Если группы равны между собой, то взвешиваем оставшиеся шары на чашечных весах;

4. Если группы не равны между собой, то сравнивается какая из групп легче;

5. Из любой группы выбираются два шара и взвешиваются;

6. Если шары равны между собой, то оставшийся в группе шар – ложный;

7. Если шары не равны между собой, то сравнивается какой шар легче и выявляется ложный шар.

Пример №5

Дана последовательность целых чисел, отличных от нуля. Признак конца последовательности «0». Вычислить сумму тех членов последовательности, которые удовлетворяют условию Аj < j5.

Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.5.

Рис.5.

Пояснения к блок-схеме (рис.5):

1. Вводится вспомогательная переменная S, которая будет подсчитывать сумму членов последовательности;

2. Проверяется выполнение главного условия Аj < j5;

3. Если главное условие выполняется, то переменной S присваивается значение: текущее значение S + значение текущего члена последовательности Aj;

4. Переход к следующему члену исходной последовательности;

5. Вывод на экран значения переменной S;

Пример №6

Дана последовательность целых чисел А1, А2, …, Аn. Определить является ли данная последовательность возрастающей.

Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.6.

Рис.6.

Пояснения к блок-схеме (рис.6):

1. Сравниваем текущий член последовательности с предыдущим.

2. Как только найдется член последовательности не удовлетворяющий главному условию a[i] >a[i-1], выводится на экран сообщения о том, что либо последовательность не возрастающая, либо возрастающая.

Пример №7

Даны натуральное число n и действительные числа А1, А2, …, Аn. Вычислить

S = min (А1, А2, …, Аn) + max (А1, А2, …, Аn).

Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.7.

Рис.7.

Пояснения к блок-схеме (рис.7):

1. Вводится вспомогательная переменная S, которая будет суммировать значения max и min членов последовательности;

2. Находится минимальное значение, путем перебора всех членов последовательности;

3. Находится максимальное значение, путем перебора всех членов последовательности;

4. При нахождении минимального и максимального значений, они складываются;

5. Выводится на экран значение переменной S.

 

Задания для самостоятельного выполнения:

Вариант №1

Составить блок-схему алгоритма вычисления суммы первых N целых положительных целых чисел.

Вариант №2

Дана последовательность чисел. Известно, что последовательность начинается с положительного элемента, а среди остальных элементов есть хотя бы одно отрицательное число. Найти сумму предшествующих первому отрицательному элементу последовательности. Признак конца последовательности N.

Вариант №3

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

Вариант а №4

Составить блок-схему алгоритма подсчета точек в тексте. Признак конца текста «?».

Вариант №5

Составить блок-схему алгоритма угадывающая «задуманное» число. Диапазон чисел от 1 до 10. Ограничение: 5 попыток.

Вариант №6

Даны натуральные числа А1А2…Аn. Признак конца последовательности «0». получить количество и сумму тех членов последовательности, которые делятся на 5 и не делятся на 7.

Вариант №7

Дана последовательность целых чисел А1, А2, …, Аn. Признак конца последовательности «0». Определить является ли данная последовательность убывающей.

Вариант №8

Найти минимальное значение элементов последовательности (все элементы разные).

Вариант №9

Найти номер минимального элемента последовательности (все элементы разные).

Вариант №10

Найти максимальный элемент и его номер в последовательности.

Вариант №11

Найти номер элемента с заданным значением (все элементы разные).

Вариант №12

Даны натуральное число n и действительные числа А1, А2, …, Аn. Вычислить

S = (А1+ А2+ …,+ Аn) + max (А1, А2, …, Аn).

Вариант №13

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

Вариант №14

Дана последовательность чисел. Известно, что последовательность начинается с положительного элемента, а среди остальных элементов есть хотя бы одно отрицательное число. Найти сумму предшествующих первому отрицательному элементу последовательности. Признак конца последовательности N.

Вариант №15

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

Вариант №16

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

Вариант №17

Составить блок-схему алгоритма подсчета букв «Н» в тексте. Признак конца текста «,».

Вариант №18

Составить блок-схему алгоритма подсчета букв «И» в тексте. Признак конца текста «=».

Вариант №19

Составить блок-схему алгоритма подсчета символов «!» в тексте. Признак конца текста «:».

Вариант №20

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

 

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.