Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задачник-практикум по основам программирования. Учебное пособие по курсу «Информатика»

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

14) Вычислить значение y, где

y = th(a + b)

th(c + b) .

 

th(a + c)

th(a c)

значения гиперболического тангенса по формуле th(x) = оформить в виде функции.

Вычисление

ex ex ex + ex

 

th(a + b)

th(c + b)

 

15) Вычислить значение y, где

y = th(a + c)

th(a c)

. Вычисле-

ние приближенного значения гиперболического тангенса по формуле

 

 

x2 k +1

 

 

 

 

 

 

 

(2k + 1)!

 

th(x) =

k=0

оформить в виде функции.

 

x2 k

 

 

 

 

 

(2k)!

 

 

k=0

 

Вычисления прекратить, как только абсолютная величина очередного члена ряда станет меньше заданного eps (0 < eps << 1).

16)Описать функцию, которая проверяет, делится ли целое число x на целое число m.

Получить в порядке возрастания n первых натуральных чисел, которые не делятся на число р, но делятся на число к.

17)Описать логическую функцию проверки, является ли заданное целое число квадратом какого-либо целого числа. Используя эту функцию, найти количество квадратов в последовательности из n целых положитель- ных чисел.

18)Описать логическую функцию, которая проверяет, является ли заданное целое число k степенью некоторого целого числа p. Используя эту функцию, найти количество степеней числа p в последовательности из n целых положительных чисел.

19)Описать логическую функцию, которая проверяет, является ли заданное целое число простым. Найти количество простых чисел в последо- вательности из n целых положительных чисел, используя эту функцию.

20)Описать функцию вычисления площади треугольника по координа- там его вершин. Для n пар действительных чисел найти площадь выпуклого n-угольника, вершины которого при некотором последовательном обходе имеют координаты (x1, y1), (x2, y2), …, (xn, yn), используя эту функцию.

21)Даны уравнения трех попарно не параллельных прямых, в пере- сечении образующих треугольник. Найти значения углов треугольника в радианах. Формулу вычисление угла между двумя прямыми описать в виде функции.

111

22) Описать функцию нахождения arcsin x

 

π

,

 

 

если

 

x

 

= 1

x

2

 

 

 

 

arcsin x =

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arctg

1- x

2

, иначе

 

 

 

 

 

 

 

 

 

Используя эту функцию, вычислить значения функции arcsin x для каждого элемента x из последовательности n вещественных чисел.

23) Описать функцию нахождения arccos x

π

,

 

 

 

если x = 0

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

1− x

2

 

 

arccos x = arctg

 

+ π,

если x < 0

x

 

 

 

 

 

 

 

 

 

 

1− x

2

 

если x > 0

arctg

 

,

x

 

 

 

 

 

 

 

Используя эту функцию, вычислить значения функции arccos x для каждого элемента x из последовательности n вещественных чисел.

24) Описать функцию вычисления приближенного значения функции Бесселя первого рода по формуле:

 

x

2

 

 

 

1

 

x

4

 

 

1

 

x

 

6

J0

(x) = 1−

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ ...

 

 

2

2

2

 

2

2

2

2

 

 

2

 

 

1

 

2

 

1

 

3

2

 

 

Используя эту функцию, вычислить значения функции J0(x) для каж- дого элемента x из последовательности n вещественных чисел.

Примечание. Для проверки использовать контрольные примеры:

J0(0.5) = 0.9384698 и J0(2) = 2.2795853.

25) Описать функцию вычисления приближенного значения функции Бесселя первого рода по формуле [11]:

J1

(x) =

x

 

 

 

1

 

x

3

 

 

1

 

 

x

 

5

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

− ...

2

 

2

 

2

 

2

2

2

3

 

 

 

 

1

 

2

 

1

 

2

 

 

Используя эту функцию, вычислить значения функции J1(x) для каж- дого элемента x из последовательности n вещественных чисел.

Примечание. Для проверки использовать контрольный пример

J1(2) = = 1.590636855.

Задание 2

Описать и использовать процедуры.

1) Описать процедуру нахождения коэффициентов приведенного квадратного уравнения по заданным двум его корням. Используя эту проце-

112

дуру, для каждой из n пар корней x1 и x2 получить и выдать коэффициенты квадратного уравнения.

2)Описать процедуру нахождения корней биквадратного уравнения ax4 + bx2 + c = 0, (a 0). Используя эту процедуру, найти для каждого из n уравнений действительные корни (два или четыре); если действительных корней нет, то должно быть выдано сообщение об этом.

3)Описать процедуру, вычисляющую периметр и площадь прямо- угольника со сторонами, параллельными осям координат, по координатам его противоположных вершин (расположенных по диагонали). Используя этупроцедуру, найтипериметрыиплощадиn прямоугольниковсзаданными координатами противоположных вершин.

4)Описать процедуру нахождения по заданной длине стороны тре- угольника и величинам двух прилежащих углов длин остальных сторон треугольника и величины третьего угла. Применить процедуру для n треугольников, задавая каждый раз длину стороны и величины двух при- лежащих углов.

5)Описатьпроцедурунахожденияколичестваисуммыцифрцелогопо- ложительногочисла. Используяэтупроцедуру, найтичислосмаксимальным количеством цифр и минимальной суммой цифр, среди n заданных чисел.

6)Описать процедуру, добавляющую к целому положительному чис- лу справа другое целое положительное число. Используя эту процедуру, добавить заданное целое положительное число справа к m разным целым положительным числам. Вывести результат каждого добавления.

7)Описать процедуру добавления к целому положительному числу слева заданную цифру. Используя эту процедуру, последовательно добавить

кзаданному числу слева три заданные цифры, выводя результат каждого добавления.

8)Описать процедуру MinMax(X, Y), записывающую в переменную X минимальное из значений X и Y, а в переменную Y максимальное из этих значений. Используя четыре вызова этой процедуры, найти минимальное

имаксимальное значения из данных чисел A, B, C, D.

9)Описать процедуру вычисления суммы двух комплексных чисел, представленных в алгебраической форме, и процедуру вывода комплекс- ного числа в виде a+ib. Используя эти процедуры, найти сумму четырех комплексных чисел и вывести полученный результат.

Примечание. Комплексноечислозадаетсявещественной a имнимойb частями (a+ib). Суммой двух комплексных чисел a1+ i b1 и a2+ i b2 называют комплексное

число (a1+a2)+ i (b1+b2).

113

10) Описать процедуру вычисления разности двух комплексных чисел, представленных в алгебраической форме, и процедуру вывода комплексного числа в виде a+ i b. Применить процедуры для нахождения разности для n пар комплексных чисел и вывода полученных результатов.

Примечание. Комплексное число задается вещественной a и мнимой b час- тями (a+i b). Разностью двух комплексных чисел a1+ i b1 и a2+ i b2 называют комплексное число (a1 – a2)+ i (b1 – b2).

11) Описать процедуру вычисления произведения двух комплексных чисел, и процедуру вывода комплексного числа в виде a+i b. Используя эти процедуры, найти произведение четырех комплексных чисел и вывести полученный результат.

Примечание. Комплексное число задается вещественной a и мнимой b частя- ми (a+ib). Произведением двух комплексных чисел a1+ i b1 и a2+ i b2 называют комплексное число (a1·a2–b1·b2)+ i (a1·b2+b1·a2).

12) Описать процедуру вычисления частного от деления двух комп- лексных чисел, если оно существует, и процедуру вывода комплексного числа в виде a+ i b. Применить процедуры для нахождения частного для n пар комплексных чисел и вывода полученных результатов.

Примечание. Комплексное число задается вещественной a и мнимой b частями (a+ib). Частным от деления комплексного числа a1+ i b1 (делимого) на комплексное число a2+i b2 (делитель) является (если делитель не равен нулю) комплексное число x+ i y:

x =

a1 a2 + b1 b2

,

y =

b1 a2 a1 b2

a2 2 +b22

a2 2 +b22

 

 

 

13)Описать процедуру вычисления суммы двух дробей вида a/b,

ипроцедуру вывода дроби в виде a/b. Использовать эти процедуры для вы- числения суммы 1+1/2+1/3+…+1/n и вывода результата в виде дроби.

14)Описать процедуру вычисления разности двух дробей вида a/b,

ипроцедуру вывода дроби в виде a/b. Использовать эти процедуры для на- хождения разностей и вывода результата в виде дроби для n пар дробей.

15)Описать процедуру вычисления произведения двух дробей вида a/b,

ипроцедуру вывода дроби в виде a/b. Использовать эту процедуру для на- хождения произведения и вывода результата в виде дроби для n дробей.

16)Описать процедуру вычисления частного двух дробей вида a/b,

ипроцедуру вывода дроби в виде a/b. Использовать эту процедуру для нахождения частного и вывода результата в виде дроби для n пар дробей.

114

17)Описать процедуру нахождения n-го члена арифметической про- грессии и суммы n ее членов. Прогрессия определяется первым членом

иразностью. Применить процедуру для нахождения n-го члена арифме- тической прогрессии и суммы n ее членов для m разных арифметических прогрессий.

18)Описать процедуру нахождения n-го члена геометрической про- грессии и суммы n ее членов. Прогрессия определяется первым членом и знаменателем. Применить процедуру для нахождения n-го члена геомет- рической прогрессии и суммы n ее членов для m разных геометрических прогрессий.

19)Описать процедуру, которая увеличивает на T секунд время, за- данное в часах H, минутах M и секундах S. Дано время (в часах, минутах,

секундах) и целые n чисел {Tn}. Используя эту процедуру, увеличить данное время последовательно на заданные количества секунд Ti. После каждого увеличения выводить результаты.

20)Описать процедуру, которая уменьшает наT секунд время, заданное в часах H, минутах M и секундах S. Дано время (в часах, минутах, секун-

дах) и целые n чисел {Tn}. Используя эту процедуру, уменьшить данное время последовательно на заданные количества секунд Ti. После каждого уменьшения выводить результаты.

21)Описать процедуру, которая по двум датам (d1, m1, y1 – число, месяц и год первой даты и d2, m2, y2 – число, месяц и год второй даты) определяет количество дней, количество целых месяцев и количество полных лет между этими датами. Используя эту процедуру определить количество дней, количество целых месяцев и количество полных лет между n парами дат.

22)Описать процедуру возведения комплексного числа в целую сте- пень, и процедуру печати комплексного числа в виде r[cosϕ + i sin ϕ ]. Ис- пользуя эти процедуры, возвести заданное комплексное число в n заданных различных степеней и вывести полученные результаты.

Примечание. Комплексное число задается модулем r и аргументом (углом) φ. При возведении комплексного числа в целую степень модуль возводится в ту же степень, а аргумент умножается на показатель степени (формула Муавра): rn (cos nϕ + i sin nϕ ).

23) Описать процедуру извлечения квадратного корня из комплексного числа, и процедуру печати комплексного числа в виде r[cosϕ + i sin ϕ ]. При- менить процедуры для извлечения квадратного корня для n комплексных чисел и вывода полученных результатов.

115

Примечание. Комплексное число задается модулем r и аргументом (углом) φ. Корень n-ой степени (n натуральное) из комплексного числа имеет n различных

значений:

n

 

ϕ + 2kπ

+

 

r cos

n

 

 

 

 

i sin

ϕ + 2kπ

, k = 0, 1, 2, ..., n 1.

n

 

 

 

 

24) Описать процедуру вычисления произведения двух комплексных чисел, и процедуру печати комплексного числа в виде r[cosϕ + i sin ϕ ]. Используя эти процедуры, произведение четырех комплексных чисел и вывести полученный результат.

Примечание. Комплексное число задается модулем r и аргументом (углом) φ. При умножении комплексных чисел, заданных модулем r и аргу- ментом (углом) φ, их модули перемножаются, а аргументы складываются:

r1 r2

cos (ϕ

1

+ ϕ

2

)+ i sin (ϕ

1

+ ϕ

) .

 

 

 

 

 

2

25) Описать процедуру вычисления частного от деления двух комплек- сных чисел, если оно существует, и процедуру печати комплексного числа в виде r[cosϕ + i sin ϕ ]. Применить процедуры для нахождения частного для n пар комплексных чисел и вывода полученных результатов.

Примечание. Комплексное число задается модулем r и аргументом (углом) φ. При делении комплексных чисел их модули делятся, а аргументы вычитаются:

r1

cos (ϕ

 

− ϕ

 

)+ i sin (ϕ

 

− ϕ

) ,

r 0.

r

 

 

 

[

1

 

2

 

1

 

2 ]

2

2

 

 

 

 

 

 

 

 

 

Задание 3

При решении задач следует самостоятельно определить, какие под- задачи следует оформить в виде подпрограмм и какие виды подпрограмм (процедуры или функции) следует использовать.

1)«Близнецы» этопростые числа, разность между которыми равна 2. Выдать все пары «близнецов» из отрезка [a, b], где a, b заданные целые положительные числа, а > 2, b > a.

2)Выдать все пары простых чисел, разность между которыми равна 4,

асами числа меньше заданного натурального числа n.

3)Гипотеза Гольбаха (до сих пор не опровергнутая и не доказанная) состоит в том, что каждое четное число n > 2, можно представить в виде суммы двух простых чисел [8]. Проверить гипотезу Гольбаха для четных чисел, не превышающих заданного натурального числа n.

4)Совершенное число равно сумме своих делителей, включая единицу и не включая себя самого. Выдать все совершенные числа, меньшие задан- ного натурального числа n.

116

5)Найтивсеменьшие 100 натуральные числаперевертыши», которые при возведении в квадрат также дают числаперевертыши».

6)Дано натуральное число n и последовательность из n целых чисел. Выдать все элементы последовательности, состоящие из k цифр.

7)Дано натуральное число n и последовательность из n целых чисел. Вывести те элементы последовательности, в записи которых все цифры различные.

8)Дано натуральное число n и последовательность из n целых чисел. Вывести все элементы последовательности с заданной суммой цифр.

9)Дано натуральное число n и последовательность из n целых чисел. Вывести все элементы последовательности, у которых цифра старшего разряда числа равна заданной цифре a.

10)Дано натуральное число n и последовательность из n целых чисел. Посчитать среднее арифметическое тех элементов последовательности, все цифры которых равны между собой.

11)Дано натуральное число n и последовательность из n целых чисел. Вывести все элементы последовательности, сумма цифр которых равна заданному числу.

12)Дана последовательность ненулевых целых чисел; признак ее завершения число 0. Посчитать количество элементов заданной после- довательности, которые являются степенями заданного числа.

13)Дана последовательность ненулевых целых чисел; признак ее за- вершения число 0. Посчитать в заданной последовательности количество простых чисел.

14)Числа Хэмминга это натуральные числа, не имеющие других простых делителей, кроме 2, 3, 5 [8]. Найти сумму всех чисел Хемминга

сномера n по номер m (n < m).

15)Дано натуральное число n. Среди чисел 1, 2, …, n найти такие, запись которых совпадает с последними цифрами записи их квадратов.

Например: 62 = 36, 252 = 625.

16)Дано натуральное число n. Найти все натуральные числа, не пре- восходящие заданного числа n, которые делятся на каждую из своих цифр. Например, число 24 делится на 2 и на 4.

17)Даны натуральные числа n, m. Найти все натуральные числа, меньшие n, квадрат суммы цифр которых меньше или равен числу m. На- пример, n = 10, m = 20. Такими числами являются числа 1, 2, 3, 4. Число 5 уже не подходит, так как 52 > 20.

117

18)Дано натуральное число n. Найти целые числа, не превосходящие

n, которые при возведении в квадрат дают числа, читающиеся одинаково справа налево и слева направо. Например: 222 = 484.

19)Дано натуральное число n. На интервале [2, n] найти натуральное число с максимальной суммой делителей.

20)Вывести все двузначные целые числа, сумма цифр которых чет- ное число и больше произведения цифр числа.

21)Дано натуральное число n и последовательность из n натуральных чисел. Выдать все простые числа из этой последовательности.

22)Дано натуральное число n. Выдать все простые делители заданного натурального числа n.

23)Дано натуральное число n и последовательность из n правильных дат. Для каждой из дат определить дату следующего дня.

24)Дано натуральное число n и последовательность из n натуральных чисел. Найти их наибольший общий делитель.

25)Три прямые на плоскости заданы уравнениями akx+bky = ck (k = 1, 2, 3). Если эти прямые попарно пересекаются и образуют треугольник, то тогда найти его площадь, иначе сообщить об отсутствии пересечений.

Задание 4

Дана последовательность из n целых чисел, содержащая не менее трех элементов. Описать подпрограмму (процедуру или функцию) и показать ее применение в программе. Элементы последовательности вводятся в теле подпрограммы, а остальные входные данные передаются подпрограмме в качестве параметров.

1)Описать процедуру нахождения минимального и максимального элементов заданной последовательности.

2)Описать процедуру нахождения номера первого минимального и последнего максимального элемента заданной последовательности

3)Описать процедуру нахождения номера первого и последнего мак- симального элемента заданной последовательности

4)Описать функцию нахождения максимального положительного элемента заданной последовательности. Если положительные элементы в последовательности отсутствуют, то функция должна вернуть 0.

5)Описать функцию нахождения номера минимального нечетного элемента заданной последовательности. Если нечетные элементы в пос- ледовательности отсутствуют, то функция должна вернуть 0.

118

6)Описать процедуру нахождения минимального элемента и его но- мера среди тех элементов заданной последовательности, которые больше B. Если чисел, больших B в последовательности нет, то значениями выходных параметров будут нули.

7)Описать процедуру нахождения максимального элемента и его номера среди тех элементов заданной последовательности, которые содер- жатся в интервале (B, C ). Если числа, принадлежащие интервалу (B, C ) отсутствуют в последовательности, то значениями выходных параметров будут нули.

8)Описать функцию нахождения номера последнего экстремального (т. е. минимального или максимального) элемента заданной последова- тельности.

9)Описать функцию нахождения номера первого экстремального (т. е. минимального или максимального) элемента заданной последова- тельности.

10)Описать функцию нахождения минимального количества подряд идущих максимальных элементов заданной последовательности.

11)Описать функцию нахождения максимального количества подряд идущих минимальных элементов заданной последовательности.

12)Описать функцию нахождения максимального количества четных чисел, идущих подряд в заданной последовательности. Если четных чисел

впоследовательности нет, то функция должна вернуть 0.

13)Описатьпроцедурунахождения номеровдвухсоседнихчиселзадан- ной последовательности, произведение которых является максимальным.

14)Описать функцию нахождения минимальной суммы двух соседних чисел заданной последовательности.

15)Описать процедуру нахождения двух наименьших элементов за- данной последовательности. В программе выводить элементы в порядке уменьшения их значений.

16)Описать процедуру нахождения трех наибольших элементов за- данной последовательности. В программе выводить элементы в порядке увеличения их значений.

17)Описать функцию нахождения среднего значения элементов заданной последовательности, все элементы которой различны. Среднее значение среднее арифметическое без учета минимального и максималь- ного значений последовательности.

18)Описатьфункциюнахождения количестваминимальных элементов

взаданной последовательности.

119

19)Описать процедуру нахождения количества максимальных эле- ментов в заданной последовательности.

20)Описать функцию для нахождения общего количества экстре- мальных (т. е. минимальных и максимальных) элементов в заданной последовательности.

21)Описать функцию нахождения количества элементов, располо- женных перед первым максимальным элементом заданной последова- тельности.

22)Описать функцию нахождения количества элементов, располо- женных после последнего минимального элемента заданной последова- тельности.

23)Описать функцию нахождения количества элементов, содержа- щихся между первым и последним максимальным элементом заданной последовательности. Если в последовательности имеется единственный максимальный элемент, то функция должна вернуть 0.

24)Описать процедуру нахождения номера элемента, с которого начинается самая длинная подпоследовательность одинаковых чисел в заданной последовательности, и количество элементов в этой подпосле- довательности. Если таких подпоследовательностей несколько, то найти номер первой из них.

25)Описать процедуру нахождения значения и номера элемента,

скоторого начинается самая длинная подпоследовательность одинаковых чисел в заданной последовательности, и количество элементов в этой под- последовательности. Если таких подпоследовательностей несколько, то найти номер последней из них.

120

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]