Автор: Пользователь скрыл имя, 19 Февраля 2013 в 20:31, курсовая работа
Одной из особенностей сегодняшнего времени является широкое использование средств вычислительной техники в народном хозяйстве. Наибольшее распространение получили персональные компьютеры. На их основе создаются автоматизированные рабочие места, информационно-справочные системы, системы управления производством и т.п.
Введение………………………………………………………………..5
Основная часть…………………………………………………………6
1 Описание программы……………………………………………….6
Общие сведения ……………………………………………………6
1.2 Физическая постановка задачи…………………………………..6
1.3 Функциональное назначение……………………………………..6
1.4 Описание логической структуры…………………………………6
1.4.1 Алгоритм программы…………………………………………..6
1.4.2 Используемые методы…………………………………………..7
1.4.3 Структура программы………………………………………….7
1.5 Вызов и загрузка программы…………………………………….8
1.6 Входные данные……………………………………………………8
1.7 Выходные данные…………………………………………………8
2 Руководство оператора……………………………………………..9
2.1 Назначение программы……………………………………………9
2.2 Условия выполнения программы………………………………..9
2.3 Выполнение программы………………………………………….10
2.4 Сообщение оператору…………………………………………….12
3 Текст программы…………………………………………………….13
Заключение……………………………………………………………..20
Список использованных источников…………………………………. 21
Приложение А. Нахождение корня уравнения методом половинного деления отрезка при заданной точности вычисления с помощью Microsoft Excel……………………………………………..
begin
MyWindow(80,25,80,25,ColorFon,
end {HideCursor};
{--------------pokazat kyrsor menu----------------}
Procedure Show_Cursor(posit : byte); {posit - pozicia pynkta menu}
begin
TextBackGround(lightmagenta);
WriteXY(Coord_Menu[posit],1,
end {Show_Cursor};
{------------skrit kyrsor menu----------------}
Procedure Hidden_Cursor(posit : byte);
begin
TextBackGround(lightgray);
WriteXY(Coord_Menu[posit],1,
end {Hidden Cursor};
{--------peremeshenie kyrsor menu vlevo-----------}
Procedure Cursor_Left(var posit : byte);
begin
Hidden_Cursor(posit);
dec(posit); {ymenshaem nomer pozicii na 1}
if posit < 1 then posit:=punkt;
Show_Cursor(posit);
end {Cursor_Left};
{-------peremeshenie kyrsor menu vpravo-----------}
Procedure Cursor_Right(var posit : byte);
begin
Hidden_Cursor(posit); inc(posit);
if posit > punkt then posit:=1;
Show_Cursor(posit);
end {Cursor_Right};
{---------sozdanie pervoi stranici menu-----------}
Procedure Menu (posit:byte);
var i : byte;
begin
Field(blue, lightblue);
WriteMesssage(' Dlya prosmostra menu ispolzyite ',
white,black, #0, '<- ->',False);
MyWindow(1,1,80,1,white,black,
for i:=1 to Punkt do begin
WriteXY(Coord_Menu[i],1,Punkt_
end;
Show_Cursor(posit);
end {Menu};
{======funcziya rascitivaet znachenie argumenta x======}
function f(x:real):real;
begin
f:=2*sin(x)+1;
end;
{====== rascitivaet kolichestvo iterazii======}
Function res(a,b,e:real):real;
var x:real; n:byte;
begin
x:=(a+b)/2;
while abs(b-a)>e do
begin
if f(x)*f(a)<0
then b:=x
else a:=x;
x:=(a+b)/2;
end;
res:=x;
end;
{============vvod peremennoi tipa real================}
Procedure InputReal (npos : Byte; var number :real);
Var S: String;
ErrorCode : Integer;
Ch : Char;
Flag : Boolean;
Begin
Flag := False;
S := '';
Repeat
Ch :=ReadKey;
Case Ch of
BS : If length(S) > 0 then
delete (s, length(s), 1);
Enter : If length(S) > 0 then Flag:=True;
'0'..'9','.': If length(S) < npos then S:=S+Ch;
'-' :if length(s)=0 then S:=S+Ch;
end;
ClrScr; Write(S);
Until Flag;
Val (S, number, ErrorCode);
end;{InputReal}
Procedure FirstPage;
Begin
MyWindow
(6,6,73,9,lightgray,blue,true,
WriteXY (6,1,'Vipolnila: stydentka 9418 gr. Motrinez A.U. ');
WriteXY (6,2, 'Proveril: Davidov E.I.');
MyWindow
(6,12,73,19,lightgray,blue,
WriteXY(4,2, 'Sostavit programmy otiskaniya kornya yravneniya');
WriteXY(16,3, ' 2sin(x)+1=0');
WriteXY(4,4, 's zadannoi tochnostiu metodom polovinnogo deleniya ');
WriteXY(4,5, 'na otrezke (a,b).');
end;
Procedure SecondPage(var a,b,e:real);
begin
MyWindow
(10,8,70,15,lightgray,blue,
WriteXY(6,2,'Vvedite znacheniya a i b otrezka (a;b) ');
WriteXY(10,3,'a = '); WriteXY(26,3,'b = ');
WriteXY(6,5,'Vvedite znachenie tochnosti e ');
WriteXY(10,6,'e = ');
MyWindow(25,11,35,11,
InputReal(7, a);
MyWindow(40,11,50,11,
InputReal(7, b);
MyWindow(25,14,40,14,
InputReal(7, e);
end;
Procedure ThirdPage(var a,b,e,x:real);
begin
MyWindow
(10,8,70,20,lightgray,blue,
WriteXY(6,2,'Znacheniya a i b otrezka (a;b) ');
WriteXY(10,3,'a = '); WriteXY(26,3,'b = ');
WriteXY(6,5,'Znachenie tochnosti e ');
WriteXY(10,6,'e = ');
WriteXY(6,8,'Otvet: znachenie x na zadannom otrezke ');
WriteXY(10,9,'x = '); x:=res(a,b,e);
MyWindow(25,11,35,11,
write(a:7:5);
MyWindow(40,11,50,11,
write(b:7:5);
MyWindow(25,14,40,14,
write(e:7:5);
MyWindow(25,17,35,17,
write(x:7:5);
end;
Procedure Main_Menu;
var q,ch : char;
a,b,e,x:real;
posit : byte;
Program_exit : boolean;
begin
posit := 1; Menu(posit);
Program_exit := false;
repeat
q := ReadKey;
if q = #0 then begin {ypravliaychaia klavisha }
q := ReadKey;
case q of
Right : Cursor_Right (posit); {vpravo}
Left : Cursor_Left (posit); {vlevo}
end;
end
else
if q = Enter then
case posit of
1 : begin
FirstPage; {zadanie}
WriteMesssage (' Dlya vihoda v menu nagmite klavishy ',
lightgray,black,Space, 'probel',True);
Menu(posit); {vozvrat k pervoi stranice}
end;
2 :begin
SecondPage(a,b,e);
WriteMesssage('Dlya vihoda v menu nagmite klavishy ',
lightgray,black,Space,'probel'
Menu(posit); {vozvrat k pervoi stranice}
end;
3 : {rabota}
begin
ThirdPage(a,b,e,x);
WriteMesssage(' Dlya vihoda v menu nagmite kavishy ',
lightgray,black,Space,'probel'
Menu(posit); {vozvrat k pervoi stranice}
end;
4 : {vixod}
begin
MyWindow(1,25,80,25,white,
MyWindow(31,10,49,12,red,
Da_Net(' DA NET ',LightGray,ch);
if ch in Da then Program_exit := true
else begin
WriteMesssage(' Dlya prodolgeniya nagmite ',lightgray,
black,Space,'probel',True);
Menu (posit); {vozvrat k pervoi stranice}
end;
end;
end;
until Program_exit;
MyWindow(1,1,80,25,black,
writeXY(35,10, 'Good bye!');
Delay(2000);
end {Main_Menu};
begin{Glavnui}
Main_Menu;
end.
ЗАКЛЮЧЕНИЕ
Информатике трудно существовать как отдельной науке, она должна помогать другим учебным предметам в развитии познавательного интереса к предмету, в решении логических задач, в обработке результатов лабораторных работ и индивидуальных практических заданий.
В применении информатики к преподаванию других предметов используются в основном две формы работы: привлечение программных средств для контроля знаний учащихся и работа учащихся с обучающими программами. В стороне остаются возможности составления программ самими учащимися для решения тех или иных задач, например, математических. Математика является необходимой базой, которая позволяет глубже вникнуть в суть описываемых физических явлений и закономерностей. Поэтому, на мой взгляд, очень важно иметь навыки написания программ в любой программной среде для расчета каких-либо математических задач.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Приложение А
Нахождение корня уравнения методом половинного деления отрезка при заданной точности вычисления с помощью Microsoft Excel
Таблица 1
a |
b |
c=(a+b)/2 |
f(a) |
f(b) |
f(с) |
|b-a|<e |
e |
-1,00000 |
0,00000 |
-0,50000 |
-0,68294 |
1,00000 |
0,04115 |
- |
0,00001 |
-1,00000 |
-0,50000 |
-0,75000 |
-0,68294 |
0,04115 |
-0,36328 |
- |
|
-0,75000 |
-0,50000 |
-0,62500 |
-0,36328 |
0,04115 |
-0,17019 |
- |
|
-0,62500 |
-0,50000 |
-0,56250 |
-0,17019 |
0,04115 |
-0,06661 |
- |
|
-0,56250 |
-0,50000 |
-0,53125 |
-0,06661 |
0,04115 |
-0,01322 |
- |
|
-0,53125 |
-0,50000 |
-0,51563 |
-0,01322 |
0,04115 |
0,01384 |
- |
|
-0,53125 |
-0,51563 |
-0,52344 |
-0,01322 |
0,01384 |
0,00028 |
- |
|
-0,53125 |
-0,52344 |
-0,52734 |
-0,01322 |
0,00028 |
-0,00648 |
- |
|
-0,52734 |
-0,52344 |
-0,52539 |
-0,00648 |
0,00028 |
-0,00310 |
- |
|
-0,52539 |
-0,52344 |
-0,52441 |
-0,00310 |
0,00028 |
-0,00141 |
- |
|
-0,52441 |
-0,52344 |
-0,52393 |
-0,00141 |
0,00028 |
-0,00057 |
- |
|
-0,52393 |
-0,52344 |
-0,52368 |
-0,00057 |
0,00028 |
-0,00014 |
- |
|
-0,52368 |
-0,52344 |
-0,52356 |
-0,00014 |
0,00028 |
0,00007 |
- |
|
-0,52368 |
-0,52356 |
-0,52362 |
-0,00014 |
0,00007 |
-0,00004 |
- |
|
-0,52362 |
-0,52356 |
-0,52359 |
-0,00004 |
0,00007 |
0,00002 |
- |
|
-0,52362 |
-0,52359 |
-0,52361 |
-0,00004 |
0,00002 |
-0,00001 |
- |
|
-0,52361 |
-0,52359 |
-0,52360 |
-0,00001 |
0,00002 |
0,00000 |
- |
|
-0,52361 |
-0,52360 |
-0,52360 |
-0,00001 |
0,00000 |
0,00000 |
-0,52360 |
Таблица 2
a |
b |
c=(a+b)/2 |
f(a) |
f(b) |
f(с) |
|b-a|<e |
e |
-3,00000 |
-2,00000 |
-2,50000 |
0,71776 |
-0,81859 |
-0,19694 |
- |
0,001 |
-3,00000 |
-2,50000 |
-2,75000 |
0,71776 |
-0,19694 |
0,23668 |
- |
|
-2,75000 |
-2,50000 |
-2,62500 |
0,23668 |
-0,19694 |
0,01216 |
- |
|
-2,62500 |
-2,50000 |
-2,56250 |
0,01216 |
-0,19694 |
-0,09453 |
- |
|
-2,62500 |
-2,56250 |
-2,59375 |
0,01216 |
-0,09453 |
-0,04169 |
- |
|
-2,62500 |
-2,59375 |
-2,60938 |
0,01216 |
-0,04169 |
-0,01489 |
- |
|
-2,62500 |
-2,60938 |
-2,61719 |
0,01216 |
-0,01489 |
-0,00140 |
- |
|
-2,62500 |
-2,61719 |
-2,62109 |
0,01216 |
-0,00140 |
0,00537 |
- |
|
-2,62109 |
-2,61719 |
-2,61914 |
0,00537 |
-0,00140 |
0,00199 |
- |
|
-2,61914 |
-2,61719 |
-2,61816 |
0,00199 |
-0,00140 |
0,00029 |
- |
|
-2,61816 |
-2,61719 |
-2,61768 |
0,00029 |
-0,00140 |
-0,00055 |
-2,61768 |