Введение
Актуальность данной работы обусловлено рядом причин. В повседневной жизни часто возникает необходимость переводить одни единицы измерения в другие. Школьники сталкиваются с этой задачей на уроках физики, химии и даже в быту.
Ручные расчеты занимают время и могут приводить к ошибкам, особенно при работе с нестандартными единицами (например фунты). Конвертер единиц измерения может решить эту проблему: он точно сможет выполнить расчеты, а также помочь лучше понять соотношения между системами измерений.
Объектом данной работы выступило программирование на Python. Предмет проекта мы обозначили как использование Python для создания программы-конвертера единиц измерения.
Цель проекта была обозначена нами как создание программы-конвертера единиц измерения на языке программирования Python.
Задачи работы при этом решались следующего характера:
изучение существующих физических величин и выявление наиболее проблемных для перевода;
определение алгоритмических конструкций и функций, необходимых для написания программы;
реализация программы-конвертера единиц измерения на Python и ее анализ.
Гипотеза исследования: язык Python является наиболее подходящим для написания программы такого типа.
Ключевыми методами в работе выступили: метод анализа научной литературы по теме проекта и проектный метод, предполагающий разработку конкретного программного продукта.
Работа имеет следующую структуру: введение, описание хода работы (три раздела), полученные результаты и список использованных источников.
1. Существующие физические величины и единицы их измерения
На протяжении всей человеческой истории люди проводили различные измерения. Таким образом были выработаны так называемые физические величины.
Как указывают В. В. Рындин и Д. В. Рындина, физическая величина — это количественная характеристика, описывающая свойства физических объектов или явлений1.
С. А. Суровикина приводит следующее определение. Физические величины — это количественные характеристики объектов и явлений, которые можно измерить2. Для этого служат единицы измерения физических величин.
Единица измерения физической величины — это стандартная единица, которая используется для количественного описания физических свойств или явлений3. Она позволяет выразить значение физической величины в численной форме, что облегчает сравнение и анализ данных. Например, длина может быть измерена в метрах, время — в секундах, масса — в килограммах.
Каждая величина имеет свою единицу измерения, которая зависит от принятой системы (например, СИ, СГС, английская система). Е. С. Гурьев делит их на:
основные: длина (метр), масса (килограмм), время (секунда), температура (Кельвин), электрический ток (ампер), количество вещества (моль), сила света (кандела);
производные: скорость (метр в секунду), ускорение (метр в секунду в квадрате), сила (ньютон), работа (джоуль), мощность (ватт);
дополнительные: радиоактивность (беккерель), катализатор (катал)4.
Перевод между различными единицами измерения представляет особую сложность в нескольких ключевых случаях. Наибольшие трудности возникают при работе с единицами из разных систем измерения. Например, перевод между метрической системой и британской системой (футы, дюймы, мили). Также сложности вызывает перевод между комплексными величинами. К примеру, перевод единиц измерения энергии (джоули, калории, киловатт-часы). Есть проблема и с контекстно-зависимыми показателями. В качестве примера можно привести давление (атмосферы, паскали, бары).
Для решения проблемы перевода между различными единицами измерения все чаще используются компьютерные приложения. Эти приложения программисты пишут на различных языках программирования.
Язык программирования — это формальный язык, который позволяет человеку «разговаривать» с компьютером, давая ему точные инструкции для выполнения задач5. Без языков программирования современные технологии просто не существовали бы.
Какие бывают языки программирования? Выделяют следующие типы:
- по уровню абстракции:
низкоуровневые: Ассемблер (машинно-ориентированный);
среднего уровня: C (близок к железу, но с абстракциями);
высокоуровневые: Python, JavaScript, Java;
- по парадигмам программирования:
императивные (код как последовательность команд): C, Pascal, Python;
объектно-ориентированные (ООП): Java, C++, Python;
функциональные (вычисления как функции): Haskell, Lisp, Scala;
мультипарадигмальные (сочетают стили): JavaScript, Python, C++.
Почему из всех этих языков стоит остановиться на Python?
Python — это современный высокоуровневый язык программирования, который широко используется в науке, анализе данных, веб-разработке, автоматизации и других областях. Он особенно полезен в физике, инженерии и математике, так как позволяет легко проводить сложные вычисления и преобразования.
Иными словами, Python — это мощный инструмент, с помощью которого можно сделать разные вещи. Например, можно создать программу, которая будет переводить одни единицы измерения в другие. Для этого можно использовать готовые библиотеки, которые упрощают процесс. Также можно написать программу, которая сама будет выбирать правильные коэффициенты для перевода в зависимости от того, какие единицы измерения вы ввели.
Еще можно создать удобный графический интерфейс для этой программы, чтобы пользоваться ей было легко. А после этого нужно протестировать программу и исправить ошибки, чтобы убедиться, что она правильно переводит значения.
2. Алгоритмические конструкции и функции в Python
Основные алгоритмические конструкции позволяют выполнять код в зависимости от определенных условий и повторять выполнение блоков кода. В Python эти конструкции реализованы с помощью условных операторов (if, elif, else), а также циклов (for и while).
Конструкция if (если) в Python оформляется следующим образом:
if <условие>:
<отступ 4 шага> <серия команд>
else:
<отступ 4 шага> <серия команд>
Приведем пример:
Рис. 1. Конструкция if в Python
Elif – это сокращение от else if, elif помогает добавить дополнительные условия после if, чтобы избежать повторения кода.
if <условие>:
<отступ 4 шага> <серия команд>
elif <условие>:
<отступ 4 шага> <серия команд>
else:
<отступ 4 шага> <серия команд>
Приведем пример:
Рис. 2. Конструкция elif в Python
Конструкция for (цикл) — это управляющая конструкция, которая позволяет перебирать элементы последовательности (списка, строки и др.) и выполнять одно и то же действие для каждого элемента. Оформляется следующим образом:
for i in range(<диапазон>):
<отступ 4 шага> <серия команд>
Приведем пример:
Рис. 3. Конструкция for в Python
Конструкция while (цикл пока)— это конструкция, которая выполняет заданный блок кода до тех пор, пока условие остается истинным. Оформляется следующим образом:
while <условие>:
<отступ 4 шага> <серия команд>
Приведем пример:
Рис. 4. Конструкция while в Python
Также для написания кода необходимы функции. Функция — это многократно используемый фрагмент кода, который выполняет определенные операции и может возвращать результат. Функции позволяют структурировать код и избегать его дублирования.
Функции в Python объявляют с помощью ключевого слова def (от англ. define — «определить, обозначить»). Чтобы вызвать функцию в Python, нужно ввести ее название и передать аргументы в скобках. В общем виде синтаксис вызова выглядит так: имя_функции(аргументы).
Параметры (аргументы) указываются в круглых скобках при определении функции. Можно передавать несколько аргументов, разделяя их запятыми.
Функции могут возвращать значения с помощью ключевого слова return. Это позволяет использовать результат работы функции в других частях программы.
Приведем пример:
Рис. 5. Пользовательская функция в Python
Помимо пользовательских функций существуют библиотеки готовых функций.Библиотека — это набор модулей, которые содержат функции и классы для выполнения различных задач. Они упрощают разработку, предоставляя готовые решения, что позволяет разработчикам сосредоточиться на более специфических аспектах проекта.
Приведем пример:
Рис. 6. Библиотека math и ее функция ceil в Python
Для написания различных функций существуют локальные и глобальные переменные:
локальные переменные создаются внутри функций и существуют только во время выполнения этой функции. После завершения работы функции они удаляются из памяти;
глобальные переменные определяются вне функций и могут использоваться как внутри функций, так и вне их.
Какие функции должен содержать в себе конвертер? Конвертер должен включать следующие функции:
функция ввода данных пользователем — обеспечивает возможность ввода информации, например, с указанием единиц измерения. Важно предусмотреть проверку корректности вводимых данных, чтобы программа могла обрабатывать ошибочные сценарии, например, ввод текста вместо числа или выбор несуществующей единицы измерения;
функция конвертации — позволяет преобразовывать значения между различными единицами измерения, используя заранее заданные коэффициенты. Для сложных единиц (например, температуры) нужно применять специализированные формулы, которые учитывают смещение шкал;
функция вывода результатов — должна выводить на экран преобразованные значения, возможно, с указанием единицы измерения, в которую происходит конвертация. Также важно обеспечить точность результата, например, с определенным количеством знаков после запятой.
В программе могут возникать неожиданные ситуации во время выполнения программного кода: ошибки и исключения.Исключение (Exception) — это ошибка, которая возникает во время выполнения программы. Вместо прерывания программы с выводом сообщения об ошибке Python может обрабатывать исключения, предотвращая аварийное завершение.
В контексте конвертера обработка ошибок играет критически важную роль в обеспечении стабильности, надежности и предсказуемости работы приложения. Отсутствие адекватной обработки ошибок может привести к непредсказуемым результатам, потере данных и, в конечном итоге, к ухудшению пользовательского опыта. Назовем несколько примеров обработки ошибок:
ошибки вводе;
ошибки при переполнении;
ошибки в алгоритме конвертации.
В ходе нашего углубленного исследования алгоритмических конструкций и функций мы убедились в их критической роли в создании эффективного и масштабируемого программного обеспечения. Правильный выбор этих инструментов не просто влияет на производительность кода, но и определяет его читаемость, поддерживаемость и потенциал для дальнейшего развития.
3. Реализация программы-конвертера единиц измерения на Python и ее анализ
Подготовленная нами программа представляет собой графический конвертер английских единиц измерения, реализованный с использованием библиотеки Tkinter. Основная структура построена вокруг класса UnitConverterApp, который управляет интерфейсом и логикой преобразований.
Вначале реализуется импорт библиотек и модулей:
import tkinter as tk
from tkinter import ttk, messagebox
Библиотека Tkinter обеспечивает базовые элементы интерфейса, ttk добавляет стилизованные виджеты (например, Combobox), а messagebox используется для вывода ошибок. Например, при неверном формате ввода вызывается диалоговое окно:
messagebox.showerror("Ошибка", "Неизвестная единица длины")
Для инициализации главного окна используется функция:
def __init__(self, root):
self.root = root
self.root.title("Конвертер английских единиц")
self.root.geometry("500x400")
Здесь создается окно с заголовком и фиксированным размером. Параметр geometry("500x400") задает начальные размеры окна, но благодаря fill=tk.BOTH в контейнере main_frame элементы интерфейса адаптируются при растягивании окна.
Для создания основного контейнера используется:
self.main_frame = ttk.Frame(root, padding=10)
self.main_frame.pack(fill=tk.BOTH, expand=True)
Контейнер main_frame с отступами 10 пикселей служит для группировки всех элементов интерфейса. Метод pack(fill=tk.BOTH, expand=True) позволяет ему занимать все доступное пространство.
Что бы выбрать элемент категории используется:
self.category_combobox = ttk.Combobox(self.main_frame, textvariable=self.category_var,
values=["Длина", "Площадь", "Объем", "Масса", "Скорость"])
self.category_combobox.current(0)
Выпадающий список Combobox содержит категории измерений. Значение по умолчанию устанавливается на первую позицию (current(0)). При выборе категории значение сохраняется в переменной category_var, которая используется в методе convert().
Для поля ввода данных служит:
self.input_entry = ttk.Entry(self.main_frame, width=30)
Пользователь вводит данные в формате «число единица», например, 2.5 мили. Для обработки ввода используется цикл, разделяющий символы на цифры и буквы:
for char in input_str:
if char.isdigit() or char == '.':
number += char
elif char.isalpha() or char == ' ':
unit += char.strip()
Этот код корректно обрабатывает как точки, так и запятые (после замены replace(",", ".")), что важно для локализации.
Для методов конвертации необходимо, чтобы каждая категория имела свой словарь коэффициентов. Например, длядлины:
def convert_length(self, num, unit):
conversions = {
"миля": 1609, "миль": 1609, "мили": 1609,
"морскаямиля": 1852, "морскихмиль": 1852, "морскоймили": 1852
}
if unit in conversions:
return f"{num * conversions[unit]:.10f} м"
Ключи словаря включают разные грамматические формы единиц (миля, миль, мили), чтобы программа распознавала различные варианты ввода. Форматирование :.10f гарантирует высокую точность вывода, хотя на практике это может быть избыточно.
Для корректной обработки результатов результаты добавляются в текстовое поле с прокруткой:
self.result_text.configure(state=tk.NORMAL)
self.result_text.insert(tk.END, text + "\n")
self.result_text.configure(state=tk.DISABLED)
Состояние DISABLED блокирует редактирование, но разрешает программное добавление текста. Метод see(tk.END) автоматически прокручивает поле к последней записи.
Примером работы конвертера скорости является:
def convert_speed(self, num, unit):
conversions = {
"узел": 0.514444, "узла": 0.51444, "узлов": 0.514444
}
При вводе «10 узлов» программа вернет 5.1444400000 м/с. Точность до 10 знаков после запятой демонстрирует техническую детализацию, хотя для большинства случаев хватило бы 2–3 знаков.
Особенностью обработки ошибок является блок try/except. Он срабатывает при неверном вводе (например, буквы вместо числа):
try:
number = float(number)
except ValueError:
self.show_error("Ошибка в числе")
И метод show_error(), который использует стандартный диалог Tkinter:
def show_error(self, message):
messagebox.showerror("Ошибка", message)
Для запуска приложения используется блок:
if __name__ == "__main__":
root = tk.Tk()
app = UnitConverterApp(root)
root.mainloop()
Этот блок гарантирует, что приложение запустится только при прямом выполнении файла, а не при импорте.
Программа демонстрирует четкое разделение интерфейса и логики, но имеет потенциал для улучшения: добавление истории конвертаций, поддержки пользовательских единиц или экспорта результатов. Текущая реализация обеспечивает базовую функциональность, соответствующую техническому заданию.
Заключение
В ходе выполнения проекта была успешно создана программа-конвертер единиц измерения на языке Python с графическим интерфейсом на основе библиотеки Tkinter. Программа демонстрирует четкое разделение интерфейса и логики, обеспечивая базовую функциональность конвертации для нескольких категорий физических величин, включая длину, площадь, объем, массу и скорость. Разработанный нами пользовательский интерфейс удобен и интуитивно понятен, благодаря использованию выпадающих списков для выбора категорий и единиц измерения. Система обработки пользовательского ввода эффективно проверяет корректность данных, а механизмы обработки ошибок предотвращают аварийное завершение программы. Высокая точность вычислений, с возможностью вывода до 10 знаков после запятой, обеспечивает надежность результатов.
Практическая значимость конвертера заключается в автоматизации рутинных вычислений, снижении вероятности ошибок при ручном пересчете и доступности для пользователей без специальных знаний в программировании. Программа может быть использована в образовательных целях и для решения повседневных задач, связанных с переводом единиц измерения. Перспективы развития включают расширение базы поддерживаемых единиц измерения, добавление возможности сохранения истории конвертаций, реализацию экспорта результатов в различные форматы, внедрение поддержки пользовательских единиц измерения и создание мобильного приложения.
Гипотеза исследования о том, что Python является наиболее подходящим языком для создания подобного программного продукта, полностью подтвердилась. Язык предоставил все необходимые инструменты для реализации поставленной задачи, включая простоту разработки графического интерфейса, гибкость в работе с данными, мощные средства обработки ошибок и возможность масштабирования программы. Таким образом, цель проекта достигнута, все поставленные задачи выполнены в полном объеме, и разработанный конвертер может служить как практический инструмент, так и пример для изучения основ программирования на Python.
Список литературы
Гурбангылычева М. Б. Языки программирования — какими бывают и какой выбрать // Символ науки. 2023. №12-2. URL: https://cyberleninka.ru/article/n/yazyki-programmirovaniya-kakimi-byvayut-i-kakoy-vybrat (дата обращения: 01.07.2025).
Гурьев Е. С. О размерности физических величин в системе основных единиц lmv (длины, массы, скорости) // Наука, техника и образование. 2018. №11 (52). URL: https://cyberleninka.ru/article/n/o-razmernosti-fizicheskih-velichin-v-sisteme-osnovnyh-edinits-lmv-dliny-massy-skorosti (дата обращения: 01.07.2025).
Рындин В. В., Рындина Д. В. О физических величинах, используемых в термодинамике // Наука и техника Казахстана. 2003. №3. URL: https://cyberleninka.ru/article/n/o-fizicheskih-velichinah-ispolzuemyh-v-termodinamike (дата обращения: 01.07.2025).
Солодкий М. Б. Метод проектов как современная образовательная технология: использование языка Python в проектной деятельности обучающихся [Электронный ресурс] // Образовательные технологии. — 2023. №2. URL: https://narodnoe.org/journals/obrazovatelnie-tehnologii/2023-2/metod-proektov-kak-sovremennaya-obrazovatelnaya-tehnologiya-ispolzovanie-yazika-python-v-proektnoiy-deyatelnosti-obuchayushihsya (дата обращения: 01.07.2025).
Суровикина С. А. Место многозначных физических терминов в процессе развития мышления учащихся при изучении школьного курса физики // ИТС. 2005. №1-2. URL: https://cyberleninka.ru/article/n/mesto-mnogoznachnyh-fizicheskih-terminov-v-protsesse-razvitiya-myshleniya-uchaschihsya-pri-izuchenii-shkolnogo-kursa-fiziki (дата обращения: 01.07.2025).
Приложение 1. Код программы
import tkinter as tk
from tkinter import ttk, messagebox
class UnitConverterApp:
def __init__(self, root):
self.root = root
self.root.title("Конвертер английских единиц")
self.root.geometry("500x400")
# Создаем основной контейнер
self.main_frame = ttk.Frame(root, padding=10)
self.main_frame.pack(fill=tk.BOTH, expand=True)
# Выборкатегории
self.category_label = ttk.Label(self.main_frame, text="Выберитекатегорию:")
self.category_label.grid(row=0, column=0, sticky=tk.W)
self.category_var = tk.StringVar()
self.category_combobox = ttk.Combobox(self.main_frame, textvariable=self.category_var,
values=["Длина", "Площадь", "Объем", "Масса", "Скорость"])
self.category_combobox.grid(row=0, column=1, sticky=tk.EW, pady=5)
self.category_combobox.current(0)
# Полеввода
self.input_label = ttk.Label(self.main_frame, text="Введитезначениеиединицу (пример: 2.5 мили):")
self.input_label.grid(row=1, column=0, columnspan=2, sticky=tk.W, pady=5)
self.input_entry = ttk.Entry(self.main_frame, width=30)
self.input_entry.grid(row=2, column=0, columnspan=2, sticky=tk.EW, pady=5)
# Кнопкаконвертации
self.convert_btn = ttk.Button(self.main_frame, text="Конвертировать", command=self.convert)
self.convert_btn.grid(row=3, column=0, columnspan=2, pady=10)
# Результат
self.result_text = tk.Text(self.main_frame, height=8, width=50, state=tk.DISABLED)
self.result_text.grid(row=4, column=0, columnspan=2, pady=5)
# Полосапрокрутки
self.scrollbar = ttk.Scrollbar(self.main_frame, command=self.result_text.yview)
self.scrollbar.grid(row=4, column=2, sticky=tk.NS)
self.result_text.configure(yscrollcommand=self.scrollbar.set)
def convert(self):
input_str = self.input_entry.get().strip().lower().replace(",", ".")
category = self.category_var.get()
# Парсингввода
number = ""
unit = ""
for char in input_str:
if char.isdigit() or char == '.':
number += char
elif char.isalpha() or char == ' ':
unit += char.strip()
try:
number = float(number)
except ValueError:
self.show_error("Ошибка в числе")
return
result = None
unit = unit.replace(" ", "")
try:
if category == "Длина":
result = self.convert_length(number, unit)
elif category == "Площадь":
result = self.convert_area(number, unit)
elif category == "Объем":
result = self.convert_volume(number, unit)
elif category == "Масса":
result = self.convert_mass(number, unit)
elif category == "Скорость":
result = self.convert_speed(number, unit)
except ValueError as e:
self.show_error(str(e))
return
self.show_result(f"{input_str} = {result}")
def convert_length(self, num, unit):
conversions = {
"миля": 1609, "миль": 1609, "мили": 1609,
"морскаямиля": 1852, "морскихмиль": 1852, "морскоймили": 1852,
"кабельт": 185.2, "кабельтов": 185.2, "кабельта": 185.2,
"ярд": 0.9144, "ярдов": 0.9144, "ярда": 0.9144,
"фут": 0.3048, "футов": 0.3048, "фута": 0.3048,
"дюйм": 0.0254, "дюймов": 0.0254, "дюйма": 0.0254,
"большаялиния": 0.00254, "большихлинии": 0.00254, "большихлиний": 0.00254,
"малаялиния": 0.00212, "малыхлинии": 0.00212, "малыхлиний": 0.00212
}
if unit in conversions:
return f"{num * conversions[unit]:.10f} м"
raise ValueError("Неизвестная единица длины")
def convert_area(self, num, unit):
conversions = {
"акр": 4046.86, "акров": 4046.86, "акра": 4046.86,
"квадратныйярд": 0.836, "квадратныхярдов": 0.836, "квадратныхярда": 0.836,
"квадратныйфут": 0.0926, "квадратныхфутов": 0.0926, "квадратныхфута": 0.0926,
"квадратныйдюйм": 0.0006452, "квадратныхдюймов": 0.0006452, "квадратныхдюйма": 0.0006452,
"квадратнаялиния": 0.00000645, "квадратныелинии": 0.00000645, "квадратныхлиний": 0.00000645,
}
if unit in conversions:
return f"{num * conversions[unit]:.10f} м²"
raise ValueError("Неизвестная единица площади")
def convert_volume(self, num, unit):
conversions = {
"регистроваятонна": 2.8, "регистровыхтонн": 2.8, "регистровыхтонны": 2.8,
"кубическийярд": 0.76, "кубическихярда": 0.76, "кубическихярд": 0.76,
"кубическийфут": 0.0283, "кубическихфута": 0.0283, "кубическихфут": 0.0283,
"кубическийдюйм": 0.0000164, "кубическихдюйма": 0.0000164, "кубическихдюйм": 0.0000164,
"бушель": 0.0364, "бушеля": 0.0364, "бушелей": 0.0364,
"галлон": 0.0045, "галлонов": 0.0045, "галлона": 0.0045,
"галлонжидкостный": 0.0038, "галлоновжидкостных": 0.0038, "галлонажидкостных": 0.0038,
"баррельнефтяной": 0.159, "баррелейнефтяных": 0.159, "баррелянефтяных": 0.159,
"сухойгаллон": 0.0044, "сухихгаллонов": 0.0044, "сухихгаллона": 0.0044,
"пинта": 0.0005683, "пинты": 0.0005683, "пинт": 0.0005683,
"сухаяпинта": 0.0005506, "сухиепинты": 0.0005506, "сухихпинт": 0.0005506,
"жидкостнаяпинат": 0.0004732, "жидкостныхпинты": 0.0004732, "жидкостныхпинт": 0.0004732,
}
if unit in conversions:
return f"{num * conversions[unit]:.10f} м³"
raise ValueError("Неизвестная единица объема")
def convert_mass(self, num, unit):
conversions = {
"длиннаятонна": 1016, "длинныхтонн": 1016, "длинныетонны": 1016,
"короткаятонна": 907, "короткихтонн": 907, "короткиетонны": 907,
"длинныйцентнер": 50.8, "длинныхцентнеров": 50.8, "длинныхцентнера": 50.8,
"короткийцентнер": 45.4, "короткихцентнера": 45.4, "короткихцентнеров": 45.4,
"торговыйфунт": 0.4536, "торговыхфунтов": 0.4536, "торговыхфунта": 0.4536,
"аптекарьскийфунт": 0.373, "аптекарьскихфунтов": 0.373, "аптекарьскихфунта": 0.373,
"унция": 0.02835, "унций": 0.02835, "унции": 0.02835,
"драхма": 0.00177, "драхмы": 0.00177, "драхм":0.00177,
"гран": 0.000065, "грана": 0.000065, "гранов":0.000065,
}
if unit in conversions:
return f"{num * conversions[unit]:.10f} кг"
raise ValueError("Неизвестная единица массы")
def convert_speed(self, num, unit):
conversions = {
"футвсекунду": 0.3048, "футавсекунду": 0.3048, "футоввсекунду": 0.3048,
"милявчас": 0.44704, "миливчас": 0.44704, "милейвчас": 0.44704,
"узел": 0.514444, "узла": 0.51444, "узлов": 0.514444,
}
if unit in conversions:
return f"{num * conversions[unit]:.10f} м/с"
raise ValueError("Неизвестная единица скорости")
def show_result(self, text):
self.result_text.configure(state=tk.NORMAL)
self.result_text.insert(tk.END, text + "\n")
self.result_text.configure(state=tk.DISABLED)
self.result_text.see(tk.END)
def show_error(self, message):
messagebox.showerror("Ошибка", message)
if __name__ == "__main__":
root = tk.Tk()
app = UnitConverterApp(root)
root.mainloop()
1 Рындин В. В., Рындина Д. В. О физических величинах, используемых в термодинамике // Наука и техника Казахстана. 2003. №3. URL: https://cyberleninka.ru/article/n/o-fizicheskih-velichinah-ispolzuemyh-v-termodinamike (дата обращения: 01.07.2025).
2 Суровикина С. А. Место многозначных физических терминов в процессе развития мышления учащихся при изучении школьного курса физики // ИТС. 2005. №1-2. URL: https://cyberleninka.ru/article/n/mesto-mnogoznachnyh-fizicheskih-terminov-v-protsesse-razvitiya-myshleniya-uchaschihsya-pri-izuchenii-shkolnogo-kursa-fiziki (дата обращения: 01.07.2025).
3 Рындин В. В., Рындина Д. В. О физических величинах, используемых в термодинамике // Наука и техника Казахстана. 2003. №3. URL: https://cyberleninka.ru/article/n/o-fizicheskih-velichinah-ispolzuemyh-v-termodinamike (дата обращения: 01.07.2025).
4 Гурьев Е. С. О размерности физических величин в системе основных единиц lmv (длины, массы, скорости) // Наука, техника и образование. 2018. №11 (52). URL: https://cyberleninka.ru/article/n/o-razmernosti-fizicheskih-velichin-v-sisteme-osnovnyh-edinits-lmv-dliny-massy-skorosti (дата обращения: 01.07.2025).
5 Гурбангылычева М. Б. Языки программирования — какими бывают и какой выбрать // Символ науки. 2023. №12-2. URL: https://cyberleninka.ru/article/n/yazyki-programmirovaniya-kakimi-byvayut-i-kakoy-vybrat (дата обращения: 01.07.2025).