
- •Студент обязан делать работу только своего варианта.
- •Практическое занятие № 1 Знакомство с программированием
- •Создание программы.
- •Запуск программы.
- •Задания
- •Задания
- •Задания
- •Лабораторная работа № 4 Составление программ на обработку двумерных массивов
- •Теоретические сведения
- •Задания
- •Практическое занятие № 4 Преобразование символьных величин
- •Задания
- •Задания
- •Практическое занятие № 5 Работа с графикой
- •Задание
- •1 Вариант
- •2 Вариант
- •Список учебной литературы
- •Содержание
Практическое занятие № 4 Преобразование символьных величин
Цель: научиться составлять программы по обработке символьных величин.
ТСО: компьютер
Для успешного выполнения работы вам необходимо изучить теоретический материал по теме: «Работа с символьной информацией»
Задания
Повторите теоретический материал по данной теме.
Разобрать решение следующей задачи:
Задача: Составить программу, подсчитывающую количество знаков препинания
(. , ! ?) в строке.
Решение:
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 вариант
Составить программу, удаляющую из строки все запятые.
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;
Присваивание значения такому массиву может быть выполнено следующим образом: С:=’Пример строки’.
Для символьных массивов допускается операция конкатенации (сложения) «+»
Замечания:
В присваивании строк символьным массивам необходимо точное соответствие длин строк и размеров массивов.
Операция конкатенации вызовет ошибку компиляции в случае появления такого выражения: S:=S1+’ ‘+S2.
Строку символов можно задавать с использованием служебного слова STRING, например:
Var
Line: String[20];
Переменная line в качестве своего значения может иметь любую последовательность символов произвольной длины от 0 до 20. Значение строковой переменной присваивается аналогично. Максимальная длина строки составляет 255 символов.
В памяти строка, состоящая из N символов, занимает N+1 байтов, из которых N байтов приходится на хранение символов строки, а один байт – для хранения текущей длины строки.
Элементы строки нумеруются целыми числами, начиная с 1. Длина строки располагается в 0 байте.
Обычно для определения текущей длины строки используют функцию LENGTH(X), где Х – выражение строкового типа.
Со строковыми переменными можно производить операции сравнения по следующим правилам:
короткая строка всегда меньше длиной;
если длины строк равны, то сравнение происходит по правилу сравнения десятичных дробей.
Кроме перечисленных, со строками можно производить следующие операции:
вставка символов в строку
Insert (<символы>, <строка>, <начальная позиция вставки>);
удаление части символов строки
Delete(<строка>, <начальная позиция>, <количество символов >);
функция вырезки части строки
Copy (<строка>, <начальная позиция>, <количество символов >);
функция конкатенации любого количества строк-параметров
Concat (<строка1>, <строка2 >,…, <строка N >);
функция поиска подстроки в строке
Pos (<подстрока>, <строка >);
Результат работы функции – номер позиции подстроки в строке. Если такой подстроки нет – возвращается 0.
перевод строкового выражения в число
Val (<строка>, <числовая переменная >, <признак >);
Признак равен 0, если преобразование возможно. В противном случае он показывает номер позиции первого непереводимого символа.
перевод из числа в строку
Str (<числовая переменная>, <строка >);