Ksenia 6 дней назад
Родитель 053779cddb
Сommit e7eeaaf4d8

@ -1,5 +1,58 @@
#Программа по Теме 1 <Зеленкина Ксения Михайловна>
print('Hello')
h=input('Your name=')
import os
os.chdir("C:/Users/user/OneDrive/Documents/ZelenkinaKs/python-labs/TEMA1/Отчет")
import numpy as np
import matplotlib.pyplot as plt
# Параметры системы
K = 2.0
# Частотный диапазон (логарифмическая шкала)
omega = np.logspace(-1, 2, 500) # от 0.1 до 100 рад/с
# Действительная и мнимая части АФХ
U = np.zeros_like(omega) # Всегда 0
V = -K / omega # Мнимая часть
# Построение годографа
plt.figure(figsize=(8, 8))
plt.plot(U, V, 'b-', linewidth=2, label='АФХ (годограф)')
plt.plot(U[0], V[0], 'go', markersize=8, label='Начало (ω=0.1)')
plt.plot(U[-1], V[-1], 'ro', markersize=8, label='Конец (ω=100)')
# Стрелки направления увеличения частоты
for i in [50, 150, 300]: # индексы для стрелок
plt.arrow(U[i], V[i], U[i+10]-U[i], V[i+10]-V[i],
head_width=0.1, head_length=0.1, fc='k', ec='k')
plt.xlabel('Действительная часть Re(W)')
plt.ylabel('Мнимая часть Im(W)')
plt.title(f'АФХ для интегрирующего звена $W(p) = K/p$\nK={K}')
plt.grid(True, alpha=0.3)
plt.axis('equal')
plt.legend()
plt.show()
# Дополнительно: построение отдельно действительной и мнимой частей
plt.figure(figsize=(12, 4))
plt.subplot(1, 2, 1)
plt.semilogx(omega, U, 'r-', linewidth=2)
plt.xlabel('ω (рад/с)')
plt.ylabel('Re(W)')
plt.title('Действительная часть')
plt.grid(True, alpha=0.3)
plt.subplot(1, 2, 2)
plt.semilogx(omega, V, 'g-', linewidth=2)
plt.xlabel('ω (рад/с)')
plt.ylabel('Im(W)')
plt.title('Мнимая часть')
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
# Вывод таблицы значений
print("Таблица значений АФХ:")
print("ω\t\tRe(W)\t\tIm(W)")
print("-" * 40)
for i in range(0, len(omega), 50):
print(f"{omega[i]:.2f}\t\t{U[i]:.2f}\t\t{V[i]:.2f}")

@ -0,0 +1,106 @@
# Общее контрольное задание по теме 5
Зеленкина Ксения, А-02-23
## Задание 1
Для заданной символьной строки с англоязычным текстом (его можно заимствовать из помощи) определите порядковый номер каждой буквы в английском алфавите.
## Решение
_Код:_
```py
text = "Create a new string object from the given object."
sl = {}
for x in text:
if x.isalpha() == True:
a = x.lower()
pos = ord(a) - ord('a') + 1
sl[a] = pos
for l in sl:
print(f"{l}: {sl[l]}")
```
_Вывод:_
```py
C: 3
r: 18
e: 5
a: 1
t: 20
n: 14
w: 23
s: 19
i: 9
g: 7
o: 15
b: 2
j: 10
c: 3
f: 6
m: 13
h: 8
v: 22
```
## Задание 2
Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом).
## Решение
_Код:_
```py
spis = ["список", "со", "словами", "из", "задания", "данного", "пункта"]
word1 = "список"
word2 = "программа"
if word1 in spis:
print(f"'{word1}' есть в списке!")
else:
print(f"'{word1}' нет в списке!")
if word2 in spis:
print(f"'{word2}' есть в списке!")
else:
print(f"'{word2}' нет в списке!")
```
_Вывод:_
```py
'список' есть в списке!
'программа' нет в списке!
```
## Задание 3
Создайте список студентов вашей группы (3-4 фамилии) и список их средних баллов в летней сессии – в порядке перечисления студентов в первом списке. Создайте еще 2 аналогичных списка для тех же студентов, но в другом порядке, по зимней сессии. Напишите инструкции, позволяющие по указанной (запрошенной и введенной) фамилии студента вывести его средние баллы по двум сессиям.
## Решение
_Код:_
```py
studentsSum = ["Зеленкина", "Криви", "Капитонов", "Хатюхин"]
gradesSum = [4.5, 3.8, 4.2, 4.9]
studentsWin = ["Криви", "Хатюхин", "Зеленкина", "Капитонов"]
gradesWin = [4.1, 4.7, 4.3, 4.0]
print(f"Список студентов: {studentsSum}")
surname = input("Введите фамилию студента из списка: ")
if surname in studentsSum:
inds = studentsSum.index(surname)
gs = gradesSum[inds]
print(f"Летняя сессия: {gs}")
else:
print("Такой студент не найден")
if surname in studentsWin:
indw = studentsWin.index(surname)
gw = gradesWin[indw]
print(f"Зимняя сессия: {gw}")
else:
print("Такой студент не найден")
```
_Вывод:_
```py
Список студентов: ['Зеленкина', 'Криви', 'Капитонов', 'Хатюхин']
Введите фамилию студента из списка: Криви
Летняя сессия: 3.8
Зимняя сессия: 4.1
```

@ -0,0 +1,47 @@
#1
text = "Create a new string object from the given object."
sl = {}
for x in text:
if x.isalpha() == True:
a = x.lower()
pos = ord(a) - ord('a') + 1
sl[a] = pos
for l in sl:
print(f"{l}: {sl[l]}")
#2
spis = ["список", "со", "словами", "из", "задания", "данного", "пункта"]
word1 = "список"
word2 = "программа"
if word1 in spis:
print(f"'{word1}' есть в списке!")
else:
print(f"'{word1}' нет в списке!")
if word2 in spis:
print(f"'{word2}' есть в списке!")
else:
print(f"'{word2}' нет в списке!")
#3
studentsSum = ["Зеленкина", "Криви", "Капитонов", "Хатюхин"]
gradesSum = [4.5, 3.8, 4.2, 4.9]
studentsWin = ["Криви", "Хатюхин", "Зеленкина", "Капитонов"]
gradesWin = [4.1, 4.7, 4.3, 4.0]
print(f"Список студентов: {studentsSum}")
surname = input("Введите фамилию студента из списка: ")
if surname in studentsSum:
inds = studentsSum.index(surname)
gs = gradesSum[inds]
print(f"Летняя сессия: {gs}")
else:
print("Такой студент не найден")
if surname in studentsWin:
indw = studentsWin.index(surname)
gw = gradesWin[indw]
print(f"Зимняя сессия: {gw}")
else:
print("Такой студент не найден")
Загрузка…
Отмена
Сохранить