Практикум по программированию. Основы. Ветвление

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
(Created page with "<div style='max-width:700px;text-align:justify;'> Назад | [[Практ...")
 
Line 1: Line 1:
 
<div style='max-width:700px;text-align:justify;'>
 
<div style='max-width:700px;text-align:justify;'>
[[Практикум по программированию. Основы. Ввод и вывод|Назад]] | [[Практикум по программированию. Основы|Оглавление]] | [[Практикум по программированию. Основы. Циклы|Дальше]]
+
[[Практикум по программированию. Основы. Ввод и вывод|Назад]] ·
 +
[Практикум по программированию. Основы|Оглавление]] ·
 +
[Практикум по программированию. Основы. Циклы|Дальше]]
  
  
Line 13: Line 15:
 
  X2 = (-B - SQRT(D)) / (2 * A)
 
  X2 = (-B - SQRT(D)) / (2 * A)
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Корни уравнения|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Корни уравнения|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Корни уравнения|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Корни уравнения|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Корни уравнения|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Корни уравнения|Pascal]]  
  
Line 24: Line 26:
 
  если V > 16.4, ракета покинет Солнечную систему.
 
  если V > 16.4, ракета покинет Солнечную систему.
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Запуск ракеты|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Запуск ракеты|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Запуск ракеты|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Запуск ракеты|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Запуск ракеты|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Запуск ракеты|Pascal]]  
  
Line 34: Line 36:
 
  когда ресурсы покупателя больше и меньше возможностей автомата.
 
  когда ресурсы покупателя больше и меньше возможностей автомата.
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Автомат-продавец|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Автомат-продавец|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Автомат-продавец|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Автомат-продавец|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Автомат-продавец|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Автомат-продавец|Pascal]]  
  
Line 42: Line 44:
 
  Поместится, если Skv < Skr / (2 * Pi)
 
  Поместится, если Skv < Skr / (2 * Pi)
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Квадрат в круге|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Квадрат в круге|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Квадрат в круге|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Квадрат в круге|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Квадрат в круге|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Квадрат в круге|Pascal]]  
  
Line 50: Line 52:
 
  Принадлежит, если |X| + |Y| <= 1
 
  Принадлежит, если |X| + |Y| <= 1
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Точка и ромб|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Точка и ромб|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Точка и ромб|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Точка и ромб|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Точка и ромб|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Точка и ромб|Pascal]]  
  
Line 58: Line 60:
 
  При решении задачи использовать вложенные условия.
 
  При решении задачи использовать вложенные условия.
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Кирпич и отверстие|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Кирпич и отверстие|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Кирпич и отверстие|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Кирпич и отверстие|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Кирпич и отверстие|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Кирпич и отверстие|Pascal]]  
  
Line 68: Line 70:
 
  если зарплата больше 2000 руб., то налог: 8.2 + 0.13 * (P - 2000)
 
  если зарплата больше 2000 руб., то налог: 8.2 + 0.13 * (P - 2000)
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Подоходный налог|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Подоходный налог|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Подоходный налог|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Подоходный налог|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Подоходный налог|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Подоходный налог|Pascal]]  
  
Line 76: Line 78:
 
  Являются, если B - A = C - B
 
  Являются, если B - A = C - B
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Арифметическая прогрессия|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Арифметическая прогрессия|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Арифметическая прогрессия|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Арифметическая прогрессия|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Арифметическая прогрессия|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Арифметическая прогрессия|Pascal]]  
  
Line 84: Line 86:
 
  Можно, если A + C = B + D
 
  Можно, если A + C = B + D
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Вписанная окружность|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Вписанная окружность|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Вписанная окружность|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Вписанная окружность|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Вписанная окружность|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Вписанная окружность|Pascal]]  
  
Line 97: Line 99:
 
  R(опис) = A * B * C / (4 * S)
 
  R(опис) = A * B * C / (4 * S)
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Проверка треугольника|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Проверка треугольника|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Проверка треугольника|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Проверка треугольника|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Проверка треугольника|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Проверка треугольника|Pascal]]  
  
Line 106: Line 108:
 
  Задачу решать в предположении: X1 < X2, Y1 < Y2
 
  Задачу решать в предположении: X1 < X2, Y1 < Y2
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Площадь фрагмента|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Площадь фрагмента|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Площадь фрагмента|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Площадь фрагмента|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Площадь фрагмента|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Площадь фрагмента|Pascal]]  
  
Line 119: Line 121:
 
   A / D = B / E, но A / D <> C / F
 
   A / D = B / E, но A / D <> C / F
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Система уравнений|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Система уравнений|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Система уравнений|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Система уравнений|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Система уравнений|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Система уравнений|Pascal]]  
  
Line 134: Line 136:
 
   где E = Y1 + A * X1, F = Y3 + A * X3, B = Y1 - A * X1
 
   где E = Y1 + A * X1, F = Y3 + A * X3, B = Y1 - A * X1
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Параллельность прямых|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Параллельность прямых|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Параллельность прямых|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Параллельность прямых|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Параллельность прямых|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Параллельность прямых|Pascal]]  
  
Line 144: Line 146:
 
   X<sup>2</sup> + Y<sup>2</sup> = R<sup>2</sup> и Y = K * X + B
 
   X<sup>2</sup> + Y<sup>2</sup> = R<sup>2</sup> и Y = K * X + B
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Прямая и окружность|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Прямая и окружность|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Прямая и окружность|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Прямая и окружность|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Прямая и окружность|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Прямая и окружность|Pascal]]  
  
Line 155: Line 157:
 
  если полученные суммы равны, то билет счастливый.
 
  если полученные суммы равны, то билет счастливый.
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Счастливый билет|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Счастливый билет|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Счастливый билет|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Счастливый билет|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Счастливый билет|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Счастливый билет|Pascal]]  
  
Line 165: Line 167:
 
  если год кратен 100, то он високосный при условии, что кратен еще и 400
 
  если год кратен 100, то он високосный при условии, что кратен еще и 400
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Високосный год|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Високосный год|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Високосный год|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Високосный год|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Високосный год|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Високосный год|Pascal]]  
  
Line 175: Line 177:
 
  E0 - диэлектрическая проницаемость среды (для вакуума E0 = 1)
 
  E0 - диэлектрическая проницаемость среды (для вакуума E0 = 1)
 
Решение:
 
Решение:
[[Практикум по программированию. Основы. Ветвление. Поле сферы|Java]] |
+
[[Практикум по программированию. Основы. Ветвление. Поле сферы|Java]] ·
[[Практикум по программированию. Основы. Ветвление. Поле сферы|C++]] |
+
[[Практикум по программированию. Основы. Ветвление. Поле сферы|C++]] ·
 
[[Практикум по программированию. Основы. Ветвление. Поле сферы|Pascal]]  
 
[[Практикум по программированию. Основы. Ветвление. Поле сферы|Pascal]]  
  
  
 
----
 
----
[[Практикум по программированию. Основы. Ввод и вывод|Назад]] | [[Практикум по программированию. Основы|Оглавление]] | [[Практикум по программированию. Основы. Циклы|Дальше]]
+
[[Практикум по программированию. Основы. Ввод и вывод|Назад]] ·
 +
[Практикум по программированию. Основы|Оглавление]] ·
 +
[Практикум по программированию. Основы. Циклы|Дальше]]
 
</div>
 
</div>

Revision as of 08:16, 12 April 2015

Назад · [Практикум по программированию. Основы|Оглавление]] · [Практикум по программированию. Основы. Циклы|Дальше]]


Ветвление

1. Найти корни уравнения A * X2 + B * X + C = 0

Вычислить дискриминант D = B2 - 4 * A * C
если D < 0, то уравнение корней не имеет;
если D = 0, то X = -B / (2 * A)
если D > 0:
X1 = (-B + SQRT(D)) / (2 * A)
X2 = (-B - SQRT(D)) / (2 * A)

Решение: Java · C++ · Pascal


2. Ракета запускается с точки на экваторе и развивает скорость V км/с. Определить результат запуска.

Если V < 7.8 км/с, ракета упадет на Землю;
если 7.8 < V < 11.2, ракета станет спутником Земли;
если 11.2 < V < 16.4, ракета станет спутником Солнца;
если V > 16.4, ракета покинет Солнечную систему.

Решение: Java · C++ · Pascal


3. Автомат отпускает максимум N единиц товара. Известна стоимость одной единицы товара Z и сумма денег, имеющаяся у покупателя S.
Сколько единиц товара может получить покупатель и какова сдача?

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

Решение: Java · C++ · Pascal


4. Даны площадь круга Skr и площадь квадрата Skv. Определить, поместится ли квадрат в круг.

Поместится, если Skv < Skr / (2 * Pi)

Решение: Java · C++ · Pascal


5. Принадлежит ли точка M с координатами (X, Y) фигуре на плоскости, ограниченной линией проходящей через точки: (1, 0), (0, 1), (-1, 0), (0, -1)

Принадлежит, если |X| + |Y| <= 1

Решение: Java · C++ · Pascal


6. Заданы размеры A, B прямоугольного отверстия и размеры X, Y, Z кирпича. Определить, проходит ли кирпич через отверстие.

При решении задачи использовать вложенные условия.

Решение: Java · C++ · Pascal


7. Известна P - заработная плата сотрудника. Вычислить величину подоходного налога N.

Налог с зарплаты, не превышающей 850 руб. не взимается;
налог с зарплаты 2000 руб., составляет 8.2%;
если зарплата больше 2000 руб., то налог: 8.2 + 0.13 * (P - 2000)

Решение: Java · C++ · Pascal


8. Даны числа: A, B, C. Определить, являются ли они членами арифметической прогрессии.

Являются, если B - A = C - B

Решение: Java · C++ · Pascal


9. A, B, C, D - длины сторон выпуклого четырехугольника. Можно ли в него вписать окружность.

Можно, если A + C = B + D

Решение: Java · C++ · Pascal


10. A, B, C - длины трех отрезков. Если отрезки могут быть сторонами треугольника, то найти:
его периметр и площадь; радиус вписанной в треугольник и описанной около него окружности.

Если P * (P - A) * (P - B) * (P - C) > 0, то ABC – треугольник
P = (A + B + C) / 2
S = sqrt(P * (P - A) * (P - B) * (P - C))
R(впис) = S / P
R(опис) = A * B * C / (4 * S)

Решение: Java · C++ · Pascal


11. Заданы координаты вершин прямоугольника: (X1, Y1), (X2, Y2), (X3, Y3), (X4, Y4).
Определить площадь части прямоугольника, расположенной в первой координатной четверти.

Задачу решать в предположении: X1 < X2, Y1 < Y2

Решение: Java · C++ · Pascal


12. Найти решение системы уравнений: A * X + B * Y = C и D * X + E * Y = F

Система имеет единственное решение, если:
  A / D <> B / E (прямые A * X + B * Y = C и D * X + E * Y = F пересекаются);
имеет бесконечно много решений, если:
  A / D = B / E = C / F (прямые сливаются);
система не имеет решений, если:
  A / D = B / E, но A / D <> C / F

Решение: Java · C++ · Pascal


13. На плоскости заданы точки M1(X1, Y1), M2(X2, Y2), N1(X3, Y3), N2(X4, Y4)
Проверить, являются ли параллельными прямые,
одна из которых проходит через точки M1, M2, другая - через точки N1, N2
Если прямые пересекаются, найти точки пересечения.

Условие параллельности:
 A = C, при A = (Y2 - Y1) / (X2 - X1) и C = (Y4 - Y3) / (X4 - X3)
Если прямые пересекаются, то:
 X = (E - F) / (C - A) + 1 и Y = B + A * X,
 где E = Y1 + A * X1, F = Y3 + A * X3, B = Y1 - A * X1

Решение: Java · C++ · Pascal


14. Найти координаты точек пересечения прямой Y = K * X + B и окружности радиуса R c центром в начале координат.
Сколько точек пересечения расположено в координатной четверти?

Необходимо решить систему уравнений:
 X2 + Y2 = R2 и Y = K * X + B

Решение: Java · C++ · Pascal


15. Известен шестизначный номер автобусного билета. Определить, является ли билет счастливым.
Билет счастливый, если сумма первых трех чисел номера равна сумме трех его последних цифр.

Необходимо выделить из номера все шесть цифр;
сформировать сумму из трех старших цифр и сумму из трех младших цифр;
если полученные суммы равны, то билет счастливый.

Решение: Java · C++ · Pascal


16. Определить, является ли год високосным.

Год високосный если:
он не кратен 100 и число, изображаемое двумя его младшими цифрами кратно 4
если год кратен 100, то он високосный при условии, что кратен еще и 400

Решение: Java · C++ · Pascal


17. Заряд Q равномерно распределен на сфере радиуса R. Найти напряженность электростатического поля сферы.

Если L >= R то E = Q / (E0 * L2) иначе E = 0,
где L - расстояние от центра сферы до исследуемой точки,
E0 - диэлектрическая проницаемость среды (для вакуума E0 = 1)

Решение: Java · C++ · Pascal



Назад · [Практикум по программированию. Основы|Оглавление]] · [Практикум по программированию. Основы. Циклы|Дальше]]

Personal tools
Namespaces

Variants
Actions
Navigation
Tools