Курсовая работа: Программирование системы уравнений
В появившемся со временем
пакете Турбо Паскаль 4.0 было устранено большинство подвергавшихся критике
ограничений компилятора и была повышена производительность системы. Кроме того,
новый компилятор версии 4.0 имел существенные отличия от предыдущей версии.
Наиболее важным нововведением была ИNIТ-концепция, заимствованная из языка
Модула-2. Это дало возможность реализовать в рамках ТП разработку крупных
программных продуктов.
С выходом в свет версии
5.0 ТП получил еще большие шансы на благосклонную реакцию со стороны
профессиональных пользователей благодаря встроенному в среду программирования
интегрированному отладчику, который позволил повысить производительность труда.
Существенно улучшила
технические характеристики ТП реализация аппарата перекрытий (overlays),
позволяющего строить мощные программные комплексы, рассчитанные на эксплуатацию
в малых по объему областях памяти. Суть механизма перекрытий сводится к делению
программы на части, поочередно загружаемые по мере необходимости с дискеты или
жесткого диска в одну и ту же область памяти, заменяя при этом находившуюся там
часть программы.
Кроме того, в ТП 5.0 были
расширены возможности отладки программ и обеспечена возможность поддержки
расширенной памяти в стандарте Lotus-Intel-Microsoft (SLIMS/EMS 4.0).
Сокращение EMS обозначает Expanded Memory Specification (спецификация
расширенной памяти). Нельзя путать этот вид дополнительной памяти с другим — Extended
Memory. EMS имеется на обычных ПЭВМ класса XT, в то время как Extended Memory —
только на машинах АТ-класса (с процессором 286, 386 и выше) при объеме памяти
свыше 1 Мбайта.
В этой версии были также
исправлены и улучшены библиотеки графических процедур, поставляемые вместе с
пакетом ТП и обеспечивающие полную совместимость с графическими адаптерами
класса VGA (Video Graphics Array).
В рамках версии ТП 5.5
были осуществлены дальнейшие преобразования в направлении улучшения технических
характеристик пакета. Наряду с внутренними улучшениями и новыми возможностями
встроенной справочной системы Help, а также большим набором учебных примеров,
важным нововведением явилась реализация в языке концепции
объектно-ориентированного программирования (ООП).
Через некоторое время на
рынке появился ТП 6.0, в котором теоретическая концепция
объектно-ориентированного программирования была реализована практически с
полным набором объектов, которые могли использоваться для решения прикладных
задач. Кроме того, реализация системы меню приведена в соответствие со
стандартом SAA (Turbo Vision). В качестве практического примера использования
новых возможностей был реализован текстовый редактор, встроенный в IDE ~
Integrated Development Environment — интегрированную инструментальную оболочку.
При этом сторонники программирования на ТП 6.0 получили возможность не только
работать со встроенным многооконным текстовым редактором, но и использовать
мышь, которая значительно облегчает работу пользователя.
В 1992 году фирма Borland
International представила пользователям очередную версию языка Паскаль — Турбо
Паскаль 7.0. Наряду со всеми преимуществами, которые унаследованы от предыдущей
версии (многооконный режим работы, возможность использования мыши, возможность
использования языка программирования низкого уровня Ассемблер, возможность создавать
объектно-ориентированные программы), в ТП 7.0 были произведены изменения и
улучшения. Во-первых: появилась возможность выделять определенным цветом
различные элементы исходного текста (зарезервированные слова, идентификаторы,
числа и т. д.), позволяющая даже неопытным пользователям устранять ошибки на
этапе ввода исходного текста. Во-вторых: язык программирования ТП 7.0 был
расширен (появилась возможность использовать типизированный адресный оператор,
открытые массивы и строки и т. д.), что предоставило пользователю
дополнительные возможности при решении повседневных задач. В-третьих: был
улучшен компилятор, вследствие чего «коды программ» стали более эффективными.
В-четвертых: был улучшен интерфейс пользователя. Кроме того, в ТП 7.0 расширены
возможности объектно-ориентированного программирования (в частности, расширены
и улучшены возможности Turbo Vision).
8 Разработка программы
решения системы уравнения методом Гаусса при помощи Turbo Pascal
program Gauss;
const
N=3;
A:array[1..N,1..N]
of real = ((9.1, 5.6, 7.8),
(3.8, 5.1,
2.8),
(4.1, 5.7,
1.2));
B:array[1..N]
of real = (9.8,
6.7,
5.8);
type
matrtype=array[1..N,1..N+1]
of real;
var
i,j:byte;
matr:matrtype;
procedure
Gausse(var matr:matrtype; N:byte);
var
i,j,k:byte;
begin
for i:=1 to
N-1 do
for j:=i+1 to
N do
for k:=N+1
downto i do
matr[j,k]:=matr[j,k]-matr[i,k]/matr[i,i]*matr[j,i];
for i:=N downto
1 do
begin
for j:=i+1 to
N do
Matr[i,N+1]:=Matr[i,N+1]-Matr[i,j]*Matr[j,N+1];
Matr[i,N+1]:=Matr[i,N+1]/Matr[i,i];
end;
end;
begin
clrscr;
writeln('reshenie
sistemi iz ',N,' linear yravnenii');
for i:=1 to N
do
begin
writeln('vvodim
yravnenie',i,':');
for j:=1 to N
do
begin
write('A[',i
,',',j,']=');
read(A[i,j]);
end;
write('B[',i,']=');
readln(B[i]);
end;
writeln('Sistema
linear yravnenii');
for i:=1 to N
do
begin
for j:=1 to N
do
write(A[i,j]:5:2);
writeln(B[i]:5:2);
end;
for i:=1 to N
do
begin
for j:=1 to N
do
matr[i,j]:=A[i,j];
matr[i,N+1]:=B[i];
end;
Gausse(matr,N);
writeln('reshenie
sistemi yravnenii:');
for i:=1 to N
do
writeln('X',i,'=',matr[i,N+1]:5:2);
readkey;
end.
9 Разработка программы
решения уравнения методом Ньютона при помощи Turbo Pascal
uses crt;
var
a,b,Exp,s :
real;
i : integer;
function
Func(x : real) : real;
begin
Func:=2*x*x*x-3*x*x-12*x+10;
end;
function
PFunc(x : real) : real;
begin
PFunc:=6*x*x-6*x-12;
end;
Begin
clrscr;
Writeln('Vvedite
verhnij predel:');
readln(b);
Writeln('Vvedite
to4nost'':');
readln(Exp);
i:=0;
repeat
a:=b-Func(b)/PFunc(b);
s:=b;
b:=a;
i:=i+1;
Writeln('Shag
',s:5:2,' X-',a:5:2,' f(x)=',Func(b));
until(abs(a-s)>Exp);
Writeln('Otvet:
',b:5:2);
readln;
end.
10 Разработка
программы решения уравнения методом Хорд при помощи Turbo Pascal
program hord;
var
x,a,b,eps,s:real;
function
f(x:real):real;
begin
f:=2*x*x*x-3*x*x-12*x+10;
end;
begin
write('vvedite
levuiu granicu');
readln(a);
write('vvedite
pravuiu granicu');
readln(b);
write('vvedite
epsilon');
readln(eps);
while
f(b)-f(a)>=eps do
begin
s:=b-f(b)/(f(b)-f(a))/(b-a);
a:=b; b:=s;
end;
writeln(s:5:2);
readln;
end.
Заключение
В соответствии с заданием
курсовой работы была осуществлена программная реализация задачи. В ходе
выполнения работы были получены навыки программирования системы уравнений.
Список используемых
источников
1)
Блашкин И.И., Буров А.А. Новые возможности Turbo-Pascal 7.1. — Спб.: Изд-во
“Макет”, 2005.
2)
Бородич Ю.С. и др. Паскаль для персональных компьютеров: Справ. Пособие/ Ю.С. Бородич,
А.Н. Вальвачев, А.И.Кузьмич. — Мн.: Выш. Шк.: БФ ГИТМП “НИКА”, 2001.
3)Васильев
П.П. Турбо Паскаль — мой друг: М.: Компьютер, ЮНИТИ, 2006.
4)
Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT,
AT: Пер. с англ./ Предисл. Н.В. Гайского. — М.:
Финансы и статистика, 2001.
5)
Зуев Е.А. Язык программирования Turbo Pascal 7.1. — М.: Унитех, 2005.
|