Розв’язок задачі «Ряд Тейлора», написаний на Python 3 з використанням бібліотеки PyGame:
# -*- coding: utf-8 -*-
import pygame, sys, math
from pygame.locals import *
from math import *
# Функция возвращает y в ряде Тейлора по
# заданному x и количеству слагаемых n
def getY(x, n):
i = 1
y = 0.
sign = 1.;
term = x;
while i < n :
y += sign*term # Подсчет суммы (метод накопления)
sign = -sign;
i = i + 2
term = term*x*x/(i*(i-1));
return y;
pygame.init()
WIN_WIDTH = 600 #Ширина создаваемого окна
WIN_HEIGHT = 300 # Высота
DISPLAYSURF = pygame.display.set_mode((WIN_WIDTH, WIN_HEIGHT), 0, 32) # настройка окна
pygame.display.set_caption('Graph') #Надпишь в шапке окна
BLACK = ( 0, 0, 0) # определение цветов
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = ( 0, 255, 0)
BLUE = ( 0, 0, 255)
DISPLAYSURF.fill(WHITE) # рисование
mash = 30 # Масштабный множитель
x = -10
n = 100
while x < 10:
pygame.draw.circle(DISPLAYSURF, GREEN, ( trunc( x * mash ) + WIN_WIDTH // 2, trunc( -getY(x, n) * mash ) + WIN_HEIGHT // 2 ), 5, 0) # Рисования точки для суммы
x += 0.1 # Шаг графика
x = -10
while x < 10:
pygame.draw.circle(DISPLAYSURF, BLUE, ( trunc( x * mash ) + WIN_WIDTH // 2, trunc( -sin(x) * mash ) + WIN_HEIGHT // 2 ), 1, 0 ) # Рисование точки для синуса
x += 0.1 # Шаг графика
while True: # основной цикл обработки событий
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
Скріншот:

Зеленим кольором показано графік, побудований за допомогою ряду Тейлора, а синіми точками на ньому— точні значення сінуса.