Рефераты. Информатика и компьютерная техника

Приведем примеры циклических алгоритмов

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

Рис. 5. Блок-схема алгоритма начисления процентов по вкладам.

Описание постановки задачи:

Имеется n записей z1,z2,…zn, характеризующих вклады. Среди характеристик имеются следующие: si - величина вклада; di - дата последнего начисления процентов. Если по вкладу не было начислений процентов, то эта дата совпадает с датой вложения. Требуется произвести начисление процентов из условия p процентов годовых. Начисление проводится в конце некоторого периода (года, квартала) на дату, которую обозначим D. Кроме начислений по каждому вкладу, требуется определить общую сумму начисленных процентов. Суть алгоритма заключается в следующем: просматриваем записи, поочередно, начиная с первой. Для каждой записи находим количество дней, прошедших после последнего начисления процентов. Пусть это количество равно ki для i-ой записи. Тогда соответствующая сумма процентов будет определяться по формуле:

Эту сумму добавляем к si и в общую сумму начисленных процентов, которую обозначим Sp. Блок-схема алгоритма представлена на рис.3.

Пример 8. Блок-схема алгоритма сортировки. (Метод «Пузырек»).

Пусть а12,…,а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 дней?

Пусть имеется ряд наблюдений х12,…,хn. Составить алгоритм для нахождения цепных приростов, цепных темпов роста, среднего прироста, среднего темпа роста.

Задание 6

Что является теоретической основой компьютерной информатики?

Перевести два числа в шестнадцатеричную систему счисления и найти их двоичную сумму:

145,875; 1581,5

3. Составить алгоритмы решения следующих задач:

Информация о количестве осадков выпадавших в течение месяца, и о температуре воздуха задана в виде двух массивов. Определить, какое количество осадков выпало в виде дождя, какое в виде снега. (Считать, что идет дождь, если температура воздуха >0°С).

Составить алгоритм определения наибольшего элемента матрицы А(n,m) с указанием его номера строки и столбца.

Задание 7

Что понимается под информационной моделью задачи?

Перевести два числа в шестнадцатеричную систему счисления и найти их шестнадцатеричную сумму:

2096; 681,5

3. Составить алгоритмы решения следующих задач:

Одноклеточная амеба каждые 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



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.