ВУЗ:
Составители:
Рубрика:
19
k:=1;
if not(odd(m)) or (p<>p_max) then
begin
for j:=n-p+1 downto p do
begin v[k]:=a[m-p+1,j]; k:=k+1 end; r:=k-1;
{ (* контроль *) for j:=1 to r do write(v[j]:3:0,' '); writeln; }
f:=f and rost(v,r); g:=g and spad(v,r);
if not(f or g) then break;
end;
{левый столбец р-го витка}
k:=1;
if not(odd(n)) or (p<>p_max) then
begin
for j:=m-p+1 downto p+1 do
begin v[k]:=a[j,p]; k:=k+1 end; r:=k-1;
{ (* контроль *) for j:=1 to r do write(v[j]:3:0,' '); writeln;}
f:=f and rost(v,r); g:=g and spad(v,r);
if not(f or g) then break
end;
end;
if f or g
then writeln('Элементы образуют упорядоченную последовательность')
else writeln('Элементы не образуют упорядоченную последовательность');
readkey
End.{Snake}
Задача 3 решена без использования открытых параметров - массивов . В соз -
данные нами процедуры rost и spad передавался массив одного размера, хотя
фактически количество элементов в передаваемых массивах было различным.
Как можно исправить программу, включив в функции открытые параметры -
массивы ?
Познакомимся с процедурами, вызывающими досрочное прекращение ра-
боты блоков . Нам знакома процедура Break, которая позволяет досрочно завер -
шить цикл и перейти к оператору, следующему за циклом . Существует опера-
тор Exit, который досрочно завершает работу блока с возвратом в вызывающий
блок . Оператор Halt прекращает работу программы , даже если он находится в
подблоке. В основной программе действие операторов Exit и Halt одинаково.
Вычислим неберущийся интеграл с заданной точностью .
Задача 4. Пусть даны вещественные числа a, b, e (a<b, e>0). С точностью
e вычислите интеграл
()
fxdx
a
b
∫
,
()
fx
x
x
=
sin
, используя формулу трапеций
()
()()()()()
()
fxdx
h
fafafafafa
a
b
nn
∫
=+++++
−
2
222
0121
...
. Для обеспечения
нужной точности воспользуйтесь следующим правилом Рунге: если прибли -
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »