Конспект лекций по программированию для начинающих. Гладков В.П. - 46 стр.

UptoLike

Составители: 

48
программировании. Самые общие рекомендации здесь сводятся к следующему.
Программирование напоминает процесс обучения. В данном случае человек
обучает робота. Для того чтобы кого-то чему-либо научить, необходимо самому
уметь решать подобные задачи или представлять, как они решаются. Для
уяснения задачи необходимо решить задачу "вручную" (без использования
компьютера) для каких-либо
исходных данных. Однако решение здесь не
является самоцелью, в процессе решения необходимо наблюдать за тем, какие
действия ведут к цели и фиксировать их. Возможно этот процесс потребуется
повторить неоднократно. Полученные частные решения для конкретных
значений исходных данных необходимо обобщить на случай любых данных из
множества их возможных значений. Хорошей проверкой
окончания процесса
уяснения задачи является устный рассказ кому-либо о найденном методе
решения или словесное изложение этого метода. Только после этого можно
приступать к записи алгоритма для компьютера.
Другой способ выяснения идеи решения состоит в поиске по литературе
готового алгоритма. Чтобы разобраться с готовым алгоритмом, перед
программированием его необходимо выполнить «
вручную» (провести
трассировку) этот алгоритм для различных значений исходных данных.
Часто для решения поставленной задачи нужно модифицировать
существующий алгоритм или построить ему подобный, но для других типов
данных.
Каждая вновь написанная программа может быть включена в библиотеку
программ компьютера или робота. Этим достигается расширение системы
команд робота или компьютера и
тем самым осуществляется его обучение. В
отличие от команд и проверок, составляющих систему команд исполнителя
(СКИ), выполнение программы из библиотеки вызывает исполнение
последовательности команд и проверок из СКИ или других программ.
8.6. Продолжение обучения робота Кибик
Пример 8.10. Необходимо научить робота умножать, т.е. написать
программу, которая под именем умн(a,b) будет включена в библиотеку
программ робота, причем умн(a,b)=a·b.
Решение. Для построения алгоритма внимательно посмотрим на СКИ
робота. В ней нет команды умножения, но есть команды нахождения суммы,
разности, возведения в квадрат. Попробуем найти квадрат суммы или
разности.
Используя формулы сокращенного умножения, получаем (a+b)
2
=a
2
+2·a·b+b
2
.
Отсюда
a·b=((a+b)
2
-a
2
-b
2
)/2. (1)
Последнюю формулу можно переписать в виде:
a·b=((a+b)
2
-(a
2
+b
2
))/2. (2)
Используя другую формулу сокращенного умножения, получаем
a·b=(a
2
+b
2
-(a-b)
2
)/2. (3)
Построим программу для робота по формуле (1). Расставим сначала скобки,
отражающие порядок выполнения операций, а затем заменим операции в
                                     48

программировании. Самые общие рекомендации здесь сводятся к следующему.
Программирование напоминает процесс обучения. В данном случае человек
обучает робота. Для того чтобы кого-то чему-либо научить, необходимо самому
уметь решать подобные задачи или представлять, как они решаются. Для
уяснения задачи необходимо решить задачу "вручную" (без использования
компьютера) для каких-либо исходных данных. Однако решение здесь не
является самоцелью, в процессе решения необходимо наблюдать за тем, какие
действия ведут к цели и фиксировать их. Возможно этот процесс потребуется
повторить неоднократно. Полученные частные решения для конкретных
значений исходных данных необходимо обобщить на случай любых данных из
множества их возможных значений. Хорошей проверкой окончания процесса
уяснения задачи является устный рассказ кому-либо о найденном методе
решения или словесное изложение этого метода. Только после этого можно
приступать к записи алгоритма для компьютера.
   Другой способ выяснения идеи решения состоит в поиске по литературе
готового алгоритма. Чтобы разобраться с готовым алгоритмом, перед
программированием его необходимо выполнить «вручную» (провести
трассировку) этот алгоритм для различных значений исходных данных.
   Часто для решения поставленной задачи нужно модифицировать
существующий алгоритм или построить ему подобный, но для других типов
данных.
   Каждая вновь написанная программа может быть включена в библиотеку
программ компьютера или робота. Этим достигается расширение системы
команд робота или компьютера и тем самым осуществляется его обучение. В
отличие от команд и проверок, составляющих систему команд исполнителя
(СКИ), выполнение программы из библиотеки вызывает исполнение
последовательности команд и проверок из СКИ или других программ.

               8.6. Продолжение обучения робота Кибик
   Пример 8.10. Необходимо научить робота умножать, т.е. написать
программу, которая под именем умн(a,b) будет включена в библиотеку
программ робота, причем умн(a,b)=a·b.
   Решение. Для построения алгоритма внимательно посмотрим на СКИ
робота. В ней нет команды умножения, но есть команды нахождения суммы,
разности, возведения в квадрат. Попробуем найти квадрат суммы или разности.
Используя формулы сокращенного умножения, получаем (a+b)2=a2+2·a·b+b2.
Отсюда
                                a·b=((a+b)2-a2-b2)/2.                   (1)
Последнюю формулу можно переписать в виде:
                         a·b=((a+b)2-(a2+b2))/2.                        (2)
   Используя другую формулу сокращенного умножения, получаем
                                a·b=(a2+b2-(a-b)2)/2.                   (3)
   Построим программу для робота по формуле (1). Расставим сначала скобки,
отражающие порядок выполнения операций, а затем заменим операции в