Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {Лабораторная работа 2}
- program lab2;
- const lmax=20; {максимальная длина массива}
- var
- r: array[1..lmax] of real;
- i, n, nmax, nmin, m, k: integer;
- a, max, h, x, min, sr: real;
- begin
- cls;
- writeln(‘Лабораторная работа 2');
- {Задание 1}
- writeln('Задание 1');
- {Ввод исходных данных для задания 1}
- writeln('Введите длину массива от 1 до , lmax);
- read(n);
- writeln('Введите a=');
- read(a);
- writeln(' Введите x=');
- read(x);
- writeln(' Введите h=');
- read(h);
- {инициализация}
- for i:=1 to n do
- begin
- r[i]:=0.8*cos(a*x - i*h); {заполнение массива по формуле}
- writeln(r[i]:10:3); {вывод массива на экран}
- end;
- {Задание 2}
- writeln('Задание 2');
- nmin:=0; {номер минимума}
- nmax:=0; { номер максимума}
- min:=1E38; {значение минимума}
- max:=-1E38; { значение максимума}
- for i:=1 to n do
- begin
- if r[i]>max then
- begin
- max:=r[i];
- nmax:=i;
- end;
- if r[i]<min then
- begin
- min:=r[i];
- nmin:=i;
- end;
- end;
- {Найдены значения минимума и максимума. Удалим положительные эл-ты, заключенные в этих границах}
- k:=0;
- i:=1;
- for i:=1 to n do begin
- if nmax>nmin then begin
- if (i>nmin) and (i<nmax) then begin {расположен между min и max}
- if r[i]<=0 then begin {отрицательный - остается}
- k := k + 1;
- r[k] := r[i];
- end;
- end
- else begin {расположен не между min и max - остается}
- k := k + 1;
- r[k] := r[i];
- end;
- end
- else
- if (i>nmax) and (i<nmin) then begin { расположен между min и max }
- if r[i]>=0 then begin { отрицательный - остается }
- k := k + 1;
- r[k] := r[i];
- end;
- end
- else begin { расположен не между min и max - остается }
- k := k + 1;
- r[k] := r[i];
- end;
- end;
- {Вывод задания 2}
- writeln('Массив R после удаления:');
- for i := 1 to k do begin
- writeln(r[i]:10:3);
- end;
- {Задание 3}
- sr:=0; m:=0;
- for i:=1 to n do
- begin
- if i>nmax then
- begin
- sr:=sr+r[i];
- m:=m+1;
- end;
- end;
- writeln('Среднее арифметическое элементов, расположенных после max :', sr/m);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement