Логические операции применимы не только к логическому типу данных, но и к целочисленному типу данных. Для целых чисел операции выполняются поразрядно, отдельно с каждым битом.
Тип данных String в Pascal.
Со строковыми переменными можно производить различные операции. Операция сцепления строк позволяет соеденить 2 строки между собой.
Логические операции And, Or, Not, Xor в Pascal.
Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : And – логическое умножение, Or – логическое сложение, Not – логическое отрицание, Xor – ...
Циклы и массивы
Стандартные функции в Паскаль.
Наиболее часто встречающиеся операции над скалярными типами данных реализованы в языке Паскаль с встроенных (иногда говорят — стандартных) функций и процедур.
Программирование вычислительных процессов.
Решение задачи на ЭВМ — это сложный процесс, в ходе которого пользователю приходится выполнять целый ряд действий, прежде чем он получит интересующий его результат.
Табулирование функций.
Язык программирования Паскаль Категория: Лекции по Pascal.
Задача табулирования функции предполагает получение таблицы значений функции при изменении аргумента с фиксированным шагом. В качестве исходной информации должны быть заданы: Х0, Хn – начало и конец промежутка табулирования, при этом (Х0< Хn); n – число шагов разбиения промежутка [Х0, Xn]; F(X) – описание табулируемой функции.
При составлении алгоритма предполагается, что X – текущее значение аргумента; h – шаг изменения аргумента (иногда его называют шагом табуляции функции); i – текущий номер точки, в которой вычисляются функция (i = 0 .. n).
Количество интервалов n, шаг табуляции h и величины Х0, Хn связаны между собой фор-мулой:
tabulirovanie funkcii
Интерпретация переменных (т. е. их обозначение в математической постановке задачи, смысл и тип, обозначения в блок-схеме и программе) приведена в таблице имен.
tabulirovanie funkcii.
Пример 17. Табулировать функцию F(X) в N равноотстоящих точках, заданную на промежутке [Х0, Xn], где
tabulirovanie funkcii..PROGRAM PR17;
VAR
I, N: INTEGER;
X, Y: REAL;
H, X0, XN: REAL;
BEGIN
WRITELN('ВВЕДИТЕ X0, XN, N');
READLN(X0, XN, N);
H := (XN - X0)/N;
FOR I:=0 TO N
DO BEGIN
Y:= SIN(X+1)*EXP(2-X*X);
X := X0 + I * H;
WRITELN (X:4:1,",Y:9:6)
END
END.
tabulirovanie funkcii...
Теперь запишем решение этой же задачи, но с использованием цикла While...DO.
PROGRAM PR17_while;
VAR
N: INTEGER;
X, Y: REAL;
H, X0, XN: REAL;
BEGIN
WRITELN('ВВЕДИТЕ X0, XN, N');
READLN(X0, XN, N);
H := (XN - X0)/N;
X:=X0;
WHILE X<=XN
DO BEGIN
Y:= SIN(X+1)*EXP(2-X*X);
X := X + H;
WRITELN (X:4:1,",Y:9:6)
END
END.
В общую длину пути будет входить длина пути AC = 10
Длина пути напрямую из C в F (CF) = 8.
Нам нужно проверить, если ли смысл ехать в другой нас. пункт из C, чтоб сократить общий путь.
Варианты, где расстояние из C в другой нас. пункт больше или равно CF отбрасываем. У нас остаются:
CB = 6CD = 2 CE = 5Теперь проверим, из какого из этих пунктов расстояние в F не превышает расстояние CF - 8.
BF = 1DF = 4EF = 0Найдем общий размер пути, который нужно преодолеть с самого начала и найдем меньший
ACF = 10 + 8 = 18ACBF = 10 + 6 + 1 = 17ACDF = 10 + 2 + 4 = 16ACEF = 10 + 5 + 0 = 15Длина кратчайшего пути между пунктами А и F, проходящая через пункт С = 15 (ACEF).