- •Фгбоу впо уральский государственный лесотехнический университет
- •Оглавление
- •Лабораторная работа n 1. Пример программ линейной структуры
- •Цель работы:
- •Основные сведения
- •Программы линейной структуры
- •Пример программы линейной структуры
- •Общие сведения о интегрированной Среде Borland Pascal
- •Выполнение работы
- •Форма отчета
- •Оператор варианта Case
- •Выполнение работы
- •Варианты задания 1
- •Варианты задания 2
- •Контрольные вопросы
- •Лабораторная работа n3. Программы циклической структуры
- •Цель работы:
- •Основные сведения
- •Пример цикла типа for.
- •Пример цикла типа while.
- •Пример цикла типа repeat ... Until.
- •Выполнение работы
- •Пример обработки одномерного массива
- •Пример обработки многомерного массива
- •Выполнение работы
- •Варианты задания 1.
- •Варианты задания 2
- •Контрольные вопросы
- •Тип данных string
- •Выполнение работы
- •Варианты заданий.
- •Контрольные вопросы
- •Лабораторная работа n 6. Процедуры и функции
- •Цель работы:
- •Основные сведения
- •Процедуры
- •Функции, определяемые программистом
- •Рекурсия
- •Выполнение работы
- •3. Выполнение работы
- •4. Контрольные вопросы
Тип данных string
В Турбо Паскале предусмотрен тип данных STRING. Переменная типа STRING может принимать значения переменной длины. Максимально возможная длина переменной 255 символов. Например:
str: STRING[200];
ow: STRING[10];
В скобках указывается максимальная длина для данной переменной. Для ввода значений типа STRING необходимо использовать READLN, а не READ. За один раз может быть введена только одна строка. Две строки можно сравнивать, используя операции отношения (сначала сравниваются самые левые символы, если они равны, то сравниваются следующие). Для работы с переменными типа STRING используют следующие стандартные процедуры и функции:
Функция LENGTH C:=LENGTH(str); Переменной С будет присвоено целое значение, показывающее количествo символов в строковой переменной str.
Функция СОNCAТ - сцепление строк в порядке их перечисления. str:=CONCAT(st1,st2,...,stN); str - переменная типа STRING, состоящая из строк st1, ..., stN.
Функция POS P:=POS (st1, st2); Р-целое число, показывающее номер позиции, с которой начинается строка st1 в строкe st2.
Функция COPY S1:=COPY( str, I, J); Sl - символьная подстрока, выделенная из строки str с позиции I, длиной J символов.
Процедура DELETE(Str, I, J) Из строки str удаляется J символов, начиная с позиции I.
Процедура INSERT(Str1, Str2, I) Строка Str1 вставляется с позиции I в строку Str2.
Процедура STR(V, S1) Числовое значение переменной V преобразуется в строку символов и записывается в строку S1.
Процедура VAL(S1, V, C) Строковое выражение S1 преобразуется в величину целочисленного или вещественного типа и записывается в переменной V. Если при этом ошибок не обнаруживается, то С будет равно 0 . В противном случае значение С будет равно номеру позиции первого ошибочного символа, и V будет не определено. Строка S1 не должна содержать незначащих пробелов, переменная V может быть целой или вещественной, а переменная С - только целой .
Пример: Подсчитать количество слов во введенной с клавиатуры строке.
program lr2;
var
s: string[30];
kol, i, n: integer;
begin
writeln ('введите строку'); readln (s);
kol:=0; {счетчик количества слов}
n:= length(s); {определяем длину введенного текста}
s:= concat(' ',s); {добавляем пробел к первому слову}
for i:=1 to n do
if (copy (s,i,1)=' ') and (copy (s,i+1,1)<>' ')
then kol := kol+1;{подсчет количества слов}
writeln (s,' количество слов= ', kol);
readln
end.
Выполнение работы
Набрать и откомпилировать приведенные выше программы, исправить выявленные ошибки. Ввести разные исходные данные, убедиться в правильности выполнения программ.
Составить программы с использованием символьных данных согласно вариантам заданий, откомпилировать их, проверить полученные результаты.
Варианты заданий.
Текст вводится с клавиатуры в символьную переменную. Исходный текст и результаты распечатать.
Вывести на печать список слов, имеющих приставку (несколько букв), задаваемую с терминала.
Раздвинуть заданный текст, вставив введенную с клавиатуры последовательность символов после 1-го символа каждого слова.
В заданном тексте слова разделены запятыми. Напечатать список слов, начинающихся с символа, введенного с клавиатуры.
Определить наличие слов в заданном тексте, содержащих сочетание символов, задаваемое с экрана.
Из заданной последовательности слов удалить слова, содержащие числа.
Каждое слово текста преобразовать таким образом, чтобы оно читалось слева направо.
Подсчитать количество слов, разделенных запятыми, содержащих k гласных букв (k - задается с экрана).
Из введенного текста сначала распечатать слова, заканчивающиеся на согласную букву, а потом на гласную букву.
Из текста вывести на экран возвратные глаголы (оканчивающиеся на –ся).
В заданном тексте слова разделены запятыми. Напечатать слова в обратной последовательности.