Информатика в задачах, примерах, алгоритмах
.pdf
4. Линейные программы
131. По заданной длине à сторонам правильного n-угольника найти величину его внутреннего угла, площадь, радиусы вписанной и описанной окружностей. (Радиусы описанной R и вписанной r окружностей вычисляются по формулам:
R = |
a |
; |
r = |
a |
, |
||
|
|
|
|
||||
2Sin |
180 |
2tg |
180 |
||||
|
n |
|
|
n |
|
||
|
|
|
|
|
|
||
площадь треугольника по трем сторона можно вычислить по формуле Герона:
S = 
p(p − a)(p − b)(p − c)
ãäå p = 12 (a + b + c).
Для того, чтобы перевести значение углов из градусов в радиа-
ны, необходимо величину угла в градусах умножить на число π , 180
ãäå π = 3,141592654.) Ответ: Ïðè n = 6 è a = 1
внутренний угол равен 120°; R = 1; r = 0866 025 4 площадь равна 2,598076.
132. Даны две прямые y = k1 x + b1 , y = k2 x + b2 . Найти координаты точки пересечения. (Точка пересечения P(x p , y p ) принадлежит обеим прямым, т.е. является решением этой системы уравнения.)
Ответ: Ïðè k1 = 2,057, b1 = 89, k2 = 0,0073, b2 = 21,0753 x p = −33,13885, y p = 20,83339.
133. По заданным сторонам à, b, c треугольника найти его углы. Выразить углы в градусах и радианах. (Можно воспользоваться
теоремой косинусов: a 2 |
= b 2 |
+ c 2 − 2bcCos α и соотношением ме- |
|||
|
|
|
|
|
|
æäó cos è tg: tgα = |
1 − |
cos 2 |
α |
||
|
|
|
|
), т.к. для вычисления углов можно |
|
|
cos α |
|
|||
|
|
|
|
||
использовать только одну функцию ATN()-арктангенс. АTN возвращает угол в радианах. Для перевода в градусы необходимо по-
лученное значение разделить на число π . 180
41
Информатика в задачах, примерах, алгоритмах
Ответ: Ïðè a = 3, b = 4, c = 5 получаются следующие значения углов:
α |
= 36,869 897 3° |
β |
= 53,130 101 77° |
γ |
= 90,000 002 49° |
134. Вычислить расстояние l м от наблюдателя, находящегося на высоте h м от поверхности земли, до линии горизонта. Радиус Земли R принять равным 6380 км. (Расстояние можно рассчитать
по формуле: l = 
(R + h)2 .)
Ответ: Ïðè h = 10 ì l = 11293,02 ì.
135. Дано количество суток n. Посчитать число часов h, минут M и секунд s в данном количестве суток. Использовать только одну переменную.
Ответ: Ïðè n = 92 h = 2 208, M = 132 480, s = 7 948 800.
5. Условный оператор
Условный оператор проверяет выполнение некоторого условия при помощи (посредством) операций сравнения или знаков булевой операции. Члены операции должны быть одного типа.
Операция сравнения |
Знак операции |
|
|
Равно |
= |
|
|
Не равно |
<> |
|
|
Меньше |
< |
|
|
Больше |
> |
|
|
Меньше или равно |
<= |
|
|
Больше или равно |
>= |
|
|
42
|
5. Условный оператор |
|
|
|
|
Булева операция |
Оператор |
|
|
Отрицание |
NOT |
|
|
Конъюнкция (логическое “И”) |
AND |
|
|
Дизъюнкция (включающее “Или”) |
OR |
|
|
Исключающее “Или” |
XOR |
|
|
Эквивалентность |
EQV |
|
|
Импликация |
IMP |
|
|
Каждая булева операция возвращает результат в соответствии с таблицей истинности.
И — истина, Л — ложь.
Выражение1 |
Выражение2 |
NOT |
AND |
OR |
XOR |
EQV |
IMP |
|
|
|
|
|
|
|
|
È |
È |
Ë |
È |
È |
Ë |
È |
È |
|
|
|
|
|
|
|
|
È |
Ë |
Ë |
Ë |
È |
È |
Ë |
Ë |
|
|
|
|
|
|
|
|
Ë |
È |
È |
Ë |
È |
È |
Ë |
È |
|
|
|
|
|
|
|
|
Ë |
Ë |
È |
Ë |
Ë |
Ë |
È |
È |
|
|
|
|
|
|
|
|
В задачах 136—178 необходимо составить программу, которая отвечает на поставленный в задаче вопрос.
Пример. На овощную базу привезли помидоры: в первый день 8 машин по a ящиков в каждой; во второй день 6 машин по b ящиков в каждой. В какой день привезли помидоров больше?
Возможный вариант программы:
QBasic
CLS 'очищаем экран дисплея
DIM P1,P2,a,b AS INTEGER 'Определяем переменные как 'целые
PRINT “Сколько ящиков в машине?”
INPUT “ в первый день ”, a 'вводим êîë-âî ящиков INPUT “ во второй день ”, b ' в машине
43
Информатика в задачах, примерах, алгоритмах
'подсчитываем кол-во ящиков в 1-й и 2-й дни
P1 = 8*a
P2 = 6*b
' Проверяем условие
IF P1>P2 THEN
PRINT “В первый день помидоров привезли больше” ELSE
PRINT “Во второй день помидоров привезли больше” ENDIF 'Конец условного оператора
END
Задачи
136.Петя встал утром в 7 часов, Коля — на 13 минут раньше него, Сережа на 4 минуты позже Коли, а Саша встал на 10 минут позже Сережи. Кто встал раньше, Петя или Саша?
Ответ: Саша.
137.У Сережи 145 рублей. Он решил купить 3 блокнота по 48 рублей. Хватит ли денег на покупку?
Ответ: Хватит.
138.Ребята собрали в саду 875 кг яблок и упаковали их в ящики по 25 кг в каждом. Хватило ли им 40 ящиков?
Ответ: Хватило.
139.Из куска ткани можно сшить 17 детских плащей, расходуя на каждый 2 м ткани. Можно ли из этого куска сшить 8 плащей для взрослых, расходуя по 4 м ткани на каждый плащ?
Ответ: Да.
140.В коробке 3 кг лимонов и апельсинов. Лимоны вынули и взвесили отдельно. Их масса оказалась 1 кг 760 г. Каких цитрусовых больше и на сколько?
Ответ: Лимонов, на 520 г.
141.Валя взяла у подруги книгу на 3 дня. В первый день она про- читала A страниц, во второй день прочитала в B раз больше, чем в первый, в третий день она прочитала на C страниц меньше, чем во второй. Успела ли Валя прочитать книгу вовремя, если в книге 194 страницы? Решить задачу при следующих значениях переменных:
a)A = 28, B = 3, C = 25;
Ответ: Нет.
b) A = 30, B = 3, C = 16.
Ответ: Успела.
44
5. Условный оператор
142. Мотоциклист должен прибыть в город через T часов после выезда из пункта, находящегося на расстоянии S км от города. Успеет ли он вовремя прибыть в город, если в первый час он проедет A км, а все оставшееся время будет ехать со скоростью B км/ч? Решить задачу при следующих значениях переменных:
a)T = 4, S = 320, A = 75, B = 70;
Ответ: Нет, не успеет.
b)T = 5, S = 300, A = 65, B = 60.
Ответ: Да, успеет.
143.В театр пришло A зрителей. Из них B человек купили билеты по 30 рублей, остальные — по 20 рублей. Получит ли театр прибыль, если расходы на спектакль составили Z рублей? Решить задачу при следующих значениях переменных:
a)A = 800, B = 300, Z = 15000;
Ответ: Да, получит.
b)A = 600, B = 100, Z = 15000.
Ответ: Нет, не получит.
144.Расстояние между городами А и Á равно S. Из города À â ãî-
ðîä Á выехал велосипедист со скоростью V1, через T часов вслед ему выехал 2-й велосипедист со скоростью V2. Догонит ли 2-й велосипедист 1-го, прежде чем тот доедет до города Á? Решить зада- чу при следующих значениях переменных:
a)S = 50, V1 = 12, V2 = 16, T = 2;
Ответ: Нет, не догонит.
b) S = 50, V1 = 12, V1 = 16, T = 1.
Ответ: Догонит и даже перегонит.
145.Даны два числа. Вывести их на экран дисплея в порядке возрастания.
146.Даны два числа. Вывести на экран первое число, если оно больше второго, и оба числа, если это не так.
147.Даны два числа. Меньшее из этих чисел заменить их полусуммой, а большее — удвоенным произведением.
148.Даны два числа. Заменить второе число нулем, если оно не меньше первого, и оставить его прежним, если это не так. Первое число оставить без изменения.
149.Даны три числа. Возвести в квадрат отрицательные числа. Положительные числа оставить без изменений.
150.Составить программу, находящую максимальное число из трех заданных.
45
Информатика в задачах, примерах, алгоритмах
151.Составить программу, находящую максимальное число из че- тырех заданных.
152.Даны четыре числа. Найти разницу между максимальным и минимальным числами.
153.Определить принадлежность точки кругу с радиусом R с
центром в начале координат. (Уравнение окружности с центром в
начале координат R 2 = x 2 + y 2 . Точка на плоскости определена своими координатами: A(xa , ya ). Точка принадлежит кругу (то есть находится внутри круга с радиусом R или находится на окружно-
сти), если выполняется следующее условие: x 2 + y 2 ≤ R2 .)
a)R = 5, xa = 2,47, ya = 2,28;
Ответ: Принадлежит.
b)R = 3,28, xa = 2,47, ya = 2,28.
Ответ: Не принадлежит.
154.Определить принадлежность точки C (xa , ya ) заданному отрез-
êó A(xa , ya ) − B(x b |
, y b ). (Точка C принадлежит заданному отрезку |
|
[A,B], åñëè xa ≤ xc |
≤ |
x b è ya ≤ yc ≤ y b è xc è yc удовлетворяют урав- |
нению прямой, проходящей через точки A и B.)
a)A (–1, 0), B (2, 3), C (0, 1);
Ответ: Принадлежит.
b)A (–2, –1), B (1, 2), C (–0,5, 0,7);
Ответ: Не принадлежит.
155.Определить, в какой четверти лежит точка с координатами (x, y).
a)(–0,00089, 63);
Ответ: II четверть.
b)(2,3458, –0,000015) Ответ: IV четверть.
156.Даны три числа. Выяснить, существует ли треугольник с такими сторонами. (Условие существования треугольника следующее: сумма любых двух сторон треугольника должна быть больше третьей стороны.)
a)3, 4, 5;
Ответ: Существует.
b)10, 8, 3. Ответ: Существует.
c)1, 2, 3.
Ответ: Не существует.
46
5. Условный оператор
157. Две точки A(x a , ya ), B (xb , yb ) заданы своими координатами.
Выяснить, лежат ли они на одной окружности с центром в начале координат. (Условие того, что две точки лежат на одной окружности, следующее: (xa2 + ya2 ) = (x b2 + y b2 ).)
à) A (2,475, 7,8506), B (7,655279, 3,0256);
Ответ: Лежат на одной окружности.
b) A (86,09801, 149,0034), B (172,0897, 0,00097);
Ответ: Лежат на одной окружности.
ñ) A (6,2548, 18,39482), B (–245,001, –3,25).
Ответ: Не лежат на одной окружности.
158.Даны три числа: a, b, c. Выяснить, выполняется ли условие a < b < c.
159.Числовая прямая разбита на отрезки числами A1, A2, A3, ..., An. Определить, какому отрезку принадлежит заданная точка x.
Ответ:
A1 |
A2 |
A3 |
A4 |
õ |
Ответ |
|
|
|
|
|
|
–127 |
–68 |
–3 |
45 |
–24,65 |
–68, –3 |
|
|
|
|
|
|
2 |
45 |
0 |
28 |
10 |
2, 28 |
|
|
|
|
|
|
0,5687 |
–56,5871 |
124,06 |
–9,687 |
0,4987 |
–9,687, 0,5687 |
|
|
|
|
|
|
160. Определить, какая из двух точек A(x a , ya ), B (xb , yb ) находит-
ся ближе к окружности с радиусом R c центром в начале координат. (Можно воспользоваться следующим соотношением: та точка находится ближе к окружности с радиусом R, для которой разность
(xi2 + yi2 ) − R 2
меньше.)
Ответ:
xà |
yà |
xb |
yb |
R |
Ответ |
|
|
|
|
|
|
–127 |
–68 |
–3 |
45 |
24,65 |
B |
|
|
|
|
|
|
2 |
45 |
0 |
28 |
10 |
B |
|
|
|
|
|
|
256 |
–5 |
84 |
15 |
45 |
B |
|
|
|
|
|
|
0,5687 |
–56,5871 |
124,06 |
–9,687 |
0,4987 |
A |
|
|
|
|
|
|
161. Даны две окружности с радиусами R1 и R2 с центрами в точ- ках (x1, y1) и (x2, y2). Определить характер их расположения: пересекаются, касаются, не пересекаются.
47
Информатика в задачах, примерах, алгоритмах
Для решения задачи можно воспользоваться следующими соображениями: если расстояние между этими точками

x1 − x 2
2 +
y1 − y 2
2
больше суммы радиусов, то окружности не пересекаются. Если расстояние равно сумме радиусов, то окружности касаются. Если расстояние меньше суммы радиусов, то окружности пересекаются.
Ответ:
x1 |
y1 |
x2 |
y2 |
R1 |
R2 |
Ответ |
–127 |
–68 |
–3 |
45 |
24,65 |
38 |
ÍÏ |
2 |
45 |
0 |
28 |
10 |
15,25 |
Ï |
256 |
–5 |
84 |
15 |
45 |
5,6 |
ÍÏ |
0,5687 |
–56,5871 |
124,06 |
–9,687 |
0,4987 |
87 |
ÍÏ |
15 |
15 |
30 |
30 |
12 |
10 |
Ï |
2,458 |
25,657 |
5,568 |
12,5848 |
9,689 |
3,748 |
Ê |
Обозначения: НП — не пересекаются; П — пересекаются;
Ê— касаются.
162.Даны два числа — x è y. Вычислить:
a ) z = x — y, åñëè x > y, z = y — x + 1 в противном случае;
Ответ:
x |
y |
z |
–127 |
–68 |
–194 |
2 |
45 |
44 |
256 |
–5 |
261 |
0,5687 |
–56,5871 |
57,1558 |
15 |
15 |
1 |
2,458 |
25,657 |
24,199 |
|
|
|
b ) z = 13,8, если x > y, z = 20,0 в противном случае.
Ответ:
x |
y |
z |
–127 |
–68 |
20 |
2 |
45 |
20 |
256 |
–5 |
13.8 |
0,5687 |
–56,5871 |
13,8 |
15 |
15 |
20 |
2,458 |
25,657 |
20 |
48
|
|
|
|
|
5. Условный оператор |
|
|
||||||
163. При выполнении условия x — y < 0 вычислить |
||||||
|
z = (x + y)/ 2 + 1, |
|
|
|||
в противном случае проверить условие |
x — y = 0, è åñëè îíî |
|||||
выполняется, вычислить |
z = ( x + y)/2, |
в противном случае |
||||
z = 3,2. |
|
|
|
|
||
Ответ: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
y |
|
z |
|
|
|
|
|
|
|
|
|
–127 |
|
–68 |
|
96.5 |
|
|
|
|
|
|
|
|
|
2 |
|
45 |
|
24.5 |
|
|
|
|
|
|
|
|
|
256 |
|
–5 |
|
3.2 |
|
|
|
|
|
|
|
|
|
0,5687 |
|
–56,5871 |
|
3,2 |
|
|
|
|
|
|
|
|
|
15 |
|
15 |
|
15 |
|
|
|
|
|
|
|
|
164. Даны два числа — x è y. Переменной m присвоить значе- ние 1, если x < y, è –1, åñëè x > y.
Ответ:
x |
y |
M |
|
|
|
–127 |
–68 |
1 |
|
|
|
2 |
45 |
1 |
|
|
|
256 |
–5 |
–1 |
|
|
|
0,5687 |
-56,5871 |
–1 |
|
|
|
15 |
15 |
–1 |
|
|
|
165. Даны два числа — x è y. Переменной r присвоить значение 1, если x < y; 0, åñëè x = y, è —1, åñëè x > y.
Ответ:
x |
y |
M |
|
|
|
–127 |
–68 |
1 |
|
|
|
2 |
45 |
1 |
|
|
|
256 |
–5 |
–1 |
|
|
|
0,5687 |
–56,5871 |
–1 |
|
|
|
15 |
15 |
0 |
|
|
|
49
Информатика в задачах, примерах, алгоритмах
Дано действительное число x. Вычислить y:
166. |
|
|
x2, |
|
|
åñëè −2 ≤ |
x≤ |
2; |
||
y = |
|
|
|
|
|
|
|
|
||
|
|
|
x + 1, |
в противном случае |
||||||
Ответ: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
–35 |
|
|
|
–34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
–1,3589 |
|
|
|
1,8466092 |
|
|
|
|
|
|
|
|
|
|
|
|
167. |
|
|
|
x 2 |
+ 4x + 5, |
åñëè x ≤ |
2; |
|
||
|
|
|
|
|||||||
y = |
|
|
1 |
, |
в противном случае |
|||||
|
|
|
|
x 2 |
+ 4x + 5 |
|||||
Ответ: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
–35 |
|
|
|
1090 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2,078 |
|
|
|
|
0,05672123 |
168. |
|
|
|
|
|
|
|
|
||
|
|
0, |
|
|
åñëè x < 0; |
|
||||
y = |
|
x, |
|
|
åñëè 0 ≤ |
x≤ |
1; |
|||
|
|
|
x2, |
|
|
åñëè x > 0 |
|
|||
Ответ: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
y |
|
|
|
|
|
|
–35 |
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2,078 |
|
|
|
|
4,318084 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,273 |
|
|
|
|
0,273 |
|
|
|
|
|
|
|
|
|
|
|
169. |
|
|
0, |
|
|
åñëè x ≤ |
0; |
|
||
y = |
|
|
x 2 , |
åñëè 0 < x < 1; |
||||||
|
|
|
|
x 2 |
− 1, |
в других случаях |
||||
50
