Лекция по паскалю
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
?икла целые и меняются с шагом +1, -1.
Оператор цикла с постусловием.
REPEAT
- тело цикла
UNTIL ;
где P1, P2, …PN - любые операторы.
По этому оператору выполняется "тело цикла", а затем проверяется не будет выполнено.
Необходимо помнить: если сразу выполнилось, цикл будет пройден один раз.
Вычислить:y = a sin (x ) , x = , =0.2
program fun;
var
y, a, x: real;
begin
x: =0; read (a)
repeat
y: = a *sin (x); writeln (y, x); x: = x + 0.2;
until x>1;
end.
Действия, которые подчеркнуты, необходимы для организации цикла.
Оператор цикла с предусловием.
WHILE DO P;
Где P - простой или составной оператор.
По этому оператору проверяется и т. д.
Итак, P - выполняется до тех пор, пока выполняется .
Если условие ни разу не выполнилось, P - игнорируется, управление передается следующему оператору.
Вычислить:y = sin x, x, x, - ввести с клавиатуры.
Подсчитать среднее положительное и среднее отрицательное значение функции.
Program cikl;
var
y, x, x k, d x: real;
n, k: integer; SP, n - среднее и количество положительных значений.
SP, S0: real; S0, k - среднее и количество отрицательных значений.
begin
writeln ( введите x - начальное, x - конечное, d x - шаг);
read (x, x k, d x);
SP: =0; S0: = 0; n: =0; k: =0;
While x< = k x do.
P Составной оператор.
if n=0 then writeln (Отрицательные отсутствуют)
else writeln ( Средние отрицательные = , SP/n);
if k=0 then writeln ( Положительные отсутствуют )
else writeln ( Средние положительные = , S0/k);
end.
Массивы
Задача 1:
Составить программу подсчета суммы и произведения элементов одномерного массива.
Program sum-prois;
uses crt;
const
n = 100;
var
a: array [1…n] of real;
n, k, i: integer;
p, s: real;
begin
clrscr; s: = 0; p: =1;
writeln (введите размер массива); readln (nk);
writeln (введите элемент массива);
for i:=1 to nk do
readln (a[i] );
for i:=1 to nk do
begin
s:= s + a[ i ];
p:= p * a[ i ];
end;
writeln (Сум. = , s, Произ. = , p);
end.
Необходимо подготовить ячейки:
- при накапливании суммы - s=0
- при подсчете произведения - p=1.
Задача рассчитана на обработку массива с максимальным размером 100 элементов (n=100).
Конкретный размер массива вводится с клавиатуры (nk).
При каждом прохождении через цикл с клавиатуры вводится только один элемент массива. Два цикла for можно было объединить в один.
Двумерные массивы.
Двумерный массив можно представить в виде матрицы..
Описание двумерных массивов:
a - имя массива;
n, m - количество строк и столбцов в массиве.
Размер массива - nm.
a[i, j] - элемент стоящий на пересечении i-ой строки и j-го столбца.
Каждый элемент определяется двумя индексами.
a[i, i] - элементы главной диагонали.
a[i, 2] - элементы второго стлбца.
Задача 1.
Составить программу подсчета суммы элементов над главной диагональю в двумерном массиве.
Program matrix;
const
n=10;
m=10;
var
a: array [1…n, 1…m] of real;
i, j: integer; n, m: integer;
s: real;
begin s:=0;
writeln ( введите размер массива m, n);
readln (n, m);
{Ввод массива:}
for i:=1 to n do
for j:=1 to m do
readln (a[i, j]);
for i:=1 to n do
for j:=i to m do
s: s+a[i, j];
writeln(s=, s);
end.
Для ввода элементов массива используются вложенные циклы.
i - параметр внешнего цикла;
j - параметр внутреннего цикла;
i - меняется медленнее j.
Элементы массива необходимо вводить по строкам.