Czytaj książkę: «Программное моделирование явлений ядерных реакций на основе технологии создания множества данных с использованием системы алгоритмов на языке С++. Проект «Ядро-ЭВМ». Монография»
Редактор Боходир Хошимович Каримов
Иллюстратор Ибратжон Хатамович Алиев
Иллюстратор Екатерина Александровна Вавилова
Дизайнер обложки Ибратжон Хатамович Алиев
Корректор Абдурасул Абдусолиевич Эргашев
Рецензент, кандидат физико-математических наук, доцент физико-технического факультета Ферганского Государственного Университета Боходир Хошимович Каримов
Рецензент, кандидат физико-математических наук, доцент физико-математического факультета Ферганского Политехнического Института Султонали Мукарамович Абдурахмонов
Бизнес-консультант Фаррух Муроджонович Шарофутдинов
Консультант по информационным технологиям Тохир Халимович Тожиев
© Ибратжон Хатамович Алиев, 2023
© Ибратжон Хатамович Алиев, иллюстрации, 2023
© Екатерина Александровна Вавилова, иллюстрации, 2023
© Ибратжон Хатамович Алиев, дизайн обложки, 2023
ISBN 978-5-0056-1778-1
Создано в интеллектуальной издательской системе Ridero
Программное моделирование явлений ядерных реакций на основе технологии создания множества данных с использованием системы алгоритмов на языке C++
Введение
Отдайте же человеку – человеческое, а вычислительной машине – машинное. В этом и должна, по-видимому, заключаться разумная линия поведения при организации совместных действий людей и машин.
Ноберт Винер
Актуальность и востребованность темы работы. С развитием технологий и повышения актуальности использования ядерной энергии и исследования явлений, связанных с сильным взаимодействием и эффектов бомбардировки атомного ядра различного типа элементарными частицами, появилась необходимость создания компьютерной модели (алгоритма), а также компьютерной программы, действующей на основе данной также и физико-математической модели.
Данный вопрос также стоит очень даже остро, поскольку имеется необходимость не только в самом создании данной модели, но и указания в качестве лица-автора данной программы-модели, представителя Ферганского Государственного Университета (ФерГУ).
Степень изученности проблемы. Разработаны и подготовлены все необходимые математические зависимости, на протяжении всех исследований ядерных реакций ещё с 30-х годов прошлого столетия. Также использовалась и компьютерная модель в конце прошлого столетия, но создания такой модели как таковой со стороны ФерГУ, не наблюдалось.
Цели и задача данной работы. Основной целью данной работы является создание специальной компьютерной программы по моделированию ядерных реакций, но также имеются и следующие:
· Создание программы по проведению математических расчётов по ядерным реакциям;
· Указание всех необходимых закономерностей на языке С++;
· Использование в алгоритме языка С++;
· Применение методов выражения математических операций на языке С++ при действии программы.
Задачи исследования. Представляются следующие задачи данной работы:
· Текстовое представление модели;
· Определение необходимых закономерностей;
· Создание системы вводы на необходимых этапах и стилях;
· Программирование технологии выполнения математических операций;
· Присвоение данных к переменным;
· Вывод данных в необходимом виде.
Объект осуществляемого исследования. Объектом изучения является компьютерная программа по расчёту ядерных реакций.
Предмет исследования. Предметом данного исследования является сам результат выдаваемый со стороны программы, а также его алгоритм.
Методы исследования. Использован теоретический метод (указание необходимых формул), практический метод (создание самой программы), экспериментальный метод (проверка самой программы).
Научная новизна самостоятельной работы. Новизна представляется в следующем:
· Впервые создана компьютерная программа такого типа при авторстве лица ФерГУ;
· Первое использование понятие и данных по сечению ядерной реакции при типе таких программ;
· Вывод данных по энергетическому потенциалу ядерной реакции.
Практические результаты. Данная программа вполне может быть использована в следующих целях:
· Начальное определение результатов перед проведением действительной ядерной реакции;
· Проверка энергетического потенциала реакции второй степени;
· Модель будет иметь доступ к своему совершенствованию, благодаря чему могут быть добавлены характеристики самого ускорителя, энергия выходных пучков и т. д.
Достоверность результатов. Результаты проверены практически, и сама программа прилагается к данной работе.
Научная и практическая значимость. С научной точки зрения, данная работа открывает новые возможности по самому моделированию и создаёт направление для дальнейшего изучения.
С практической точки зрения, данная программа необходима и вполне полезна при подготовке, проверке или проведении виртуального эксперимента без лишних затрат.
Внедрение результатов исследования. На основе данной работы была создана сама компьютерная программа и определены последующие направления.
Апробация результатов. Для апробации результатов данной работы, был прочитан доклад с участием студентов, а также проведены дискуссии с кандидатами физ.-мат. наук.
Структура и объём работы. Работа состоит из введения, 7 глав и заключения. В самостоятельной работе 43 страницы, 23 рисунка, 4 таблицы, список литературы содержит 28 ссылок.
Ибратжон Хатамович Алиев
Глава 1. Вводная часть
1.1. Текстовое отображение
В начальной части используются 2 дополнительные библиотеки:
#include <iostream>
#include <math. h>
Также для повторения зависимости std, добавляется следующее условие:
using namespace std;
Далее добавляется отдельная функция main (), которая как следует из названия самой функции она является основной.
При первоначальном представлении начала программы участвует текстовое объяснение, выходящее следующим образом (Код 1.1.1.)
Код 1.1.1. Отдел приветствия
int main ()
{
cout <<«»<<endl;
cout <<" HELLO!»<<endl;
cout <<" This is a program for doing mathematic operations»<<endl;
cout <<" of nuclear reaction and show more important numbers»<<endl;
cout <<" for it theme on second model of nuclear reactions»<<endl;
cout <<«»<<endl;
Как можно заметить из этого, изначально пропускается пустая строка для того, чтобы при повторном запуске программы, либо дальнейшем повторении (глава 5) не возникал коллапс. Изначально вставлено приветствие, при этом все текстовые значения выводятся посредством cout. Пробелы перед приветствием вставлены с целью расположения текста по центру относительно остальных значений.
Далее в нижней находятся 3 строки текста. Итак, вторая из них состоит из 50 символов, при этом если вычесть 6 (число символов строки приветствия) получается 44, что даёт число пробелов от уровня начала второй строки, необходимое для расположения строки по центру, а именно 22. Первоначальные 5 пробелов во всех строках вставлены для добавления эффекта центрального расположения текста при выполнении программы.
Этот момент представляется относительно (1) и (2) на Коде 1.1.2.
Код 1.1.2. Центральное расположение текста в С++
cout <<«»<<endl;
cout <<" HELLO!»<<endl; (1)
cout <<" This is a program for doing mathematic operations»<<endl;
cout <<" of nuclear reaction and show more important numbers»<<endl; (2)
cout <<" for it theme on second model of nuclear reactions»<<endl;
cout <<«»<<endl;
Первая строка после приветствия, как и третья отлична от второй 2 знаками, по этой причине добавляется лишь 1 пробел перед ними. При написании первоначально, данного кода, можно наблюдать следующую картину (Рис. 1.1.1).
Рис. 1.1.1. Запись в программе Dev-С++6.3
И в качестве отделяющего элемента приветствующего блока компьютерной программы и дальнейшего кода имеется пустая строка.
1.2. Общая модель реакций
Для ввода понятий о самих ядерных реакциях приводится отдельный малый блок для описания стандартной модели ядерной реакции, описываемой на коде 1.2.1.
Код 1.2.1. Стандартная модель ядерной реакции
cout <<«Model of nuclear reaction: a+A=B+b»<<endl;
cout <<«»<<endl;
При этом, малая «а» – влетающая частица, бомбардирующая мишень, состоящая из атомов А. При прохождении данной ядерной реакции с учётом того, что «а» обладает некоторой кинетической энергией для возбуждения «А» и изменения его структуры, происходит изменение ядра с образованием побочной частицы «b» и результирующего ядра «В».
Выводы к 1 главе
В результате указанных операций, был получен первый первоначальный код (Рис. 1.3.1.), который представляет собой общий вводящий блок.
Рис 1.3.1. Вводящий блок программы
Глава 2. Исследование ядерных реакций
2.1. Массовые коэффициенты при ядерных реакциях
Для создания первоначальной записи ядерной реакции в стандартном виде, как было необходимо, создаются дополнительные блоки массовых коэффициентов, позволяющие выполнять дальнейшие математические операции над вводимыми данными.
Первый блок отделяется от общей конструкции пустой строкой в самом коде и представляется в виде кода (2.1.1).
Код 2.1.1. Первый блок вводимых данных
int a1,q1;
string k1;
cout <<«Mass of a (m) =»;
cin>> a1;
При этом вводятся массовые коэффициенты первого элемента в лице переменной а1, которая в данном случае подлежит к int. В лице массовых коэффициентов выступают такие данные как массовые числа элементов.
2.2. Зарядовые коэффициенты при ядерных реакциях
Продолжением первого целочисленного блока по вводу данных является отдел определения зарядовых коэффициентов.
Для этого предназначен код (2.2.1.)
Код 2.2.1. Зарядовая часть первого блока вводимых данных
cout <<«Charge of a (q) =»;
cin>> q1;
Как можно увидеть из кода (2.1.1.), переменная заряда q1 уже была объявлена в том коде как целочисленная единица.
2.3. Ввод наименований элементов реакции
Ещёодной частью, необходимой для записи операции в виде ядерной реакции, являетсячасть наименований самих элементов. Для этого целесообразно использованиестрочной переменно или string, что и объявляется также в коде (2.1.1.), аостальная часть кода (2.3.1) предстаёт более удобно.
Код 2.3.1.Текстовая часть кода для ввода данных при традиционной записи ядерной реакции
cout <<«Name of a=»;
cin>> k1;
Такимобразом можно вводить и текстовые данные, примерами которых могут быть такиеобозначения как p, e, Cu, Al, He, H, O, N, Eu и т. д.
Итак, на основе описаний по разделению общего кода для ввода был получен следующийрезультат (Код 2.3.2.), который следующим образом предстаёт в самой программе (Рис. 2.3.1.).
Код 2.3.2. Общийвид записи вводимого блока для первого элемента
int a1,q1;
string k1;
cout <<«Mass of a (m) =»;
cin>> a1;
cout <<«Charge of a (q) =»;
cin>> q1;
cout <<«Name of a=»;
cin>> k1;
Рис. 2.3.1.Запись кода блока ввода уже в программе
Darmowy fragment się skończył.