Создание приложения

XXIII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Создание приложения

Якимов Т.М. 1
1МАОУ СОШ №8
Комлева С.А. 1
1МАОУ СОШ №8
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

В современном мире разработка приложений стала одним из ключевых направлений в информационных технологиях. Создание приложения на языке программирования Python является актуальным и востребованным процессом. Актуальность темы проекта обусловлена развитием компьютерных технологий и необходимостью серьезного изучения программирования. Python – это высокоуровневый объектно-ориентированный язык программирования, который является перспективным и простым для изучения.

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

В данном проекте я решил соединить эти два направления и поставил цель работы – создать приложение для определения числа Судьбы.

Для достижения поставленной цели необходимо решить следующие задачи:

  1. Изучить информацию о нумерологии, как изотерическом учении.

  2. Разобраться с приемами вычисления числа Судьбы.

  3. Разработать дизайн приложения.

  4. Определить структуру программы для описания приложения.

  5. Написать программный код.

Глава 1. Теоретические сведения

    1. Что такое нумерология

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

Например, если вы родились 9 сентября 1990 года, то на листочке необходимо записать 09 09 1990. Затем, складываем все цифры: 0 + 9 + 0 + 9 + 1 + 9 + 9 + 0 = 37. В итоге нужно получить всего одну цифру, поэтому складываем 3 + 7 = 10. Проделываем манипуляцию еще раз: 1 + 0 = 1. Таким образом, число вашей судьбы 1.

Основная идея нумерологии заключается в том, что каждое число имеет свою энергию и символизирует определенные качества и характеристики.

1 – символизирует новое начало, индивидуальность, лидерство, силу воли и независимость.

Люди, чье число судьбы равно 1, обычно являются руководителями, творческими личностями и имеют талант к самовыражению.

2 – это число гармонии, сотрудничества, чувствительности и дипломатии.

Люди, у которых число судьбы равно 2, обычно стремятся к миру и гармонии в отношениях, они дружелюбны, отзывчивы и сочувственны.

3 – символизирует творчество, общение, оптимизм и веселье.

Люди с числом судьбы 3 обычно обладают художественным талантом, хорошим чувством юмора и умением общаться с окружающими.

4 – это число стабильности, порядка, твердости и реализма.

Люди с числом судьбы 4 обычно ответственны, надежны и практичны, они стремятся к устойчивости и надежности во всех аспектах жизни.

5 – символизирует свободу, изменения, приключения и адаптацию. Люди с числом судьбы 5 обычно стремятся к разнообразию и новым возможностям, они любят перемены и остаются открытыми для новых идей.

6 – это число гармонии, семьи, любви и заботы.

Люди с числом судьбы 6 обычно заботятся о своих близких, стремятся к гармонии в отношениях и любят создавать уют и комфорт в доме.

7 – символизирует мудрость, анализ, духовность и интуицию.

Люди с числом судьбы 7 обычно обладают глубоким внутренним миром, интересуются духовными практиками и стремятся к познанию истины.

8 – это число власти, достижений, материального успеха и энергии. Люди с числом судьбы 8 обычно амбициозны, целеустремленны и успешны в достижении своих целей, они привлекают деньги и материальное благополучие.

9 – символизирует завершение цикла, духовный рост, сострадание и душевное благополучие.

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

    1. История нумерологии

Традиция соотносить слова с числами и присваивать им значения появилась еще до нашей эры. Она существовала в Вавилоне, Китае, Древнем Египте. В те дни представители древних цивилизаций верили, что числа обладают божественной силой, что позволило людям узнать больше о жизни и Боге. Христиане, иудеи и арабы активно пользовались нумерологией для трактовки священных текстов, которые содержали много чисел.

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

Другая волна нумерологии началась в Греции греческими философами, особенно Пифагором, который в наши дни считается отцом нумерологии из-за объема знаний, который он собрал и которым поделился. Согласно Пифагору, числа играют важную роль в определении природы чего‑либо.

В начале XX века в английский язык вошло слово «нумерология». Этот факт зафиксировали в Оксфордском словаре.

Нумерология предполагает, что каждый человек имеет свой уникальный путь в жизни, и дата рождения лишь часть этого пути. Люди с одинаковой датой рождения могут иметь разные судьбы и жизненные пути, так как на их жизнь влияют множество других факторов.

К подлинной науке это учение относится так же, как алхимия к химии или астрология к астрономии. Одни серьезно верят в мистические связи между числами и истиной природой человека, а другие увлекаются этим ради веселья.

Я решил создать программу и рассчитать число Судьбы по дате рождения.

Глава 2. Описание создания приложения

    1. Почему я выбрал именно Python?

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

    1. Принцип работы программы

При запуске программы на экране появляется окно ввода данных. Программа получает дату рождения на рисунке 1:

Рисунок 1. Окно ввода данных

После этого стартует анимация в виде падающих разноцветных шаров, внутри которых записана дата рождения (рисунок 2):

Рисунок 2. Анимация

Затем программа высчитывает и выводит число Судьбы в переливающейся звезде, а также выдает трактовку числа. Здесь же предлагается заново посчитать число, либо закончить работу (рисунок 3):

Рисунок 3. число Судьбы

    1. Программный код

Для описания кнопок используется такой класс (т.е. шаблон):

class PyButton:

def __init__(self, window, pos, size, txt, command, widht_of_border=10,

color_of_border=(255, 255, 255), color_of_text=(255, 255, 255), color_of_button=(0, 0, 0)):

"""Инициализациязначений"""

self.pos, self.size, self.txt, self.window = pos, size, txt, window

self.color_of_border, self.command = color_of_border, command

self.color_of_text, self.widht_of_border = color_of_text, widht_of_border

self.color_of_button = color_of_button

def render(self):

"""Эта функция отвечает за отрисовку кнопки."""

pygame.draw.rect(self.window, self.color_of_button, (self.pos[0] - self.size[0] / 2,

self.pos[1] - self.size[1] / 2,

self.size[0], self.size[1]))

pygame.draw.rect(self.window, self.color_of_border, (self.pos[0] - self.size[0] / 2, self.pos[1] - self.size[1] / 2,

self.size[0], self.size[1]), self.widht_of_border)

var = 0

if self.size[1] / 2.5 * len(self.txt) > self.size[0]:

var = self.size[0] – 20

write(self.txt, self.pos, self.size[1], self.window, color=self.color_of_text, widht=var, mode_vert='center')

def on_click(self, event):

"""Эта функция выполняет командку при клике на кнопку"""

if event.type == pygame.MOUSEBUTTONDOWN:

if pygame.Rect((self.pos[0] - self.size[0] / 2,

self.pos[1] - self.size[1] / 2, self.size[0],

self.size[1])).collidepoint(pygame.mouse.get_pos()):

self.command()

Функция, описывающая вычисление числа судьбы, выглядит так:

def your_num(num):

x = num

while len(str(x)) != 1:

x = sum(map(int, list(str(x))))

return int(x)

Функция для правильного написания текста:

def write(txt:str, pos, height, window, mode='center', mode_vert='up', color=(255, 255, 255), font='Comic sans', debug=False, widht=0):

text = txt.split('\n')

width_per_letter = height / 2.5

f, d = '', lambda x: x

if mode_vert == 'up':

f = lambda x: x

elif mode_vert == 'center':

f = lambda x: x - height * len(text) / 3.5

elif mode_vert == 'down':

f = lambda x: x - height * len(text) / 1.5

if widht != 0:

d = lambda x: width

if len(text) == 1:

if debug: pygame.draw.rect(window, (255, 0, 0), (pos[0], pos[1], 10, 10))

if mode == 'left':

window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(txt, True, color),

(d(width_per_letter * len(txt)), height)), (pos[0], f(pos[1] + height * 1 / 1.4 - height)))

elif mode == 'center':

window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(txt, True, color),

(d(width_per_letter * len(txt)), height)), (pos[0] - d(width_per_letter * len(txt)) / 2,

f(pos[1] + height * 1 / 1.4 - height)))

elif mode == 'right':

window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(txt, True, color),

(d(width_per_letter * len(txt)), height)), (pos[0] - d(width_per_letter * len(txt)),

f(pos[1] + height * 1 / 1.4 - height)))

else:

for i in range(1, len(text) + 1):

if debug: pygame.draw.rect(window, (255, 0, 0), (pos[0], pos[1], 10, 10))

if mode == 'left':

window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(text[i - 1], True, color),

(d(width_per_letter * len(text[i - 1])), height)), (pos[0], f(pos[1] + height * i / 1.4 - height)))

elif mode == 'center':

window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(text[i - 1], True, color),

(d(width_per_letter * len(text[i - 1])), height)), (pos[0] - d(width_per_letter * len(text[i - 1])) / 2,

f(pos[1] + height * i / 1.4 - height)))

elif mode == 'right':

window.blit(pygame.transform.scale(pygame.font.SysFont(font, 75).render(text[i - 1], True, color),

(d(width_per_letter * len(text[i - 1])), height)), (pos[0] - d(width_per_letter * len(text[i - 1])),

f(pos[1] + height * i / 1.4 - height)))

Определение и вывод виджетов первого окна:

root = Tk()

root.title('Нумерология')

root.geometry('200x200+500+300')

root.resizable(False, False)

day_value, months_value, years_value = '', '', ''

day = Spinbox(root, from_=1, to=31, width=3)

months = Spinbox(root, from_=1, to=12, width=5)

years = Spinbox(root, from_=1900, to=2100, width=5)

start = Button(text='Начатьвычисления!', command=f)

Label(text='Введите вашу дату рождения:').place(x=15, y=15)

day.place(x=15, y=45)

Label(text='- день').place(x=50, y=45)

months.place(x=15, y=80)

Label(text='- месяц').place(x=60, y=80)

years.place(x=15, y=115)

Label(text='- год').place(x=60, y=115)

start.place(x=35, y=155)

root.mainloop()

Заключение

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

Это приложение может быть полезным инструментом для самопознания и принятия решений на основе числовых закономерностей.

Целью моей работы являлось создание приложения для определения числа Судьбы. Для достижения поставленной цели я решил следующие задачи:

  1. Изучил информацию о нумерологии, как изотерическом учении.

  2. Разобрался с приемами вычисления числа Судьбы.

  3. Разработал дизайн приложения.

  4. Определил структуру программы для описания приложения.

  5. Написал программный код.

Список литературы

  1. Г. А. Брякалов и др. «Информатика и информационные технологии» – 1-е изд. – СПб.: Корона принт, 2005. – 672 с.

  2. Н. Прохоренок, В. Дронов. «Python и PyQt 5. Разработка приложений» – 2-е изд. – СПб.: Профессиональное Программирование, 2016. – 832 с.

  3. Ю.Д. Романова «Информатика и информационные технологии» – 3-е изд. – Новое Экономическое Образование, 2009. – 688 с.

  4. Python для разработки игр: возможности и неудачи / [Электронный ресурс] // https://dtf.ru: [сайт]. – URL: https://dtf.ru/u/735923-productstar/1674682-python-dlya-razrabotki-igr-vozmozhnosti-i-neudachi (дата обращения: 01.08.2024)

  5. Нумерология: загадочное искусство чисел / [Электронный ресурс] // https://ast.ru : [сайт]. — URL: https://ast.ru/news/numerologiya-zagadochnoe-iskusstvo-chisel/ (дата обращения: 17.07.2024).

  6. Основы нумерологии: откройте тайны чисел / [Электронный ресурс] // https://vc.ru/ : [сайт]. — URL: https://vc.ru/u/2604493-izabella-bairova/1079745-osnovy-numerologii-otkroite-tainy-chisel (дата обращения: 24.08.2024).

  7. Что такое нумерология и почему она не работает / [Электронный ресурс] // https://dzen.ru/ : [сайт]. — URL: https://dzen.ru/a/Zbto2WuKWSlOcX-3 (дата обращения: 15.07.2024).

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