WPROWADZENIE

Przek膮tna to odcinek, kt贸ry 艂膮czy dwa wierzcho艂ki wielok膮ta, ale nie jest jego bokiem.

W ka偶dym wielok膮cie mo偶na dok艂adnie obliczy膰 liczb臋 wszystkich przek膮tnych

Liczb臋 przek膮tnych mo偶na obliczy膰 z zale偶no艣ci $\frac{n(n-3)}{2}$, gdzie n oznacza liczb臋 bok贸w wielok膮ta.


KOD W J臉ZYKU PYTHON

import math
import matplotlib.pyplot as plt

num_sides = int(input("Wpisz liczb臋 bok贸w wielok膮ta: "))
if num_sides < 3:
  print('Taki wielok膮t nie istnieje')
else:
  num_diag = int(num_sides * (num_sides - 3) /2)
  interior_angle = (num_sides - 2) * 180 / num_sides

  diagonal_angle = 180 - interior_angle
  diagonal_length = 0.5 / math.cos(math.pi / num_sides)

  x_coords = [math.cos(2 * math.pi / num_sides * i) for i in range(num_sides)]
  y_coords = [math.sin(2 * math.pi / num_sides * i) for i in range(num_sides)]
  fig, ax = plt.subplots()
  ax.plot(x_coords, y_coords, 'o-', label='Wielok膮t')
  for i in range(num_sides):
      for j in range(i + 2, num_sides):
          ax.plot([x_coords[i], x_coords[j]], [y_coords[i], y_coords[j]], '-', color='gray')
  ax.set_xlim([-1.2, 1.2])
  ax.set_ylim([-1.2, 1.2])
  ax.set_title(f'Wielok膮t o {num_sides} bokach i {num_diag} przek膮tnych')
  plt.show()

猬嗭笍猬嗭笍猬嗭笍 Zobacz w Google Colaboratory


JAK DZIA艁A PROGRAM?

  1. Importujemy biblioteki math oraz matplotlib.pyplot.
  2. Program prosi u偶ytkownika o wpisanie liczby bok贸w wielok膮ta.
  3. Je艣li liczba bok贸w jest mniejsza ni偶 3, program wy艣wietla komunikat, 偶e taki wielok膮t nie istnieje. Je艣li liczba bok贸w wynosi 3 lub wi臋cej, program wykonuje dalsze obliczenia.
  4. Obliczamy liczb臋 przek膮tnych wielok膮ta wed艂ug wzoru n(n-3)2 oraz miar臋 k膮ta wewn臋trznego wielok膮ta interior_angle.
  5. Obliczamy miar臋 k膮ta mi臋dzy przek膮tnymi diagonal_angle wielok膮ta oraz d艂ugo艣膰 przek膮tnych diagonal_length.
  6. Obliczamy wsp贸艂rz臋dne wierzcho艂k贸w wielok膮ta, rysujemy wielok膮t oraz przek膮tne za pomoc膮 biblioteki matplotlib.
  7. Program ustawia zakres rysowania oraz tytu艂 wykresu.
  8. Program wy艣wietla wykres w oknie graficznym.

LINKI

https://zpe.gov.pl/a/przeczytaj/DwdmuPmu8