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