Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Принципы объектно-ориентированного программирования.
Традиционным направлением развития программирования в течение многих лет было так называемое процедурное программирование, в основе которого лежит понятие процедуры (подпрограммы). В соответствии с этим направлением сложная программа строится из более мелких частей - процедур, осуществляя декомпозицию задачи на подзадачи и преодолевая сложность исходной задачи. Однако по мере увеличения сложности задачи растёт число процедур, и их использование требует (начиная от некоторого предела) собственной поддержки. Если при процедурном подходе длина программы становится больше 1000-1500 строк, существенно возрастает сложность отладки такой программы. Таким образом, возникла потребность в качественно новом подходе в программировании. Этим подходом стало объектно-ориентированное программирование.
Основой объектно-ориентированного программирования является объект, под которым понимается не только соответствующая структура данных, но и связка процедур, обслуживающих эту структуру. Структура данных и связка процедур рассматриваются как единое целое, как бы заключенное в общую оболочку (капсулу). Все средства доступа к структурам данных объекта сосредоточены в этой капсуле (это свойство называется инкапсуляцией).
Объект является "строительным материалом" для объектно-ориентированной программы. Это накладывает соответствующий отпечаток и на методологию программирования: программист должен мыслить в терминах объектов предметной области и их взаимосвязи, а не в терминах изолированных процедур.
Объектно-ориентированное программирование не отрицает процедурный подход, а лишь поднимает его на более высокий уровень. Инкапсуляция - это декомпозиция процедур по функциональному принципу, вносящая существенную упорядоченность в использование процедур. Выигрыш от использования объектно-ориентированного подхода, тем выше, чем сложнее программа. В настоящее время многие программы строятся на базе объектно-ориентированного подхода, а для построения пользовательского интерфейса объектно-ориентированный подход является общепризнанным (он использован, в частности, в системах Turbo Vision).
Подсчитать как изменится среднее арифметическое элементов матрицы, если во всех столбац с номерами, большими, чем номер столбца с максимальным количеством отрицательных элементов, заменить все отрицательные элементы по их модулям.
Unit Z433_19;
interface
Const n=5;
Type
Matr = array [1..n,1..n] of real;
Var p,i,j: integer; V,A:matr; w: string; r,sr1,sr2:real;
Procedure SrAr (A:matr; Var sr:real);
Procedure nomer (A:matr; Var P:integer);
Procedure Zamena(P:integer; A:matr; Var V:matr);
Procedure Pods4et (sr1,sr2:real;Var w:string; Var r:real);
implementation
Procedure SrAr (A:matr; Var sr:real);
Var i,j : integer;
Begin
For i:=1 to n do
For j:=1 to n do
Sr:=sr+A[i,j];
Sr:=sr/sqr(n);
End; { Procedure SrAr }
Procedure nomer (A:matr; Var P:integer);
Var Z,B, i,j : integer;
Begin
For i:=1 to n do
If A[i,1]<0 then
Begin
Z:=z+1;
P:=1;
End;
For j :=2 to n do
Begin
For i:=1 to n do
If A[i,j]<0 then
B:=b+1;
If b>z then
Begin
Z:=b;
P:=j;
End;
End;
End; { Procedure nomer }
Procedure Zamena(P:integer; A:matr; Var V:matr);
Var I,j:integer;
Begin
For j:=1 to n do
If i>n then
For i:=1 to n do
If A[i,j]<0 then
V[i,j]:=abs (A[i,j]);
End; { Procedure Zamena }
Procedure Pods4et (sr1,sr2:real;Var w:string; Var r:real);
Begin
If sr1>sr2 then
Begin
R:=sr1-sr2;
W:='уменьшилось';
End
Else
If sr1<sr2 then
Begin
R:=sr1-sr2;
W:='увелчилось';
End;
End; { Procedure Pods4et }
end.
Program Z433_19;
Uses Z433_19;
Var
p,i,j: integer;
V,A:matr;
w: string;
r,sr1,sr2:real;
BEGIN
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]);
SrAr(A,sr1);
Nomer(A,N);
Zamena(N,A,V);
SrAr (A,sr2);
Pods4et(sr1,sr2,w,r);
Writeln (w, 'на', r);
End.