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

From AsIsWiki
Jump to: navigation, search

Назад · Оглавление · Дальше


Ветвление

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)
 
Пример интерфейса:
 
 Поиск корней уравнения A * X^2 + B * X + C = 0 
------------------------------------------------
 Введите A: 2
 Введите B: 4
 Введите C: 1
------------------------------------------------
 X1 = -0,293
 X2 = -1,707

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


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

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

Пример интерфейса:

 Определение результата запуска ракеты
---------------------------------------
 После запуска, ракета развивает скорость: 12
---------------------------------------
 Ракета станет спутником Солнца

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


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

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

Пример интерфейса:

 Расчет количества единиц товара и сдачи
-----------------------------------------
 Введите общее количество единиц товара: 30
 Введите стоимость одной единицы товара: 110,50
 Введите сумму денег у покупателя: 1000
-----------------------------------------
 Покупаем 9 единиц товара
 Сдача: 5,50 руб.
 У автомата остается 21 единиц товара

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


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

Поместится, если Skr >= Skv * Pi / 2

Пример интерфейса:

 Поместится ли квадрат в круг? 
-------------------------------
 Введите площадь круга: 1,58
 Введите площадь квадрата: 1
-------------------------------
 Квадрат поместится в круг

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


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

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

Пример интерфейса:

  Принадлежит ли точка фигуре на плоскости
 ограниченной линией проходящей через точки
      (1, 0), (0, 1), (-1, 0), (0, -1)
--------------------------------------------
 Введите координату X точки: 1
 Введите координату Y точки: 1
--------------------------------------------
 Точка M(1,00; 1,00) не принадлежит этой фигуре

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


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

Пример интерфейса:

 Определить, проходит ли кирпич 
 через прямоугольное отверстие  
--------------------------------
 Введите размеры A и B отверстия: 2 3
 Введите размеры X, Y, Z кирпича: 4 3 2
--------------------------------
 Кирпич размером 4,00 x 3,00 x 2,00 входит в отверстие 2,00 x 3,00

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


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

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

Пример интерфейса:

 Расчет подоходного налога
---------------------------
 Введите зарплату сотрудника: 50000
---------------------------
 Подоходный налог с зарплаты 50000,00 руб - составляет 6050,00 руб

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


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

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

Пример интерфейса:

 Определить, являются ли числа A, B, C
   членами арифметической прогрессии
---------------------------------------
 Введите числа A B C (через пробел): 2 4 8
---------------------------------------
 Числа 2,00, 4,00, 8,00 - не являются членами арифметической прогрессии

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


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

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

Пример интерфейса:

 Определить, можно ли вписать окружность
       в выпуклый четырехугольник
-----------------------------------------
 Введите стороны четырехугольника A B C D: 2 1 3 4
-----------------------------------------
 В четырехугольник со сторонами 2,00, 1,00, 3,00, 4,00 - можно вписать окружность

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


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)

Пример интерфейса:

 Расчет: периметра и площади треугольника;
 радиуса вписанной в треугольник окружности;
 радиуса окружности, описанной около него.
---------------------------------------------
 Введите длины трех отрезков A B C: 1 1 1
---------------------------------------------
 Периметр треугольника: 3,00
 Площадь треугольника: 0,43
 Радиус вписанной окружности: 0,29
 Радиус описанной окружности: 0,58

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


11. Прямоугольник задан диагональю: (X1, Y1), (X2, Y2). Определить площадь части прямоугольника, расположенной в первой координатной четверти.

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

Пример интерфейса:

 Определение площади фрагмента прямоугольника
 расположенного в первой координатной четверти
-----------------------------------------------
 Координаты левой нижей вершины X1 Y1: -2 1
 Координаты правой верхней вершины X2 Y2: 2 2
-----------------------------------------------
 Искомая плошадь S = 2,00

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


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

Пример интерфейса:

 Решение системы уравнений:
 A * X + B * Y = C  и  D * X + E * Y = F
-----------------------------------------
 Введите A B C D E F: 1 1 1 2 3 4
-----------------------------------------
 Система имеет единственное решение: X = -1,00, Y = 2,00

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


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++ · Python · Pascal · JavaScript


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

Необходимо решить систему уравнений:
 X2 + Y2 = R2 и Y = K * X + B
 
Пример интерфейса:
 
 Поиск точек пересечения прямой Y = K * X + B
  и окружности с центром в начале координат
----------------------------------------------
 Введите коэффициент K: 1
 Введите коэффициент B: 1
 Радиус окружности R: 2
----------------------------------------------
 Прямая Y = 1,00 * X + 1,00 с окружностью радиусом R = 2,00
 пересекается в точках:
 X1 = -1,82; Y1 = -0,82
 X2 = 0,82; Y2 = 1,82

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


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

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

Пример интерфейса:

 Проверка 'Счастливого' билета
-------------------------------
 Введите шестизначный номер: 123312
-------------------------------
 Билет 123312 счастливый

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


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

Год не является високосным, если:
он не кратен 4, либо он кратен 100, но при этом не кратен 400

Пример интерфейса:

 Проверка года на високосность 
-------------------------------
 Введите год (2017): 2016
-------------------------------
 Год високосный

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


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

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

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



Назад · Оглавление · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools