Проектирование программ с графическим интерфейсом на языке программирования Python - Студенческий научный форум

XV Международная студенческая научная конференция Студенческий научный форум - 2023

Проектирование программ с графическим интерфейсом на языке программирования Python

Наумова А.И. 1, Яхова Ю.Д. 1
1Тверской государственный университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

В качестве наглядного примера приведём разработку проекта “Калькулятор для работы с системами счисления”.

Формальная модель

В проекте первоначально предусмотрена разработка обычного калькулятора: выполнение арифметических операций с двумя целыми числами (сложение, вычитание, умножение и деление) [4]; далее рассмотрен вариант перевода исходных данных и полученного результата в двоичную систему счисления с использованием функции bin().

Компьютерная модель

Создать программный код (скрипт) с комментариями и описанием следующих компонентов: для ввода и вывода информации создать компоненты Entry (текстовые окна), для добавления текста – компоненты Label (метки), для выполнения программы – командную кнопку Button [1, 2].

Программный код (виджет):

#Проектирование программ с графическим интерфейсом

#Graphical user interfaceGUI

#Создать Приложение-Калькулятор с арифметическими операциями

#и переводом исходных данных и результата в двоичную систему счисления

#Создать Форму с компонентами (виджетами)

#Подключить графическую библиотеку Tkinter

from tkinter import *

import tkinter

top=tkinter.Tk()

#Функция пользователя для командной кнопки (скрипт – программный код)

def process():

L2=Entry.get(E1)

L3=Entry.get(E2)

L4=Entry.get(E3)

L7=Entry.get(E5)

L8=Entry.get(E6)

L9=Entry.get(E7)

#Преобразовать тип данных (строковую переменную в числовую)

L2=int(L2)

L3=int(L3)

#Арифметические операции

if L4 == "+":

L5=L2+L3

if L4 == "-":

L5=L2-L3

if L4 == "*":

L5=L2*L3

if L4 == "/":

L5=int(L2/L3)

#Перевести в двоичную систему счисления

L7=bin(L2), str(",")

L8=bin(L3),str(",")

L9=bin(L5),str(",")

#Занести полученный результат (10 с/с) в текстовое окно E4

Entry.insert(E4,0,L5)

#Занести полученные результаты (2-ая с/с) в текстовые окна E5,E6,E7

Entry.insert(E5,0,L7)

Entry.insert(E6,0,L8)

Entry.insert(E7,0,L9)

#Полученный результат выдать в окне выполнения программы

print(L5)

print(bin(L2))

print(bin(L3))

print(bin(L5))

#Создать интерфейс для десятичной системы счисления

#Создать 6 компонентов Label (метка): название, № позиций (строка, столбец)

#Позиции устанавливаются с помощью функции grid

L1=Label(top,text="Перевод чисел",).grid(row=0,column=1)

L1=Label(top,text="Десятичная система счисления",).grid(row=1,column=1)

L2=Label(top,text="Первое число",).grid(row=2,column=1)

L3=Label(top,text="Второе число",).grid(row=2,column=2)

L4=Label(top,text="Операция",).grid(row=2,column=3)

L4=Label(top,text="Результат",).grid(row=2,column=4)

#Для ввода информации создать 4 компонента Entry (текстовое окно)

E1=Entry(top,bd =5)

E1.grid(row=3,column=1)

E2=Entry(top,bd =5)

E2.grid(row=3,column=2)

E3=Entry(top,bd =5)

E3.grid(row=3,column=3)

E4=Entry(top,bd =5)

E4.grid(row=3,column=4)

#Создать интерфейс для двоичной системы счисления

#Создать 4 компонента Label (метка): название, № позиций (строка, столбец)

#Позиции устанавливаются с помощью функции grid

L6=Label(top,text="Двоичная система счисления",).grid(row=5,column=1)

L7=Label(top,text="Первое число",).grid(row=6,column=1)

L8=Label(top,text="Второе число",).grid(row=6,column=2)

L9=Label(top,text="Результат",).grid(row=6,column=4)

#Для ввода информации создать 3 компонента Entry (текстовое окно)

E5=Entry(top,bd =5)

E5.grid(row=7,column=1)

E6=Entry(top,bd =5)

E6.grid(row=7,column=2)

E7=Entry(top,bd =5)

E7.grid(row=7,column=4)

#Создать командную кнопку Button, ввести её название – Выполнить

B=Button(top,text="Выполнить",command = process).grid(row=8,column=1)

#Для работы с окнами (без функции mainloop() на экране проект не отобразится)

top.mainloop()

Компьютерный эксперимент

Запустить проект на выполнение: ввести значения первого и второго числа, арифметическую операцию и нажать на командную кнопку Выполнить.

Рис. 1. Перевод чисел из десятичного эквивалента в двоичную систему счисления

Анализ результатов и корректировка

После ввода двух целых положительных чисел, арифметической операции и нажатия на кнопку Выполнить в окне выполнения на форме в соответствующих текстовых окнах появятся полученные результаты (рис. 1). Удалив информацию (исходные данные, знак операции и полученный результат) в первой строке (десятичная система счисления), можно заново ввести два числа (или оставить предыдущие), ввести знак другой операции и вновь нажать на кнопку Выполнить. В этом случае появятся новые результаты выполнения программы. В окнах второй строки (двоичная система счисления) новые результаты появятся с левой стороны; предыдущий результат сохраняется и сдвигается через запятую вправо.

Программу можно доработать: добавив компоненты для описания восьмеричной и шестнадцатеричной систем счисления, получим перевод и в эти системы счисления (рис. 2) с использованием функций: oct()  преобразует число в восьмеричную систему и hex()  преобразует число в шестнадцатеричную систему. Во всех системах счисления (кроме десятичной) в полученных результатах числа обозначены префиксами (начало), которые указывают на использованную систему счисления:

0b  соответствует двоичной системе счисления (bbinary);

0o  соответствует восьмеричной системе счисления (ooctal);

0x  соответствует двоичной системе счисления (xhexadecimal).

Рис. 2. Перевод чисел из десятичного эквивалента в другие системы счисления

Таким образом, рассмотренный вариант работы на языке программирования Python для проектирования программ с графическим интерфейсом можно применять на уроках информатики в старших классах информационно-технологического, физико-математического и естественно-научного профилей при изучении систем счисления и программирования. Проведение подобных уроков позволяет получить учащимся дополнительные знания по практическому использованию изучаемого языка.

Список использованных источников и литературы

Tkinter — создание графического интерфейса в Python [Электронный ресурс]. – Режим доступа: https://python-scripts.com/tkinter.

Делаем первое программное обеспечение на Python [Электронный ресурс]. – Режим доступа: https://arduinoplus.ru/delaem-po-na-python/.

Информатика. 11 класс (базовый и углублённый уровни) (в 2 частях): учебник. Ч. 2 / К.Ю. Поляков, Е.А. Еремин. – М. : БИНОМ. Лаборатория знаний, 2019. – 304 с.: ил.

Исследование информационных моделей. Элективный курс: Учебное пособие / Н.Д. Угринович – М.: БИНОМ. Лаборатория знаний, 2004. – 183 с.

Просмотров работы: 86