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

Для проверки программы на работоспособность было решено выбрать задачи на тему Архимедова сила из сборника задач по физике В. И. Лукашика [14]. Решались все задачи кроме качественных, с 625 по 659. Программа смогла решить задачи под номерами 625, 626, 627, 628, 629, 630, 635,639,646, 651, частична помогла в решении задач под номерами 631, 632, 633, 634, 636, 638, 640, 641,642, 643, 644, 645, 647, 650, 652, 654,657,658,  659, и не смогла решить задачи под номерами 648, 649,651, 653, 655, 656, потому что в этих задачах используются формулы, из других разделов. А в задачах, которые программа решила частично, использовались формулы касающиеся данной темы, но основная формула не существует в каталоге программы. Например, в задаче 634 требуется найти разницу между силой тяжести в воздухе и силой тяжести в воде. С помощью программы можно найти силу тяжести в воздухе, потом силу тяжести в воде. Только после этого вне программы можно вычислить разницу между этими величинами.

Выводы

Интерфейс программы представляет собой традиционное для 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
конец
нет


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