Отчет 3
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
Дисциплина Языки программирования
ОТЧЕТ ПО ПРАКТИЧЕСКОЙ РАБОТЕ
Языки программирования
(тема отчета)
Направление/специальность подготовки
10.03.01
(код и наименование направления/специальности)
Студент:
(Ф.И.О., № группы) (подпись)
Преподаватель:
(Ф.И.О.) (подпись)
Содержание
Введение……………………………………………………………2
Ход работы…………………………………………………………2
Заключение…………………………………………………………8
Введение
Цель работы: написание программы для вывода расположения точки относительно выбранных фигур. Фигуры должны рисоваться по координатам на плоскости.
Ход работы
Код программы:
import turtle
from random import choice, randint
print('Введите "файл", что бы загрузить данные из файла или введите "рандом", что бы данные ввелись случайным образом')
k = str(input())
if k == 'файл':
with open('input.txt') as inp:
x, y, radius = map(float, inp.readline().split())
x_1, y_1 = map(float, inp.readline().split())
x_2, y_2, stk = map(float, inp.readline().split())
y_3, = map(float, inp.readline().split())
x_4, y_4, sx, sy = map(float, inp.readline().split())
elif k == 'рандом':
import random
x = random.uniform(-500, 500)
y = random.uniform(-500, 500)
radius = random.uniform(-500, 500)
x_1 = random.uniform(-500, 500)
y_1 = random.uniform(-500, 500)
x_2 = random.uniform(-500, 500)
y_2 = random.uniform(-500, 500)
stk = random.uniform(-500, 500)
y_3 = random.uniform(-1000, -790)
x_4 = random.uniform(-500, 500)
y_4 = random.uniform(-500, 500)
sx = random.uniform(-500, 500)
sy = random.uniform(-500, 500)
window = turtle.Screen()
window.title("Лаба 1")
window.setup(width=1.0, height=1.0)
window.bgcolor("Black")
# поле
border = turtle.Turtle()
border.speed(0)
border.begin_fill()
border.color('white')
border.goto(-800, 500)
border.goto(800, 500)
border.goto(800, -500)
border.goto(-800, -500)
border.goto(-800, 500)
border.end_fill()
border.hideturtle()
# плоскость
border = turtle.Turtle()
border.speed(0)
border.goto(0, 500)
border.pensize(2)
border.color('Black')
border.goto(0, -500)
border = turtle.Turtle()
border.speed(0)
border.goto(790, 0)
border.pensize(2)
border.color('Black')
border.goto(-790, 0)
border.hideturtle()
# окружность
Circle = turtle.Turtle()
Circle.color("#FF033E")
Circle.up()
Circle.goto(x, y)
Circle.down()
Circle.pensize(3)
Circle.circle(radius)
Circle.hideturtle()
# квадрат
Sq = turtle.Turtle()
Sq.color("#77DDE7")
Sq.up()
Sq.goto(x_2, y_2)
Sq.down()
Sq.pensize(3)
def Square(w):
for i in range(2):
Sq.fd(w)
Sq.left(90)
Sq.fd(w)
Sq.left(90)
Square(stk)
Sq.hideturtle()
# Прямая
Straight = turtle.Turtle()
Straight.up()
Straight.goto(-1000, y_3)
Straight.down()
Straight.pensize(3)
Straight.forward(2000)
Straight.hideturtle()
# Прямоугольник
t = turtle.Turtle()
t.color("#A7FC00")
t.up()
t.goto(x_4, y_4)
t.down()
t.pensize(3)
def rectangle(w, h):
for i in range(2):
t.left(90)
t.fd(h)
t.left(90)
t.fd(w)
rectangle(sx, sy)
t.hideturtle()
# точка
Points = turtle.Turtle()
Points.shape("circle")
Points.shapesize(stretch_wid=0.3, stretch_len=0.3)
Points.up()
Points.goto(x_1, y_1)
Points.down()
Points.color("#DD18FF")
with open('output.txt', 'w' , encoding = 'utf-8') as outp:
if (x_1 == x) and (y_1 == y):
print('dot on circle', file=outp)
elif (x_1 > (x + radius)) and (y_1 > (y + radius)):
print('btfhf', file=outp)
else:
print('ngrtnty', file=outp)
if ((x_4 + sx) < x_1) and ((y_4 + sy) < y_1):
print("Точка внутри прямоугольника", file=outp)
else:
print("Точка внe прямоугольника", file=outp)
if ((x_2 + stk) < x_1) and ((y_2 + stk) < y_1):
print("Точка внутри квадрата", file=outp)
else:
print("Точка внe квадрата", file=outp)
if (y_1 == y_3):
print("Точка на прямой", file=outp)
elif (y_1 > y_3):
print("Точка выше прямой", file=outp)
else:
print("Точка ниже прямой", file=outp)
t.screen.exitonclick()
window.mainloop()
Заключение
Мы написали программу для вывода расположения точки относительно выбранных фигур. Фигуры должны были рисоваться по координатам на плоскости. Мы приобрели навыки в области графики на Python.
Санкт-Петербург
2019