Функции

Функции


Цель этого листка — научить разбивать относительно сложную простые на более простые.и/или уметь вычленить подпрограмму полезную для написания нескольких разных программ. Именно это умение — разбить проект на функции разумным образом и является основным критерием насколько вы хорошо справились с заданием. И еще, разумеется, ясный стиль программирования (см. P:\khait\tutors\FinePrograms). Ну и конечно эффективность.


Честно говоря, мне пока удалось найти немного относительно небольших и несложных задач для иллюстрации одного из важнейших принципов программирования.


1.
a) Для k, m, n Є N0 вычислить 2k + 3m + 5n (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)