- •Методические указания
- •«Алгоритмизация и программирование»
- •Часть 1. Понятие алгоритма и принципы алгоритмизации
- •1 Основные принципы разработки алгоритмов и программ
- •Лабораторная работа 1
- •3 Циклический вычислительный процесс
- •Задания для самостоятельной работы
- •Лабораторная работа 2 селективная обработка массивов
- •Общие сведения
- •1 Селективная (выборочная) обработка информации
- •2 Нахождение экстремального значения
- •3 Формирование одномерного рабочего массива
- •3.7 Сортировка элементов массива
- •Задания для самостоятельной работы
- •Лабораторная работа 3 вложенные циклы. Обработка двумерных массивов
- •Общие указания
- •1 Вложенные циклы
- •3.9 Обработка заданной строки (столбца) матрицы
- •3.10 Обработка заданной диагонали матрицы
- •3.11 Селективная обработка строки (столбца) матрицы, удовлетворяющей заданному условию
- •Часть 2. Составление и отладка программы. Вычисление и обработка результатов
- •Ход работы
- •Вопросы для контроля и самостоятельной работы
- •Лабораторная работа 5
- •Символы типа
- •Задание к лабораторной работе
- •Лабораторная работа №6 Разветвляющийся вычислительный процесс с различными логическими условиями: оператор if... Else, условная операция (?:).
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа 7 Программирование разветвляющегося циклического вычислительного процесса.
- •Теоретические сведения
- •Алгоритм работы оператора цикла for ():
- •Задание к лабораторной работе
- •Лабораторная работа №8
- •Ход работы
- •Задание к лабораторной работе
- •Операции с, их приоритеты и использование. Преобразование типов (4 часа)
- •Приоритет операций и порядок выполнения (ассоциативность)
- •(Новый_тип) операнд
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №10 Массивы. Селективная обработка массивов
- •Теоретические сведения
- •Требования к содержанию отчёта приведены в лабораторной работе №1
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №11
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Лабораторная работа №12 Сортировка одномерных массивов
- •Многомерные массивы. (2часа)
- •Теоретические сведения
- •Контрольные вопросы для подготовки и самостоятельной работы
- •Изучение графических средств с
- •Графические функции
- •Графические примитивы
- •Ход работы
- •Контрольные вопросы для подготовки и самостоятельной работы
Лабораторная работа 2 селективная обработка массивов
Цель работы: выработать практические навыки в составлении алгоритмов, написании и отладке программ в задачах селекции в одномерном массиве.
Общие сведения
1 Селективная (выборочная) обработка информации
Селективная обработка заключается в обработке только той информации, которая удовлетворяет заданному условию.
Пример 7. Подсчитать количество положительных чисел в массиве x(10).
Порядок работы
Шаг 1. Вводим массив x(10).
Шаг 2. Задаем начальное значение количества k = 0.
Шаг 3. Организовываем цикл, перебирающий элементы массива (т.е. индекс i), начиная с 1-го и кончая 10-м.
Шаг 4. Если xi > 0, тогда присваиваем k = k + 1.
Шаг 5. Если цикл по i не закончился, идем на начало цикла, т.е. на шаг 3.
Шаг 6. Печатаем k.
Шаг 7. Останов.
2 Нахождение экстремального значения
Пример 8. Найти минимальное число из интервала [5,12] в массиве x(15).
Порядок работы
Шаг 1. Вводим массив x(15).
Шаг 2. Задаем начальное значение минимального элемента xmin=10 20.
Шаг 3. Организовываем цикл, перебирающий элементы массива (т.е. индекс i), начиная с 1-го и кончая 15-м.
Шаг 4. Если xi не принадлежит интервалу [5,12], тогда идем на шаг 6.
Шаг 5. Если xi < xmin, тогда присваиваем xmin = xi.
Шаг 6. Если цикл по i не закончился, идем на начало цикла, т.е. на шаг 3.
Шаг 7. Печатаем xmin.
Шаг 8. Останов.
Пример 4. Найти максимальное число и его номер в массиве x(30) .
Порядок работы
Шаг 1. Вводим массив x(30).
Шаг 2. Задаем начальные значения максимального элемента и его номера: xmax = x1, nmax = 1.
Шаг 3. Организовываем цикл, перебирающий элементы массива (т.е. индекс i), начиная со 2-го и кончая 30-м.
Шаг 4. Если xi>xmax, тогда присваиваем: xmax=xi, nmax=i.
Шаг 5. Если цикл по i не закончился, идем на начало цикла, т.е. на шаг 3.
Шаг 6. Печатаем xmax, nmax.
Шаг 7. Останов.
Блок-схема
3 Формирование одномерного рабочего массива
В рабочий массив из исходного выбираются только те элементы, которые удовлетворяют поставленному условию.
Пример 9. Сформировать новый массив из положительных чисел исходного массива x(15).
Порядок работы
Шаг 1. Вводим массив x(15).
Шаг 2. Устанавливаем начальный индекс рабочего массива j=0.
Шаг 3. Организовываем цикл, перебирающий элементы исходного массива (т.е. индекс i), начиная с 1-го и кончая 15-м.
Шаг 4. Если xi 0, то идем на шаг 7.
Шаг 5. Устанавливаем индекс следующего элемента рабочего массива j = j + 1.
Шаг 6. Присваиваем элементу рабочего массива значение элемента исходного массива yj = xi.
Шаг 7. Если цикл по i не закончился, идем на начало цикла, т.е. на шаг 3.
Шаг 8. Печатаем j элементов рабочего массива y.
Шаг 9. Останов.
3.7 Сортировка элементов массива
Сортировка - это упорядочение множества по убыванию или возрастанию признака, общего для всех элементов множества. Сортировку удобно производить методом выталкивания. Если надо отсортировать часть массива, удовлетворяющую заданным условиям, то вначале отбирают нужные элементы в рабочий массив, а затем его сортируют. Если рабочий массив не сформировался, то выводят об этом сообщение и останавливают программу.
Пример 10. Найти сумму двух наибольших отрицательных чисел массива x(15).
Порядок работы
Шаг 1. Вводим массив x(15).
Шаг 2. Устанавливаем начальный индекс рабочего массива j=0.
Шаг 3. Организовываем цикл, перебирающий элементы исходного массива (т.е. индекс i), начиная с 1-го и кончая 15-м.
Шаг 4. Если xi 0, то идем на шаг 7.
Шаг 5. Устанавливаем индекс следующего элемента рабочего массива j = j + 1.
Шаг 6. Присваиваем элементу рабочего массива значение элемента исходного массива yj = xi.
Шаг 7. Если цикл по i не закончился, идем на начало цикла, т.е. на шаг 3.
Шаг 8. Если j < 2, то выдаем сообщение «Массив не сформирован» и идем на шаг 17.
Шаг 9. Организовываем цикл, определяющий количество просмотров рабочего массива (т.е. индекс k), начиная с 1-го и кончая j-м.
Шаг 10. Организовываем цикл, определяющий просматриваемую пару чисел рабочего массива (т.е. индекс i), начиная с 1-го и кончая (j-1)-м.
Шаг 11. Если первое число не больше второго, то идем на шаг 13.
Шаг 12. Меняем два числа местами:
c = yi; yi = yi+1; yi+1 = c.
Шаг 13. Если цикл по i не закончился, идем на начало цикла, т.е. на шаг 10.
Шаг 14. Если цикл по k не закончился, идем на начало цикла, т.е. на шаг 9.
Шаг 15. Вычисляем сумму s = yj + yj-1.
Шаг 16. Печатаем s.
Шаг 17. Останов.