Сборник задач по программированию функций в Excel
1 Курс, группы эк
1. Простейшие программы. Операторы: условный, составной, пустой, перехода.
1.1. Написать программу, которая для заданного целого числа печатает следующую таблицу:
а
a^3 a^6
a^6 a^3 a
1.2. Написать программу, которая печатает true или false в зависимости от того, больше число е^PI числа PI^e или нет. (Числа е и PI с точностью 10^-5 описать как константы).
1.3. Написать программы для решения следующих задач:
a) вычислить значение производной функции X^X в заданной точке а (а>0);
б) для заданного а вычислить принадлежащий интервалу (PI,2PI) корень уравнения ln ( ctg(x) - 1 ) = a;
в) вычислить дробную часть среднего геометрического трех заданных положительных чисел;
г) по заданным коэффициентам и правым частям уравнений системы
| a1*x + b1*y = c1
| a2*x + b2*y = c2
найти ее решение в предположении, что определитель системы не равен нулю;
д) вычислить длину окружности, площадь круга и объем шара одного и того же заданного радиуса;
е) вычислить периметр и площадь прямоугольного треугольника по длинам двух катетов;
ж) по координатам трех вершин некоторого треугольника найти его площадь и периметр;
з) по длинам двух сторон некоторого треугольника и углу ( в градусах ) между ними найти длину третьей стороны и площадь треугольника.
и) найти произведение цифр заданного четырехзначного числа.
к) определить число, полученное выписыванием в обратном порядке цифр заданного трехзначного числа.
1.4. Для решения следующих задач написать программы, которые печатают true или false в зависимости от того, выполняются или нет указанные условия:
а) для произвольных вещественных чисел a,b и c определить, имеет ли
уравнение a*x^2 + b*x + c = 0 хотя бы одно вещественное решение;
б) для заданных чисел p, a, и b (a<b) определить, имеет ли уравнение
arctg ( 2^x - |p| ) = sqr (2) корень на отрезке [a,b];
в) определить, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр;
г) определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа;
д) определить, есть ли среди первых трех цифр из дробной части заданного положительного вещественного числа цифра 0;
е) определить, есть ли среди цифр заданного трехзначного числа одинаковые;
ж) даны три произвольных числа. Определить, можно ли построить треугольник с такими длинами сторон;
з) даны координаты ( как целые от 1 до 8 ) двух полей шахматной доски.
Определить, может ли конь за один ход перейти с одного из этих полей на другое.
2. Оператор цикла.
2.1. Вычисление f=10! Описать каждым из трех вариантов оператора цикла.
2.2. С точностью 10^-5 вычислить Х- наименьший положительный корень уравнения tgX = X, используя метод деления отрезка пополам. Сравнить с результатом применения стандартной функции.
2.3. Подсчитать k - количество цифр и их сумму в десятичной записи целого неотрицательного числа n.
2.4. Логической переменной t присвоить значение true или false в зависимости от того, является натуральное число степенью 3 или нет.
2.5. Программа. Дано 100 или более вещественных чисел. Вычислить разность между максимальным и минимальным из них.
2.6. Программа. Дана непустая последовательность различных натуральных чисел, за которой следует 0. Определить порядковый номер наименьшего из них. Разделитель между числами – символ по усмотрению исполнителя.
2.7. Программа. Даны целое n>0 и последовательность из n вещественных чисел, среди которых есть хотя бы одно отрицательное число. Найти величину наибольшего среди отрицательных чисел этой последовательности.
2.8. Программа. Напечатать таблицу значений функций sinX и cosX на отрезке [0,1] с шагом 0.1 в следующем виде (считать, что при печати на каждое вещественное число отводится по 6 позиций строки):
x sin(X) cos(X)
0.0000 0.0000 1.0000
0.1000 0.0998 0.9950
1.0 0.8415 0.5403
2.9. Вычислить S - сумму квадратов всех целых чисел, попадающих в интервал ( lnX, e^X ), x>1.
2.10. Вычислить k - количество точек с целочисленными координатами, попадающих в круг радиуса R (R>0) с центром в начале координат.
2.11. Логической переменной p присвоить значение true, если целое n(n>1) - простое число, и значение false иначе.
2.12. Даны 100 или более вещественных чисел. Определить, образуют ли они возрастающую последовательность.
2.13. Дана последовательность из 70 целых чисел. Определить, со скольких отрицательных чисел она начинается.
2.14. Программа. Даны натуральное n и n вещественных пар (x,y). Рассматривая пары (x,y) как координаты точек на плоскости, определить радиус наименьшего круга ( с центром в начале координат ), внутрь которого попадают все эти точки.
2.15. Программа. Напечатать все простые делители заданного натурального числа.
2.16. Программа. Найти сумму цифр заданного натурального числа.
2.17. Программа. Определить, является ли заданное натуральное число палиндромом, т.е. таким, десятичная запись которого читается одинаково слева направо и справа налево.
2.18. Вычислить:
А) y=cosx+cosx^2 +cosx^3 + ... +cosx^30.
Б) y=1! + 2! + 3! + ... +n! (n>1)
y- первое из чиселsinx,sinsinx,sinsinsinx,..., меньшее по модулю 10^-4.
2.19. Числа Фибоначчи определяются формулами: f0=f1=1;fn=f(n-1) +f(n-2) приn=2,3,...
А) Определить f- 40-е число Фибоначчи.
Б) Найти f- первое число Фибоначчи, большееm(m>1).
В) Вычислить s- сумму всех чисел Фибоначчи, которые не превосходят 1000.
2.20. Не используя стандартные функции (за исключением abs), вычислить с точностьюeps>0:
y=e^x=1 + x/1! + x^2/2! + ... + x^n/n! + ...;
Б) y=shx=x + x^3/3! + x^5/5! + ... + x^(2n+1)/(2n+1)! + ...;
В) y=cosx=1 -x^2/2!+ x^4/4! - ... + (-1)^n*x^2n/(2n)! + ...;
Г) y=ln(1+x)=x-x^2/2 +x^3/3 - ...+ (-1)^(n-1)*x^n/n + ... ( abs(x)<1 );
Д) y=arctgx=x - x^3/3 + x^5/5 - ... + (-1)^n*x^(2n+1)/(2n+1) + ... ( abs(x)<1 );
Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps, - все последующие слагаемые можно уже не учитывать.
2.21. Определитьk- количество трехзначных натуральных чисел, сумма цифр которых равнаn(1<=n<=27 ). Операции деления ( /,div,mod) не использовать.
2.22. Программа. Дана непустая последовательность положительных вещественных чиселx1,x2, ... ,xn(nзаранее не известно ), за которыми следует отрицательное число. Вычислить величину:
n*x1 + (n-1) *x2 + ... + 2*x(n-1)+xn
2.23. Программа. Дано 80 вещественных чисел. Найти порядковый номер того из них, которое наиболее близко к введенному через диалог целому числу.
2.24. Программа. Дано 100 целых чисел. Определить, сколько из них принимает наибольшее значение.
2.25. Программа. Даны целые числаx1,x2, ...,x55. Вычислить величину
x1(x2+x3)(x4+x5+x6)(x7+x8+x9+x10) ... (x46+x47+...+x55)
2.26. Программа. Дана последовательность из 100 целых чисел. Определить количество чисел в наиболее длинной подпоследовательности из подряд идущих нулей.
2.27. Программа. Дано не менее трех различных натуральных чисел, за которыми следует ноль. Определить три наибольших числа среди них.
2.28. Программа. Дано 200 вещественных чисел. Определить, сколько из них больше своих “соседей”, т.е. предыдущего и последующего чисел.
2.29. Программа. Дана непустая последовательность ненулевых целых чисел, за которой следует 0. Определить, сколько раз в этой последовательности меняется знак. ( Например, в последовательности 1, -34, 8, 14, -5 знак меняется три раза).
2.30. Программа. Даны целоеn>0 и вещественные числаa1,b1,...,an,bn(ai<bi). Рассматриваяaiиbiкак левые и правые концы отрезков на одной и той же прямой, определить концы отрезка, являющегося пересечением всех этих отрезков. Если такого отрезка нет, то сообщить об этом.
2.31. Программа. Найти все целые корни уравненияa*x^3+b*x^2+c*x+d=0, гдеa,b,cиd- заданные целые числа, причемa<>0,d<>0. ( Замечание: целыми корнями могут быть только положительные и отрицательные делители коэффициентаd).
2.32. Программа. Определить, является ли заданное натуральное число совершенным, т.е. равным сумме всех своих (положительных) делителей, кроме самого этого числа.(например, число 6 совершенно: 6=1+2+3 ).
2.33. Программа. Дано 10 натуральных чисел. Найти их наибольший общий делитель.
2.34. Программа. Дано целоеn>2. Напечатать все простые числа из диапазона [2,n].
2.35. Программа. Дана последовательность из не менее чем двух натуральных чисел, за которой следует 0. Вычислить сумму тех из них, порядковые номера которых - простые числа.
2.36. Программа. Дана непустая последовательность натуральных чисел, за которой следует 0. Вычислить сумму тех из них, порядковые номера которых - числа Фибоначчи (см. 2.19).
2.37. Программа. Определить число, получаемое выписыванием в обратном порядке цифр в заданном тексте с цифрами.
2.38. Программа. Дано натуральноеk. Напечататьk-ю цифру последовательности
А) 12345678910111213..., в которой выписаны подряд все натуральные числа.
Б) 149162536..., в которой выписаны подряд квадраты всех натуральных чисел.
В) 1123581321..., в которой выписаны подряд все числа Фибоначчи.
2.39 Написать криптографическую функцию на основе шестизначного произвольного цифрового кода-числа и обратную ей (расшифровка)