Автор работы: Пользователь скрыл имя, 16 Ноября 2010 в 19:34, Не определен
основы языка программирования
Наряду с возможностью отличать каждую отдельную ветвь определенным значением <порядковой переменной> в конструкции CASE…OF имеется возможность объединять ветви. При объединении ветвь помечается списком значений. Значения в списке могут перечисляться через запятую, либо, если они идут подряд, можно указать два крайних значения, разделив их двумя точками.
CASE <порядковая переменная> OF
1, 2, 5: оператор 1;
3..17: оператор 2;
END;
В
конструкции CASE…OF может присутствовать
ELSE-часть. Она, как и любая ветвь, содержит
последовательность операторов, ограниченных
парой BEGIN-END.
Циклический
вычислительный процесс
Циклом называется такой процесс, когда одно или ряд действий выполняется несколько раз подряд.
В иных задачах количество повторений некоторого действия или группы действий известно. В этих случаях цикл называется арифметическим или циклом с параметром (счетчиком), или перечисляемым циклом.
В
том случае, когда количество повторений
указанных действий не известно, а зависит
от некоторых условий, говорят о цикле
с условием выхода или итерационном цикле.
Перечисляемые
циклы (циклы со счетчиком)
Конструкция, позволяющая реализовать данный цикл, имеет вид:
FOR…TO (downto)…DO
В этом операторе обязательно указываются следующие параметры:
-
имя переменной цикла или
- некоторое начальное значение для переменной цикла, которое она получает при первом выполнении цикла;
- некоторое конечное значение цикла, достигнув которое повторение цикла прекращается.
Если
записать конструкцию цикла, как
FOR i : = n TO k DO
оператор;
то счетчик изменяется на 1 при каждом следующем исполнении оператора.
Необходимо помнить, что для правильной записи конструкции оператора переменные i, n, k могут быть только как называемого “порядкового типа”. Это тип, в котором каждое данное имеет свой номер, свое расположение среди других данных этого типа.
Если
требуется повторить группу действий,
то оператор выглядит следующим образом:
FOR i : = n TO k DO
BEGIN
оператор 1;
оператор 2;
…………..
оператор n;
END;
Пример: Вывести
на экран все натуральные делители
числа n.
PROGRAM DELITEL;
n: integer;
i: integer;
t: real;
BEGIN
writeln (‘введите натуральное число n’);
read (n)
FOR i: =1 TO N DO
BEGIN
T : = n/i;
END;
END.
Конструкция
FOR i: =n DOWNTO k DO
оператор;
используются
для того случая, когда счетчик
уменьшается на 1 при каждом следующем
шаге.
Пример: Вывести на экран все четные числа от 100 до 1
PROGRAM CHISLO;
VAR
i:
integer;
BEGIN
FOR i:= 100 DOWNTO 1 DO
IF I/2= INT (I/2) THEN writeln (i);
END.
Если
в данных конструкциях начальные
значения совпадают с конечны
значением, то операторы цикла выполняются
один раз.
Конструкция
цикла с предварительной
проверкой условия
WHILE <условие> DO
оператор;
{или
группа операторов в операторных скобках
BEGIN-END}.
Эта
фраза обозначает следующее: « До
тех пор пока условие является
истиной, выполняются операторы
цикла».
При этом необходимо помнить, что:
Пример.
Вычислить
y= sin2x +2,5x при x [-1; 1] с шагом ∆x=
0,25.
PROGRAM ZIKL;
VAR
x, y : real;
BEGIN
x: = -1;
WHILE x<= 1 DO
BEGIN
Y: = sin(x)*sin(x)+ 2,5*x;
writeln (‘при x =’,x, ‘y= ‘,y);
x: = x + 0,25;
END;
END.
Алгоритм
вычисления суммы
Пример 1:
Вычислить .
PROGRAM SUM;
VAR
X, S : real;
n : integer;
sl : real;
BEGIN
Write (‘введите значение x’);
Read (x);
S : = 0;
FOR N : = 1 TO 20 DO
BEGIN
SL : = (2*x)/N;
S : = S + SL;
END;
writeln (‘сумма ряда =’, S);
END.
Пример 2. Найти количество чисел, сумма которых превысит 100.
PROGRAM PRIM;
VAR
K: integer;
S : integer;
BEGIN
S: =0;
K: =0;
WHILE S<=100 DO
BEGIN
K: = K+1;
S: = S+ K;
END;
writeln (‘кол-во слагаемых равно’, K);
END.
Конструкция
цикла с последующей
проверкой условия
Формат
данного оператора следующий:
REPEAT
тело цикла
UNTIL
<условие>;
Служебное слово REPEAT (повторять) открывает тело цикла, затем выполняются последовательно операторы тела цикла и проверяется условие выхода из него.
Переводится конструкция так: «Повторять до тех пор, пока условие не станет истиной».
Необходимо помнить, что:
Пример: Вычислить сумму квадратов натуральных чисел до тех пор, пока квадрат очередного числа не превысит 100.
PROGRAM ZIKL_DO;
VAR
-
+
Алгоритм
вычисления произведения
Пример: Вычислить n!
PROGRAM PROIZW;