Абрамян решебник с языке программирование Python
103 subscribers
9 photos
1 file
3 links
Download Telegram
Proc 12
def SortInc(A, B, C):
if A > B:
A, B = B, A
if B > C:
B, C = C, B
if A > B:
A, B = B, A
# Значения переменных A, B, C уже упорядочены по возрастанию

# Первый набор чисел
A1 = 3
B1 = 1
C1 = 2

# Второй набор чисел
A2 = 6
B2 = 4
C2 = 5

# Упорядочить первый набор чисел по возрастанию
SortInc(A1, B1, C1)

# Упорядочить второй набор чисел по возрастанию
SortInc(A2, B2, C2)

# Вывести упорядоченные наборы чисел
print("Упорядоченный первый набор чисел:", A1, B1, C1)
print("Упорядоченный второй набор чисел:", A2, B2, C2)
👏1
Proc 13
def SortDec(A, B, C):
if A < B:
A, B = B, A
if B < C:
B, C = C, B
if A < B:
A, B = B, A
return A, B, C

# Первый набор чисел
A1 = 3
B1 = 1
C1 = 2

# Второй набор чисел
A2 = 6
B2 = 4
C2 = 5

# Упорядочить первый набор чисел по убыванию
A1, B1, C1 = SortDec(A1, B1, C1)

# Упорядочить второй набор чисел по убыванию
A2, B2, C2 = SortDec(A2, B2, C2)

# Вывести упорядоченные наборы чисел
print("Упорядоченный первый набор чисел:", A1, B1, C1)
print("Упорядоченный второй набор чисел:", A2, B2, C2)
🔥1
Proc 14

def ShiftRight3(A, B, C):
temp = A
A = C
C = B
B = temp
return A, B, C

# Первый набор чисел
A1 = 1
B1 = 2
C1 = 3

# Второй набор чисел
A2 = 4
B2 = 5
C2 = 6

# Выполнить правый циклический сдвиг для первого набора чисел
A1, B1, C1 = ShiftRight3(A1, B1, C1)

# Выполнить правый циклический сдвиг для второго набора чисел
A2, B2, C2 = ShiftRight3(A2, B2, C2)

# Вывести результаты сдвига
print("Результат сдвига для первого набора чисел:", A1, B1, C1)
print("Результат сдвига для второго набора чисел:", A2, B2, C2)
👍1
Proc15

def ShiftLeft3(A, B, C):
temp = A
A = B
B = C
C = temp
return A, B, C

# Первый набор чисел
A1 = 1
B1 = 2
C1 = 3

# Второй набор чисел
A2 = 4
B2 = 5
C2 = 6

# Выполнить левый циклический сдвиг для первого набора чисел
A1, B1, C1 = ShiftLeft3(A1, B1, C1)

# Выполнить левый циклический сдвиг для второго набора чисел
A2, B2, C2 = ShiftLeft3(A2, B2, C2)

# Вывести результаты сдвига
print("Результат сдвига для первого набора чисел:", A1, B1, C1)
print("Результат сдвига для второго набора чисел:", A2, B2, C2)
👍1
Proc 16

def Sign(X):
if X < 0:
return -1
elif X == 0:
return 0
else:
return 1

# Заданные вещественные числа
A = -2.5
B = 3.8

# Вычислить значения функции Sign для A и B
sign_A = Sign(A)
sign_B = Sign(B)

# Вычислить значение выражения Sign(A) + Sign(B)
result = sign_A + sign_B

# Вывести результат
print("Значение выражения Sign(A) + Sign(B) =", result)
👏1
Proc 17
def RootsCount(A, B, C):
D = B**2 - 4*A*C
if D > 0:
return 2
elif D == 0:
return 1
else:
return 0
В этой функции мы сначала вычисляем дискриминант D согласно формуле D = B**2 - 4*A*C. Затем мы проверяем значение D и возвращаем соответствующее количество корней: 2, если D > 0, 1, если D == 0, и 0, если D < 0.

Чтобы найти количество корней для каждого из трех квадратных уравнений с данными коэффициентами, мы можем вызвать функцию RootsCount три раза, передавая различные значения коэффициентов A, B и C. Например:

equation1_roots = RootsCount(1, -2, 1)
equation2_roots = RootsCount(2, 5, -3)
equation3_roots = RootsCount(3, 4, 2)

print("Количество корней уравнения 1:", equation1_roots)
print("Количество корней уравнения 2:", equation2_roots)
print("Количество корней уравнения 3:", equation3_roots)
👍1
Proc18

def CircleS(R):
pi = 3.14
S = pi * R**2
return S
Чтобы найти площади трех кругов с заданными радиусами, можно вызвать функцию CircleS три раза, передавая разные значения радиусов:

radius1 = 2.5
radius2 = 4.7
radius3 = 3.0

area1 = CircleS(radius1)
area2 = CircleS(radius2)
area3 = CircleS(radius3)

print("Площадь первого круга:", area1)
print("Площадь второго круга:", area2)
print("Площадь третьего круга:", area3)
🔥1
Proc19

def RingS(R1, R2):
outer_area = 3.14 * R1**2
inner_area = 3.14 * R2**2
ring_area = outer_area - inner_area
return ring_area



```python
outer_radius1 = 10
inner_radius1 = 5
area1 = RingS(outer_radius1, inner_radius1)

outer_radius2 = 15
inner_radius2 = 8
area2 = RingS(outer_radius2, inner_radius2)

outer_radius3 = 20
inner_radius3 = 12
area3 = RingS(outer_radius3, inner_radius3)
`
👍1
Proc20
def TriangleP(a, h):
b = ((a / 2) ** 2 + h ** 2) ** 0.5
perimeter = a + 2 * b
return perimeter
В данной функции мы сначала находим значение боковой стороны \( b \) с помощью теоремы Пифагора. Затем, используя найденное значение \( b \), мы вычисляем периметр треугольника по формуле: \( \text{периметр} = a + 2b \).

Теперь, чтобы найти периметры трех треугольников, для которых даны основания и высоты, мы можем вызвать функцию TriangleP три раза, передавая ей соответствующие значения основания \( a \) и высоты \( h \). Например:

perimeter1 = TriangleP(5, 3)
perimeter2 = TriangleP(8, 4)
perimeter3 = TriangleP(10, 6)
В результате, переменные perimeter1, perimeter2 и perimeter3 будут содержать периметры трех треугольников соответственно.
👍1
Proc21
def SumRange(A, B):
if A > B:
return 0
else:
sum = 0
for i in range(A, B+1):
sum += i
return sum
Эта функция проверяет, если \( A > B \), то возвращает 0, так как сумма чисел от \( A \) до \( B \) не имеет смысла, если \( A \) больше \( B \). В противном случае, функция использует цикл для нахождения суммы всех целых чисел от \( A \) до \( B \) включительно и возвращает эту сумму.

Чтобы найти суммы чисел от \( A \) до \( B \) и от \( B \) до \( C \), можно вызвать функцию SumRange дважды:

sum1 = SumRange(A, B)
sum2 = SumRange(B, C)
👍2
Proc22

def Calc(A, B, Op):
if Op == 1:
result = A - B
elif Op == 2:
result = A * B
elif Op == 3:
result = A / B
else:
result = A + B
return result

result1 = Calc(A, B, N1)
result2 = Calc(A, B, N2)
result3 = Calc(A, B, N3)
В этом решении мы определяем функцию Calc с параметрами A, B и Op. Внутри функции мы используем условные операторы if-elif-else для выполнения соответствующей арифметической операции в зависимости от значения Op. Результат операции сохраняется в переменной result, которая затем возвращается из функции.

Затем мы вызываем функцию Calc три раза, передавая ей значения A, B и соответствующие значения N1, N2 и N3. Результаты операций сохраняются в переменных result1, result2 и result3.
👍3
Proc23
def Quarter(x, y):
if x > 0 and y > 0:
return 1
elif x < 0 and y > 0:
return 2
elif x < 0 and y < 0:
return 3
elif x > 0 and y < 0:
return 4
else:
return "Точка лежит на одной из осей"
В данной функции используется условная конструкция if-elif-else для определения номера координатной четверти, в которой находится точка. Если обе координаты положительны, то точка находится в первой четверти. Если x отрицательно, а y положительно, то точка находится во второй четверти. Если обе координаты отрицательны, то точка находится в третьей четверти. Если x положительно, а y отрицательно, то точка находится в четвертой четверти. Если точка лежит на одной из осей, то возвращается соответствующее сообщение.

Пример использования функции для трех точек с ненулевыми координатами:

point1 = (2, 3)
point2 = (-4, 5)
point3 = (-1, -2)

print(Quarter(*point1)) # Вывод: 1
print(Quarter(*point2)) # Вывод: 2
print(Quarter(*point3)) # Вывод: 3
В данном примере функция Quarter вызывается для каждой из трех точек, передавая ей координаты точки в виде аргументов. Результатом вызова функции будет номер соответствующей координатной четверти для каждой точки.
`
👍2
Proc24
function Even(K: integer): boolean;
begin
Even := (K mod 2 = 0);
end;

var
numbers: array[1..10] of integer; // Предполагаем, что у вас есть массив из 10 целых чисел.

procedure CountEvenNumbers;
var
i, count: integer;
begin
count := 0;
for i := 1 to 10 do
begin
if Even(numbers[i]) then
count := count + 1;
end;
// Теперь переменная "count" содержит количество четных чисел в наборе.
end;
Proc25
function IsSquare(K: integer): boolean;
var
root: integer;
begin
if K > 0 then
begin
root := round(sqrt(K));
IsSquare := (root * root = K);
end
else
IsSquare := false;
end;

var
positiveNumbers: array[1..10] of integer; // Предполагаем, что у вас есть массив из 10 целых положительных чисел.

procedure CountSquares;
var
i, count: integer;
begin
count := 0;
for i := 1 to 10 do
begin
if IsSquare(positiveNumbers[i]) then
count := count + 1;
end;
// Теперь переменная "count" содержит количество квадратов в наборе.
end;
👍2
Proc 24:
def Even(K):
return K % 2 == 0

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def CountEvenNumbers():
count = 0
for num in numbers:
if Even(num):
count += 1
# Теперь переменная "count" содержит количество четных чисел в наборе.
return count

print(CountEvenNumbers()) # Вывод: 5
Proc25
import math

def IsSquare(K):
if K > 0:
root = int(math.sqrt(K))
return root * root == K
else:
return False

positiveNumbers = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

def CountSquares():
count = 0
for num in positiveNumbers:
if IsSquare(num):
count += 1
# Теперь переменная "count" содержит количество квадратов в наборе.
return count

print(CountSquares()) # Вывод: 10
👍2
Proc26


def IsPower5(K):
while K > 1:
if K % 5 != 0:
return False
K = K / 5
return True
Для нахождения количества степеней числа 5 в наборе из 10 целых положительных чисел, мы можем использовать эту функцию. Просто пройдемся по каждому числу в наборе и проверим, является ли оно степенью числа 5. Если да, увеличим счетчик на 1.



numbers = [10, 25, 30, 125, 150, 625, 750, 3125, 3750, 15625]
count = 0

for number in numbers:
if IsPower5(number):
count += 1

print("Количество степеней числа 5 в наборе:", count)
В этом примере мы создали список numbers, содержащий 10 целых положительных чисел. Затем мы проходимся по каждому числу в списке и используем функцию IsPower5 для проверки, является ли оно степенью числа 5. Если да, увеличиваем счетчик count на 1. В конце выводим количество степеней числа 5 в наборе.
👍2
Proc27.

def IsPowerN(K, N):
power = 0
while K % N == 0:
K = K / N
power += 1
return K == 1

N = 2
numbers = [16, 8, 5, 32, 9, 64, 7, 128, 256, 1024]
count = 0

for num in numbers:
if IsPowerN(num, N):
count += 1

print("Количество степеней числа", N, "в данном наборе:", count)
В данном примере, функция IsPowerN проверяет, является ли каждое число в наборе степенью числа N=2. Затем, мы считаем количество чисел, для которых условие выполняется, и выводим результат. В данном случае, результат будет равен 6, так как числа 16, 8, 32, 64, 128 и 256 являются степенями числа 2.

Proc28.


def IsPrime(N):
if N <= 1:
return False
for i in range(2, N):
if N % i == 0:
return False
return True

numbers = [16, 8, 5, 32, 9, 64, 7, 128, 256, 1024]
count = 0

for num in numbers:
if IsPrime(num):
count += 1

print("Количество простых чисел в данном наборе:", count)
В данном примере, функция IsPrime проверяет, является ли каждое число в наборе простым. Затем, мы считаем количество чисел, для которых условие выполняется, и выводим результат. В данном случае, результат будет равен 1, так как только число 7 является простым числом.
1👨‍💻1
Proc29

def DigitCount(K):
count = 0
while K > 0:
count += 1
K //= 10
return count

# Пример использования функции
number1 = 12345
number2 = 987654321
number3 = 100
number4 = 9999
number5 = 1

count1 = DigitCount(number1)
count2 = DigitCount(number2)
count3 = DigitCount(number3)
count4 = DigitCount(number4)
count5 = DigitCount(number5)

print("Количество цифр в числе", number1, ":", count1)
print("Количество цифр в числе", number2, ":", count2)
print("Количество цифр в числе", number3, ":", count3)
print("Количество цифр в числе", number4, ":", count4)
print("Количество цифр в числе", number5, ":", count5)
Вывод:

Количество цифр в числе 12345 : 5
Количество цифр в числе 987654321 : 9
Количество цифр в числе 100 : 3
Количество цифр в числе 9999 : 4
Количество цифр в числе 1 : 1
Таким образом, функция DigitCount(K) находит количество цифр в заданном целом положительном числе K, а затем используется для нахождения количества цифр в каждом из пяти данных чисел.
🔥2
Proc29

def DigitCount(K):
count = 0
while K > 0:
count += 1
K //= 10
return count
Proc30
def DigitN(K, N):
count = 0
while K > 0 and count < N:
count += 1
digit = K % 10
K //= 10
if count < N:
return -1
return digit
Proc31
def IsPalindrom(K):
count = DigitCount(K)
i = 1
isPalindrom = True
while i <= count // 2:
digit1 = DigitN(K, i)
digit2 = DigitN(K, count - i + 1)
if digit1 != digit2:
isPalindrom = False
break
i += 1
return isPalindrom
# Пример использования функций

# Пример использования функции DigitCount
count = DigitCount(12345)
print(count) # Вывод: 5

# Пример использования функции DigitN
digit = DigitN(12345, 3)
print(digit) # Вывод: 3

# Пример использования функции IsPalindrom
isPalindrom = IsPalindrom(12321)
print(isPalindrom) # Вывод: True`
🔥2
Proc32.

Пример использования функции DegToRad(D)

def DegToRad(D):
return D * 3.14 / 180

angle_degrees = 45
angle_radians = DegToRad(angle_degrees)
print(angle_radians) # Выводит: 0.7853981633974483
Proc33.

Пример использования функции RadToDeg(R):

def RadToDeg(R):
return R * 180 / 3.14

angle_radians = 1.57
angle_degrees = RadToDeg(angle_radians)
print(angle_degrees) # Выводит: 89.80891719745223
Proc34.

Пример использования функции Fact(N):

def Fact(N):
result = 1
for i in range(1, N+1):
result *= i
return result

number = 5
factorial = Fact(number)
print(factorial) # Выводит: 120
В данном примере вычисляется факториал числа 5, который равен 120.
👍1🔥1
Proc35

def Fact2(N):
result = 1
if N % 2 == 0: # если N четное
for i in range(2, N+1, 2):
result *= i
else: # если N нечетное
for i in range(1, N+1, 2):
result *= i
return result


python
numbers = [3, 4, 5, 6, 7]
for num in numbers:
double_factorial = Fact2(num)
print(f"Двойной факториал числа {num} равен {double_factorial}")
❤‍🔥1👍1