- •Тема 1. Системы счисления
- •§1. Перевод чисел из системы счисления с основанием p в десятичную систему счисления
- •§2. Перевод десятичных чисел в систему счисления по основанию p
- •2.1. Перевод целых чисел
- •2.1. Перевод дробных чисел
- •§3. Перевод чисел в системах счисления с основаниями кратными двум
- •§4. Перевод чисел с произвольными основаниями
- •Задания для самостоятельного выполнения:
- •Тема 2. Представление чисел в прямом, обратном и дополнительных кодах
- •Рекомендации по выполнению заданий для самостоятельного решения
- •Прямой код
- •Обратный код
- •Дополнительный код
- •Переполнение разрядной сетки
- •Сложение чисел в прямом, обратном и дополнительном кодах с проверкой в десятичной системе счисления
- •Задания для самостоятельного выполнения:
- •Тема 3. Алгоритмизация.
- •§4.1. Линейная структура алгоритма
- •§4.2. Структура алгоритма «цикл с предусловием»
- •§4.3. Структура алгоритма «цикл с постусловием»
- •§4.4. Структура алгоритма ветвление
- •§4.5. Структура алгоритма сокращенное ветвление
- •§4.6. Структура алгоритма множественный выбор
- •Тема 5. Смешанные структуры алгоритмов.
- •Задания для самостоятельного выполнения:
§4.4. Структура алгоритма ветвление
Ветвление используется для выбора одного из двух направлений дальнейшего хода решения задачи (рис.9).
Рис.9
Пример №4.
Вычислить значения функций y = tg (a2 + b), при a > b, y=tg (a – b2), при a < b.
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.10.
Рис.10.
Пояснения к блок-схеме (рис.4):
Проверяется условие исходных аргументов функции а и b (a > b). Если да, то переход на п.2, если нет, то переход на п.3;
Вычисляется значение функции y = tg (a2 + b);
Вычисляется значение функции y=tg (a – b2);
§4.5. Структура алгоритма сокращенное ветвление
Сокращенное ветвление – это частный случай ветвления, когда отсутствует действие, выполняемое при не выполнении «условия» (по ветке « - »). Структура сокращенного ветвления представлена на рисунке 11.
Рис.11
Пример №5.
Для функции y = log2 x + cos2 x при изменении аргументов x от 1 до 4,6 с постоянным шагом hx выдать только те значения y, величина которых больше или равна 0,3.
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.12.
Рис.5.
Пояснения к блок-схеме (рис.12):
Аргументу х функции y присваивается начальное значение диапазона изменения аргумента, а затем вычисляется значение функции у;
Проверяется условие значения функции (у ≥ 0,3);
Вывод на экран аргумента х и функции у;
Аргументу функции х прибавляется его приращение hх;
Проверяется условие конца интервала аргумента (х > 4,6).
§4.6. Структура алгоритма множественный выбор
Множественный выбор - обобщение структур ветвлений. Структура множественного выбора полезна в том случае, когда требуется выбрать одну из нескольких альтернатив. В зависимости от «условия» выполняется одно из действий 1, 2, .. .m. После чего происходит переход к выполнению следующей управляющей структуры (рис.13).
Рис.13
Пример №6.
Составить блок-схему алгоритма, который выводит название дня недели по номеру дня недели.
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.14.
Рис.14
Пояснения к блок-схеме (рис.14):
Пользователем вводится номер дня недели.
Проверяется условие номера дня недели (х ≤ 7).
В зависимости от номера дня недели выводится название дня недели, например, если х=3, то день недели – среда.
Тема 5. Смешанные структуры алгоритмов.
При решении задач определенного круга задач использование только одной стандартной структуры не достаточно, поэтому несколько стандартных структур в совокупности может быть использовано для составления алгоритмов в виде блок-схем. Следовательно, в результате получаются структуры алгоритмов, состоящие из различных стандартных структур алгоритмов.
Рассмотрим примеры, где сочетаются различные структуры алгоритмов.
Пример №1
Составить блок-схему алгоритма вычисления итоговой стоимости покупки с учетом скидки. Скидка в 3% предоставляется, если стоимость приобретенного товара больше 500 рублей, в 5% - если сумма больше 1000 рублей.
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.1.
Рис.1.
Пояснения к блок-схеме (рис.1):
Проверяются условия стоимость приобретенного товара < 500 рублей и > 1000 рублей;
Если условия выполняются, то вычисляются итоговые стоимости покупки с учетом 5% и 3% скидок;
Вывод на экран итоговой стоимость покупки с учетом или без учета скидок.
Пример №2
Составить блок-схему алгоритма сравнения 2-х чисел, с указанием большего или меньшего числа в виде сообщения, например 56 больше 32.
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.2.
Рис.2.
Пояснения к блок-схеме (рис.2):
Ввод пользователем двух чисел а и b;
Проверяются условия а = b и а < b;
В зависимости от того, какое условие выполняется, на экран выводятся сообщения.
Пример №3
Составить блок-схему алгоритма вычисления стоимости разговора по телефону с учетом 20% скидки, предоставляемой по субботам и воскресениям (в данном примере цена минуты разговора фиксированная).
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.3.
Пояснения к блок-схеме (рис.3):
Проверяется условие, является ли день недели субботой или воскресеньем (dn =7 OR dn =6).
В зависимости от выполнения или не выполнения условия вывод на экран стоимости разговора по телефону с учетом и без учета скидки.
Рис.3.
Пример №4
Имеется 8 шариков одинаковой формы и размеров. Один из них легче, чем остальные, другие 7 одинаковые. Составить блок-схему алгоритма определения легкого шарика, используя чашечные весы, если разрешено сделать только 2 измерения.
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.4.
Рис.4.
Пояснения к блок-схеме (рис.4):
Разбиваем 8 шариков на две группы, каждая из которых состоит из 3 шаров;
Взвешиваем на чашечных весах данные группы;
Если группы равны между собой, то взвешиваем оставшиеся шары на чашечных весах;
Если группы не равны между собой, то сравнивается какая из групп легче;
Из любой группы выбираются два шара и взвешиваются;
Если шары равны между собой, то оставшийся в группе шар – ложный;
Если шары не равны между собой, то сравнивается какой шар легче и выявляется ложный шар.
Пример №5
Дана последовательность целых чисел, отличных от нуля. Признак конца последовательности «0». Вычислить сумму тех членов последовательности, которые удовлетворяют условию Аj < j5.
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.5.
Рис.5.
Пояснения к блок-схеме (рис.5):
Вводится вспомогательная переменная S, которая будет подсчитывать сумму членов последовательности;
Проверяется выполнение главного условия Аj < j5;
Если главное условие выполняется, то переменной S присваивается значение: текущее значение S + значение текущего члена последовательности Aj;
Переход к следующему члену исходной последовательности;
Вывод на экран значения переменной S;
Пример №6
Дана последовательность целых чисел А1, А2, …, Аn. Определить является ли данная последовательность возрастающей.
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.6.
Рис.6.
Пояснения к блок-схеме (рис.6):
Сравниваем текущий член последовательности с предыдущим.
Как только найдется член последовательности не удовлетворяющий главному условию a[i] >a[i-1], выводится на экран сообщения о том, что либо последовательность не возрастающая, либо возрастающая.
Пример №7
Даны натуральное число n и действительные числа А1, А2, …, Аn. Вычислить
S = min (А1, А2, …, Аn) + max (А1, А2, …, Аn).
Последовательность действий при решении данной задачи описана блок-схемой алгоритма, представленной на рис.7.
Рис.7.
Пояснения к блок-схеме (рис.7):
Вводится вспомогательная переменная S, которая будет суммировать значения max и min членов последовательности;
Находится минимальное значение, путем перебора всех членов последовательности;
Находится максимальное значение, путем перебора всех членов последовательности;
При нахождении минимального и максимального значений, они складываются;
Выводится на экран значение переменной S.
