Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мет_инф_о!!!.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
122.37 Кб
Скачать

Практическое занятие № 4 Преобразование символьных величин

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

ТСО: компьютер

Для успешного выполнения работы вам необходимо изучить теоретический материал по теме: «Работа с символьной информацией»

Задания

  1. Повторите теоретический материал по данной теме.

  2. Разобрать решение следующей задачи:

Задача: Составить программу, подсчитывающую количество знаков препинания

(. , ! ?) в строке.

Решение:

Program Stroka;

uses crt;

Var s:string; sum,i:integer;

begin

clrscr;

Writeln('Программа подсчитывает количество знаков препинания ');

Write('Введите строку: ');

Readln(s);

For i:=1 to length(s) do

if (s[i]='.') or (s[i]=',') or (s[i]='!') or (s[i]='?') then sum:=sum+1;

Writeln('Количество знаков препинания: ', sum);

readln;

end.

  1. Составить программы решения задач своего варианта:

1 вариант

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

2 вариант

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

Лабораторная работа № 5

Составление программ на обработку символьной информации

Цель работы: Научиться использовать операции над символьными переменными при составлении программ.

ТСО: компьютер

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Символьные переменные объявляются с помощью служебного слова CHAR, например: g:CHAR. В этом случае переменная g может содержать только один символ. Поэтому правомерны такие присваивания: g:=’F’, g:=’1’, g:=’ ‘, а следующие присваивания ошибочны: g:=’hj’, g:=’123’ и т.д.

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

B: Array [1..100] of char;

C: Array [1..13] of char;

Присваивание значения такому массиву может быть выполнено следующим образом: С:=’Пример строки’.

Для символьных массивов допускается операция конкатенации (сложения) «+»

Замечания:

  1. В присваивании строк символьным массивам необходимо точное соответствие длин строк и размеров массивов.

  2. Операция конкатенации вызовет ошибку компиляции в случае появления такого выражения: S:=S1+’ ‘+S2.

  3. Строку символов можно задавать с использованием служебного слова STRING, например:

Var

Line: String[20];

Переменная line в качестве своего значения может иметь любую последовательность символов произвольной длины от 0 до 20. Значение строковой переменной присваивается аналогично. Максимальная длина строки составляет 255 символов.

В памяти строка, состоящая из N символов, занимает N+1 байтов, из которых N байтов приходится на хранение символов строки, а один байт – для хранения текущей длины строки.

Элементы строки нумеруются целыми числами, начиная с 1. Длина строки располагается в 0 байте.

Обычно для определения текущей длины строки используют функцию LENGTH(X), где Х – выражение строкового типа.

Со строковыми переменными можно производить операции сравнения по следующим правилам:

  1. короткая строка всегда меньше длиной;

  2. если длины строк равны, то сравнение происходит по правилу сравнения десятичных дробей.

Кроме перечисленных, со строками можно производить следующие операции:

  1. вставка символов в строку

Insert (<символы>, <строка>, <начальная позиция вставки>);

  1. удаление части символов строки

Delete(<строка>, <начальная позиция>, <количество символов >);

  1. функция вырезки части строки

Copy (<строка>, <начальная позиция>, <количество символов >);

  1. функция конкатенации любого количества строк-параметров

Concat (<строка1>, <строка2 >,…, <строка N >);

  1. функция поиска подстроки в строке

Pos (<подстрока>, <строка >);

Результат работы функции – номер позиции подстроки в строке. Если такой подстроки нет – возвращается 0.

  1. перевод строкового выражения в число

Val (<строка>, <числовая переменная >, <признак >);

Признак равен 0, если преобразование возможно. В противном случае он показывает номер позиции первого непереводимого символа.

  1. перевод из числа в строку

Str (<числовая переменная>, <строка >);