«Цикл-до»
to
tor (имя переменной) : = (выражение)
downto
<выражение> do <оператор>;
В этом операторе возможны два варианта изменения значений счетчика цикла — в прямом (to) и обратном направлениях, в сторону уменьшения, изменении значений (downto).
S : =0
For I :=1 to n do s : = s + x [ i] * c [ i ];
Этот оператор изменяет значения переменной цикла i от 1 до n, выполняя n раз оператор s := s + х [ i ] * - с [ I ] для значений i = 1, 2, ..., n.
Оператор перехода имеет вид
goto метка
и используется для принудительного (безусловного) перехода в не которую точку программы, отмеченную специальной меткой. Метка — это натуральное число, содержащее не более четырех |цифр. Ее можно поставить перед любым оператором, обязательно отделив от этого оператора двоеточием .В отличие от языков Бейсик и Фортран, метки, используемые в программе, обязательно должны быть описаны в разделе меток, например
label 10 , 20 , 30;
Этот оператор описывает три метки — 10, 20 и 30.
пусть требуется вычислить выражение
1, (c , x ) > 0
z ( x) = 0, ( c , x ) = 0
- 1 , (c , x ) <0
-
program sqpt ( input , output );
label 10 , 20;
var c , x : array (1..20] of real;
s: real ; z , I : integer ;
begin z : = 0.;
(* ввод данных x и c*)
for I : = 1 to 20 do read ( [ i ]) ;
readln ;
for I : = 1 to 20 do
begin
read (x [ I ]) ; s + c [ I ] * x [ I ]
end ;
( вычисление функции z ( x ) * )
if s < = 0 then goto 10 ;
z : =1
goto 20 ;
10 : if s < 0 then z : = - 1 else z : = 0 ;
20 : writeln ( z )
end
Следует заметить , что приведенная выше программа имеет значение
как иллюстрация использования меток. Но подобные элементы
программ гораздо более понятны, удобны и просты в следующем виде:
( * вычисление функции z ( x ) * ) ;
z : = 1 ;
if s = 0. then z : = 0 ;
if s < 0. then z : = - 1 ;
Оператор выбора варианта служит для выбора одного из перечисленных в программе действий в зависимости от значения выражения, называемого селекторным. Тип селекторного выражения может быть любым скалярным типом, и его значения должны соответствовать специальным меткам, указывающим на необходимые действия.
сase выражение of
метка 1 : оператор 1 ;
метка 2 : оператор 2 ;
….. ……….
метка 3 : оператор 3 ;
end
Пример
case i of
1 : z : = x + 1 ;
2 : z : = sqr ( x ) ;
3 : z : = sqrt ( x ) ;
end
Здесь если i = 1, то z = х + 1; если i == 2, то z = х2 ; если i = 3,
то z = V х.
Значение селекторной переменной перед началом выполнения оператора case должно быть определено и совпадать со значением одной из меток вариантов действий; в противном случае может возникнуть ошибка при выполнении программы.
lype
пол = (м, ж);
……
var признак : пол;
…….
cese признак of
м : счетмуж : = счетмуж +1 ;
ж : счетжен : == счетжен + 1 ;
end;
ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ
При выборе числового метода решения уравнения на персональном компьютере целсообразно остановиться на итерационном , так как этот метод, как |правило, требует небольших объемов памяти.
Метод Ньютона (касательных) решения трансцендентных уравнений. Данный метод служит для уточнения корня уравнения f (х) = 0 на отрезке [а; b]. Требуется, чтобы производная f'(x) и вторая производная f"(х} были непрерывны и не меняли знаков на [а ; b]. Идея метода заключается в следующем : в качестве начального приближения берется один из концов отрезка , а именно тот , в котором f"(x) • f (x) > 0 . В выбраннон точке проводится касательная к кривой f (х) и находится точка пересечения касательной f’(х) с осью абсцисс — точка x1. Из полученной точки проводится новая касательная f"(x) и получается точка x2 на оси ОХ Таким образом , очередное приближение Xn+1 вычисляется по формуле
Xn+1 = Xn - f (Xn)
F ‘(Xn)
Вычисления прекращаются при достижении заданной точности, т. е.
[Xn+1 – Xn ] < e
При программной реализации данного метода неудобство возникает при вычислении производной: ее требуется вычислить заранее и поместить в программу либо в виде арифметического выражения, либо в виде описания функции пользователя.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.