Селектор – выражение порядкового типа, которое может принимать одно из многих значений (селектор может быть целым числом и не может быть дробным числом).
Оператору варианта могут соответствовать фрагменты блок-схемы
или 
В операторе варианта служебное слово else и ветвь «нет» могут отсутствовать.
Задача 2.
Условие задачи. Вычислить величину ![]()
Блок-схема.
|
Программа.
Program z2;
Var
a, b,c:real;
Begin
read(a, b);
if a>b
then c:=a+b
else c:=a-b;
writeln(c);
End.
Задача 3.
Условие задачи. Вычислить величину
, где a и c – целые числа.
а) Использование вложенных условных переходов
Программа.
Program z3a;
Var
a, c:integer;
Begin
read(a);
if a=0 then c:=2
else if (a>=1) and (a<=10) then c:=3
else if (a=-1) or (a=11) then c:=4
else c:=5;
writeln(c);
End.
б) Использование множественного ветвления
Программа.
Program z3b;
Var
a, c:integer;
Begin
read(a);
case a of
0: c:=2;
1..10: c:=3;
-1,11: c:=4
else c:=5
end;
writeln(c);
End.
9.3. Программирование циклов
Для реализации алгоритма циклической структуры в языке Pascal используются следующие операторы.
Оператор цикла с предусловием позволяет выполнять заранее неизвестное количество повторений в цикле, условие выхода из которого проверяется перед действиями в теле цикла.Этот оператор имеет вид:
while U do Op
где while – пока, do – делать, U – условие, Op – оператор.
Это означает, что пока условие U истинное, повторять оператор Op в цикле; как только условие станет ложным, выйти из цикла.
Оператору цикла с предусловием может соответствовать фрагмент блок-схемы

Действия в теле цикла с предусловием могут не выполняться ни разу в случае, если условие продолжения цикла сразу становится ложным.
Оператор цикла с постусловием позволяет выполнять заранее неизвестное количество повторений в цикле, условие выхода из которого проверяется после действий в теле цикла.Этот оператор имеет вид:
repeat
Op1;
…
OpN
until U
где repeat – повторять, until – до тех пор пока, Op1 – оператор 1-й, OpN – оператор N-й, U – условие.
Это означает, что надо повторять операторы Op1, … OpN в цикле до тех пор, пока условие U не станет истинным; как только условие станет истинным, выйти из цикла.
Оператору цикла с постусловием может соответствовать фрагмент блок-схемы

Действия в теле цикла с постусловием могут выполняться как минимум 1 раз в случае, если условие выхода из цикла сразу становится истинным.
Оператор цикла с параметром позволяет выполнять заранее известное количество повторений в цикле, определяемое параметром цикла. Этот оператор имеет 2 разновидности.а) Оператор цикла с параметром (при увеличении параметра) имеет вид:
for Par := Nz to Kz do Op
где for – для, to – до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.
Это означает, что для параметра Par, увеличивающегося от начального значения Nz до конечного значения Kz с шагом 1, повторять оператор Op в цикле.
б) Оператор цикла с параметром (при уменьшении параметра) имеет вид:
for Par := Nz downto Kz do Op
где for – для, downto – вниз до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.
Это означает, что для параметра Par, уменьшающегося от начального значения Nz до конечного значения Kz с шагом (-1), повторять оператор Op в цикле.
Параметр цикла (счётчик циклов) – переменная порядкового типа, изменяющаяся в цикле от начального до конечного значения с каким-либо шагом (параметр цикла может быть целым числом и не может быть дробным числом).
Оператору цикла с параметром могут соответствовать фрагменты блок-схемы
или 
Задача 4.
Условие задачи. Вычислить значения функции
при x, увеличивающемся от xн до xк с шагом Δx
(Введём обозначения: xн → xn ; xк → xk ; Δx → dx ).
Блок-схема.
Программа.
Program z4;
Var
x, y,xn, xk, dx:real;
Begin
read(xn, xk, dx);
x:=xn;
while x<=xk do
begin
y:=sin(x)/cos(x);
writeln('при x=',x:10:3,' y=',y:7:2);
x:=x+dx;
end;
End.
Задача 5.
Условие задачи. Вычислить значения функции
при x, изменяющемся от 0 до 10 с шагом 1.
а) Цикл с предусловием.
Блок-схема.
Программа.
Program z5a;
Var
x, y:real;
Begin
x:=0;
while x<=10 do
begin
y:=exp(x);
writeln(x, y);
x:=x+1;
end;
End.
б) Цикл с постусловием.
Блок-схема.
Программа.
Program z5b;
Var
x, y:real;
Begin
x:=0;
repeat
y:=exp(x);
writeln(x, y);
x:=x+1;
until x>10;
End.
в) Цикл с параметром.
Блок-схема.
Программа.
Program z5c;
Var
x:integer;
y:real;
Begin
for x:=0 to 10 do
begin
y:=exp(x);
writeln(x, y);
end;
End.
г) Цикл с использованием безусловного перехода.
Блок-схема.
Программа.
Program z5d;
Label 20;
Var
x, y:real;
Begin
x:=0;
20: y:=exp(x);
writeln(x, y);
x:=x+1;
if x<=10 then goto 20;
End.
Тема № 10. Программирование задач с массивами
10.1. Одномерные массивы
Одномерный массив (вектор) – массив, элементы которого имеют один неповторяющийся номер.
Индекс одномерного массива – порядковый номер элемента в одномерном массиве.
В одномерном массиве элементы упорядочены в порядке возрастания их индексов.
Описание одномерного массива в разделе описания переменных (Var) на языке Pascal имеет вид:
Mas : array [ IMin.. IMax ] of T ;
где array – массив, of – из, Mas – имя массива, IMin – минимальное значение индекса, IMax – максимальное значение индекса, T – тип элементов.
Это означает, что переменная Mas является массивом, который может иметь индексы от IMin до IMax у элементов типа T.
Пример.
Var A : array [1..100] of real;
Это означает, что переменная A – массив, который может содержать от 1 до 100 элементов вещественного типа.
Доступ к элементу одномерного массива на языке Pascal имеет вид:
Mas [ Ind ]
где Mas – имя массива, Ind – индекс.
Это означает доступ к элементу массива Mas с индексом Ind.
Пример.
A[1]
b[3]
c[i]
d[n]
f[k+1]
Это означает 1-й элемент массива A и т. д.
Задача 1.
Условие задачи. Дан массив A, состоящий из n элементов (n ≤ 100). Найти сумму элементов массива:
.
Блок-схема.
Программа.
Program z1;
Var
A:array[1..100] of real;
i, n:integer;
s:real;
Begin
read(n);
s:=0;
for i:=1 to n do
begin
read(A[i]);
s:=s+A[i];
end;
writeln(s);
End.
Пусть A - одномерный массив, n - количество элементов в массиве, i - индекс элементов массива. Рассмотрим следующие фрагменты программ.
Фрагменты вычисления характеристик одномерного массива
Рассмотрим фрагменты программ в таблице 1.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 |



