- •Оглавление
- •Предисловие
- •Введение
- •1. Разветвляющиеся вычислительные процессы
- •If логическое_выражение then оператор1 еlse оператор2;
- •If логическое_выражение then оператор1;
- •Пример 1. Вычислить значение функции y(X)
- •Программа
- •Программа
- •2. Циклические вычислительные процессы
- •2.1. Циклы с заданным числом повторений
- •2.1.1. Вычисление массива значений функции
- •2.1.2. Обработка одномерных массивов
- •2.1.2.1. Поиск наименьшего (наибольшего) элемента массива
- •2.1.2.2. Вычисление суммы и количества элементов массива
- •2.1.2.3. Вычисление произведения элементов массива
- •2.1.2.4. Поиск элементов массива по заданному критерию
- •2.2. Циклы с неизвестным числом повторений
- •2.2.1. Табулирование функции
- •2.2.2 Итерационные вычислительные процессы
- •2.2.3. Вычисление суммы членов бесконечного ряда
- •2.3. Сложные циклы
- •2.3.1. Пример алгоритма, содержащего вложенный цикл
- •Программа
- •2.3.2. Обработка двумерных массивов (матриц)
- •2.3.2.1. Вычисление суммы и количества элементов массива
- •2.3.2.2. Поиск элементов массива по заданному критерию
- •3. Работа с текстовыми файлами
- •Программа
- •4. Функции в языке Pascal
- •5. Процедуры в языке Pascal
- •Программа
- •Программа
- •Исходные данные
- •Результаты
- •6. Модули в языке Pascal
- •Unit имя-модуля;
- •Uses имя-модуля1, имя-модуля2, …, имя-модуляN;
- •Пример модуля (библиотеки) с именем Unitmatr
- •Пример рабочей программы (программы пользователя)
- •Литература Методические пособия кафедры
2.1. Циклы с заданным числом повторений
В циклах с заданным числом повторений, как правило, используются операторы for-to-do или for-downto-do.
Общий вид оператора for-to-do:
for i:=m1 to m2 do s; (если значение параметра i нужно увеличивать)
for i:=m1 downto m2 do s; (если значение параметра i нужно уменьшать)
где i – управляющая переменная цикла (параметр цикла); m1 и m2 – начальное и конечное значения переменной i, шаг изменения которой равен 1; s – тело цикла, состоящее из простого или составного оператора.
Выполнение оператора for-to-do:
выполняются операторы цикла;
значение переменной i изменяется на единицу (i:=i+1 или i:=i-1);
если i<= m2, процесс повторяется, начиная с пункта 1), в противном случае происходит выход из цикла и переход на продолжение программы.
2.1.1. Вычисление массива значений функции
Пример 5. Вычислить значения функции y(x)=ax+b для n значений аргумента x.
Другими словами, вычислить массив Y={y1, y2, …, yn} при заданном массиве X={x1, x2, …, xn} по формулам yi(xi)=axi+b, где i=1, 2, …, n. Пусть n<=20.
Программа Схема алгоритма
P rogram Prim5;
var
x,y : array[1..20] of real;
i,n : integer;
a,b : real;
begin
writeln('Введите a,b');
readln(a,b);
writeln('Введите n');
readln(n);
writeln('Введите массив');
for i:=1 to n do
read(x[i]);
for i:=1 to n do
begin
y[i]:=a*x[i]+b;
writeln('y[', i ,']=', y[i]:7:2);
end;
end.
Исходные данные: Результат:
a = 3; b = 6; n = 5 y[1]= 21.90
Массив X y[2]= 18.60
5.3 4.2 6.8 2.5 7.1 y[3]= 26.40
y[4]= 13.50
y[5]= 27.30
2.1.2. Обработка одномерных массивов
2.1.2.1. Поиск наименьшего (наибольшего) элемента массива
При поиске наименьшего (наибольшего) элемента массива начальное значение искомого элемента последовательно сравнивают с остальными элементами, изменяя (или не изменяя) значение искомого элемента в соответствии с результатами сравнения. В качестве начального значения наименьшего (наибольшего) элемента можно выбрать первый элемент.
Пример 6. В массиве В, состоящем из n элементов, найти наименьший элемент и индекс (порядковый номер) этого элемента (n20).
Программа Схема алгоритма
P rogram Prim6;
var
b : array[1..20] of real;
i,n,k : integer;
min : real;
begin
writeln('Введите n');
readln(n);
writeln('Введите массив');
for i:=1 to n do
read(b[i]);
min:=b[1]; k:=1;
for i:=2 to n do
if b[i]<min then
begin
min:=b[i];
k:=i;
end;
writeln('min=', min:6:1, ' k=' , k:2)
end.
Исходные данные: Результат:
n = 8
min= -7.0 k= 6
Массив B
4 3 -2 5 11 -7 8 1