Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Функции которые работают с символами.



Читайте также:
  1. IBM рассказала о 5 инновациях, которые изменят нашу жизнь в ближайшие 5 лет
  2. II. Функции школьной формы
  3. II. Функции школьной формы
  4. II. Функции школьной формы
  5. II. Функции школьной формы
  6. II. Функции школьной формы
  7. III. Разделы аттестационного отчёта, которые могут быть востребованы

chr (код) дает знак по коду

ord (знак) дает код по знаку

b:=chr (ord (‘a’)) b= ’a’

# код= chr (код) – Пример: # 27 – знак клавиши Escape.

Т. к. знаки – это порядковый тип, то действуют 2 функ-и.

Pred (x) = x-1

pred (10) = 9

Succ (x) = x+1

succ (10) = 11

Порядковые типы, выделяемые из группы простых типов, характеризуются следующими свойствами:

1. все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество;

2. к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;

3. к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;

4. к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.

Два типа Т1 и Т2 являются эквивалентными (идентичными), если выполняется одно из двух условий:

1. Т1 и Т2 представляют собой одно и то же имя типа;

2. тип Т2 описан с использованием типа Т1 с помощью равенства или последовательности равенств.

Например:

type

T1 = Integer;

T2 = T1; T3 = T2;

Типы являются совместимыми, если:

1. они эквивалентны;

2. являются оба либо целыми, либо действительными;

3. один тип - интервальный, другой - его базовый;

4. оба интервальные с общим базовым;

5. один тип - строковый, другой - символьный.

В Турбо Паскаль ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция:

Имя_Тип (переменная или значение)

Напрмер, Integer('Z') представляет собой значение кода символа 'Z' в двухбайтном представлении целого числа, а Byte(534) даст значение 22, поскольку целое число 534 имеет тип Word и занимает два байта, а тип Byte занимает один байт, и в процессе приведения старший байт будет отброшен.

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

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

Стандартные виды констант:

1. Целочисленные константы. Могут быть определены посредством чисел, записанных в десятичном или шестнадцатиричном формате данных. Это число не должно содержать десятичной точки.

2. Вещественные константы. Могут быть определены числами, записанными в десятичном формате данных с использованием десятичной точки.

3. Символьные константы. Могут быть определены посредством некоторого символа, заключенного в апострофы.

4. Строковые константы. Могут быть определены последовательностью произвольных символов (заключенных в апострофы).

5. Типизированные константы. Представляют собой инициализиованные переменные, которые могут использоваться в программах наравне с обычными переменными. Каждой типизированной константе ставится в соответствие имя, тип и начальное значение.

Например:

year: integer = 2001;

symb: char = '?';

money: real = 57.23;

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

Массив – последовательность, состоящая из фиксированного числа однотипных элементов. Все элементы имеют общее имя и различные индексы.

type <имя> = array[<список типов индексов>] of <тип элементов>

Строка – последовательность символов. string(n), n<=255

concat(s1,…,sk) – соединяет строки, не более 255 символов.

length(s) – количество символов строки.

copy(s,i,k) – из строки s выделяется k символов, начиная с i.

str(k,s) – число в строку

val(s,k,i) – строка из цифр в число, i=0, если в строке нет символов, отличных от цифр, иначе i= позиция первого числа, отличного от цифры.

pos(s,t) – номер позиции, начиная с которого строка s входит первый раз в строку t.

insert(s,t,i) – строка s вставляется в t, начиная с позиции i

delete(s,i,k) – из s удаляется k символов, начиная с i.

Множество – неупорядоченная совокупность отличных друг от друга однотипных элементов.

type <имя> = set of <тип элем.>

Прямого доступа к элементам множества нет используют in.

Оператор включения in x in A: true, если x принадлежит А.

Запись – последовательность, состоящая из фиксированного числа величин различных типов (поля).

type <имя> = record

<имя поля 1>: <тип>;

<имя поля N>: <тип>;

end;

Перечисляемый тип представляет собой ограниченную упорядоченную последовательность скалярных констант, составляющих данный тип. Значение каждой константы задается ее именем. Имена отдельных констант отделяются друг от друга запятыми, а вся совокупность констант, составляющих данный перечисляемый тип, заключается в круглые скобки.

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

Например, перечисляемый тип Rainbow (РАДУГА) объединяет скалярные значения RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET Перечисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярные значения RED, YELLOW, GREEN.

Перечисляемый тип описывается в разделе описания типов:

type

Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);

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

Например, перечисляемый тип Traffic_Light не может быть определен в одной программе с типом Rainbow, так как оба типа содержат одинаковые константы.

Описание переменных, принадлежащих к скалярным типам, которые объявлены в разделе описания типов, производится с помощью имен типов. Например:

type

Traffic_Light= (RED, YELLOW, GREEN);

var

Section: Traffic_Light;

Это означает, что переменная Section может принимать значения RED, YELLOW или GREEN.

Переменные перечисляемого типа могут быть описаны в разделе описания переменных, например:

var Section: (RED, YELLOW, GREEN);

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

К переменным перечисляемого типа может быть применим оператор присваивания:

Section:= YELLOW;

Упорядоченная последовательность значений, составляющих перечисляемый тип, автоматически нумеруется, начиная с нуля и далее через единицу. Значит, к перечисляемым переменным и константам могут быть применены операции отношения и стандартные функции Pred, Succ, Ord.

Интервальный тип данных

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

1..10 -15..25 'a'..'z'

Минимальное и максимальное значения констант называются нижней и верхней границами отрезка, определяющего интервальный тип. Нижняя граница должна быть меньше верхней.

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

Математические операции

* умножение; 2*3 (результат: 6)

/ деление; 30/2 (результат: 1.5 E + 01)

+ сложение; 2+3 (результат: 5)

- вычитание; 5-3 (результат: 2)

div целочисленное деление;

5 div 2 (результат: 2)

mod остаток от деления;

5 mod 2 (результат: 1)

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

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

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

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

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

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

> - больше

< - меньше

= - равно

<> - не равно

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

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

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

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

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

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

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

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

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

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

Основные математические функции

Приведем основные математические функции, встроенные в системную библиотеку Турбо Паскаль.

Abs(X) Возвращает абсолютное значение числа X.

Cos(X), Sin(X) Возвращает косинус (синус) числа X, где X - угол в радианах.

Функций тангенс и котангенс в Турбо Паскале нет. Для их вычисления используйте выражение sin(x)/cos(x) (или cos(x)/sin(x) для котангенса).

ArcTan(X) Возвращает арктангенc числа X.

Exp(X) Возвращает число, равное e в степени X.

Ln(x) Возвращает число, равное натуральному логарифму от числа X.

Pi Число Пи.

Sqr(X) Возвращает число, равное квадрату числа X.

Функции возведения в произвольную степень нет. Используйте многократное умножение для возведения в целочисленную степень, либо функции Exp и Ln для возведения в вещественную степень.

Sqrt(X) Возвращает число, равное квадратному корню из числа X.

Trunc(X) Возвращает число, равное целой части числа X. (Происходит отбрасывание дробной части числа X. Результат выполнения имеет тип Longint).

Frac(X) Возвращает число, равное дробной части числа X.

Int(X) Возвращает число, равное целой части числа X. Результат выполнения функции - real.

Round(X) Функция округляет число X. Возвращаемое значение имеет тип Longint.

Random(X) Возвращает случайное целое число в диапазоне 0..X. Если аргумент опущен (Random), то возвращается случайное вещественное число от 0 до 1. Перед использованием random в программах рекомендуется сначала инициализировать генератор псевдослучайных чисел процедурой Randomize. В противном случае при каждом запуске программы будет генерироваться одна и та же последовательность случайных чисел.

Inc(X,Y) Увеличивает значение числа X на Y. Если число Y не указано, то увеличение происходит на 1.

Dec(X,Y) Уменьшает значение числа X на Y. Если число Y не указано, то уменьшение происходит на 1.

Логические выражения - это отношение, либо формула, составленная из отношений, круглых скобок и символов логических операций. Результат их вычисления может принимать только одно из 2х допустимых значений- true(истина) и false(ложь). Чаще всего значение false ассоциируется с 0, а значение true- с 1 или просто ненулевым значением. При записи логических выражений используются операции сравнения и логических операции. Операции сравнения сличают значения левого и правого операндов. Результатом сравнения является true, если оно удачно, и false в противном случае.

В одном выражении может потребоваться проверка нескольких подобных условий. Условия могут быть связаны с помощью логических операций. Наиболее активно используются: И, ИЛИ. Также используются: исключающее ИЛИ, и операция отрицания НЕ.


 

Реализация циклов в языке программирования Turbo Pascal. Цикл с известным числом повторений. Циклы с предусловием и постусловием. Массивы и их реализация в языке программирования Turbo Pascal.

В большинстве задач, встречающихся на практике, необходимо производить многократное выполнение некоторого действия. Такой многократно повторяющийся участок вычислительного процесса называется циклом. Цикл – команда исполнителю повторить многократно указанную последовательность команд алгоритмического языка.

Решая некоторые задачи, мы можем знать количество повторений некоторого действия или группы действий. В этом случае, мы говорим о конструкции цикла со счетчиком (или цикл с параметром). Если заранее известно количество необходимых повторений, то цикл называется арифметическим. В том случае, когда количество повторений указанных действий не известно, а зависит от некоторых условий, мы говорим о конструкции цикла с условием выхода, т. е. говорят об итерационном цикле.

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

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

Синтаксическая запись оператора цикла: FOR i:=n TO k DO или FOR i:=n DOWNTO k DO. Оператор for вызывает оператор, находящийся после слова do, по одному разу для каждого значения в диапазоне от значения 1 до значения 2. Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла. Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла.

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

Если требуется повторить группу действий, то оператор выглядит следующим образом.

FOR i:=n TO k DO

BEGIN

оператор 1;

оператор 2;

…………

оператор n

END;

1) Счетчик изменяется на единицу при каждом следующем исполнении оператора цикла.

2) Для правильной записи конструкции оператора необходимо помнить: переменные i, n, k – могут быть только переменными так называемого «порядкового цикла», это тип, в котором каждое данное имеет свой номер, свое расположение среди других данных этого типа. Мы будем говорить об этом в следующих главах (пока мы изучили только один порядковый тип – integer).

3) Не забывайте, что счетчику присваивается начальное значение, т.е. i = начальное значение.

4) Если начальное значение совпадает с конечным значением, то операторы цикла (еще говорят «тело цикла») выполняются один раз.

5) Если начальное значение счетчика больше конечного значения, то тело цикла не выполнится ни разу.

6) При выходе из цикла значение счетчика совпадает с конечным значением, т.е. i = k.


Дата добавления: 2015-07-11; просмотров: 186 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.018 сек.)