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, не имею­щее других делителей, кроме единицы и самого себя).