
- •Глава 7. Задачи по программированию для индивидуального решения
- •§ 1 Линейная программа
- •1.25 Дан радиус сферы (r) в метрах. Составить программу для вычисления площади полной поверхности:
- •§ 2 Библиотечные функции в линейных программах
- •Угол — количество гр., количество минут мин., количество секунд сек.
- •Примечание
- •§ 3 Разветвляющиеся программы
- •Примечание
- •Прямые перпендикулярны
- •§ 4 Циклические программы. Использование массивов в программах
- •§5 Внешние файлы. Использование массивов в программах
- •§ 6 Использование внешних процедур и функций в программах
- •Получить:
- •§ 7 Задачи на применение изученных алгоритмических структур
- •§ 8 Задачи на обработку матриц
§ 6 Использование внешних процедур и функций в программах
Даны действительные числа a, b, c.
Получить:
.
Для нахождения максимума в программе определить одну функцию.
6.2 Составить программу для вычисления биномиального коэффициента
Cnk
=
Для вычисления факториалов использовать функцию.
Составить программу для вычисления u= min (a, b), v=min(min(ab, a+b), min (u+v2, 3.14)), где a и b — действительные числа. Нахождения минимума оформить как функцию.
Составить программу для вычисления
Q=
,
где
(
).
Возведение в степень оформить в виде функции.
Даны действительные числа s, t. Получить
h
(s, t) + max (h2
(s-,st,h2(s-t,
s+t)), где
Вычисление h(a,b) и max оформить в виде процедур.
Даны действительные числа s, t.
Получить f(t, -2s, 1.17) + f(2.2, t, s-t), где
Д
ля
вычисления f(a,b,c)
в программе предусмотреть процедуру.
Даны действительные числа s, t. Получить
g(1.2, s) + g(t, s)-g(2s-1,st),
где
g(a,b) =
.
Вычисление g в программе оформить в виде процедуры.
Составить программу для вычисления Y=
, если А
1и =0 в других случаях. Угол G задан в градусах, минутах, секундах. Для перевода угла в радианы и вычисления котангенса использовать процедуру. В программу передать значение угла, переведенное в радианы и котангенс угла.
Составить программу для вычисления t(x)=
. Вычисление степени и факториала оформить в виде функций.
Составить программу для вычисления Y=a*cos(G); X=a*sin(G). Перевод угла G в радианы и вычисление cos и sin предусмотреть в процедуре.
Составить программу для вычисления суммы ряда
где n, m — натуральные числа, x принадлежит отрезку [0, ½]. Для возведения аргументов в степень n разработать функцию.
Написать программу для вычисления суммы ряда
где n, m — натуральные числа, x- вещественное число. Для вычисления степени n аргумента x, факториала n разработать внутренние функции.
Даны коэффициенты двух квадратных уравнений a1x2+b1x+c1=0 и a2x2+b2x+c2=0. Составить программу для вычисления значений:
г
де
x1
и y1
— корни 1-го уравнения;
x2 и y2 — корни 2-го уравнения.
Для решения квадратного уравнения предусмотреть в программе процедуру.
Составить программу для вычисления суммы ряда
где x — вещественное число;
n, m — натуральные числа.
Для возведения в степень и вычисления факториала разработать функции.
Дано действительное число h. Составить программу, предусматривающую следующие действия.
Проверка уравнения a1x2+b1x+c1=0 на наличие действительных корней, если
Если действительные корни существуют, то найти их.
В противном случае вывести сообщение, что действительных корней уравнение не имеет.
Для вычисления корней уравнения в программе предусмотреть процедуру.
Даны натуральные числа m и n. Получить
Для вычисления факториала в программе предусмотреть функцию.
Даны: натуральное число n, действительное число x. Получить
Для вычисления факториала и возведения в степень в программе предусмотреть функции.
Дано натуральное число n. Вычислить
Для вычисления каждого члена суммы воспользоваться функцией.
Даны действительные числа c, d. Вычислить
где x1 — больший, а x2 — меньший корень уравнения x2+3x+|cd|=0. Для вычисления корней уравнения в программе предусмотреть процедуру.
Даны a1, a2, …, an и b1, b2, …, bn — последовательности вещественных чисел. Найти:
В программе предусмотреть процедуру поиска максимального и минимального элементов заданной последовательности.
Составить программу для вычисления суммы a1sinx+ b1 cosx+a2csin2x+b2cos2x+ …+ ansin nx + bn cos n, где a1=1, b1 =1/2,
Для вычисления ai и bi в программе предусмотреть процедуру.
Даны действительные числа a, b, c, d. Найти площадь пятиугольника, изображенного на рисунке 7-6. Определить процедуру вычисления площади треугольника по трем сторонам.
a
1 2 b
2
,5
d c
Рис.7-6.
Даны действительные числа x1, y1, x2, y2, …, x10, y10. Найти периметр десятиугольника, вершины которого имеют соответственно координаты (x1, y1), (x2, y2), …, (x10, y10). В программе определить процедуру вычисления расстояния между двумя точками, заданными своими координатами:
Написать программу вычисления площади треугольного участка по известному значению боковой стороны A в метрах и углов при основании , в градусах, минутах и секундах.
Площадь вычислять в гектарах с точностью до 0,1 га.
В программе предусмотреть проверку + <180 (для этого углы необходимо предварительно перевести в градусы). В случае нарушения указанного соотношения, вывести сообщение УГЛЫ НЕРЕАЛЬНЫ и передавать управление оператору ввода исходных данных.
В программе воспользоваться функцией пользователя для перевода углов из градусной меры в радианную.
Форма запросов при вводе исходных данных:
СТОРОНА =
ПЕРВЫЙ УГОЛ: ГР., МИН., СЕК =
ВТОРОЙ УГОЛ: ГР., МИН., СЕК =
Форма вывода результата:
ПЛОЩАДЬ = значение S ГА.
Написать программу для вычисления площади треугольного участка по известному значению основания C в метрах и углов при основании , в градусах, минутах и секундах. Площадь определить в гектарах с точностью до 0,01 га.
В программе предусмотреть проверку соотношения +<180 (для этого и необходимо предварительно перевести в градусы с десятичной дробной частью). В случае невыполнения этого соотношения выводить сообщение СУММА УГЛОВ ПРЕВОСХОДИТ 180 ГР. И передать управление оператору ввода исходных данных.
Формула для вычисления площади:
В программе воспользоваться внутренней функцией для перевода угла из градусной меры в радианную.
Форма запросов при вводе исходных данных:
СТОРОНА=
ПЕРВЫЙ УГОЛ: ГР., МИН., СЕК.=
ВТОРОЙ УГОЛ: ГР., МИН., СЕК.=
Форма вывода результата:
ПЛОЩАДЬ= значение S ГА.
Написать программу для вычисления площади четырехугольного участка по заданным значениям двух противолежащих углов , и образующих эти углы сторон А, В и С, D:
Углы вводить в градусах, минутах и секундах, стороны — в метрах, значение площади выводить в гектарах, округляя до 0,01 га. В программе предусмотреть проверку существования четырехугольника с указанными значениями сторон и противолежащих углов.
Если указанное неравенство не выполняется, выводить сообщение УЧАСТОК С УКАЗАННЫМИ ПАРАМЕТРАМИ НЕ СУЩЕСТВУЕТ и передать управление операторам ввода исходных данных.
В программе предусмотреть следующие запросы при вводе исходных данных:
СТОРОНЫ A, B=
УГОЛ МЕЖДУ A, B: ГР., МИН., СЕК.=
СТОРОНЫ C, D=
УГОЛ МЕЖДУ C, D: ГР., МИН., СЕК.=
Форма вывода результата:
ПЛОЩАДЬ= значение S ГА.
В программе воспользоваться функцией для перевода угла из градусной меры в радианную.
Из вершины О участка, изображенного на рис.7-7, измерены расстояния A, B, C до остальных его вершин и углы 1 2. Написать программу для вычисления площади этого участка по формуле
A B
1
2
С
Рис. 7-7.
Расстояния A, B, C измерены в метрах, углы , в градусах, минутах, секундах. Площадь вычислить в гектарах с точностью до 0,01 га.
В программе предусмотреть следующие запросы при вводе:
A, B, C=
УГОЛ МЕЖДУ A и B: ГР., МИН., СЕК.=
УГОЛ МЕЖДУ C и D: ГР., МИН., СЕК.=
Для вычисления синусов углов, заданных в градусах, минутах и секундах разработать функцию.
Форма вывода результата:
ПЛОЩАДЬ= значение S ГА.
Написать программу, которая определяет, как расположена точка с координатами X3, Y3 по отношению к прямой, проведенной через точки X1,Y1 и X2, Y2 и точке с координатами X0, Y0 (рис. 7-8).
X0 Y0
X3
Y3
X2
Y2
(R1R2>0) X3 Y3 (R2=0)
X3 Y3
X1 Y1 (R1R2<0)
Рис.7-8.
Для этого программа должна вначале вычислить величину
Предусмотреть проверку знаменателя на равенство 0. Если знаменатель оказался нулевым ввести другие координаты точек.
Затем проверить условие R1=0. Если это условие выполняется, необходимо вывести сообщение КОНТРОЛЬНАЯ ТОЧКА ЛЕЖИТ НА ПРЯМОЙ и передать управление операторам ввода X0,Y0 для исправления координат контрольной точки.
Если условие R1=0 не выполняется, необходимо вычислить величину
Если R1 и R2 совпадут, значит, точки лежат по одну сторону от прямой, если не совпадут, значит, точки лежат по разные стороны от прямой, если R2, значит, точка X3 Y3 лежит на прямой.
Для вычисления R1 и R2 использовать внутреннюю функцию.
Форма запросов при вводе:
X1, Y1=
X2, Y2=
X0,Y0=
X3, Y3=
В качестве результата выводить одно из следующих сообщений:
ТОЧКА номер точки ЛЕЖИТ ПО ОДНУ СТОРОНУ С КОНТРОЛЬНОЙ ТОЧКОЙ или ТОЧКА номер точки ЛЕЖИТ ПО РАЗНЫЕ СТОРОНЫ С КОНТРОЛЬНОЙ ТОЧКОЙ или ТОЧКА номер точки ЛЕЖИТ НА ПРЯМОЙ.
Написать программу для определения взаимного расположения точек с координатами X1,Y1 и X2, Y2 по отношению к прямой, которая задается уравнением AX+BY+C=0. Для этого в программе необходимо сравнить знаки выражений, вычисляемых по формулам AX1+BY1+C=0 и AX2+BY2+C=0. При этом возможны следующие ситуации:
— если знаки обоих выражений совпадают, то обе точки лежат по одну сторону от прямой,
— если знаки у выражений различны, то точки лежат по разные стороны от прямой,
— если одно или оба выражения равны нулю, то соответственно одна или обе точки лежат на прямой.
Для вычисления выражений вида AX+BY+C=0 разработать функцию.
В программе предусмотреть следующую форму запросов при вводе данных:
A, B, C=
X1, Y1=
X2, Y2=
В качестве результата выводить одно из следующих сообщений ПО РАЗНЫЕ СТОРОНЫ или ПО ОДНУ СТОРОНУ или ТОЧКА номер точки ЛЕЖИТ НА ПРЯМОЙ.
Написать программу для определения углов треугольника , , по заданным значениям сторон A, B, C, используя теорему косинусов:
В программе предусмотреть проверку существования треугольника с заданными сторонами. Условие существования:
(A+B>C)(A+C>B) (B+C>A).
Если указанное условие не выполняется, выдавать сообщение: ИЗ ВВЕДЕННЫХ СТОРОН ТРЕУГОЛЬНИК ПОСТРОИТЬ НЕЛЬЗЯ, затем передавать управление оператору ввода исходных данных.
Для определения угла использовать преобразование
В этом случае:
Аналогично для и .
Значения углов выводить в градусах, минутах и секундах, округляя до 1 сек.
Для определения и вывода значения углов в гр., мин., сек. Использовать процедуру.
В программе предусмотреть следующую форму запросов при вводе исходных данных:
СТОРОНЫ A, B, C =
Форма вывода результатов:
УГОЛ АЛЬФА = значение в гр., мин., сек.
УГОЛ БЕТА = значение в гр., мин., сек.
УГОЛ ГАММА = значение в гр., мин., сек.