Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASCAL (конспект).docx
Скачиваний:
65
Добавлен:
28.03.2015
Размер:
112.79 Кб
Скачать

Стандартные функции pascal

Стандартные математические функции Турбо Паскаля

Обращение

Тип аргумента

Тип результата

Примечание

Abs(x)

Real, integer

Тип аргумента

Модуль аргумента

ArcTan(x)

Real, integer

Real

Арктангенс (значение в радианах)

Cos(x)

Real, integer

Real

Косинус, угол в радианах

Exp(x)

Real, integer

Real

Экспонента

Frac(x)

Real

Real

Дробная часть числа

Int(x)

Real, integer

Real

Целая часть числа

Ln(x)

Real, integer

Real

Логарифм натуральный

Pi

Нет

Real

3,141592653

Sin(x)

Real, integer

Real

Синус, угол в радианах

Sqr(x)

Real, integer

Тип аргумента

Квадрат аргумента

Sqrt(x)

Real, integer

Real

Корень квадратный

Random

Нет

Real

Псевдослучайное число в интервале [0, 1]

Random(I)

Integer

Integer

Псевдослучайное число в интервале [0, I]

Round(x)

Real

Integer

Округление до ближайшего целого

Trunc(x)

Real

Integer

Отбрасывание дробной части числа

Наименование процедуры

Тип аргумента

Тип значения

Результат вычесления

 

МАТЕМАТИЧЕСКИЕ ПРОЦЕДУРЫ

Inc(x)

целый

целый

Увеличивает "х" на 1 ( x:=x+1; )

Dec(x)

целый

целый

Уменьшает "х" на 1 ( x:=x-1; )

Inc(x, n)

целый

целый

Увеличивает "х" на n ( x:=x+n; )

Dec(x, n)

целый

целый

Уменьшает "х" на n ( x:=x-n; )

 

ПРОЦЕДУРЫ ПРЕОБРАЗОВАНИЯ ТИПОВ ПЕРЕМЕННЫХ

Str(x, s)

x-целый или вещественный

s-строковый

Последовательность символов "s" из цифр числа "x"

Val(s, v, cod)

s-строковый

v-целый или вещественный cod- целый

Двоичная форма числа "v"последовательности "s" cod=0 (код ошибки)

 

ФУНКЦИИ ПРЕОБРАЗОВАНИЯ ТИПОВ ПЕРЕМЕННЫХ

Trunc(x)

вещественный

LongInt

целая часть "х"

Round(x)

вещественный

LongInt

округление "х" до целого

Odd(x)

целый

логический

возвращает True если "х" - нечетное число

Сhr(x)

Byte

Char

Символ ASCII кода "х"

Ord(c)

Char Порядковый

Byte LongInt

ASCII код символа "с" Порядковый номер символа "с"

ОПЕРАТОРЫ FreePascal

Оператор присваивания

Общий вид

v := a; {здесь v – переменная, a – выражение, := - операция присваивания. Выражение a может содержать константы, переменные, названия функций, знаки операций и скобки.}

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

Оператор ввода

Останавливает работу программы и ждет пока пользователь введет данные с клавиатуры.

read (а) read (а,b)

readln (а,b) readln (а)

Оператор вывода

Выводит необходимую информацию на экран монитора

write (а) write (а)

writeln (а) writeln (а,b)

При выводе данных вещественного типа ширина поля определяет количество отображаемых разрядов чисел. При этом значение выводится в экспоненциальном формате.

3.24E-0001.

Если необходимо вывести вещественное значение в формате с фиксированной точкой, то используется еще одна, расширенная конструкция:

Writeln(значение: ширина_поля_вывода : ширина дробной части);

Составной оператор

Если при некотором условии надо выполнить определенную последовательность операторов, то их объединяют в один составной оператор.

Составной оператор начинается ключевым словом begin и заканчивается словом end. Между этими словами помещаются составляющие операторы, которые выполняются в порядке их следования. После end ставится точка с запятой, а после begin – только пробелы (либо комментарий).

Слова begin и end играют роль операторных скобок.

ПРОЦЕДУРА

Clrscr – очистка экрана

ЦЕЛОЧИСЛЕННЫЕ АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ

Целочисленная арифметика языка Паскаль основана на использовании пяти стандартных целых типов: Byte, Word, ShortInt, Integer, LongInt.

Cо всеми  целыми типами  связан набор из пяти основных арифметических операций: +, -, *, div, mod.

А mod B = 0

- условие делимости целого A на целое B.

A mod 2 = 0

- условие чётности целого A.

A mod 10

- значение последней цифры в десятичной записи целого  А (например, 1234 mod 10 = 4).

A div 10

число, десятичная запись которого получится отбрасыванием последней цифры в десятичной записи целого числа А (например, 1234 div 10 =123).

A mod p

- значение последней цифры в p-ичной записи целого  А (например, при p=2, A mod 2 - последняя цифра записи А в двоичной системе счисления);

A div p

- число, p-ичная запись которого получится отбрасыванием последней цифры в p-ичной записи целого числа А (например, 510=1012;  510 div 2 =210=102; т.е. из 1012 получили 102);

Вывести на экран сумму и произведение цифр двухзначного числа.

var ab, b, s, p, a: integer;

begin

readln(ab); //ввод двузначного числа

a:=abdiv10; //вывод первой цифры числа

b:=abmod10; // вывод второй цифры числа

s:=a+b; //сумма цифр числа

p:=a*b; //произведение цифр числа

writeln(s); //вывод суммы

writeln(p); //вывод произведения

end.

Поменять местами первую и третью цифры трехзначного числа.

var abc,a,b,c,cba: integer;

begin

readln(abc);

a:=abc div 100; //первая цифра числа

b:=(abcdiv10)mod10; //вторая цифра числа

c:=abcmod10; //третья цифра числа

cba:=c*100+b*10+a; //единицы*100+единицы*10+единицы

writeln(cba);

end.

Даны две переменных с разными значениями. Поменять местами значения переменных.

vara,b,c:integer; //вводим дополнительную переменную для промежуточного хранения данных

begin

readln(a,b);

c:=a;

a:=b;

b:=c;

writeln(a);

writeln(b);

end.

Вывести на экран среднее арифметическое цифр трехзначного числа

var sr: real;

х: integer;

begin

readln(х); //ввод трехзначного числа

sr:=((хdiv100)+((хdiv10)mod10)+(хmod10))/3; //среднее арифметическое цифр числа

writeln(sr);

end.

УСЛОВНЫЙ ОПЕРАТОР IF…THEN…ELSE

Условный оператор if служит для организации процесса вычислений в зависимости от какого-либо логического условия. Оператор имеет вид:

if <условие> then <оператор_1> else <оператор_2>;

Если условие истинно, то выполняется оператор (простой или составной), следующий за словом then. Но если условие ложно, то будет выполняться оператор, следующий за словом else.

Если в задаче требуется, чтобы в зависимости от значения условия выполнялся не один оператор, а несколько, то ставятся операторные скобки begin …end

if <условие> then

begin

<оператор_1>; <оператор_2>;

end

else

begin

<оператор_3>; <оператор_4>;

end;

Альтернативная ветвь else может отсутствовать, если в ней нет необходимости. В таком «усеченном» операторе в случае невыполнения условия ничего не происходит, и управление передается следующему оператору

if <условие> then <оператор_1>

Для сравнения переменных в условных выражениях применяются операции отношения

=, <, >, >=, <=, <>

Если введенное с клавиатуры число положительное, то увеличить его на два, иначе увеличить его в 2 раза.

var a: integer;

begin

readln (a);

if a>0 then

a:= a+2

else

a:=a*2;

writeln (a);

end.

Найти минимальное из трех чисел, введенных с клавиатуры.

vara,b,c,min:integer; //вводим дополнительную переменную для хранения значения минимума

begin

readln(a,b,c);

if a<b then //если a<b то

min:=a//minприсваиваем значение а

else//иначе

min:=b; //minприсваиваем значениеb

ifc<minthen//сравниваем оставшееся число сmin, и если оно меньше, то

min:=c; //minприсваиваем значение с

writeln(min);

end.

Определить будет ли введенное с клавиатуры число, увеличенное в 7 раз, четным.

var a: integer;

begin

readln (a);

a:= 7*a;

if a mod 2=0 then

writeln (четное)

else

writeln (нечетное);

end.

Дано двузначное число. Определить:

- является ли сумма его цифр четным числом; - является ли сумма его цифр двузначным числом;

var ab, a, b: integer;

begin

readln (ab);

a:= ab div10;

b:= ab mod 10;

s:=a+b;

if s mod 2=0 then

writeln (четное)

else

writeln (нечетное);

if (s >9) and (s<100) then

writeln (двузначное)

else

writeln(‘недвузначное’);

end.

Логические операции

Над логическими аргументами в Турбо Паскаль определены следующие операции:

  • NOT - логическое отрицание ("НЕ")

  • AND - логическое умножение ("И")

  • OR - логическое сложение ("ИЛИ")

  • XOR - логическое "Исключающее ИЛИ"

Результаты выполнения этих операций над переменными А и В логического типа приведены в таблице истинности.

A

B

 not A 

 A and B 

 A or B 

 A xor B 

true

true

false

true

true

false

true

false

 

false

true

true

false

true

true

false

true

true

 false 

 false 

 

false

false

false

 Операции отношения

К операциям отношения в Турбо Паскаль относятся такие операции, как:

  • > - больше

  • < - меньше

  • = - равно

  • <> - не равно

  • >= - больше или равно

  • <= - меньше или равно

В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.

Приоритет операций

Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций. В языке Паскаль принят следующий приоритет операций:

  • унарная операция not, унарный минус -, взятие адреса @

  • операции типа умножения:  *  /  div  mod  and

  • операции типа сложения:  +  -  or  xor

  • операции отношения:  =  <>  <  >  <=  >=  in

Порядок выполнения операций переопределить можно с помощью скобок. Например 2*5+10 равно 20, но 2*(5+10) равно 30.

ОПЕРАТОРЫ ЦИКЛА

Цикл – это повторение одних и тех же действий.

Последовательность действий, которые повторяются в цикле, называются телом цикла.

Один проход цикла называют шагом или итерацией.

Итерация – это организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя.

Переменные, которые изменяются внутри цикла и влияют на его окончание, называются параметрами цикла.

При написании циклов необходимо помнить:

  1. цикл когда-нибудь закончится, содержимое его тела должно влиять на условие цикла;

  2. условие должно состоять из корректных выражений и значений, определенных еще до первого выполнения тела цикла.

Операторы завершения цикла

Для всех операторов цикла выход из цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода и выхода.

Определены стандартные процедуры:

Break

Continue

Процедура Break выполняет безусловный выход из цикла.

Процедура Continue обеспечивает переход к началу новой итерации цикла.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]