Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Тема 5. Смешанные структуры алгоритмов.⇐ ПредыдущаяСтр 11 из 11
При решении задач определенного круга задач использование только одной стандартной структуры не достаточно, поэтому несколько стандартных структур в совокупности может быть использовано для составления алгоритмов в виде блок-схем. Следовательно, в результате получаются структуры алгоритмов, состоящие из различных стандартных структур алгоритмов. Рассмотрим примеры, где сочетаются различные структуры алгоритмов. Пример №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 Составить блок-схему алгоритма подсчета точек в тексте. Признак конца текста «?». Задача №6 Составить блок-схему алгоритма угадывающая «задуманное» число. Диапазон чисел от 1 до 10. Ограничение: 5 попыток. Задача №7 Даны натуральные числа А1А2…Аn. Признак конца последовательности «0». получить количество и сумму тех членов последовательности, которые делятся на 5 и не делятся на 7. Задача №8 Дана последовательность целых чисел А1, А2, …, Аn. Признак конца последовательности «0». Определить является ли данная последовательность убывающей. Задача №9 Найти минимальное значение элементов последовательности (все элементы разные). Задача №10 Найти номер минимального элемента последовательности (все элементы разные). Задача №11 Найти максимальный элемент и его номер в последовательности с совпадающими элементами. Задача №12 Найти номер элемента с заданным значением (все элементы разные). Задача №13 Даны натуральное число n и действительные числа А1, А2, …, Аn. Вычислить S = (А1+ А2+ …, + Аn) + max (А1, А2, …, Аn). Задача №14 Составить блок-схему алгоритма вычисления суммы первых N целых отрицательных целых чисел. Задача №15 Дана последовательность чисел. Известно, что последовательность начинается с положительного элемента, а среди остальных элементов есть хотя бы одно положительное число. Найти сумму предшествующих первому положительному элементу последовательности. Признак конца последовательности N. Задача №16 Составить блок-схему алгоритма определения суммы чисел имеющих четный порядковый номер в последовательности и одновременно являющихся четными. Признак конца последовательности N. Задача №17 Составить блок-схему алгоритма подсчета запятых в тексте. Признак конца текста «.». Задача №18 Составить блок-схему алгоритма подсчета букв «н» в тексте. Признак конца текста «,». Задача №19 Составить блок-схему алгоритма подсчета букв «и» в тексте. Признак конца текста «=». Задача №20 Составить блок-схему алгоритма подсчета символов «!» в тексте. Признак конца текста «:».
|