Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Примеры и решения. 1.Рассмотрим следующую известную задачу: имеются два кувшина емкостью 3 и 8 л

1. Рассмотрим следующую известную задачу: имеются два кувшина емкостью 3 и 8 л. Необходимо составить алгоритм, с помощью которого, пользуясь только этими двумя кувшинами, можно набрать 7 л воды.

Можно предположить, что кувшин емкостью 3 л необходимо использовать для того, чтобы отлить в него 1 л из полного кувшина емкостью 8 л. Таким образом, решение задачи сводится к поиску возможности поместить, например, 2 л воды в трехлитровый кувшин, затем на­полнить восьмилитровый и перелить из него воду в трехлитровый кувшин, в котором до полного заполнения не хватает, ровно 1 л. Задача реализуется следующим линейным алгоритмом (А — количество воды в трехлитровом кувшине, В — количество воды в восьмилитровом кувшине):

 

2. Рассмотрим задачу вычисления наибольшего общего делителя (НОД) двух натуральных чисел А и В с применением алгоритма Евкли­да. Основная идея алгоритма в том, что НОД А и В есть также и НОД - В), т.е. последовательное вычитание из большего числа меньшего до тех пор, пока числа не сравняются, должно привести к искомому значению НОД.

Приведем сначала запись алгоритма Евклида на естественном языке:

1. Рассмотреть А как первое число, В как второе. Перейти к пункту 2.

2. Сравнить первое и второе число. Если они равны, перейти к пункту 5. Если
нет, перейти к пункту 3.

3. Если первое число меньше второго, то поменять их местами. Перейти к
пункту 4.

4. Вычесть из первого числа второе и рассмотреть полученную разность как
первое число. Перейти к пункту 2.

5. Рассмотреть первое число как результат. Закончить выполнение алгоритма.

Представленный алгоритм имеет разветвляющуюся структуру и в виде блок-схемы изображается следующим образом:

3. Пусть необходимо вывести на печать все числа ряда Фибоначчи (1, 1, 2, 3, 5, 8,...) до заданного натурального N.

Очередной член ряда Fi определяется как сумма двух предыдущих (Fi = Fi-1 + Fi-2). Первые два члена ряда равны 1.

Представим блок-схему алгоритма решения задачи с использованием циклической структуры с предусловием (F — очередной член ряда, Р — предыдущий член ряда).

Алгоритм решения этой задачи с использованием циклической структуры с постусловием предлагается разработать самостоятельно.

 

 

Вопросы и задания

1. Охарактеризуйте базовые структуры алгоритмов.

2. Дано число X и последовательность действий:

• умножить полученное число на 2;

• сообщить результат;

• разделить X на 3;

• вычесть из полученного числа 5;

• прибавить к полученному числу 7.

Сколько и каких различных алгоритмов можно составить из этой последовательности действий? Какие функции от X при этом вычисляются?

3. Приведите примеры задач, для реализации которых применимы: а) линейные алгоритмы; б) разветвляющиеся алгоритмы; в) циклические алгоритмы.

4. Охарактеризуйте разницу между циклом типа до и циклом типа пока.

5. Приведите примеры задач, для реализации которых целесообразно применять циклические структуры: а) с постусловием; б) с предусловием.

6. Изобразите блок-схему алгоритма определения максимального числа в последовательности из п произвольных чисел.

7. Нарисуйте блок-схему алгоритма получения произведения п произвольных чисел (л = 15).

8. Нарисуйте блок-схему алгоритма вычисления суммы квадратов первых п чисел натурального ряда.

9. Модифицируйте алгоритм вычисления суммы квадратов первых п чисел натурального ряда для вычисления суммы квадратов: а) только четных чи­сел (до n); б) только нечетных чисел (до п).

<== предыдущая лекция | следующая лекция ==>
Алгоритмы и программы | Данные. Понятие типа данных
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 3589; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.