Цель этого листка — научить разбивать относительно сложную простые на более простые.и/или уметь вычленить подпрограмму полезную для написания нескольких разных программ. Именно это умение — разбить проект на функции разумным образом и является основным критерием насколько вы хорошо справились с заданием. И еще, разумеется, ясный стиль программирования (см. P:\khait\tutors\Fine Programs). Ну и конечно эффективность.
Честно говоря, мне пока удалось найти немного относительно небольших и несложных задач для иллюстрации одного из важнейших принципов программирования.
|
1.
a) Для
k,
m,
n Є
N0 вычислить 2
k + 3
m + 5
n (0)
b) то же, для
k,
m,
n Є
Z (2)
2.
Найти все пары
простых чисел близнецов, не превосходящих заданного
n.
(2–4)
3.
a) Число называется
совершенным, если оно равно сумме всех своих делителей, меньших его самого. Найти все совершенные числа не превосходящие заданного
n.
(2–4)
b) Пара различных чисел называется
дружественными числами, если каждое из них равно сумме всех делителей, меньших другого числа из этой пары. Найти все пары дружественных чисел не превосходящих заданного
n.
(2–4)
4.
Три четырехугольника на плоскости заданы координатами своих вершин. Для каждого из них определить, является ли он выпуклым
Указание: это можно вычислить через площади треугольников, образуемых вершинами. Их на первый случай предполагается вычислять по формуле Герона. (2–4)
5.
Найти
число сочетаний Cnk
a) -1 <
k <
n+1 < 12
(2)
b) -1 <
k <
n+1 < 36
(3)