Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Свидетельство о публикации

Автоматическая выдача свидетельства о публикации в официальном СМИ сразу после добавления материала на сайт - Бесплатно

Добавить свой материал

За каждый опубликованный материал Вы получите бесплатное свидетельство о публикации от проекта «Инфоурок»

(Свидетельство о регистрации СМИ: Эл №ФС77-60625 от 20.01.2015)

Инфоурок / Информатика / Другие методич. материалы / Проект Создание графических моделей в программе Python с помощью библиотеки Tkinter.
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 28 июня.

Подать заявку на курс
  • Информатика

Проект Создание графических моделей в программе Python с помощью библиотеки Tkinter.

Выберите документ из архива для просмотра:

Выбранный для просмотра документ код задачи питон.docx

библиотека
материалов

from tkinter import *

from math import *

import random

root = Tk()

def getV(root):

kod=sca4.get()

if kod==1:

print("Теорема Пифагора ввод а и b")

a= sca1.get()

b =sca2.get()

print("Теорема Пифагора ввод а= ",a," b=",b)

c=sqrt(a*a+b*b)

print("Значение гипотенузы c= ",c)

elif kod ==2:

print("Значение суммы ряда(3*i+10)/(8*i*i+5),ввод n")

n=sca1.get()

s=sum((3*i+10)/(8*i*i+5) for i in range(n))

print("Значение суммы ряда(3*i+10)/(8*i*i+5)","n=",n,"s=", s)

elif kod==3:

print("Площадь арки параболы 0.5*i*i-4*i+10 ,ввод a=2, ввод b=8")

a=sca2.get()

b=sca3.get()

s=0

i=a

while i<=b:

s+=(0.5*i*i-4*i+10)*(b-a)/100

i=i+(b-a)/100

print("Площадь арки параболы 0.5*i*i-4*i+10 ","a=",a, "b=",b, "s=",s)

elif kod==4:

#print( "Макс и мин функции y=i**2-4*i+3,a=0,b=6")

a=sca2.get()

b=sca3.get()

i=a

max=0

min=500

while i<=b:

y=i**2-4*i+3

if y>max:

max=y

elif y

min=y

i=i+(b-a)/100

print("min=", min ,"max=" , max)

elif kod==5:

print('Производствен. план')

print('1 кв 2 кв 3 кв 4кв')

print('себестоимость в руб. за единицу изделия')

z=[22,32,54,78]

print(z)

print()

print('Количество изделий по номенклатуре')

a = [[100, 200, 300,250], [50,90,80, 60], [70, 80,100, 90],[170, 180,200, 190]]

for i in range(len(a)):

for j in range(len(a[i])):

print(a[i][j], end=' ')

print()

print()

print('Общая себестоимость за год')

for i in range(len(a)):

for j in range(len(a[i])):

print(a[i][j]*z[j], end=' ')

print()

fra = Frame(root, width=200, height=200, bg='yellow')

#lab1 = Label(root, text="Т.Пифагора значение гипотенузы c*c=a*a+b*b", font="Arial 10")

#lab2 = Label(root, text="значение катета а", font="Arial 10")

#lab3 = Label(root, text="значение катета b", font="Arial 10")

sca1 = Scale(root,orient=HORIZONTAL, length=300, from_=0, to=50, tickinterval=5, resolution=5,bg="red")

sca2 = Scale(root, orient=HORIZONTAL, length=300, from_=0, to=32, tickinterval=2, resolution=1,bg="lightblue")

sca3 = Scale(root, orient=HORIZONTAL, length=300, from_=0, to=32, tickinterval=2, resolution=1,bg="yellow")

sca4 = Scale(root, orient=HORIZONTAL, length=100, from_=1, to=5, tickinterval=1, resolution=1,bg="lightgreen")

button1 = Button(text="Получить значение")

sca1.pack()

sca2.pack()

sca3.pack()

sca4.pack()

button1.pack()

#lab1.pack()

#lab2.pack()

#lab3.pack()

button1.bind("",getV)

fra.pack()

root.mainloop



























Выбранный для просмотра документ проект шаг в науку.docx

библиотека
материалов



Среднее общеобразовательное учреждение МОУ СОШ № 15
имени В. Д. Сабанеева











Проект:

Создание графических моделей в программе Python с помощью библиотеки Tkinter.









Автор проекта:
Учитель высшей категории Глушков Николай Васильевич













Подольск



2016 г



Содержание

  1. Цели и задачи проекта

  2. Основные теоретические положения

  3. Примеры создания математических и экономических моделей:
    3.1. Расчет гипотенузы прямоугольного треугольника
    по двум катетам; (теорема Пифагора).
    3.2. Вычисление суммы ряда по рекуррентной формуле;
    3.3. Нахождение площади арки параболы с исходными границами;
    3.4. Задача на наибольшее и наименьшее значение функции;
    3.5. Мини-проект производственного плана;
    Заключение





































1. Цели и задачи проектаhttp://younglinux.info/bg/tkinter.gif

Данный проект является продолжением учебных разработок, которые выполнены в серии задач
по программированию
на основе языка программирования Python . За основу настоящего проекта взят так же цикл практических уроков по программированию [1],[2],[3],[4].
Данный проект должен сформировать у обучающихся базовые понятия построения графического интерфейса пользователя (GUI), а также расширить знания о программировании.

2. Основные теоретические положения

В последнее время достаточно удобными при демонстрации результатов программ, которые пишут программисты, являются приложения с графическим пользовательским интерфейсом (GUI). Автор данного проекта в основном взаимодействует с программой с помощью различных кнопок, меню, значков, вводя информацию в специальные поля, выбирая определенные значения в списках и т. д. Для языка программирования Python такие виджеты включены в специальную библиотеку — tkinter. Если ее импортировать в программу (скрипт), то можно пользоваться ее компонентами, создавая графический интерфейс.

Последовательность шагов при создании графического приложения имеет свои особенности. Программа должна выполнять свое основное назначение, быть удобной для пользователя, реагировать на его действия. Рассмотрим какие этапы приблизительно нужно пройти при программировании, чтобы получить программу с GUI:

  1. Импорт библиотеки

  2. Создание главного окна

  3. Создание виджет

  4. Установка их свойств

  5. Определение событий

  6. Определение обработчиков событий

  7. Расположение виджет на главном окне

  8. Отображение главного окна

Основным инструментом в данном проекте является шкала:
Назначение шкалы — это предоставление пользователю выбора какого-то значения из определенного диапазона. Внешне шкала представляет собой горизонтальную или вертикальную полосу с разметкой, по которой пользователь может передвигать движок, осуществляя тем самым выбор значения. Пример шкал представлен в следующих скриптах, где прописаны их характеристики:

sca1 = Scale(fra3,orient=HORIZONTAL,length=300,

from_=0,to=100,tickinterval=10,resolution=5)

sca2 = Scale(root,orient=VERTICAL,length=400,

from_=1,to=2,tickinterval=0.1,resolution=0.1)

Свойства шкал:

  • orient определяет направление шкалы;

  • length – длина шкалы в пикселях;

  • from_ и to – с какого значения шкала начинается и каким заканчивается (т. е. диапазон значений);

  • tickinterval – интервал, через который отображаются метки для шкалы;

  • resolution - минимальная длина отрезка, на которую пользователь может передвинуть движок.

3. Примеры создания математических и экономических моделей:
3.1. Расчет гипотенузы прямоугольного треугольника

Программный код (математическая модель) начало:
def getV(root):
kod=sca4.get()
if kod==1:
print("Теорема Пифагора ввод а и b")
a= sca1.get()
b =sca2.get()
print("Теорема Пифагора ввод а= ",a," b=",b)
c=sqrt(a*a+b*b)
print("Значение гипотенузы c= ",c)
C:\Users\Николай\Desktop\Скриншот 16-02-2016 194821.png

3.2 Вычисление суммы ряда по рекуррентной формуле
Программный код (математическая модель) начало:
elif kod ==2:
print("Значение суммы ряда(3*i+10)/(8*i*i+5), ввод n")
n=sca1.get()
s=sum((3*i+10)/(8*i*i+5) for i in range(n))
print("Значение суммы ряда(3*i+10)/(8*i*i+5)","n=",n,"s=", s)

hello_html_5062a436.png

3.3 Нахождение площади арки параболы с исходными границами;

elif kod==3:
print("
Площадь арки параболы
0.5*i*i-4*i+10 ,
ввод a=2, ввод b=8")
a=sca2.get()
b=sca3.get()
s=0
i=a
while i<=b:
s+=(0.5*i*i-4*i+10)*(b-a)/100
i=i+(b-a)/100
print("
Площадь арки параболы
0.5*i*i-4*i+10 ","a=",a, "b=",b, "s=",s)
















C:\Users\Николай\Desktop\Скриншот 16-02-2016 222425.png

3.4 Задача на наибольшее и наименьшее значение функции;
elif kod==4:
print(Макс и мин функции y=i**2-4*i+3, a=0, b=6")
a=sca2.get()
b=sca3.get()
i=a
max=0
min=500
while i<=b:
if y>max:
max=y
elif y<min:
min=y
i=i+(b-a)/100
print("min=", min ,"max=" , max)

C:\Users\Николай\Desktop\Скриншот 16-02-2016 225900.png

3.5 Мини-проект производственного плана;
elif kod==5:
print('Производствен. план')
print('1 кв 2 кв 3 кв 4кв')
print('себестоимость в руб. за единицу изделия')
z=[22,32,54,78]
print(z)
print()
print('Количество изделий по номенклатуре')
a = [[100, 200, 300,250], [50,90,80, 60], [70, 80,100, 90],[170, 180,200, 190]]
for i in range(len(a)):
for j in range(len(a[i])):
print(a[i][j], end=' ')
print()
print()
print('Общая себестоимость за год')
for i in range(len(a)):
for j in range(len(a[i])):
print(a[i][j]*z[j], end=' ')
print()

C:\Users\Николай\Desktop\Скриншот 16-02-2016 222900.png

4. Заключение.
Данный проект является небольшим руководством для дальнейшего изучения учащимися перспективного языка Pyton. Он имеет очень совершенную математическую библиотеку и богатый графический модуль для выполнения задач, объектно-ориентированного направления. В проекте представлены отдельные математические и экономические модели – калькуляторы. Данные разработки выполнены самостоятельно авторами проекта. За отправную модель в проекте принята модель регулятора цветов [ 1 ]. В программном коде управление используемых шкал передается на формат математических данных с помощью класса get() ( a=sca2.get()) , которые и явились входными данными для решаемых в проекте задач. Программный код начинается с функции, где находится код математической модели. Данная функция по команде включается кнопкой в графическом окне. Графическая база программного кода состоит из фрейма , шкал и кнопки. Результаты работы программы выводятся в окно основной программы в аналитическом виде.


Литература:

  1. Создание GUI на Python с помощью библиотеки Tkinter. Программирование для начинающих
    http://younglinux.info/tkinter.php
    http://docplayer.ru/259428-Modul-tkinter-sozdanie-graficheskogo-interfeysa-polzovatelya-s-pomoshchyu-yazyka-programmirovaniya-python.html

  2. Программирование на Python. Том1, 2, 4-е издание Автор: Марк Лутц Издательство: Символ-Плюс Год: 2011
    Источник: http://progbook.ru/python/

  3. Python. Подробный справочник, 4-е издание Автор: Дэвид Бизли Издательство: Символ-Плюс Год: 2010
    Источник: http://progbook.ru/python/

  4.  Основы программирования на Python. Вводный курс Автор: Шапошникова С. Год издания: 2011 Издательство: Интернет-издание Страниц: 44 













































































Подайте заявку сейчас на любой интересующий Вас курс переподготовки, чтобы получить диплом со скидкой 50% уже осенью 2017 года.


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Автор
Дата добавления 23.03.2016
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров273
Номер материала ДВ-548182
Получить свидетельство о публикации
Похожие материалы

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх