10.1. Рассчитать значение х, определив и использовав функцию:
10.3. Определить значение
z = max (a, 2b ) * max(2a —b,2b);
где max ( x , y ) есть максимальное из чисел x , y . При решении задачи:
а) не использовать функцию max ;
б) определить и использовать функцию max .
. 10.4. Определить значение
Z = min ( a , З b )* min (2 a — b , 2 b )
г де min ( x , у) есть минимальное из чисел x , y . При решении задачи:
а) не использовать функцию min ;
б) определить и использовать функцию min .
10.5. Определить значение z = sign x + sign у, где
Значения x и у вводятся с клавиатуры. При решении задачи:
а) не использовать функцию sign ;
б) определить и использовать функцию sign .
10.6. Найти периметр фигуры ABCD по заданным сторонам АВ, АС и DC . (Определить функцию для расчета гипотенузы прямоугольного треугольника по его катетам.)
? ВАС = 90°; ? BCD = 90°
10.7. Даны основания и высоты двух равнобедренных трапеций. Найти сумму их периметров. (Определить функцию для расчета периметра равнобедренной трапеции по ее основаниям и высоте.)
10.8. Даны три квадратных уравнения ах 2 + b х + с = 0, b х 2 - + ах + с = 0, cx + ах + b =0 . Сколько из них имеют вещественные корни? (Определить функцию, позволяющую распознавать наличие вещественных корней в квадратном уравнении).
10.9. Найти периметр треугольника, заданного координатами своих вершин. (Определить функцию для расчета длины отрезка по координатам его вершин.)
10.10. Даны вещественные числа а, b , с, d , e , f , g . Найти площадь пятиугольника, изображенного на рисунке (Определить функцию для расчета площади треугольника по трем его сторонам.)
10.11. Даны вещественные числа х 1 , y 1 , x 2 , y 2 … x 5 , y 5 . Найти площадь пятиугольника (см. рисунок к задаче 10.10), вершины которого имеют координаты (х 1 , y 1 ), ( x 2 , y 2 ), …, ( x 5 , y 5 ). (Определить функцию для расчета площади треугольника по координатам его вершин.)
10.12. Даны две последовательности целых чисел: a 1 , а 2 , ..., а 8 и b 1 b 2 , ..., b 8 . Найти количество четных чисел в первой из них и количество нечетных во второй. (Определить функцию, позволяющую распознавать четные числа.)
10.13. Даны натуральное число n и целые числа a 1 , а 2 , ... а п . Найти количество чисел a 1 ( I = 1, 2, ..., n ), являющихся полными квадратами (Определить функцию, позволяющую распознавать полные квадраты.)
10.14. Даны натуральное число п и целые числа a 1 , a 2 , …, а п . Найти количество чисел а 1 ( I = 1, 2, ..., n ), являющихся степенями пятерки. (Определить функцию, позволяющую распознавать степени пятерки.)
10.15. Найти все простые трехзначные числа (простым называется натуральное число, большее 1, не имеющее других делителей, кроме единицы и самого себя). (Определить функцию, позволяющую распознавать простые числа.)
10.16. Два простых числа (см. предыдущую задачу) называются "близнецами", если они отличаются друг от друга на 2 (таковы, например, числа 41 и 43). Напечатать все пары чисел-"близнецов", не превышающих число 200.
10.17. Найти значение выражения
где n ! означает факториал числа n ( n ! = 1 • 2 • ... • n ). (Определить функцию для расчета факториала натурального числа.)
10.18. Даны два натуральных числа. Выяснить, в каком из них сумма цифр больше. (Определить функцию для расчета суммы цифр натурального числа.)
10.19. Даны два натуральных числа. Выяснить, в каком из них больше цифр. (Определить функцию для расчета количества цифр натурального числа.)
10.20. Получить все шестизначные счастливые номера. Счастливым называют такое шестизначное число, что сумма его первых трех цифр равна сумме его последних трех цифр. (Определить функцию для расчета суммы цифр трехзначного числа.)
10.21. Даны два натуральных числа. Выяснить, является ли хоть одно из них палиндромом ("перевертышем"), т.е. числом, десятичная запись которого читается одинаково слева направо и справа налево. (Определить функцию, позволяющую распознавать числа-палиндромы.)
10.22. Даны 6 различных чисел. Определить максимальное из них. (Определить функцию, находящую максимум из двух различных чисел.)
10.23. Дата некоторого дня характеризуете я тремя натуральными числами: g (год), т (порядковый номер месяца) и n (число). По заданным g , n и m определить:
а) дату предыдущего дня;
б) дату следующего дня.
Определить функцию, вычисляющую количество дней в том или ином месяце.
В обеих задачах рассмотреть 2 случая:
1) заданный год не является високосным;
2) заданный год может быть високосным.
10.24. Даны натуральные числа a и b . Найти их наименьшее общее кратное. (Определить функцию для расчета наибольшего общего делителя двух натуральных чисел, используя алгоритм Евклида.)
10.25. Даны натуральные числа а и b , обозначающие соответственно числитель и знаменатель дроби. Сократить дробь, т.е. найти такие натуральные числа p и q , не имеющие общих делителей, что p / q = а/ b . (Определить функцию для расчета наибольшего общего делителя двух натуральных чисел, используя алгоритм Евклида.)
10.26. Найти наибольший общий делитель трех натуральных чисел, имея в виду, что НОД (а, b , c ) = НОД (НОД( a , b ), с). (Определить функцию для расчета наибольшего общего делителя двух натуральных чисел, используя алгоритм Евклида.)
10.27. Даны n натуральных чисел, Найти их наибольший общий делитель, используя алгоритм Евклида и учитывая, что НОД (а, b , c ) = НОД (НО Д( а, b ), с). (Определить функцию для расчета наибольшего общего делителя двух натуральных чисел, используя алгоритм Евклида.)
10.28. Даны два предложения. Найти общее количество Букв "н" в них. (Определить функцию для расчета количества букв "н" в предложении.)
10.29. Составить программу для нахождения общего количества вхождений заданной буквы в трех заданных
предложениях. (Определить функцию для расчета количества вхождений некоторой буквы в предложение.)
10.30. Даны дна предложения. В каком из них доля ( в %) вхождений букв "б" больше? (Определить функцию для расчета доли вхождений некоторой буквы в предложение.)
10.31. Даны два предложения, в которых имеются буквы "ш". Найти, в каком из них эта буква имеет больший порядковый номер (при счете от начала предложения). Если в предложении имеется несколько букв "ш", то должна быть учтена последняя из них. (Определить функцию для нахождения порядкового номера последнего вхождения в предложение некоторой буквы.)
10.32. Даны три слова. Выяснить, является ли хоть одно из них палиндромом ("перевертышем"), т.е. таким, которое читается одинаково слева направо и справа налево. (Определить функцию, позволяющую рас познавать слова палиндромы.)
10.33. Составить программу, в результате которой величина А меняется значением с величиной В, а величина С —
с величиной П. (Определить процедуру, осуществляющую обмен значениями двух переменных величин.)
10.34. Даны стороны двух треугольников. Найти сумму их периметров и сумму их площадей. (Определить
процедуру для расчета периметра и площади треугольника по его сторонам.) -
10.35. Даны основания и высоты двух равнобедренных трапеций. Найти сумму их периметров и сумму их площадей. (Определить процедуру для расчета периметра и площади равнобедренной трапеции по ее основаниям и высоте.)
10.36. Написать рекурсивную функцию для вычисления факториала натурального числа n .
10.37. В некоторых языках программирования (например, в Паскале) не предусмотрена операция возведения в
степень. Написать рекурсивную функцию для расчета степени вещественного числа а ( п — натуральное число).
10.38. Написать рекурсивную функцию.
а) вычисления суммы цифр натурального числа;
б) вычисления количества цифр натурального числа.
10.39. Даны первый член и разность арифметической прогрессии. Написать курсивную функцию для
нахождения:
а) n -го члена прогрессии;
б) суммы n первых членов прогрессии.
10.40. Даны первый член и знаменатель геометрической прогрессии. Написать рекурсивную функцию:
а) нахождения ее м-го члена;
б) нахождения суммы n первых членов прогрессии.
10.41. Написать рекурсивную функцию для вычисления k -го члена последовательности Фибоначчи. Последовательность Фибоначчи f 1, f 2... образуется по закону: f 1 =1; f 2 =1; f i -1 + f i -2 ( I =3,4 …) ...
10.42. Написать рекурсивную функцию для вычисления значения так называемой функции Аккермана для неотрицательных чисел п и т. Функция Аккермана определяется следующим образом:
10.43. Определить результат выполнения следующих рекурсивных процедур при n =5:
алг Процедура 1( алг цел n )
нач
если n >0
то
вывод n
Процедура 1( n -1)
все
кон
алг Процедура 2 ( арг цел n )
нач
если n >0
то
Процедура 2 ( n -1)
вывод n
все
кон
алг Процедура3( арг цел n )
нач
если n >0
то
вывод n
Процедура З ( n -1)
вывод n
все
кон
10.44. Написать рекурсивную процедуру для вывода на экран цифр натурального числа в обратном порядке.
10.45. Написать рекурсивную процедуру для ввода с клавиатуры последовательности чисел и вывода ее на
экран в обратном порядке (окончание последовательности — при вводе нуля).
10.46. Написать рекурсивную процедуру перевода натурального числа из десятичной системы счисления в двоичную.
10.47. Написать рекурсивную процедуру перевода натурального числа из десятичной системы счисления в
N -ичную. Значение N в основной программе вводится с клавиатуры (2 < N < 16).
10.48. Написать рекурсивную функцию, определяющую, является ли заданное натуральное число простым (простым называется натуральное число, большее 1, не имеющее других делителей, кроме единицы и самого себя).