Числовые процедуры и функции
Функция LENGTH (определение длины) типа INTEGER
Обращение к функции:
LENGTH (ST: STRING): INTEGER
Функция LENGTH вычисляет длину (текущее количество символов) в строковом выражении ST.
Const
PI = '3.141595';
Var
FAM: String [10];
…………
FAM: = 'Иванов';
LENGTH (PI); - результат = 8
LENGTH (FAM); – результат = 6
Функция POS (определение позиции) типа INTEGER
Обращение к функции:
POS (SUBST, ST: STRING): INTEGER
Функция отыскивает в строке ST первое вхождение цепочки SUBST и выдает номер позиции, с которой она начинается. Если подстрока не найдена, выдает результат 0.
Var
ST1, ST2: String;
N1, N2: Integer;
….
ST1:= 'студент Иванов';
ST2:= 'Иван';
N1:= POS (ST2, ST1); - результат = 9
N2:= POS(' ',ST1;) - результат = 8
Процедура VAL (преобразование строкового значения) типа REAL или INTEGER
Обращение к процедуре
VAL (ST : STRING, X : REAL OR INTEGER, CODE : INTEGER) : REAL
OR INTEGER
Процедура преобразует строку символов ST, которая должна быть набором цифр и символов представления чисел, во внутреннее представление целой или вещественной переменной X, которое определяется типом переменной. Параметр CODE содержит нуль, если преобразование прошло успешно, и тогда в X помещается результат преобразования, в ином случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ.
В этом случае содержимое X не меняется. Ведущие пробелы в ST должны отсутствовать.
Var
R1: Integer;
R2, R3: PEAL;
ST1, ST2. ST3: String [5];
CODE1, CODE2, CODE3: Integer;
…..
ST1:= '12345';
ST2:= '8.3E5';
ST3:= '23+15';
R1: = VAL (ST1, R1. CODE1); - результат - Rl = 12345, CODE1 = 0
R2: = VAL (ST2, R2, CODE2); - результат - R2 = 830000, CODE2 = 0
R3: = VAL (ST3, R3, CODE3); - результат - R3 не определено, CODE3 = 3
КОНТРОЛЬНЫЕ ВОПРОСЫ
Дать определение строковой переменной.
Порядок объявления строковой переменной в разделе описаний программы.
Порядок ввода строковых переменных.
Операции строковых переменных.
Объяснить результат операции 'П' >'Q'.
Порядок выделения слов в тексте.
Как можно определить длину строковой переменной?
Порядок работы функции Сору.
Как расположить список строкового типа по алфавиту?
Как удалить символы в строке?
Варианты заданий на лабораторную работу № 3
Вариант 1
Подсчитать, сколько слов во фразе «Программа модификации объектных модулей предназначена для внесения изменений в объектные модули» заканчивается на одинаковые буквы. Если таких слов нет, то подсчитать количество букв «п» в тексте. Создать массив слов, упорядочить его по возрастанию.
Вариант 2
Подсчитать, сколько слов во фразе «При написании программы на языке Ассемблера» начинаются на одну и ту же букву (игнорировать регистры). Если такие слова имеются, то определить позиции букв «а» в тексте. Создать массив слов, упорядочить его по возрастанию.
Вариант 3
Сформировать текст «Каталог интегральных микросхем» без пробелов и напечатать его. Если в полученном тексте количество букв четное, то из полученного текста сформировать текст «Каталог транзисторов». Создать массив слов, упорядочить его по возрастанию.
Вариант 4
Подсчитать, сколько слов в тексте «Если для всех трех сторон произведение положительно» оканчивается на букву «х». Создать массив слов, упорядочить его по возрастанию. Если таких слов два, то из исходной фразы сформировать фразу без пробелов.
Вариант 5
Если во фразе «Изучение алгоритма позволяет представить микропроцессорное устройство» количество слов чётное, то расположить слова в алфавитном порядке. Определить, сколько букв гласных.
Вариант 6
Определить, сколько слов в тексте «Цилиндрическая цистерна с горизонтальной осью» начинается на букву «ц». Если таких слов больше одного, то из исходной фразы сформировать текст «Кубическая цистерна с вертикальной осью». Создать массив слов, упорядочить его по возрастанию.
Вариант 7
Подсчитать, сколько раз в тексте «В киоске продают газеты стоимостью 5 руб. и журнал стоимостью 50 руб.» встречается слово «стоимостью». Если таких слов 2, то из исходной фразы сформировать новую фразу «В киоске продаются газеты стоимостью 10 руб. и 2 журнала стоимостью 100 руб.». Создать массив слов, упорядочить его по возрастанию.
Вариант 8
Подсчитать, сколько фамилий из списка: Дьяконов, Черемных, Силкова, Коровина, Шкляр, Симонов, Рычагов начинаются на букву «С». Если таких фамилий больше 1, то упорядочить по алфавиту этот список. Напечатать исходный и упорядоченный списки.
Вариант 9
Подсчитать количество букв «и» в списке, состоящем из пяти фамилий: Якубовский, Барханов, Ниссельсон, Терехин, Сидоров. Если таких букв чётное количество, то упорядочить эти фамилии по алфавиту. Напечатать исходный и упорядоченные списки.
Вариант 10
Если во фразе «Изучение алгоритма позволяет представить микропроцессорное устройство» длина самого длинного слова кратна длине самого короткого слова, то расположить слова из фразы в обратном порядке.
Вариант 11
Подсчитать, сколько слов в тексте «Каталог интегральных схем» начинается на «к» и заканчивается на «г». Если таких слов 1, то из исходной фразы сформировать фразу «Каталог интегральных микросхем». Создать массив слов, упорядочить его по возрастанию.
Вариант 12
Подсчитать, сколько слов в фразе «Изучение алгоритма позволяет представить микропроцессорное устройство» начинается на одну и ту же букву. Если количество слов четное, то расположить слова из исходной фразы в порядке увеличения длины слов.
Вариант 13
Подсчитать, сколько слов в тексте «Ехал казак на побывку» начинается и заканчивается на одну и ту же букву. Если такие слова в тексте имеются, то расположить слова из исходной фразы в порядке уменьшения длины слов.
Вариант 14
Если во фразе «Компьютеризация и информационное обеспечение учебного процесса» количество букв «а» больше букв «е», то расположить слова фразы в алфавитном порядке.