Глава 1. Программирование и алгоритмы
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Введение

Компьютеры проникли во все сферы деятельности человека, начиная с начального образования и заканчивая изучением новейших технологий, изучения новых видов материи, неизвестных пока человечеству. Применение компьютерных технологий облегчает процесс образования в средних и высших учебных заведениях, как самих учеников, студентов, так и рабочего персонала. Благодаря разнообразию программного и аппаратного обеспечения сегодня возможно использование всех потенциальных возможностей компьютерных технологий. Это позволяет хранить огромное количество информации, занимая при этом минимальное место. Также компьютерные технологии позволяют быстро эту информацию обрабатывать и держать ее в защищенном виде [2].

История компьютера тесным образом связана с попытками облегчить и автоматизировать большие объемы вычислений. Даже простые арифметические операции с большими числами затруднительны для человеческого мозга. Поэтому уже в древности появилось простейшее счетное устройство — абак [1].

Широкое распространение ПК сыграло огромную роль в развитии рынка труда. Автоматизация обработки информации позволяет в считанные секунды проделать работу, на которую раньше терялись недели, информирование руководителей о состоянии предприятий и рабочих мест происходит мгновенно. Увеличивается экономический потенциал в области страховых и финансовых услуг благодаря возросшему обмену услуг. Внедрение компьютерных технологий для введения новых форм занятости и организации труда [3].

Использование компьютера позволяет получать изображение внутренних частей непрозрачных тел. Компьютеры объединяют системы связи (телефон, телевидение, телефакс, спутниковую связь), а также ведомственные, бытовые и научные базы данных и знаний [4].

Многие ученые уверены, что компьютер приносит пользу и только положительно влияет на умственное развитие детей, приводя в пример расширяющиеся возможности компьютера для обучения, а также создается множество специальных обучающих программ – для дошкольников, школьников, студентов. Замечено, что многими навыками, например, счета, чтения, чтения географических карт, с помощью компьютера дети овладевают быстрее, и нередко лучше, чем при обычном обучении [5].

Для обоснования актуальности был проведён опрос среди учеников нашей школы (прил. 1). Опрос проводился среди учеников 7-11 классов. В опросе приняло участие 36 человек. Результаты опроса показали, что данная программа является актуальной и востребован среди школьников.

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

Гипотеза: с помощью программы можно решать задачи.

Цель: создание программы для решения физических задач.

 Задачи:

1. Провести опрос среди старшеклассников, чтобы убедиться в необходимости такой программы.

2. Установить основные этапы, принципы и алгоритмы решение физических задач.

3. Провести обзор способов анализа текста.

4. Разработать интерфейс и алгоритм программы.

5. Описать в программной среде Lazarus установленные методы решение физических задач на разные темы.

6. Проверить эффективность программы при решении задач из сборника В.И.Лукашика.

Объект исследования

Методы решения физических задач.

Предмет исследования

Запись алгоритма решения физических задач в программной среде Lazarus.

Основные методы научных исследований. Для решения поставленных в работе задач использовались такие методы как анкетный опрос, сравнение, анализ, систематизация, обобщение, формализация, метод анализа ЕЯ-высказываний на предмет наличия ключевых слов. При написании программного кода использовалась среда программирования Lazarus 1.2.6 с компилятором Free Pascal.

Научная новизна результатов работы заключается в разработке алгоритма, обеспечивающего анализ условия задачи и запись «Дано», перевод в систему СИ, применение известных законов и формул физики для математической записи условий задачи и её решения по 10 темам: «Давление», «Архимедова сила», «Работа и мощность», «Энергия», «Тепловые явления», «Электрический ток», «Закон всемирного тяготения», «Ускорение», «Импульс тела», «Механические колебания». 

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


Анализ текста задачи

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

Анализ ключевых слов- метод анализа ЕЯ-высказываний на предмет наличия ключевых слов, которые становятся значениями объектов предикатов. При этом компьютер одинаково реагирует на различные варианты входного текста, наличие грамматической правильности предложений не является обязательным, роль играет лишь наличие ключевых слов. Применение-построение ЕЯ-интерфейсов к БД.

Грамматический анализ: контекстно-свободный и контекстно-зависимый. Контекстно-Свободный(КС) анализ- ЕЯ-фразы классифицируются в зависимости от их внутренней структуры вне зависимости от контекста в соответствии с грамматическими правилами, задающими порядок следования допустимых языком символов(слов). Здесь следует отметить синтаксический анализ предложений.

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

Анализ предложения включает два этапа: лексический и синтаксический. На этапе лексического анализа определяется принадлежность слов предложения занесенному в память словарю. На этапе синтаксического анализа строится модель предложения в соответствии с описанной посредством КС-грамматики синтаксической структуры фраз рассматриваемого ЕЯ. Пример использования КС-грамматики для анализа простых распространенных предложений русского языка с возможным наличием однородных подлежащих и определений приводится в программе CFG_ANAL.PRO [16].

Рассмотрим кратко принципы работы некоторых алгоритмов классификации текстов.

Алгоритм Роккио рассматривает документы в векторном пространстве терминов и ищет границы между классами как множества точек, равноудаленных от центроидов этих классов. Центроидом класса называется усреднённый вектор, или центр масс членов класса.

Граница между двумя классами в многомерном пространстве терминов имеет вид гиперплоскости. Правило классификации заключается в определении области, в которую попадает новый документ, то есть в поиске центроида, к которому образ нового документа ближе, чем к остальным центроидам (Прил. 4 рис. 1).

На рис. 1 к  документу «звёздочка» ближе всех центроид класса «кружков». Алгоритм Роккио предполагает, что классы имеют форму сфер с примерно одинаковыми радиусами. Если это предположение не выполняется, то алгоритм может привести к неудовлетворительным результатам.

Например, на рис. 1 документ «квадрат» больше подходит классу «крестиков», а алгоритм отнесёт его к классу «треугольников» [15].

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

Данный алгоритм лучше справляется с несферическими или несвязными классами, чем алгоритм Роккио, поскольку определяет границы между классами локально. Для всех документов обучающего множества пространство терминов представляется разделенным на ячейки (выпуклые многогранники), состоящие из точек, которые ближе к данному объекту, чем к другим (Прил. 5 рис. 2).

Это в случае k = 1. В случае k > 1 внутри ячеек также множество k-ближайших соседей остаётся инвариантным. На рис. 2 видно, что новый документ «звёздочка» попадает в ячейку объекта класса «треугольников», и при k = 1 будет отнесён к этому же классу. Однако при k = 3 «звёздочка» будет отнесён к классу «кружочков». При k = 1 алгоритм неустойчив, так как классификация зависит всего от одного обучающего документа, а он может быть нетипичным или иметь неверную метку класса. На практике значение k выбирают на основе опыта эксперта и имеющихся знаний о решаемой задаче. Кроме того, число соседей можно подобрать на обучающем множестве так, чтобы максимизировать качество классификации [15].

Существует ряд программ, позволяющих изучать логические и семантические структуры текстов, сводя их к матрицам или сеткам через введение кодов для объектов и обозначение связей между ними: PLCA, KWALITAN, CETA, AQUAD, WINMAX, ТEXTPACK PC, TACT.

Как видно, большинство систем анализа содержания текстов в качестве элемента содержания (единицы анализа) использует слово. Результаты такого анализа оказываются формальными, не проясняющими содержание по существу, поскольку отдельное слово, как правило, не отражает мысль автора, одного слова недостаточно для понимания смысла высказывания или фрагмента текста.

При всем том, что ведется достаточно интенсивная работа по разработке компьютерной поддержки этапов получения первичной текстовой информации и облегчения последующей работы с текстовыми массивами, нельзя пока сказать, что исследования с текстами широко используются в социологии. Они все еще весьма трудоемки, занимают значительное время, требуют от исследователя серьезного опыта. Еще более скромная ситуация наблюдается в отечественной социологии  [16].

Выводы

Lazarus является одним из распространённых сред для объектно-ориентированного программирования, поскольку распространяется бесплатно, а так же является кроссплатформенной. Именно поэтому для разработки данной программы была выбрана среда Lazarus. Решение большинства физических задач расчетного характера можно разделить на четыре этапа: а) анализ условия задачи; б) составление уравнений, связывающих физические величины; в) совместное решение полученных уравнений; г) анализ полученного результата и числовой расчет. Алгоритм программы имеет точно такую же структуру. На первом этапе будет анализироваться условия задачи методом ключевых слов, на втором этапе программа в зависимости от данных и искомой величины подбирает нужные формулы, а на третьем и четвертом этапе происходят вычисления полученных уравнений.


 


1.

2.

Выводы

Интерфейс программы представляет собой традиционное для Windows оконное приложение. В программе есть главное окно с выбором темы задачи, и окно для непосредственного решения задачи на выбранную тему, содержащее поле для ввода текста и справочный материал. Алгоритм программы предусматривает поэтапное решение задачи: анализ условия, перевод в СИ, составление уравнений и их числовой расчет. Для анализа условия задачи был выбран метод ключевых слов и метод ближайших k-соседей.


 


Заключение

История компьютера тесным образом связана с попытками облегчить и автоматизировать большие объемы вычислений. Существуют множество программ, которые нацелены облегчить учебу школьников и делать её познавательнее. Предлагаемый проект посвящен реализации программы относящийся к данному направлению. Целью является разработка программы для решения физических задач. Назначение разрабатываемой программы состоит в предоставление пользователю средства, которое окажет помощь при решении задач по физике.  

Решение большинства физических задач расчетного характера можно разделить на четыре этапа: а) анализ условия задачи; б) составление уравнений, связывающих физические величины; в) совместное решение полученных уравнений; г) анализ полученного результата и числовой расчет. Алгоритм программы устроен следующим образом. Из текста задачи, с помощью ключевых слов и единиц измерения, программа выводит дано и находит искомую величину. Затем в зависимости от того, какие величины даны и какую нужно найти программа (при необходимости) выводит единицу измерения данных величин в системе СИ, решение задачи, вычисление и ответ. Таким образом, программа может оказать помощь ученику на любом из этапов решения задачи: запись данных величин, перевод в систему СИ, составление уравнений, вычисления.

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


Библиографический список:

1. http://nsportal.ru/detskiy-sad/raznoe/2012/01/10/doklad-kompyuter-v-sovremennom-mire.

2. http://www.roscomputer.ru/products/rol-kompyuterov-v-sovremennom-mire.

3. Зинкевич В.П.Вычислительная техника и программирование - Московское государственного открытого университета, 2011-325.

4. http://infolike.narod.ru/comp.html.

5. http://wiki.iteach.ru/index.php/роль_компьютера_в_жизни_человека

6. Мелёшина А.М. Решайте задачи по физике, а мы вам поможем. \\ Просвещение, 1994 г - 206 с.

7. Усова А.В. Практикум по решению физических задач. \\ Просвещение, 1992 г -208 с.

8. Балаш В.А. Задачи по физике и методы их решения.\\перераб. И доп-М.: Просвещение, 1983г.-432 с.

9.  П.В. Трусова. Введение в математику и моделирование. \\ Логос, 2014 г.-125 с.

10. Карманова В.Г. Математическое программирование. \\ ФИЗМАТЛИТ, 2011 г.-230 с.

11. Гутник Е.М. Учебник для общеобразовательных учебных заведений. \\DРОФА 2002 г.-255 с.

12. Королев В.Ю. Вероятностно-статистические методы декомпозиции волатильности хаотических процессов: Учебное пособие. \\МГУ, 2011г.-100 с.

13. Пакулин В.Н. Задачи по физике и методы их решения. \\ Просвещение, 1983г.-432 с.

14. Лукашик В.И. Сборник задач по физике. \\Просвещение, 2011г.-239 с.   

15. Боярский К. К. Введение в компьютерную лингвистику. Учебное по-собие. – СПб: НИУ ИТМО, 2013. – 72 с.

16. ДоорсДж. и др. Пролог-язык программирования будущего: Пер. с англ. -М.: Финансы и статистика, 1990. С. 52-57.

17. Каневский Е.А., Саганенко Г.И. Концептуальное обоснование компьютерного анализа массивов с текстами // Социология: методология, методы, математические модели. 1997.

18.  Краткий обзор библиотеки Lazarus "Кодинг под linux"






Приложения

Приложение А

1. Сколько времени вы тратите при решении задач по физике?

А. в среднем до 15 минут.  
Б. в среднем 15 до 30 минут.  
В. в среднем от 30 минут и более.  
Г. нисколько.  

 

2. Часто ли Вам не удаётся решить задачу?

А. всегда удаётся.  
Б. редко не удаётся.  
В. часто не удаётся.  
Г. я их никогда не решаю.  

 

3. Встречали ли вы программу способную решать физические задачи?

А. встречал.  
Б. не помню.  
В. не встречал.  
Г. никогда не интересовался этим.  

 

4. Хотели ли бы вы иметь такую программу?

А. да, пускай она решает задачи за меня.  
Б. да, иногда я бы её использовал при решении задач.  
В. нет, я всегда решаю задачи сам.  
Г. нет, я не интересуюсь решением задач.  

Приложение Б

Листинг программы


 


unitUnit1;

 

{$mode objfpc}{$H+}

 

interface

 

uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,

Menus;

 

type

 

{ TForm1 }

 

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

CheckBox4: TCheckBox;

CheckBox5: TCheckBox;

CheckBox6: TCheckBox;

CheckBox7: TCheckBox;

ComboBox1: TComboBox;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

ListBox1: TListBox;

ListBox2: TListBox;

ListBox3: TListBox;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

end;

 

var

Form1: TForm1;

 

implementation

uses Unit2,Unit3,unit4;

{$R *.lfm}

 

{ TForm1 }

 

procedure TForm1.Button1Click(Sender: TObject);

begin

if checkbox1.Checked=true then begin

listbox1.Items.add('p=');

edit1.show;

end

else listbox1.Items.add('');

if checkbox2.Checked=true then begin

listbox1.Items.add('V=');

edit2.show;

end

else listbox1.Items.add('');

if checkbox3.Checked=true then begin

listbox1.Items.add('Fт вод.=');

edit3.show;

end

else listbox1.Items.add('');

if checkbox4.Checked=true then begin

listbox1.Items.add('Fт=');

edit4.show;

end

else listbox1.Items.add('');

if checkbox5.Checked=true then begin

listbox1.Items.add('m=');

edit5.show;

end

else listbox1.Items.add('');

if checkbox6.Checked=true then begin

listbox1.Items.add('pт =');

edit6.show;

end

else listbox1.Items.add('');

if checkbox7.Checked=true then begin

listbox1.Items.add('Fa=');

edit7.Show ;

end

else listbox1.Items.add('');

button1.Hide;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

 

VAR pg,v,p,f,m,pt,fa,g:real;

 a:string;

begin

pg:=0;

v:=0;

p:=0;

f:=0;

m:=0;

pt:=0;

fa:=0;

g:=10;

if checkbox1.Checked=true then pg:=strtofloat(edit1.text);end.   

        

И.Т.Д.            





Приложение В

 

                                                                                             

рис. 1 Иллюстрация работы алгоритма Роккио

Рис. 2. Иллюстрация работы алгоритма k-ближайших соседей.

Приложение Г

Алгоритм разбиения на слова

начало
Перекодирование текста UTF8
S[i]=’ ’ или ‘.’ или ‘,’ или ‘?’
нет
c:=c+s[i];
k:=k+1
m[k]:=c
да
Ввод текста S
For i:=1 to length(s)
c:=’’
Конец цикла i
Конец


For i:=1 to k
M[i]= ключ. слово искомой вел.
начало
M[i]= ключ. слово данной вел.
нет
да
да
M[i+1]= ключ. слово физич. вел.
да
Вывод на экран иск. величины
Вывод на экран «искомая величина не определена»
нет
M[n]= единица измерения физ. Вел.
For n:=1 to k
да
Вывод на экран ед. измер. , чис. знач. данной величины
Конец цикла n
нет
Конец цикла i
конец
нет


Введение

Компьютеры проникли во все сферы деятельности человека, начиная с начального образования и заканчивая изучением новейших технологий, изучения новых видов материи, неизвестных пока человечеству. Применение компьютерных технологий облегчает процесс образования в средних и высших учебных заведениях, как самих учеников, студентов, так и рабочего персонала. Благодаря разнообразию программного и аппаратного обеспечения сегодня возможно использование всех потенциальных возможностей компьютерных технологий. Это позволяет хранить огромное количество информации, занимая при этом минимальное место. Также компьютерные технологии позволяют быстро эту информацию обрабатывать и держать ее в защищенном виде [2].

История компьютера тесным образом связана с попытками облегчить и автоматизировать большие объемы вычислений. Даже простые арифметические операции с большими числами затруднительны для человеческого мозга. Поэтому уже в древности появилось простейшее счетное устройство — абак [1].

Широкое распространение ПК сыграло огромную роль в развитии рынка труда. Автоматизация обработки информации позволяет в считанные секунды проделать работу, на которую раньше терялись недели, информирование руководителей о состоянии предприятий и рабочих мест происходит мгновенно. Увеличивается экономический потенциал в области страховых и финансовых услуг благодаря возросшему обмену услуг. Внедрение компьютерных технологий для введения новых форм занятости и организации труда [3].

Использование компьютера позволяет получать изображение внутренних частей непрозрачных тел. Компьютеры объединяют системы связи (телефон, телевидение, телефакс, спутниковую связь), а также ведомственные, бытовые и научные базы данных и знаний [4].

Многие ученые уверены, что компьютер приносит пользу и только положительно влияет на умственное развитие детей, приводя в пример расширяющиеся возможности компьютера для обучения, а также создается множество специальных обучающих программ – для дошкольников, школьников, студентов. Замечено, что многими навыками, например, счета, чтения, чтения географических карт, с помощью компьютера дети овладевают быстрее, и нередко лучше, чем при обычном обучении [5].

Для обоснования актуальности был проведён опрос среди учеников нашей школы (прил. 1). Опрос проводился среди учеников 7-11 классов. В опросе приняло участие 36 человек. Результаты опроса показали, что данная программа является актуальной и востребован среди школьников.

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

Гипотеза: с помощью программы можно решать задачи.

Цель: создание программы для решения физических задач.

 Задачи:

1. Провести опрос среди старшеклассников, чтобы убедиться в необходимости такой программы.

2. Установить основные этапы, принципы и алгоритмы решение физических задач.

3. Провести обзор способов анализа текста.

4. Разработать интерфейс и алгоритм программы.

5. Описать в программной среде Lazarus установленные методы решение физических задач на разные темы.

6. Проверить эффективность программы при решении задач из сборника В.И.Лукашика.

Объект исследования

Методы решения физических задач.

Предмет исследования

Запись алгоритма решения физических задач в программной среде Lazarus.

Основные методы научных исследований. Для решения поставленных в работе задач использовались такие методы как анкетный опрос, сравнение, анализ, систематизация, обобщение, формализация, метод анализа ЕЯ-высказываний на предмет наличия ключевых слов. При написании программного кода использовалась среда программирования Lazarus 1.2.6 с компилятором Free Pascal.

Научная новизна результатов работы заключается в разработке алгоритма, обеспечивающего анализ условия задачи и запись «Дано», перевод в систему СИ, применение известных законов и формул физики для математической записи условий задачи и её решения по 10 темам: «Давление», «Архимедова сила», «Работа и мощность», «Энергия», «Тепловые явления», «Электрический ток», «Закон всемирного тяготения», «Ускорение», «Импульс тела», «Механические колебания». 

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


Глава 1. Программирование и алгоритмы

Дата: 2019-11-01, просмотров: 221.