ВУЗ:
Составители:
Рубрика:
45
Остановимся еще на некоторых выводах, которые можно сделать из
решения задачи 1. Решение начинается с выбора способа представления
исходных данных. Этот выбор во многом определяет алгоритм решения задачи,
потому что далее подбираются операторы обработки данных в соответствии с
их типом.
В полученных решениях порядок следования операторов изменить нельзя,
иначе будет
нарушен результат.
Решенная задача может встретиться как часть другой, большей задачи,
поэтому ее решение следует запомнить.
Упражнения:
1. Как изменится результат работы программы obmen, если в ней поменять
местами операторы, отмеченные комментариями 2 и 3? 1 и 3? 1 и 2?
2. Какой результат получится, если на вход алгоритма из третьего решения
(решения с операцией xor) подать данные типа string?
Рассмотрим робот Кибик, умеющий исполнять следующий набор команд и
проверок, заданных в виде функций:
сум(a,b) - возвращает
сумму аргументов a и b;
раз(a,b) - возвращает разность аргументов a и b;
кв(a) - возвращает квадрат аргумента а;
пол(а) - возвращает половину аргумента а;
?() - вводит число, заданное пользователем;
!() - выводит результат;
знак(а) проверяет аргумент и возвращает
+1,если x>0,
0, если x=0,
если x<0.
−
−
⎧
⎨
⎪
⎩
⎪
1,
Все используемые роботом числа - вещественные. Программа для робота
строится в виде суперпозиции функций, т.е. вложения их друг в друга.
Пример 8.7. Пусть необходимо вычислить сумму двух заданных
пользователем чисел. Тогда программа для Кибика запишется так:
!(сум(?(),?())). Внимательно проверьте соответствие скобок, здесь это
существенно. Если полученную программу назвать сум2=!(
сум(?(),?())) и
записать в библиотеку программ робота, то ее можно будет использовать в
других программах наравне с командами робота. Однако в отличие от команд,
выполнение сум2 вызовет исполнение программы из библиотеки, состоящей из
нескольких команд.
Включение новых программ в библиотеку робота можно сравнить с
обучением, т.к. с каждой новой
включенной программой расширяется круг
решаемых роботом задач, т.е. увеличиваются его знания и умения.
Пример 8.8. Составим для Кибика программу для вычисления выражения:
352+498-703. Здесь исходными данными являются три числа. Они могут быть
любыми, поэтому в общем случае искомая программа должна находить
значение выражения a+b-c. (Заметьте, что меняющиеся от одного вычисления к
другому значения констант мы заменили переменными.)
45
Остановимся еще на некоторых выводах, которые можно сделать из
решения задачи 1. Решение начинается с выбора способа представления
исходных данных. Этот выбор во многом определяет алгоритм решения задачи,
потому что далее подбираются операторы обработки данных в соответствии с
их типом.
В полученных решениях порядок следования операторов изменить нельзя,
иначе будет нарушен результат.
Решенная задача может встретиться как часть другой, большей задачи,
поэтому ее решение следует запомнить.
Упражнения:
1. Как изменится результат работы программы obmen, если в ней поменять
местами операторы, отмеченные комментариями 2 и 3? 1 и 3? 1 и 2?
2. Какой результат получится, если на вход алгоритма из третьего решения
(решения с операцией xor) подать данные типа string?
Рассмотрим робот Кибик, умеющий исполнять следующий набор команд и
проверок, заданных в виде функций:
сум(a,b) - возвращает сумму аргументов a и b;
раз(a,b) - возвращает разность аргументов a и b;
кв(a) - возвращает квадрат аргумента а;
пол(а) - возвращает половину аргумента а;
?() - вводит число, заданное пользователем;
!() - выводит результат;
⎧+ 1, если x > 0,
⎪
знак(а) − проверяет аргумент и возвращает ⎨0, если x = 0,
⎪
⎩− 1, если x < 0.
Все используемые роботом числа - вещественные. Программа для робота
строится в виде суперпозиции функций, т.е. вложения их друг в друга.
Пример 8.7. Пусть необходимо вычислить сумму двух заданных
пользователем чисел. Тогда программа для Кибика запишется так:
!(сум(?(),?())). Внимательно проверьте соответствие скобок, здесь это
существенно. Если полученную программу назвать сум2=!(сум(?(),?())) и
записать в библиотеку программ робота, то ее можно будет использовать в
других программах наравне с командами робота. Однако в отличие от команд,
выполнение сум2 вызовет исполнение программы из библиотеки, состоящей из
нескольких команд.
Включение новых программ в библиотеку робота можно сравнить с
обучением, т.к. с каждой новой включенной программой расширяется круг
решаемых роботом задач, т.е. увеличиваются его знания и умения.
Пример 8.8. Составим для Кибика программу для вычисления выражения:
352+498-703. Здесь исходными данными являются три числа. Они могут быть
любыми, поэтому в общем случае искомая программа должна находить
значение выражения a+b-c. (Заметьте, что меняющиеся от одного вычисления к
другому значения констант мы заменили переменными.)
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »
