- •Лекция №1
- •План лекции
- •1. Краткий обзор развития вычислительной техники
- •2.Подготовка и ввод информации в эвм
- •3. Некоторые ключевые слова вычислительной техники
- •1. Краткий обзор развития вычислительной техники
- •1.1. Некоторые ключевые слова вычислительной техники
- •1.2. Функциональная схема эвм и принцип ее работы
- •Лекция №2 План лекции
- •1.Алгоритмизация вычислительных процессов
- •2. Правила оформления алгоритма
- •3. Этапы подготовки и решения
- •1. Алгоритмизация вычислительных процессов
- •2. Правила оформления алгоритма
- •Самостоятельная работа
- •Лекция №3 разветвляющиеся вычислительные процессы
- •Лекция №4-5
- •Ранжировка данных
- •Лекция №6 циклические вычислительные процессы
- •Простой циклический вычислительный процесс
- •Лекция №7 цикл со счетчиком
- •Лекция № 8 поиск минимального(максимального) элемента массива. Ранжировка одномерного массива
- •Лекция № 9 цикл с переадресацией
Лекция № 8 поиск минимального(максимального) элемента массива. Ранжировка одномерного массива
Задан одномерный массив Хi. Составить алгоритм и написать программу поиска минимального элемента массива
Задан массив Х[i]. Требуется разработать алгоритм и составить программу для ранжировки элементов массива в порядке возрастания.
Ранжировка одномерного массива можно выполнить двумя методми
переборки и пузырьковым.
Лекция № 9 цикл с переадресацией
При вычислении задач, где в качестве исходных данных используются преимущественно массивы данных, применяется цикл с переадресацией.
Массив – это упорядоченная последовательность любых данных, названных одним именем.
Рассмотрим прежнюю задачу, несколько изменив ее условие. Пусть теперь требуется вычислить функцию y=f(x) для n значений аргумента.
Такое изменение условия весьма существенно отражается на способе организации вычислений. Значения аргумента х теперь не образуют никакой закономерности. Нет рекуррентной формулы, позволяющей вычислять очередное значение х, зная предшествующее. Следовательно, алгоритм простого цикла не дает решения этой задачи.
В таких случаях эффективным оказывается следующий прием. Всю совокупность значений аргумента обозначают одной буквой Х и называют массивом Х Каждое отдельное i-тое значение аргумента называют элементом массива и обозначают той же буквой, но с индексом i, который принято записывать в скобках – Х(i). Индекс указывает на порядковый номер элемента в общей совокупности-массиве. В нашем примере массив Х состоит из n элементов.
В зависимости от количества переменных цикла используемых для индексации данных массивы бывают одномерными, двумерными, трехмерными и т.д. Например, Х(i)-одномерный массив, где индекс I меняется от 1 до n.
Для построения циклического алгоритма в качестве переменной цикла используют индекс, значения которого образуют арифметическую прогрессию с разностью 1. Таким образом, каждый следующий индекс можно вычислять из предыдущего по рекуррентной формуле i=i+1.
При реализации этого алгоритма на ЭВМ элементы массива Х записываются в ячейки памяти подряд. Поэтому индекс элемента однозначно связан с адресом ячейки памяти и всякое изменение индекса вызывает изменение адреса, т.е. происходит переадресация. Циклы, содержащие блоки переадресации, называют циклами с переадресацией.
При алгоритмизации подобных вычислительных процессов блок переадресации обозначается:
Теперь можно построить циклический алгоритм совершенно аналогичный простому циклу.
Рассмотрим пример разработки алгоритма и составления программы вычисления табличного значения функции при помощи операторов цикла и построим график зависимости у=f(Хi).
Задан одномерный массив Хi, из n элементов возвести элементы массива в квадрат.
Цикл с переадресацией
В массив можно сводить не только исходные числа, но и результаты вычислений. В нашем случае все значения функции y по очереди записываются в одну и ту же ячейку памяти, соответствующую переменной y. Эти значения можно свести в массив y и они займут разные ячейки памяти. Тогда в блоке 3 следует записать формулу yi=f(xi), а в блоке печати записать элементы xi, yi.
Двумерный массив – массив, в котором имеется две переменные цикла, при этом один параметр цикла показывает строки i, а другой столбцы j:
xij; i=1, n; j=1, m
Например, n=m=4:
Ниже приведены основные признаки двумерного массива (квадратной матрицы).
Элементы главной диагонали: i=j;
Элементы побочной диагонали: i+j=n+1;
Элементы, расположенные выше побочной диагонали: i+jn;
Элементы, расположенные ниже побочной диагонали: i+j≥n+2;
Элементы, расположенные выше главной диагонали ij;
Элементы, расположенные ниже главной диагонали ij.
При решении задач с подобными условиями, достаточно в логическом блоке указать приведенные признаки двумерного массива.
Задачи с двумерными массивами практически ничем не отличаются от задач с одномерными массивами. За исключением того, что при двумерном массиве появляется новая переменная цикла.
САМОСТОЯТЕЛЬНАЯ РАБОТА
ЗАДАЧА. Задан двумерный массив xij; i=1, n; j=1, m
Возвести в квадрат все элементы главной диагонали и вывести на печать.