TURBO PASCAL

Новости           

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности

Гостевая книга

От автора

Арифметические и логические операторы

+ сложение;
- вычитание;
* умножение;
/ деление;
Mod остаток от целочисленного деления;
Div деление на цело;
Not логическое отрицание;
Or поразрядное логическое сложение ("или");
Xor сложение по модулю;
And поразрядное логическое умножение ("и");
Shi разрядный сдвиг влево;
Shr разрядный сдвиг вправо;
> больше;
< меньше;
>= больше или равно;
<= меньше или равно;
= равно;
<> не равно;
In проверка;
Abs(x) модуль числа любого типа;
Arctan(X) арктангенс (в радианах);
Cos(X) косинус угла;
Frac(X) дробная часть аргумента вещ. числа;
Int(X) целая часть аргумента вещ. числа;
Ln(X) натуральный логарифм;
Pi значение числа П;
Sin(X) синус угла;
Sqr(X) квадрат вещественного или целого аргумента;
Sqrt(X) квадратный корень вещ. аргумента;
Chr(X) вывод символа, код которого равен целому числу (х);
Ord(X) преобразование символа (х) в целочисленное число (byte);
Odd(X); только для целого аргумента. При чётном аргументе - True(истинно), при нечётном - False.

Обработка данных. Простейшие логические выражения и циклы.

Логическими принято называть такие операторы или их сочетания, в результате работы которых вырабатываются указания о выполнении или невыполнении каких-либо операций.

В Pascal используются следующие конструкции:

If <условие> Then
Begin

[Oператоры, работающие при выполнении условия]

End
Else
Begin

[Операторы, работающие при не выполнении условия]

End;

Примеры:

Задача: ввести 3 целых числа и выдать на печать наибольшее из них.

Program Prim1;
Var a,b,c,max : Integer;
Begin
Write ('введите через пробел 3 целых числа'); ReadLn(a,b,c);
If(a>=b) and (a>=c) Then max:=a;
If(b>=a) and (b>=c) Then max:=b;
If(c>=a) and (c>=b) Then max:=c;
WriteLn('Max=',max);
End.

Задача 2; значения функции вычисляются для положительных аргументов по формуле y = x1/2 / sin(x), а для отрицательных - по формуле y = cos(x1/2). Найти значение функции при аргументе, введенном с клавиатуры.

Program Prim2;
Var x,sx,y : Real;
Begin
Write('введите X='); ReadLn(x);
If x>0 Then
Begin
sx:=Sqr(x);
v:=sx/Sin(x);
End
Else y:=Cos(Sqr(x));
WriteLn('Y(',x,')=',y);
End;
End.

Другой конструкцией проверки условий является оператор While.

While<условие>) Do
Begin

<Операторы>

End;

Этот оператор создаёт специфичную структуру, в которой выполняется проверка заданных условий, и, пока эти условия выполняются структура работает. После первого невыполнения условий работа структуры завершается.

В качестве примера рассмотрим следующую задачу.

Переменная xxx изменяется от начального значения с шагом 0.1 до тех пор пока не удвоится экспонента этой переменной.

Program Prim3;
Var xxx,v: Real;
Begin
Write('Значение аргумента='); ReadLn(xxx);
v:=Exp(xxx);
While (Exp(xxx)<=2*v) Do{ Пока e*^xxx<2*v - выполнять}
xxx:=xxx+0.1;
WriteLn('Удвоение произошло при аргументе =',xxx:10:3);
End.

Рассмотрим ещё одну задачу - задачу поиска делителей целого

Program Wariant1;{Программа с разветвлениями и циклами}
Uses Crt; {Подключение библиотеки CRT}
Var a,b,c,d,e : Integer; {При работе с длинными числами заменить на Longint}
Begin
ClrScr; {Процедура очистки экрана}

{Эта процедура позволяет начать работу программы "с чистого листа", то есть при запуске программы на выполнение - перед Вами появится чистый экран}

d:=0
Write('введите целое положительное число'); ReadLn(a);
b:=1; e:=a;

{первый способ с использованием repeat-until}

Repeat {Начало цикла с постусловием}
b:=b+1, c:=a mod b;
if c=0 Then
Begin
d:=d+1;WriteLn ('Число',b,'делитель числа',e);
End;
Until(b>a-2); {Конец цикла, пока b>a-2-выполнять}
If d=0 Then WriteLn('Число',a,'-простое');
ReadLn; WriteLn('Конец 1-го способа'); WriteLn;

{Второй способ - с использованием конструкции While...Do}

d:=0; b:=1;
While b меньше a-2 Do {Начало цикла с предусловием}
Begin
b:=b+1; WriteLn('Число',b,'- делитель числа',а)
End;
If d=0 WriteLn('Число',a,'-простое');
d:=o;
For e:=2 to a-2 Do
ReadLn; WriteLn('Конец 3-его способа'); ReadIn;
End.

 

В представленной программе кроме операторов, описанных ранее представлена новая конструкция.

For переменная:=[нижняя граница] to [верхняя граница] Do
Begin
<операторы>
End;

Это классическое представление циклического процесса, где целочисленная переменная приобретает последовательный ряд значений, с которыми выполняются определённые наборы действий. Если изменения этой переменной происходят с убыванием, то вместо слова to следует подставить DownTo.

содержание

(с)Все права защищены

По всем интересующим вопросампрошу писать на электронный адрес

    Rambler's Top100 PROext: Top 1000
    Rambler's Top100 Яндекс цитирования
Hosted by uCoz