Iii. циклические алгоритмы.
Алгоритм, предусматривающий многократное повторение одного и того же действия над новыми данными, называется циклическим.
Циклназывается арифметическим,если число повторений цикла известно заранее или может быть вычислено.
Блок-схема базовой структуры. Цикл с параметром.
Задание новых значений параметров |
Проверка условия окончания цикла |
Задание начальных параметров цикла |
Тело цикла |
Цикл, для которого нельзя указать число повторений, и проверка окончания которого происходит по достижению нужного условия, называется итерационным.
Блок-схемы базовых структур
Цикл – пока (может не выполняться ни разу) | Цикл – до (выполняется хотя бы раз) | ||||||||
|
|
.
Задача 1.Составьте блок-схему алгоритма нахождения площади треугольников, заданных сторонами a, b, (c+k), где к = 1,2,...15. Воспользуйтесь словесным алгоритмом. (а, b, с, k- такие, что треугольники существуют).
1. Задать а, b, с.
2. k:=1.
3. Если к≤15, то п.4, иначе п.9.
4. d:=c + k.
5. р := (a + b + d)/2,
6. s:= .
7. Вывод s.
8. k :=k+ 1, переход к п.З.
9. Конец.
|
Задача 2.Заполните пустые блоки в шаблоне алгоритма вычисления суммы nпервых натуральных чисел.
Выполнить алгоритм для n = 3, результат записать в таблицу значений:
|
|
Задача 3.По словесному алгоритму вычисления 2n составьте блок-схему алгоритма (n- натуральное число).
1. Задать n.
2. р:=1.
3. i:=1.
4. Если i<n,то п.5, иначе п.7.
5. р := р • 2.
6. i:= i + 1, перейти к п.4.
7. Вывод р.
8. Конец.
|
Задача 4. Составьте блок-схему алгоритма вычисленияnкорней
n корней
|
Задача 5. Составьте блок-схему алгоритма вычисления S = т(т + 1)(т + 2)...(т + n), где т, n- заданные натуральные числа.
|
Задача 6. Дана блок-схема вычисления значений функции
для х [-3; 3], h = 0,5.
На координатных осях отметьте данные значения аргумента х и полученные значения функции у. По полученным точкам постройте график функцииy
|
|
Задача 7. Разделить натуральное число х на натуральное число у. Получить в качестве результат частное от деления qи остаток r, т. е. представить число в виде х = q*у+ r, где r<у; q, r- целые числа. Операцией деления не пользоваться.
Составьте блок-схему алгоритма по таблице значений для х = 9, у = 2.
Шаг алг. | Аргу- мент | Результат | Проверка условия | Пояс- нения |
| |||||||
X | У | q | r | |||||||||
9 | 2 | |||||||||||
9 | ||||||||||||
9 < 2 нет | ||||||||||||
7 | ||||||||||||
7 < 2 нет | ||||||||||||
5 < 2 нет | ||||||||||||
3 < 2 нет | ||||||||||||
1<2да | ||||||||||||
Вывод | ||||||||||||
4,1 | ||||||||||||
Конец |
Задача 8.Составьте блок-схему алгоритма, который выдает 1, если заданное число простое и 0 - в противном случае.
Число называется простым, если все его делители 1 и оно само.
Указание. Делители числа лежат в интервале от 2 до (k- заданное число).
|
Задача 9.Ученик в первый день выучил 5 английских слов. В каждый следующий день он выучивал на 2 слова больше, чем в предыдущий. Сколько английских слов выучит ученик в 10-ый день занятий?
Приведен словесный алгоритм этой задачи.
1. а:=5.
2. d:=1
3. Если d<10, то п.4, иначе п.6.
4. а:=а + 2.
5. d := d + 1, перейти к п.З.
6. Вывод а.
7. Конец.
Воспользовавшись шаблоном, составьте блок-схему алгоритма определения, через сколько дней ученик будет знать 250 английских слов.
|
Задача 10.Составьте блок-схему алгоритма нахождения максимального числа среди заданных n чисел (n 2).
|
Задача 11.По блок-схеме алгоритма восстановите условие задачи.
|
Задача 12. Заполните шаблон блок-схемы для определения сколько раз в заданном числе встречается цифра 5.
Заполните таблицу значений для к = 515.
Шаг алг. | Apг. | Промеж, величинa | Результат | Проверка условия | Пояснения |
| |||||||||
к | а | r | L | ||||||||||||
9 10 11 12 13 14 15 16 17 18 19 |
Задача 13. Известна знаменитая изобретателе шахматной игры.
Царь Шерам, которому была преподнесена в подарок эта игра, захотел наградить изобретателя Сете и разрешил ему выбрать награду самому. «Дай мне, - сказал мудрец, - только несколько пшеничных зерен. Причем ровно столько, сколько поместится на шахматной доске, если ты на первую клетку положишь одно зернышко, то на вторую - два зернышка и так далее: на каждую клетку вдвое больше, чем на предыдущую». Царь был рассержен из-за этой слишком скромной просьбы мудреца. Но как же он был удивлен, когда ему не хватило запасов пшеницы всей Индии, чтобы ее выполнить.
Математики царя Шерама подсчитали, что количество зерен на последней клетке выражается не поддающимся воображению гигантским числом. Зерно занимало бы два амбара длиной от Земли до Солнца.
Составьте блок-схему алгоритма, который бы определял, сколько клеток смог заполнить царь Шерам своей пшеницей. (Тонна пшеницы состоит из 4000000 зерен).
|
Задача 14. Составьте блок-схему алгоритма нахождения 13-ого члена последовательности, заданной формулой общего члена хn=n • хn-1+ 1/n, х0 = 1, n = 1,2...
В заданном шаблоне блок-схемы заполните блоки и расставьте соединительные стрелки.
Словесный алгоритм.
1. Задать n.
2. хо:=1.
3. i:=1.
4. Если i< n, то п. 5, иначе п. 8.
5. х := i• х0 + 1/i .
6. i:=i+1.
7. х0 := х, перейтик п. 4.
8. Вывод х.
9. Конец.
Задача 15.ho = 1,h1 = x,
hn+1= 2xhn- (3x2 +20x-1)hn-1,
где n = 1,2,...
Составьте словесный алгоритм нахождения h19
Задача 16. Составьте блок-схему алгоритма определения, является ли заданное число совершенным.
Число называется совершенным, если оно равно сумме всех своих делителей, меньших, чем оно само.
Например, число 28 совершенное: 28 = 1 + 2 + 4 + 7 + 14
Сложные циклы
Определение.Цикл называется сложным (кратным, вложенным), если внутри его содержится один или несколько других циклов.
Внутренний цикл должен быть целиком внутри внешнего цикла. Сложный цикл схематично можно представить так:
п | |
внешний цикл (1) содержит один внутренний (2);
внешний цикл (1) содержит независимые внутренние циклы (2)... (n);
внешний цикл (1) содержит внутренний цикл (2), который содержит внутренний цикл (3) и т.д.
Задача 17.Заполните пустые блоки в блок-схеме алгоритма вычисления
S = 1 • 2 + 2 • 3 • 4+...+ n • (n+1)•...• (2n), где n - заданное натуральное число.
S=0 |
I=1 |
k≤2i |
P=p·k |
K=i |
P=1 |
S=s+p |
нет |
нет |
Задача 18. Дано натуральное n. Составьте блок-схему алгоритма вычисления:
P = (1+ ) (1+ )… (1+ )
Задача 19. Дано натуральное n. Составьте блок-схему алгоритма вычисления:
P = (1+ )1 (1+ )2… (1+ )n
Задача 20. Даны натуральные n, m. Получить все, меньшие n, натуральные числа, квадрат суммы цифр которых равен m
Задача 21. Составить алгоритм для определения количества трехзначных натуральных чисел, сумма цифр которых равна n. (Операцией деления не пользоваться).
Задача 22.Найти все трехзначные числа, в десятичной записи которых нет одинаковых цифр. (Операцией деления не пользоваться).
IV. МАССИВЫ
Определение. Массив— это упорядоченный набор величин одного типа, обозначаемых одним именем. Доступ к элементам осуществляется по их номерам.
Чтобы находить определенный элемент из массива, существуют индексы, т.е. положение каждого элемента в массиве определяется его индексом. В этом заключается упорядоченность.
Пример. Дан массив А, состоящий из 5 элементов: 2, 7, 9, 3, 10.
Здесь А(1)= 2, А(2)= 7, А(3)= 9, А(4)= 3, А(5)= 10.
Задача 1.Дано 50 чисел. Определить, сколько среди них отличных от последнего числа.
По данному словесному алгоритму составьте блок-схему алгоритма.
1. i:=1.
2. Если i ≤50 , то п. 3, иначе п. 5.
3. Ввод a(i).
4. i := i + 1, переход к п. 2.
5. k :=0.
6. i:=1.
7. Если / ≤ 50 , то п. 8, иначе п. 11.
8. Если a(i) ≠ а(50), то п. 9, иначе п. 10.
9. к:=к+1.
10. i := i+1, переход к п. 7.
11. Вывод к.
12. Конец.
Задача2. По блок-схеме алгоритма восстановите условие задачи.
i=1 |
i≤n |
L=L+1 |
b(n-L)=a(i) |
i=i+1 |
b(k)=a(i) |
K=k+1 |
a(i) |
a(i)<0 |
n |
K=1 L=0 |
нет |
нет |
Задача 3.Задан массив С, содержащий т чисел. Составьте алгоритм формирования массивов А и В, включая в массив А четные по номеру элементы массива С в порядке их следования, а в массив В - нечетные.
нет |