- •Понятие и свойства алгоритма
- •Понятие алгоритма
- •Свойства алгоритмов
- •Основные этапы технологического процесса решения задач с помощью ЭВМ
- •Основные правила оформления схемы алгоритма
- •Обозначения элементов схемы
- •Виды алгоритмов
- •Пример линейного алгоритма:
- •Типы ветвящихся алгоритмов
- •Пример 1 ветвящегося алгоритма:
- •Пример 2 ветвящегося алгоритма:
- •1 этап: постановка задачи
- •Пример 3 ветвящегося алгоритма:
- •1 этап: постановка задачи - формулы площадей:
- •3 этап: схема алгоритма работы меню
- •Циклические алгоритмы
- •Пример 1 циклического алгоритма:
- •3 типа циклических алгоритмов:
- •Схемы циклических алгоритмов 3-х типов
- •Пример 2 циклического алгоритма (без организации массива)
- •2 варианта схемы алгоритма
- •Массивы
- •Понятие массива
- •Размер и размерность массива
- •Обозначения 1-мерных массивов
- •Распределение ОЗУ (1-мерные массивы)
- •Стандартные алгоритмы для обработки одномерных массивов
- •Пример1: Сумма всех элементов массива А(10)
- •Пример 2: Сумма положительных элементов массива А(10)
- •Пример 3: Произведение всех элементов массива А(10)
- •Пример 4: Произведение отрицательных элементов массива А (с 3-го по 8-й)
- •Пример 5: Максимальный элемент массива А
- •Сортировка элементов массива
- •Алгоритм выбора
- •Схема алгоритма метода выбора
- •Алгоритм обмена
- •Схема алгоритма метода обмена
- •Двумерные массивы (матрицы)
- •Обозначения 2-мерных массивов
- •Пример обозначения 2-мерных массивов
- •Распределение ОЗУ (матрицы)
- •Стандартные алгоритмы для обработки матриц
- •Ввод и вывод элементов матрицы А(3х4)
- •Пример1: Сумма всех элементов матрицы А(3х4)
- •Пример 2: Сумма положительных элементов матрицы А(3х4)
- •Пример 3: Сумма положительных и
- •Пример 4: Максимальный элемент матрицы А(3х4) и его номер
- •Пример 5: Сумма элементов каждой строки матрицы А(3х4)
- •Пример 6: Сумма элементов каждого столбца матрицы А(3х4)
- •Пример 7: Формирование одномерного массива С из положительных элементов матрицы А(3х4)
- •Лекция № 6
- •Квадратные матрицы
- •Обозначения квадратных матриц
- •Стандартные алгоритмы для обработки квадратных матриц
- •Примеры областей в матрицах
- •Определение областей
- •5. Верхний треугольник
- •Пример 1: Сумма элементов в заштрихованной области
- •Пример 2: Максимальный элемент в заштрихованной
- •Пример 3: Количество нулевых элементов вне заштрихованной
- •Пример 4: Сформировать одномерный массив D
- •Схема алгоритма:
- •Чтение алгоритмов
- •Пример
- •Схема алгоритма:
- •Подход к решению
- •Решение
- •2. Нарисовать все состояния ячеек ОЗУ
- •2. (продолжение)
- •3. Определить значения выходных данных
Пример обозначения 2-мерных массивов
1. Словесное описание:
Например, матрица А(3,4) целых чисел
2. Математическое описание:
- матрица А: |
{ Аij } i=1,3 j=1,4 или А(3х4) |
- элементы матрицы А: |
А11 |
А12 А13 А14 |
|
А21 |
А22 А23 А24 |
|
А31 |
А32 А33 А34 |
Замечание. 1. Размерность массива А равна 2. 2. Размер массива А - 12 элементов
Распределение ОЗУ (матрицы)
Матрица А(3х4) :
Номера ячеек: |
1 2 3 4 |
5 6 7 8 |
9 10 11 12 |
Имена ячеек: |
А11 А12 А13 А14 А21 А22 А23 А24 А31 А32 А33 А34 |
Краткая запись:
А11 А12 … А34
Стандартные алгоритмы для обработки матриц
1.Вычисление суммы элементов матрицы
2.Вычисление произведения элементов матрицы
3.Подсчет количества элементов, удовлетворяющих условию
4.Нахождение максимального и минимального элемента в матрице
5.Вычисление суммы (произведения, максимального, минимального и т.п.) в каждой строке или каждом столбце или в произвольной области матрицы
6.Формирование одномерного массива из элементов матрицы
Ввод и вывод элементов матрицы А(3х4)
Ввод элементов |
Вывод элементов |
i=1,3,1 |
i=1,3,1 |
j=1,4,1 |
j=1,4,1 |
Ввод Aij |
Вывод Aij |
Краткая запись (только для лекций):
Ввод Ai j |
i 1..3 |
Вывод Ai j |
i 1..3 |
|
j 1..4 |
|
j 1..4 |
Пример1: Сумма всех элементов матрицы А(3х4)
I этап: |
3 |
4 |
|
S |
Aij |
||
|
|||
|
i 1 j 1 |
II этап: входные данные – матрица А, промежуточные данные – i, j выходные данные – сумма S
III этап: разработка алгоритма:
Рекуррентная формула суммы:
S = S + Aij
Начало |
|
Ввод |
Ai j i 1..3 |
|
j 1..4 |
|
S=0 |
|
i=1,3,1 |
j=1,4,1 |
|
S=S+Aij |
|
Вывод S |
Конец
Пример 2: Сумма положительных элементов матрицы А(3х4)
Начало
Ввод Ai j i 1..3
|
|
|
|
j 1..4 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S=0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i=1,3,1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j=1,4,1 |
|
|
|
|
|
|
|
Да |
|
|
Нет |
||||
|
|
Да |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
S=0 |
|||||||
|
Aij>0 |
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
Нет |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
S=S+Aij |
|
«Нет положит. |
|
|
Вывод S |
||||||||
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
эл-тов» |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Конец
Пример 3: Сумма положительных и |
|
|
|||
произведение отрицательных элементов А(3х4) |
|
||||
|
Начало |
|
|
|
|
Ввод |
Ai j i 1..3 |
|
|
|
|
|
j 1..4 |
|
|
|
|
S=0 Р=1 n=0 k=0 |
|
|
|||
|
i=1,3,1 |
|
|
|
|
|
|
|
Да |
Нет |
|
|
j=1,4,1 |
|
|
n=0 |
|
Да |
Aij 0 |
Нет |
«Нет |
Вывод S |
|
положит. эл- |
|||||
|
|
||||
|
|
|
тов» |
|
|
S=S+Aij |
|
Р=Р*Aij |
|
|
|
n=1 |
|
k=1 |
Да |
Нет |
|
|
|
|
|
k=0 |
|
|
|
|
«Нет отриц. |
Вывод P |
|
|
|
|
эл-тов» |
||
|
|
|
|
||
|
|
|
|
Конец |
Пример 4: Максимальный элемент матрицы А(3х4) и его номер
Начало |
|
Ввод |
Ai j i 1..3 |
|
j 1..4 |
max = A11 |
|
k=1 m=1 |
|
i=1,3,1 |
|
|
j=1,4,1 |
|
Да |
|
max<Aij |
|
Нет |
|
max = Aij |
|
k = i |
|
m = j |
max, k, m
Конец
Пример 5: Сумма элементов каждой строки матрицы А(3х4)
|
|
|
|
|
Начало |
I этап: |
|
|
4 |
|
Ai j i 1..3 |
Si |
|
Aij |
Ввод |
||
|
|
|
j 1 |
|
j 1..4 |
|
|
|
|
|
|
II этап: входные данные – матрица А, |
|
i=1,3,1 |
|||
|
промежуточные данные – i, j |
|
|
||
|
выходные данные – массив S |
|
Si=0 |
||
|
|
|
i |
|
|
Распределение ячеек ОЗУ: |
j=1,4,1 |
||||
|
|
|
|
||
А11 |
А12 |
… |
А34 |
|
|
i |
j |
|
|
Si=Si+Aij |
|
|
|
|
|
||
S1 |
S2 |
S3 |
|
|
|
III этап: разработка алгоритма: |
|
i=1,3,1 |
|||
|
|
||||
|
|
|
|
|
Вывод Si |
Конец
Пример 6: Сумма элементов каждого столбца матрицы А(3х4)
I этап: |
|
|
3 |
|
|
|
|
Sj |
|
A |
|
|
|
|
|
Начало |
||||
|
|
|
i 1 |
ij |
|
|
II этап: входные данные – матрица Аij, |
Ввод |
Ai j i 1..3 |
||||
|
j 1..4 |
|||||
|
промежуточные данные – i, j |
|
|
|||
|
выходные данные – массив Si |
|
j=1,4,1 |
|||
Распределение ячеек ОЗУ: |
|
Sj = 0 |
||||
|
|
|
|
|
|
|
А11 |
А12 |
… |
А34 |
|
|
i=1,3,1 |
|
|
|
|
|
|
|
i |
j |
|
|
|
|
|
S1 |
S2 |
S3 |
S4 |
|
Sj = Sj + Aij |
|
|
|
|
||||
III этап: разработка алгоритма: |
Вывод {Sj} |
Конец