Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

Циклы и массивы

Сортировка двумерного массива.

Пример 36. Задан двумерный массив X из 6 строк и 4 столбцов. Упорядочить массив X по возрастанию элементов дробной части столбца с номером N. Отсортированный массив X вывести на экран монитора.

Тип данных Boolean.

Тип BOOLEAN (булевский, логический). Логический тип в языке Паскаль задается как перечисляемый тип, содержащий всего два значения, которые имеют идентификаторы FALSE (ложь) и TRUE (истина).

Отличительной особенностью Паскаля от большинства процедурных языков является то, что все переменные должны быть инициализированы. То есть в разделе VAR переменным отводится место, а начальное значение этих величин специально не устанавливается. Поэтому после объявления массива необходимо его элементам задать необходимые значения. Широко используется три способа инициализации одномерного массива.

1. Если значения элементов массива определены до начала работы программы, то есть известны на этапе формулировки задания на программирование, то можно использовать следующий способ:

CONST A: ARRAY [1..10] OF REAL = (0.1, -15.3, 7, 0, -11.89, 4, -78,11.2, 1,0.01);

При таком объявлении массива в разделе констант вы заносите в одномерный массив А по порядку А[1] = 0.1, А[2] = -15.3,... А[10] = 0.01 вещественные числа, перечисленные в круглых скобках. При этом массив является массивом переменных, то есть в процессе работы программы можно менять содержимое любого разряда одномерного массива. Этот способ, конечно, является нарушением по стандарту Паскаля, однако очень часто используется на практике.
2. Второй способ применяется в том случае, если исходные данные необходимо ввести с клавиатуры в процессе выполнения программы. Поскольку одномерный массив представляет собой конечный набор однотипных элементов, пронумерованных с помощью индекса (переменной перечисляемого типа), то удобно использовать арифметический цикл (оператор FOR) для ввода значений непосредственно с клавиатуры. При этом можно предложить два равноценных приема. Предположим, в вашей программе сделаны объявления:
CONST
M=1;
N=15;
VAR
A: ARRAY[M .. N] OF REAL;
где M – нижняя, a N верхняя границы индексов. Первый способ ввода будет иметь инструкцию:
WRITELN('Введите массив А, из 15 вещественных чисел');
FOR I := М ТО N DO READ(A[I]);
При таком способе оператор может ввести все 15 чисел через пробел в одну строку и только затем нажать на клавишу Enter. Если он считает нужным, то он может вводить группы чисел (например, по 3 числа, чтобы не ошибиться) через пробелы и нажимать Enter. А можно вводить на каждой строке только по одному числу.
Второй способ ввода имеет вид:
FOR I := M TO N
DO BEGIN
WRITE('A[', I:1,'] = ');
READLN(A[I])
END;
Этот фрагмент программы позволяет вам вводить число непосредственно за подсказкой компьютера, курсор для ввода стоит через пробел за знаком равенства.
3. Третий способ заполнения используется для массивов малых размерностей и заключается в прямом присвоении в теле программы значений элементам массива. Например, допустимы следующие операторы:
FOR I := М ТО N DO А[I] := 0;

Пример 29. В результате измерения случайного параметра сформирован массив из N вещественных чисел. Вычислить эмпирическую среднюю

massiv

и среднее квадратическое отклонение

massiv.

Обозначим М = и S = ?, тогда алгоритм программы будет иметь вид.

massiv..

Как мы только что обсуждали, ввод массива — это инструкция, содержащая несколько операторов, в том числе оператор цикла FOR. Но здесь и во всех последующих примерах мы не будем уточнять способ ввода одномерного массива, оставляя выбор за программистом.


PROGRAM PR29;
CONST N=10;
VAR
X: ARRAY [1.. N] OF REAL;
I: INTEGER;
S, M: REAL;
BEGIN
WRITELN('Введите массив X, из', N:2,' вещественных чисел');
FOR I := 1 TO N DO READ(X[I]);
M:=0;
S:= 0;
FOR I := 1 TO N DO M := M + X[I];
M:=M/N;
FOR I := 1 TO N DO S := S + (X[I] - M) * (X[I] - M);
S := SQRT(S / (N - 1));
WRITELN('M - ', M :10:6,', S = ', S :9:6);
END.


Отображение на экране значений одномерного массива.


Если в результате работы вашей программы массив изменил свое состояние и необходимо значения каждого из его элементов отобразить на монитор, то можно воспользоваться любым из двух способов, описанных ниже. Предположим, в вашей программе сделаны объявления:
CONST M = 1; N=15;
VAR A: ARRAY [M .. N] OF REAL;

  • Тогда первый способ вывода элементов массива в строку будет иметь инструкцию:

WRITELN('Элементы массива А имеют значения:');
FOR I := М ТО N DO WRITE(A[I]: С: D,'');
WRITELN;
В этой инструкции первый оператор WRITELN сообщает оператору, какую информацию он увидит на экране. Второй оператор сформирует цепочку вещественных чисел, разделенных пробелами в формате: С: D. Третий оператор WRITELN переведет курсор на новую строку.

  • Второй способ обеспечивает вывод значений элементов массива в столбец, причем каждый из элементов будет идентифицирован:

FOR I := М ТО N DO WRITELN('A[', I:2,'] - ', А[I]: С: D);


Предыдущая статья: Массивы. Регулярные типы.
Оглавление: Лекции по Pascal.
Следующая статья: Индексы одномерного массива.


Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальЛекции по ПаскальЦиклы с параметром. Оператор FOR.