🗒 Задача¶
В компании работало 50 человек с зарплатой по 30000 рублей. Затем в компанию устроилось 30 стажеров, которым назначили зарплату в 20000 рублей каждому. Пишем часть гипотетического софта для бухгалтерии, который будет считать:
-
расходы на выплату зарплаты постоянных сотрудников;
-
общие расходы по ЗП после прихода стажеров;
-
среднюю ЗП одного сотрудника после устройства стажеров;
Каждый пункт посчитать и сохранить в переменную с соответствующим названием. Все значения необходимо вывести в виде целых чисел.
❌ Ошибки¶
- не инициализируют переменные из ТЗ изначально
✏️ Комментарии¶
Следует сначала объявить переменные из ТЗ, а только потом заниматься вычислениями. Сейчас эти значения выглядят как хардкод и такую программу невозможно масштабировать и поставлять в нее другие значения для расчета.
Для красоты лучше разбить код на блоки, разделяемые пустыми строками. Примерно так:
- объявление переменных
- вычисления
- вывод результата
прописаны изменяемые переменные, хотя код в данном случае в этом не нуждается. они инициализируются сразу в моменте создания и больше не перезаписываются. мы всегда изначальнопо умолчанию ставим неизменяемые переменные
Старайся избегать лишних двойных пустых строк) тут и далее по коду
Это размывает внимание, нарушает единый стиль)
В целом это пока довольно базовые задачи. Продвинутыми способами решать не запрещается, но хочу обратить внимание, что не стоит усложнять ради усложнения. Такой подход на реальной практике сыграет злую шутку. Там, гда можно сделать проще – лучше сделать проще, но в рамках ТЗ.
🧾 Решение¶
fun main() {
val numbersEmployees = 50
val salaryEmployees = 30000
val numbersTrainee = 30
val salaryTrainee = 20000
val salaryExpensesEmployees = numbersEmployees * salaryEmployees
val generalExpenses = (numbersTrainee * salaryTrainee + salaryExpensesEmployees)
val averageSalary = generalExpenses / (numbersEmployees + numbersTrainee)
println(salaryExpensesEmployees)
println(generalExpenses)
println(averageSalary)
}