Приведем примеры циклических алгоритмов
Пример 7. Составим блок-схему алгоритма начисления процентов по вкладам.
Рис. 5. Блок-схема алгоритма начисления процентов по вкладам.
Описание постановки задачи:
Имеется n записей z1,z2,…zn, характеризующих вклады. Среди характеристик имеются следующие: si - величина вклада; di - дата последнего начисления процентов. Если по вкладу не было начислений процентов, то эта дата совпадает с датой вложения. Требуется произвести начисление процентов из условия p процентов годовых. Начисление проводится в конце некоторого периода (года, квартала) на дату, которую обозначим D. Кроме начислений по каждому вкладу, требуется определить общую сумму начисленных процентов. Суть алгоритма заключается в следующем: просматриваем записи, поочередно, начиная с первой. Для каждой записи находим количество дней, прошедших после последнего начисления процентов. Пусть это количество равно ki для i-ой записи. Тогда соответствующая сумма процентов будет определяться по формуле:
Эту сумму добавляем к si и в общую сумму начисленных процентов, которую обозначим Sp. Блок-схема алгоритма представлена на рис.3.
Пример 8. Блок-схема алгоритма сортировки. (Метод «Пузырек»).
Пусть а1,а2,…,аn есть массив записей, описывающих некоторое множество объектов. Например, аi - анкета i-го работника учреждения. Требуется упорядочить множество элементов аi по возрастанию признака pi, например, по возрасту или стажу работы.
Для сортировки используем алгоритм «Пузырек». Суть его состоит в том, что вначале просматриваются поочередно все соседние пары элементов (ai-1,ai, i=2,3,…,n) и сравниваются признаки, по которым ведется сортировка. Если pi-1<pi, то пара пропускается, и переходят к просмотру следующей пары (ai,ai+1). Если pi-1>pi, то в такой паре меняются местами элементы ai-1 и ai. После просмотра последней пары, элемент обладающий наибольшим значением признака сортировки, автоматически переместится (всплывет) на последнее место. Затем просматриваются все пары без последней (an-1,an). За каждым таким шагом, количество просматриваемых пар уменьшается на единицу. Просмотр заканчивается, когда остается одна пара.
Введем обозначения:
n - количество элементов в множестве. (входной параметр).
a1,…,an - элементы (записи) множества (входной массив и он же результат).
p1,…,pn - значения признака, по которому производится сортировка.
k - граница просмотра на каждом шаге (k=2,…,n).
i - текущий номер просматриваемой пары (i=2,…,k).
Блок-схема алгоритма представлена на рис.6.
Рис. 6. Блок-схема алгоритма сортировки, метод «Пузырек».
Пример 9. Написать блок-схему алгоритма произведения двух матриц (пример алгоритма с тройным циклом).
Рис. 7. Блок-схема алгоритма перемножения двух матриц
Напомним, что перемножать можно матрицы, у которых количество столбцов первой матрицы равно количеству строк второй матрицы. Пусть имеется матрица А, размера n x m и матрица В, размера m x p. Тогда произведением этих матриц будет матрица С=АВ, элементы которой определяются по формуле:
(3)
Формировать матрицу С будем по строкам. Вначале организуем цикл перебора строк. Внутри этого цикла будем перебирать столбцы. Внутри этих циклов организуем цикл накопления суммы произведений элементов i -й строки матрицы А, на элементы j-го столбца матрицы В.
Контрольные задания
Задание 1
1. Дайте определение понятий «информация» и «экономическая информация».
Перевести два числа в двоичную систему счисления и найти их двоичную сумму:
145,875; 1581,5
Составить алгоритмы решения следующих задач:
1. Напечатать таблицу перевода температуры из градусов по шкале Цельсия (С) в градусы шкалы Фаренгейта (F) для значений от 15°С до 30°С с шагом 1°С. (Перевод осуществляется по формуле F=l,8C+32.)
2. В области 10 районов. Известны площади, засеваемые пшеницей, и средняя урожайность (ц/га) в каждом районе. Определить количество пшеницы, собранное в области, и среднюю урожайность по области.
Задание
Дайте определение информационных единиц: реквизита, документа.
Перевести два числа в шестнадцатеричную систему счисления и найти их шестнадцатеричную сумму:
4096; 1581,5
1. Напечатать таблицу соответствия между весом в фунтах и весом в кг для значений от 1 до 10 фунтов с шагом 1 фунт (1 фунт =400г).
2. Задан алфавитный список участников соревнований по плаванию и их результаты. Напечатать фамилии по убыванию результатов.
Задание 3
Какие основные операции выполняются над признаками и основаниями при обработке экономической информации?
Выполнить операцию умножения над двумя двоичными числами:
100011,1(2); 1101,01(2)
1.Дана ведомость результатов сдачи экзаменов по трем предметам в группе, состоящей из 25 студентов. Напечатать отличников.
2.Составить алгоритм, в котором определяется наименьший элемент матрицы А(n,m), а затем его значение вычитается из всех элементов этой матрицы.
Задание 4
Дайте определение составных единиц информации: показателя, массива.
Перевести числа в десятичную систему:
1000111,01(2); 1675, 4(8)
1. Вычислить приближенно площадь одной арки синусоиды, разделив отрезок от 0 до ? на 10 частей и суммируя площади десяти прямоугольников с основанием ? /10 и высотой, равной значению функции на правой границе каждого интервала.
2. Составить алгоритм определения сумм элементов столбцов матрицы А(n,m).
Задание 5
В чем суть электронной информационной технологии решения задач?
Найти разность двух двоичных чисел:
10000100,1(2); 1011101,01(2).
3. Составить алгоритмы решения следующих задач:
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10 % от нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней?
Пусть имеется ряд наблюдений х1,х2,…,хn. Составить алгоритм для нахождения цепных приростов, цепных темпов роста, среднего прироста, среднего темпа роста.
Задание 6
Что является теоретической основой компьютерной информатики?
Перевести два числа в шестнадцатеричную систему счисления и найти их двоичную сумму:
Информация о количестве осадков выпадавших в течение месяца, и о температуре воздуха задана в виде двух массивов. Определить, какое количество осадков выпало в виде дождя, какое в виде снега. (Считать, что идет дождь, если температура воздуха >0°С).
Составить алгоритм определения наибольшего элемента матрицы А(n,m) с указанием его номера строки и столбца.
Задание 7
Что понимается под информационной моделью задачи?
2096; 681,5
Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить сколько клеток будет через 3, 6, 9, 12, ..., 24 часа.
Рост учеников класса представлен в виде массива. Рост девочек кодируется знаком “+”, рост мальчиков знаком “-”. Определить средний рост мальчиков.
Задание 8
Опишите основные конструкции, применяемые при составлении блок-схем алгоритмов.
1101011,1(2); 101101,101(2)
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14