1.3.2. Функции числовых параметров.

Название

Значение

abs(x)

модуль x  

cos(x)

косинус x

frac(x)

дробная часть x  

int(x)

целая часть x (т.е. ближайшее целое, не превосходящее x)

pi

|число

round(x)  

x, округлённое до целого

sin(x)

синус x  

sqr(x)

квадрат x  

sqrt(x)

квадратный корень из x  

1. Оператор if.

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

if then else;

Под оператором понимается либо одиночный оператор (например, присваивания, вызова процедуры), либо такой составной оператор, состоящий из нескольких простых операторов, помещённых между словами begin и end. Важно заметить, что перед else не ставится точка с запятой. Часть else может и отсутствовать.

Пример 1: пусть требуется найти число m=max(a,b). Этой задаче

соответствует следующий фрагмент программы на Паскале:

if a>b then m:=a else m:=b;

Пример 2: (без else) пусть дано целое число i. Требуется оставить его

без изменения, если оно делится на 2, и вычесть из него 1, если это не так.

var i: integer;

 

if i mod 2 = 1 then i:=i-1; {else - ничего не делать}

Пример 3: (с использованием составного оператора). Пусть даны две переменные типа real. Требуется поменять местами значения этих переменных, если a1>a2.

var a1,a2,buf :real;

if a1>a2 then begin

buf:=a1;

a1:=a2;

a2:=buf;

end;

 Пример при подсчете суммы натуральных чисел от 1 до 100:

Var i,sum: integer;

begin

sum:=0; i:=0;

repeat

i:=i+1;

sum:=sum+i;

until i=100;

writeln ('Сумма равна: ',sum);

readln;

end.

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

Этот цикл записывается так: while do . (Пока условие истинно, выполнять оператор). Суть в следующем: пока условие истинно, выполняется оператор (в этом случае оператор может не выполниться ни разу, т.к. условие проверяется до выполнения).

1. Символьный тип

Тип данных, переменные которого хранят ровно один символ (букву, цифру, знак препинания и т.п.) называется символьным, а в Паскале — char. Объявить переменную такого типа можно так: var ch: char;. Для того чтобы положить в эту переменную символ, нужно использовать оператор присваивания, а символ записывать в апострофах, например: ch:='R';. Для символьных переменных возможно также использование процедуры readln, например:

 write(‘Выйти из игры? (Да/Нет)’); readln(ch);

 if ch=’Д’ then ... {выходить}...

 else ...{продолжать}...;

Символьные переменные в памяти компьютера хранятся в виде числовых кодов, иначе говоря, у каждого символа есть порядковый номер. К примеру, код пробела равен 32, код ‘A’ — 65, ‘B’ — 66, ‘C’ — 67, код символа ‘1’ — 48, ‘2’ — 49, ‘.’ — 46 и т. п. Некоторые символы (с кодами, меньшими 32) являются управляющими, при выводе таких символов на экран происходит какое-либо действие, например, символ с кодом 10 переносит курсор на новую строку, с кодом 7 — вызывает звуковой сигнал, с кодом 8 — сдвигает курсор на одну позицию влево. Под хранение символа выделяется 1 байт (байт состоит из 8 бит, а бит может принимать значения 0 или 1), поэтому всего можно закодировать 28 = 256 различных символов. Кодировка символов, которая используется Турбо-Паскале, называется ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией).

Для того чтобы получить в программе код символа нужно использовать функцию chr, например:

 var i: byte; {число, занимающее 1 байт, значения — от 0 до 255}

ch: char;

 ...

 readln(i); writeln ('символ с кодом ',i,' — это ',chr(i));

Если в качестве кода используется конкретное число, а не выражение и не переменная, то можно использовать символ «#», скажем так: ch:=#7;. Для того перехода от кода к символу используется функция ord (от слова ordinal — порядковый). Имеющиеся знания позволяют нам написать программу, которая выдаёт на экран таблицу с кодами символов:

program ASCII;

var ch: char;

begin

for ch:=#32 to #255 do write(ord(ch),'—>',ch,' ');

readln;

end.

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

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

 1. succ (от succeedent — последующий), она выдаёт символ со следующим кодом.

 2. pred (от predecessor — предшественник), выдаёт символ с предыдущим кодом.

Если попытаться в программе получить succ(#255) или pred(#0), то возникнет ошибка. Пользуясь этими функциями можно переписать предыдущую программу и по-другому:

ch:=#32;

while ch<>#255 do begin

write(ord(ch),'—>',ch,' ');

ch:=succ(ch);

end;

Сравнение символов. Также как и числа, символы можно сравнивать на =, <>, <=, >=. В этом случае Паскаль сравнивает не сами символы, а их

коды. Таблица ASCII составлена таким образом, что коды букв (латинских и большинства русских) возрастают при движении в алфавитном порядке, а коды цифр расположены по порядку: ord(‘0’)=48, ord(‘1’)=49, ... ord(‘9’)=57. Сравнения символов можно использовать везде, где требуются логические выражения: в операторе if, в циклах и т.п.


Информация о работе «Приложения технологии языка программирования Паскаль в прикладной механике»
Раздел: Информатика, программирование
Количество знаков с пробелами: 68032
Количество таблиц: 2
Количество изображений: 4

Похожие работы

Скачать
424070
0
0

... буквы из имеющихся двадцати шести букв/. 4.5. Правила, определяющие область действия. Функции и внешние переменные, входящие в состав “C”-программы, не обязаны компилироваться одновременно; программа на исходном языке может располагаться в нескольких файлах, и ранее скомпилированные процедуры могут загружаться из библиотек. Два вопроса представляют интерес: Как следует составлять описания, чтобы ...

Скачать
55056
17
1

... 1Kb/сек. Скорость записи прошивки в ПЗУ 0.5Kb/сек. Тестирование программатора 13 сек 3. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЙ РАЗДЕЛ 3.1. Оценка издержек на разработку программного интерфейса для программатора ПЗУ 3.1.1 Статья I. Материальные ресурсы Статья I включает стоимость всех видов сырья и материалов, расходуемых на изготовление продукции, а также транспортно-заготовительные расходы. ...

Скачать
50249
0
1

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

Скачать
87202
19
0

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

0 комментариев


Наверх