Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Pascal.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

Занятие № 10. Стандартные функции. Преобразование типов. Операции над строковым типом данных.

Приведём ряд стандартных функций Pascal, которые нам могут пригодиться:

Функция

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

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

Описание

pi

-

R

Число 

abs(x)

I, R

I, R

Модуль

int(x)

I, R

R

Целая часть аргумента

frac(x)

I, R

R

Дробная часть аргумента

round(x)

I, R

I

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

trunc(x)

R

I

Цела часть аргумента

random

-

R

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

random(x)

I

I

Псевдослучайное число в интервале (0, x)

sqr(x)

I, R

I, R

Квадрат x

sqrt(x)

I, R

R

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

exp(x)

I, R

R

Экспонента (ex)

ln(x)

I, R

R

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

sin(x)

I, R

R

Синус x (x в радианах)

cos(x)

I, R

R

Косинус x (x в радианах)

arctan(x)

I, R

R

Арктангенс x (результат в радианах)

Возведение в степень в Pascal производится следующим образом:

xk  exp(k*ln(x))

Функции по работе с целочисленным и перечислимым типами:

Функция

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

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

Описание

ord(x)

порядковый

I

Порядковый номер значения x в его типе

pred(x)

порядковый

то же, что x

Предыдущее x значение в его типе

succ(x)

порядковый

то же, что x

Последующее x значение в его типе

chr(x)

I

char

Символ с порядковым номером x из таблицы ASCII

odd(x)

I

boolean

x – чётное – false

x – нечётное – true

Процедуры по работе с целочисленным типом

Процедура

Описание

inc(x)

Увеличивает значение x на 1

inc(x,k)

Увеличивает значение x на k

dec(x)

Уменьшает значение x на 1

dec(x,k)

Уменьшает значение x на k

Функции и процедуры по работе со строковым типом:

Название

Вид

Описание

copy(s,poz,n)

функция

Выделяет из строки s подстроку длинной n символов начиная с символа номер poz

concat(s1,s2,…)

функция

Осуществляет объединение (конкатенацию) строк s1, s2 и т.д.

length(s)

функция

Возвращает число (byte), являющееся длиной строки s

pos(s1,s2)

функция

Результат – целое число, являющееся номером позиции первого символа подстроки s1 в строке s2

delete(s,poz,n)

процедура

Удаление n символов из строки s начиная с символа номер poz

insert(s1,s2,poz)

процедура

Вставка строки s1 в строку s2 начиная с символа номер poz

Процедуры преобразования типов:

Процедура

Описание

str(a,s)

Преобразует число, находящееся в переменной a (любого числового типа) в строку (переменная s строкового типа)

val(s,a,code)

Преобразует число, находящееся в переменной строкового типа s в число, которое помещается в переменную числового типа a. При этом в переменную code (типа integer) передается код ошибки преобразования: 0 –преобразование типа произошло успешно, иное число – местоположение ошибки (символ отличается от цифрового, точки и минуса) в строке.

Пример 1. Получить из строки «Симпозиум» строку «Диапозитив».

Program Transformation;

uses crt;

var s,t:string;

BEGIN

ClrScr;

s:=’Симпозиум’;

delete(s,1,3);

delete(s,5,2);

t:=”Диа”+s+”тив”;

writeln(t);

readkey;

END.

Пример 2. Составить программу, определяющую является ли слово, введенное с клавиатуры, палиндромом. Палиндром – это слово, которое читается одинаково и слева направо и справа налево (например, наган и дед).

uses crt;

var s,sr:string;

i:byte;

BEGIN

ClrScr;

write('Введите слово: '); readln(s);

sr:='';

for i:=length(s) downto 1 do sr:=sr+copy(s,i,1);

if sr=s then writeln('Палиндром.')

else writeln('Не палиндром');

readkey;

END.

Контрольные вопросы:

  1. Перечислите стандартные функции Pascal. Каково их назначение?

  2. Перечислите процедуры и функции по работе со строковым типом данных. Каково их назначение?

  3. Для чего используются функции преобразования типов?

Задания:

1. Определить какое количество гласных букв встречается во введенном с клавиатуры слове.

2. Составить программу, определяющую является ли введённая с клавиатуры фраза, фразой-палиндромом (читается одинаково с обеих сторон, например, «А РОЗА УПАЛА НА ЛАПУ АЗОРА»).

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

3. Определить является ли введенный с клавиатуры номер автобусного билета (шестизначный) счастливым (сумма трех первых цифр совпадает с суммой трех последних цифр).

4. Составьте программу определения кода нажатой клавиши.

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

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