Skip to content

Commit 70ea0f5

Browse files
committed
first commit main.swift
1 parent 3e52dc5 commit 70ea0f5

File tree

1 file changed

+217
-0
lines changed

1 file changed

+217
-0
lines changed

main.swift

Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
//main.swift
2+
3+
// L1_RaskinSergey
4+
5+
//
6+
7+
// Created by raskin-sa on 17/11/2019.
8+
9+
// Copyright © 2019 raskin-sa. All rights reserved.
10+
11+
//
12+
13+
14+
15+
import Foundation
16+
17+
18+
19+
//Функция решения квадратного уравнения
20+
21+
func solve (a:Double, b:Double, c: Double) -> Bool
22+
23+
{
24+
25+
var discr:Double = 0
26+
27+
var x1:Double = 0
28+
29+
var x2:Double = 0
30+
31+
32+
33+
print("\nрешаем уравнение ax^2+bx+c=0")
34+
35+
36+
37+
print("a = "+String(a)+";b = "+String(b)+";c = "+String(c))
38+
39+
40+
41+
//вычисляем дискриминант
42+
43+
discr = b*b-4*a*c
44+
45+
print("Дискриминант = "+String(discr))
46+
47+
48+
49+
if discr < 0 {
50+
51+
print("Дискриминант меньше 0, у уравнения решений нет!")
52+
53+
return false
54+
55+
}
56+
57+
else {
58+
59+
x1 = (-(b)+sqrt(discr)) / (2*a)
60+
61+
x2 = (-(b)-sqrt(discr)) / (2*a)
62+
63+
print("Решение: x1 = "+String(x1)+"; x2 = "+String(x2))
64+
65+
}
66+
67+
return true
68+
69+
}
70+
71+
72+
73+
//функция вычисления треугольника по катетам
74+
75+
func calc_triangle(katet1:Double, katet2: Double) -> Bool {
76+
77+
var hypotenus:Double
78+
79+
var square_t:Double
80+
81+
var perimetr:Double
82+
83+
84+
85+
print("\nрешаем прямоугольный треугольник по двум катетам")
86+
87+
88+
89+
if (katet1 <= 0)||(katet2 <= 0) {
90+
91+
print ("Значение каждого из катетов должно быть положительным числом")
92+
93+
print ("катет1 = " + String(katet1)+" катет2 = " + String(katet2))
94+
95+
return false
96+
97+
}
98+
99+
print ("Дано: Катет 1 = "+String(katet1)+"; Катет2 = "+String(katet2))
100+
101+
102+
103+
hypotenus = sqrt(katet1*katet1 + katet2*katet2)
104+
105+
print ("Гипотенуза равна = " + String(hypotenus))
106+
107+
108+
109+
square_t = (katet1 * katet2)/2
110+
111+
print ("Площадь равна = " + String(square_t))
112+
113+
114+
115+
perimetr = katet1 + katet2 + hypotenus
116+
117+
print ("Периметр равен = " + String(perimetr))
118+
119+
return true
120+
121+
}
122+
123+
124+
125+
func calc_bank_5y_deposit(amount:Double, interest:Double) -> Double{
126+
127+
var y_count:Int=1
128+
129+
var newAmount:Double = amount
130+
131+
print("\nВычисляем размер 5-летнего вклада")
132+
133+
print ("Дано: Начальный взнос = "+String(amount)+"; % ставка = "+String(interest*100)+"%")
134+
135+
136+
137+
if (amount <= 0)||(interest <= 0) {
138+
139+
print ("Значения суммы вклада и процентной ставки должны быть положительными числами")
140+
141+
print ("Начальный взнос = "+String(amount)+"; % ставка = "+String(interest))
142+
143+
return -1
144+
145+
}
146+
147+
148+
149+
150+
151+
for y_count in (1...5){
152+
153+
newAmount = newAmount * (1 + interest)
154+
155+
// print ("После года № "+String(y_count)+" размер вклада составляет: " + String(newAmount))
156+
157+
}
158+
159+
160+
161+
print("Новый размер депозита через 5 лет равен: " + String(newAmount) )
162+
163+
164+
165+
return newAmount
166+
167+
}
168+
169+
//тело программы
170+
171+
172+
173+
//вызов функции решения квадратного уравнения
174+
175+
solve(a:5,b:3,c:0)
176+
177+
//вызов функции решения треугольника по двум катетам
178+
179+
calc_triangle(katet1: 3, katet2: 5)
180+
181+
182+
183+
//вызов функции расчета вклада c пользовательским вводом
184+
185+
var inputdeposit:Double?=nil
186+
187+
var inputinterest:Double?=nil
188+
189+
190+
191+
while inputdeposit == nil { //не даем ввести неверное значение
192+
193+
print("\nВведите размер депозита в рублях (разделитель десятичных знаков - точка):\n")
194+
195+
let dep1 = readLine()
196+
197+
inputdeposit = Double(dep1!)
198+
199+
}
200+
201+
202+
203+
while inputinterest == nil { //не даем ввести неверное значение
204+
205+
print("Введите размер процентной ставки (от 0 до 1, разделитель десятичных знаков - точка):\n")
206+
207+
let int1 = readLine()
208+
209+
inputinterest = Double(int1!)
210+
211+
}
212+
213+
214+
215+
calc_bank_5y_deposit(amount: inputdeposit!, interest: inputinterest!)
216+
217+

0 commit comments

Comments
 (0)