Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Praktika_III_Algoritmy

.pdf
Скачиваний:
11
Добавлен:
18.03.2015
Размер:
547.57 Кб
Скачать

Вложенные циклы

Если телом цикла является циклическая структура, то такие циклы называют вложенными. Тип циклов при этом может быть любым. При построении вложенных циклических структур всегда следует соблюдать условие: все блоки внутреннего цикла должны полностью лежать в теле внешнего цикла.

n

m

i

Пример 3.9. Вычислить произведение ∏ ∏

 

1 + j 2

i =1

j =1

Алгоритм решения: Для реализации алгоритма используются два цикла типа «Цикл с параметром». Внутренний цикл вычисляет про-

m

i

изведения рi =

 

 

, (i = 1,2,...n) , а внешний вычисляет произве-

 

 

j =1 1

+ j 2

n

 

 

дение pi .

 

 

i =1

 

 

Блок-схема алгоритма представлена на рис. 3.15.

Пример 3.10. Протабулировать функцию двух переменных f(x,y) для x, изменяющегося от начального значения a до конечного b с постоянным шагом hx и y, изменяющегося от начального значения c до конечного d с постоянным шагом hy.

Алгоритм решения: для реализации алгоритма используеются вложенные циклические структуры типа «Цикл с условием». Внешний цикл – по у, внутренний – по x.

Блок-схема алгоритма представлена на рис. 3.16.

21

n

m

i

Рис. 3.15. Блок-схема вычисления ∏ ∏

 

1 + j 2

i =1

j =1

22

Рис. 3.16. Блок-схема табулирования функции двух переменных

23

Задачи и упражнения

Записать алгоритмы решения следующих задач с помощью блоксхем.

1.Определить сумму чисел от 3 до 99 кратных числу 3.

2.Вычислить факториал натурального числа N.

3.Найти сумму первой и последней цифры натурального числа N.

4.Протабулировать функцию на заданном диапазоне, с заданным шагом изменения аргумента и исходными данными.

at 2ln t , 1 ≤ t ≤ 2

 

 

t < 1

y(t) = 1,

 

at

cos bt, t > 2

e

 

n

5. Вычислить сумму n членов конечного ряда: k =1

6. Вычислить сумму бесконечного ряда (−1)k

k =0

точностью eps.

(−1)k

k

 

(k!)2 + (k + 1)!

 

1

k!(k + 1)! с заданной

7.Дано натуральное число. Верно ли, что в данном числе сумма цифр больше А, а само число делится на А. А задается.

8.Дано натуральное число. Верно ли, что число принадлежит промежутку от А до В и кратно 3, 4 и 5. А и В задаются.

9.Сколько раз первая цифра встречается в данном числе.

24

4. МАССИВЫ

Многие задачи, которые решаются с помощью компьютера, связаны с обработкой больших объемов информации, представляющей совокупность данных, объединенных единым математическим содержанием или связанных между собой по смыслу. Такие данные удобно представлять в виде линейных или прямоугольных таблиц.

Ввысшей математике табличные величины называют соответственно векторами и матрицами.

Валгоритмах для представления таких данных используются массивы. Массив это упорядоченная совокупность однотипных данных, с каждым из которых связан упорядоченный набор целых чисел, называемых индексами. Массив характеризуется именем, размерностью и размером.

Работа с массивом сводится к действиям над его элементами. Индексы определяют положение элемента в массиве. Число индексов определяет размерность массива, т.е. форму его компоновки: одномерный, двумерный и т. д.

Одномерный массив соответствует линейной таблице. Его элемент обозначается переменной с одним индексом: Al, Ai – соответственно первый и i-й элементы одномерного массива А;

Двумерный массив описывает в программе прямоугольную таблицу. Его элементы обозначаются переменной с двумя индексами: Ci,j, С2,1, где первый индекс обозначает номер строки, а второй – номер столбца

Для обращения к конкретному элементу массива необходимо указать имя массива и значения индексов. Если в качестве индексов используются переменные или выражения, то значения всех указанных переменных должны быть определены до обращения.

В одномерном массиве каждому элементу соответствует один индекс. В двумерном массиве каждому элементу соответствует два индекса: номер строки и номер столбца.

Для записи элементов массива в память ЭВМ нужно выделить для их хранения необходимое количество ячеек памяти, которое определяется размером массива. Размеры массива задаются границами изменения индексов по каждому измерению.

25

Примеры решения задач с использованием одномерных массивов

Пример 4.1. Вычислить и запомнить значения функции y =

ex

в точ-

x

 

 

ках, заданных множеством Х ={X1, X2, … X10}, Xi <>0.

 

Алгоритм решения: вычисление очередного значения функции осуществляется в цикле с параметром и запоминается в массиве Y, затем полученный массив выводится на экран.

Блок-схема алгоритма представлена на рис. 4.1.

Пример 4.2. Найти и напечатать номер и значение наибольшего по значению элемента массива, состоящего из 20 элементов.

Объекты алгоритма: С массив значений Сi, где i = 1,2,...,20; k – координата наибольшего по величине элемента; Мax – наибольшее из рассмотренных на предыдущих шагах значение.

Алгоритм решения: Для поиска максимального элемента в массиве вначале устанавливается текущий максимум по первому элементу массива: M=C1 и соответственно переменной k присваивается значение равное 1. Затем начинается просмотр остальных элементов массива: выбирается очередной элемент Сi и сравнивается с Max. Если элемент Сi оказывается больше текущего Mах, то в переменной Max запоминается новое наибольшее значение, т. е. выполняется переприсваивание: Max=Ci . При этом запоминается текущее значение i в переменной k: k=i.. Просмотр элементов организуется с помощью цикла с параметром.

Блок-схема алгоритма представлена на рис. 4.2.

26

Рис. 4.1. Блок-схема вычисления

Рис. 4.2. Блок-схема нахождения номера

значений функции в точках

и значения наибольшего элемента в мас-

{X1, X2, … X10}

сиве

Пример 4.3. Удалить из заданного числового массива a1, a2, …, an числа, кратные трем.

Алгоритм решения: Это типичная задача на уплотнение массива, т.е. удаление тех элементов, которые отвечают тем или иным условиям. Образующиеся пустоты заполняются за счет сдвига всех оставшихся элементов. Так как длина массива при этом уменьшается, то для уплотнения массива необходимо использовать циклическую структуру с условием, например типа «Цикл с предусловием».

Алгоритм удаления элемента из массива состоит в том, что на место удаленного i-го элемента переписывается i+1-ый элемент, на место i+1-го элемента переписывается i+2-ой элемент и т.д.

27

Блок-схема алгоритма представлена на рис. 4.3.

Рис. 4.3. Удаление из массива чисел, удовлетворяющих заданному условию

28

Примеры решения задач с использованием двумерных массивов

Любой цикл может содержат внутри себя один или несколько других циклов. К алгоритмам со структурой вложенных циклов относятся вычислительные процессы с двумерными массивами, в которых параметрами циклов являются индексы.

Пример 4.4. Вычислить сумму элементов каждой строки (столбца) двумерного массива А, имеющего четыре строки и три столбца. Блок-схемы алгоритма представлены на рис. 4.4 и рис. 4.5.

Рис. 4.4. Блок-схема вычисления

Рис. 4.5. Блок-схема вычисления

суммы элементов каждой строки

суммы элементов каждого столбца

двумерного массива

двумерного массива

29

Задачи и упражнения

Записать алгоритмы решения следующих задач с помощью блоксхем.

1.Определить среднее арифметическое всех элементов массива A(a1,а2,...,а25), удовлетворяющих условию i|>с.

2.В одномерном массиве A размерностью n заменить числом 100 значения всех элементов, удовлетворяющих условию аi>100.

3.Определить координаты (номер строки и номер столбца) максимального элемента двумерного массива А размером 4х7.

4.Вычислить среднее арифметическое каждого столбца массива Y размером NxM.

5.Найти минимальные элементы в столбцах матрицы Х размером

10х10.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]