Skip to content

Commit 2a0f69b

Browse files
committed
Задание 1
1 parent 03d5813 commit 2a0f69b

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed

lesson01/L1_RaskinSergey.swift

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
//main.swift
2+
3+
// L1_RaskinSergey
4+
// Created by raskin-sa on 17/11/2019.
5+
// Copyright © 2019 raskin-sa. All rights reserved.
6+
//
7+
8+
import Foundation
9+
10+
//Функция решения квадратного уравнения
11+
func solve (a:Double, b:Double, c: Double) -> Bool
12+
{
13+
var discr:Double = 0
14+
var x1:Double = 0
15+
var x2:Double = 0
16+
17+
print("\nрешаем уравнение ax^2+bx+c=0")
18+
19+
print("a = "+String(a)+";b = "+String(b)+";c = "+String(c))
20+
21+
//вычисляем дискриминант
22+
discr = b*b-4*a*c
23+
print("Дискриминант = "+String(discr))
24+
25+
if discr < 0 {
26+
print("Дискриминант меньше 0, у уравнения решений нет!")
27+
return false
28+
}
29+
30+
else {
31+
x1 = (-(b)+sqrt(discr)) / (2*a)
32+
x2 = (-(b)-sqrt(discr)) / (2*a)
33+
print("Решение: x1 = "+String(x1)+"; x2 = "+String(x2))
34+
}
35+
36+
return true
37+
}
38+
39+
40+
//функция вычисления треугольника по катетам
41+
42+
func calc_triangle(katet1:Double, katet2: Double) -> Bool {
43+
44+
var hypotenus:Double
45+
var square_t:Double
46+
var perimetr:Double
47+
48+
print("\nрешаем прямоугольный треугольник по двум катетам")
49+
50+
if (katet1 <= 0)||(katet2 <= 0) {
51+
print ("Значение каждого из катетов должно быть положительным числом")
52+
print ("катет1 = " + String(katet1)+" катет2 = " + String(katet2))
53+
return false
54+
}
55+
56+
print ("Дано: Катет 1 = "+String(katet1)+"; Катет2 = "+String(katet2))
57+
58+
hypotenus = sqrt(katet1*katet1 + katet2*katet2)
59+
print ("Гипотенуза равна = " + String(hypotenus))
60+
61+
square_t = (katet1 * katet2)/2
62+
print ("Площадь равна = " + String(square_t))
63+
64+
perimetr = katet1 + katet2 + hypotenus
65+
print ("Периметр равен = " + String(perimetr))
66+
67+
return true
68+
}
69+
70+
func calc_bank_5y_deposit(amount:Double, interest:Double) -> Double{
71+
var y_count:Int=1
72+
var newAmount:Double = amount
73+
74+
print("\nВычисляем размер 5-летнего вклада")
75+
print ("Дано: Начальный взнос = "+String(amount)+"; % ставка = "+String(interest*100)+"%")
76+
77+
if (amount <= 0)||(interest <= 0) {
78+
print ("Значения суммы вклада и процентной ставки должны быть положительными числами")
79+
print ("Начальный взнос = "+String(amount)+"; % ставка = "+String(interest))
80+
return -1
81+
}
82+
83+
for y_count in (1...5){
84+
newAmount = newAmount * (1 + interest)
85+
// print ("После года № "+String(y_count)+" размер вклада составляет: " + String(newAmount))
86+
}
87+
88+
print("Новый размер депозита через 5 лет равен: " + String(newAmount) )
89+
90+
return newAmount
91+
}
92+
93+
//тело программы
94+
95+
//вызов функции решения квадратного уравнения
96+
solve(a:5,b:3,c:0)
97+
98+
//вызов функции решения треугольника по двум катетам
99+
calc_triangle(katet1: 3, katet2: 5)
100+
101+
//вызов функции расчета вклада c пользовательским вводом
102+
var inputdeposit:Double?=nil
103+
var inputinterest:Double?=nil
104+
105+
while inputdeposit == nil { //не даем ввести неверное значение
106+
print("\nВведите размер депозита в рублях (разделитель десятичных знаков - точка):\n")
107+
let dep1 = readLine()
108+
inputdeposit = Double(dep1!)
109+
}
110+
111+
112+
while inputinterest == nil { //не даем ввести неверное значение
113+
print("Введите размер процентной ставки (от 0 до 1, разделитель десятичных знаков - точка):\n")
114+
let int1 = readLine()
115+
inputinterest = Double(int1!)
116+
}
117+
118+
calc_bank_5y_deposit(amount: inputdeposit!, interest: inputinterest!)
119+
120+

0 commit comments

Comments
 (0)