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

Раздел Информатика
Класс 10 класс
Тип Другие методич. материалы
Автор
Дата
Формат rar
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

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











Проект№2

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









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













Подольск





2016 г

Содержание

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

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

  3. Примеры создания математических и физических моделей:
    3.1. Калькулятор для вычисления площадей треугольников
    по формуле Герона;
    3.2. Калькулятор для решения систем линейных уравнений с
    двумя переменными;
    3.3. Игра «Лото» -пользователь - компьютер;
    3.4. Модель для вычисления площади криволинейной трапеции;
    3.5. Калькулятор для вычисления кредитных операций;
    3.6.Логическая модель одноразрядного полусумматора;
    3.7.Модель полета тела под углом к горизонту.

  4. Заключение









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

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

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

В многообразии программ, которые пишут программисты, выделяют приложения с графическим пользовательским интерфейсом (GUI). При создании таких программ становятся важными не только алгоритмы обработки данных, но и разработка для пользователя программы удобного интерфейса, взаимодействуя с которым, он будет определять поведение приложения. Современный пользователь в основном взаимодействует с программой с помощью различных кнопок, меню, значков, вводя информацию в специальные поля, выбирая определенные значения в списках и т. д. Эти "изображения" в определенном смысле и формируют GUI, в дальнейшем мы их будем называть виджетами (от англ. widget - "штучка").

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

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

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

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

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

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

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

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

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

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

3. Примеры создания математических и физических моделей:
3.1. Калькулятор для вычисления площадей треугольников по формуле Герона;
Проект№2 Создание графических моделей в программе Python с помощью библиотеки Tkinter.
Программный код (математическая модель) начало:
from tkinter import *
from math import sqrt
def solver(a,b,c):
p=(a+b+c)/2
s=sqrt(p*(p-a)*(p-b)*(p-c))
text = "The perimetr is: %s \n the ploshad is: %s \n" % (p, s)
return text и т.д.

3.2. Калькулятор для решения систем линейных уравнений с
двумя переменными:
Проект№2 Создание графических моделей в программе Python с помощью библиотеки Tkinter.

Программный код (математическая модель) начало:
from tkinter import *
def solver(a1,b1,c1,a2,b2,c2):
d = a1*b2-a2*b1
dx=c1*b2-c2*b1
dy=a1*c2-a2*c1
if d !=0:
x = dx/d
y = dy/d
text = "The koren x is: %s \n koren y is: %s \n" % ( x, y)

elif (d==0) and (dx==0 and dy==0):
text = "The beskonechno mnogo reshen d is: %s \n dx is:%s\n dy is:%s\n" % (d,dx,dy)
elif (d==0) and ((dx !=0) or (dy !=0)):
text = "The no reshen d is: %s \n dx is:%s\n dy is:%s\n" % (d,dx,dy)

3.3Игра «Лото» -пользователь - компьютер;

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

Программный код (математическая модель) начало:
from tkinter import *
import random
def solver(n):
a=sum((random.randint(500,10000))*i for i in range(n))
b=sum((random.randint(500,10000))*i for i in range(n))
if a>b:
text = "победитель пользователь --> oshki is: %s \n oshki PK is: %s \n" % (a, b)
else:
text = "победитель ПК ->>oshki is: %s \n пользователь-->> oshki is: %s \n" % (b, a)
3.4 Модель для вычисления площади криволинейной трапеции;
Проект№2 Создание графических моделей в программе Python с помощью библиотеки Tkinter.

Программный код (математическая модель) начало:
from tkinter import *
from math import sin


def solver(a,b):
s=0
i=0
while i<=3.14:
s+=sin(i)*(b-a)/100
i=i+(b-a)/100
text = "Площадь арки синусоиды is: %s \n" % (s)
return text
3.5 Калькулятор для вычисления кредитных операций;
Проект№2 Создание графических моделей в программе Python с помощью библиотеки Tkinter.

Программный код (математическая модель) начало:
from tkinter import *
def solver(kr,p,ws):
ns=0
l=1
while l<5:
ns=kr+kr*p
os=ns-ws
l+=1
kr=os
text = " года is: %s \n остаток is: %s \n" % (l, os)
return text

3.6.Логическая модель одноразрядного полусумматора;
Программный код (математическая модель) начало:
from tkinter import *
def solver(x,y):
p=x and y
s=not(x and y) and (x or y)
text = "перенос is: %s \n сумма is: %s \n" % (p, s)
return text

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

3.7.Модель полета тела под углом к горизонту.
Программный код (математическая модель) начало:
from tkinter import *
import math
def solver(v0,al,s):
g=9.8
l=2
x=v0*v0*math.sin(2*al*3.14/180)/g
if (x>=s) and (x<=(s+l)):
text = "Попадание Коорд X is: %s \n Дальность is: %s \n " % (round(x), s)
elif x text = "Недолет Коорд X is: %s \n Дальность is: %s \n" % (round(x), s)
elif x>(s+l)
text = "Перелет Коорд X is: %s \n Дальность is: %s \n" % (round(x), s)
return text
Проект№2 Создание графических моделей в программе Python с помощью библиотеки Tkinter.

4. Заключение.
Данная разработка проекта является небольшим методическим пособием для дальнейшего
совершенствования учащихся в изучении перспективного языка Pyton, имеющего очень совершенную математическую библиотеку и богатый графический модуль для выполнения задач, имеющих объектно-ориентированное направление. В проекте показаны первые шаги создания простых математических и физических моделей - калькуляторов. Данные разработки выполнены
самостоятельно авторами проекта. За основу моделей проекта принята математическая модель калькулятора для решения квадратных уравнений [2].
Задача моделирования состояла из нескольких этапов:
1. Написание функции для данной математической модели.
2. Создание графической оболочки GUI для нашего приложения: само окно и размещаем на нем необходимые виджеты: поля, кнопка и т.д.
3. Написание функции, которая будет брать числа из полей для ввода, передавать их функции решения для данной задачи и выводить результат в поле для вывода.



Литература:

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

pythonicway.com/python-examples/python-gui-examples/14-python-tkinter-quadratic-equations

3. Программирование на Python. Том1, 2, 4-е издание Автор: Марк Лутц Издательство: Символ-Плюс Год: 2011
Источник: progbook.ru/python/
4. Название: Python. Подробный справочник, 4-е издание Автор: Дэвид Бизли Издательство: Символ-Плюс Год: 2010
Источник: progbook.ru/python/
5. Основы программирования на Python. Вводный курс Автор: Шапошникова С. Год издания: 2011 Издательство: Интернет-издание Страниц: 44



























© 2010-2022