Итоговое занятие по массивам.
1 урок пары- доклады на темы «Сортировка массивов»
2 урок пары- зачет по вариантам
Лекция 25.
Строки в Turbo Pascal
Строка-это последовательность символов кодовой таблицы ASCII.
В программе могут встречаться строковые постоянные, переменные и выражения. Со строковыми постоянными мы встречались постоянно, это тект, заключенный в апострофы.
Writeln(‘сумма=’,s);
стр.постоянная
Строковые переменные должны быть описаны. Определить переменную строкового типа можно, используя стандартный тип (string) или пользовательский.
1. Var <имя перем.>: string[длина стр.];
2. type <имя типа>=string[длина стр.];
var <имя перем.>:<имя типа>;
Зам! Длина строки указывает сколько символов может содержать строка, это обязательно целое число, [длина стр.]является необязательным параметром и может отсутствовать, тогда длина строки по умолчанию 255 символов.
Пример,
Const
Adres=’’;
N=20;
Type
Stroka=string[n];
Var
A,b:stroka;
Z:string[5];
S:string;
Строка- это цепочка символов. Для хранения в памяти для строки длиной N необходимо N+1 байт. N байт хранят символы строки, а 1 байт текущую длину строки.
Пример,
Var s: string[10];
…
s:=’мама’;
...
м | а | м | а |
Строковые выражения.
Выражения, в котором операндами являются строки, называется строковым.
Над строковыми операндами допустимы следующие операции:
Сцепления (+).
Применяется для соединения строк в одну.
‘Turbo ’+’ Pascal’ результат ‘Turbo Pascal’
Отношения(<, >, <> )
Две строки равны, если их длины равны и одинаковые символы стоят на одинаковых местах.
Пример,
‘Program’=‘program’- false
‘FAT’=‘FAT’ –true
Если строки имеют равную длину, то они сравниваются слева на право до первого несовпавшего символа, и та строка больше, чей символ имеет больший номер в ASCII.
Пример,
‘intel’>’Intel’
‘MSDOS’<’MSDos’
Строковые процедуры и функции.
Процедура | Действие | Пример |
Insert(s1,s2,poz) | Процедура вставки строки s1 в строку s2, начиная с позиции poz | S1:=’Turbo ’ S2:=’язык Pascal’ Insert(s1,s2,6) Результат-‘язык Turbo Pascal ’ |
Delete(s,poz,n) | Процедура удаления из строки s n символов, начиная с позиции poz | S:=’клавиатура’ Delete(s,5,5) Результат: ‘клава’ |
Str(n,st) | Процедура преобразования числа в строку | |
Val(st,n) | Процедура преобразования строки в число | |
Copy(st,poz,n) | Процедура выделения из строки st подстроки длиной n, начиная с позиции poz | St:=’машина’ Copy(st,3,4) Результат: ‘шина’ |
Length(s) | Функция определяет длину строки | S:=’мама’ N:=length(s) Результат n=4 |
Pos(s,st) | Функция определяющая первое вхождение строки s в строку st | St:=’машина’ s:= ‘шина’ n:=Роs (st, s) Результат: n=3 |
UpCase(ch) | Функция заменяющая маленькую латинскую буквы большой. |
Лекция 26.
Вопросы:
1. Что такое строка, как описать.
2. Какие выражения называются строковыми. Охарактеризовать строковые операции.
3. Охарактеризовать основные процедуры и функции работы со строками
Основные задачи по теме строки:
1. Написать программу, которая определяет и выводит на экран длину введенной с клавиатуры строки.
Program _;
Uses CRT;
Var s: string;
Begin
ClrScr;
Writeln(‘введите строку’);
Readln(s);
Writeln(‘длина строки=’, length(s));
Readkey;
End.
2. Удалить из строки 4 символа, начиная со 2.
Program _;
Uses CRT;
Var s: string;
Begin
ClrScr;
Writeln(‘введите строку’);
Readln(s);
Delete(s,2,4);
Writeln(‘новая строка=’,s);
Readkey;
End.
3. Удалить половину введенной с клавиатуры строки.
Program _;
Uses CRT;
Var s: string;
Begin
ClrScr;
Writeln(‘введите строку’);
Readln(s);
Delete(s,length(s) div 2 +1, length(s) div 2);
Writeln(‘новая строка=’,s);
Readkey;
End.
4. С клавиатуры вводятся две строки, определить является ли первая строка частью второй, если да, то ее обнаружить первое вхождение.
Program _;
Uses CRT;
Var s, st: string;
Begin
ClrScr;
Writeln(‘введите первую строку’);
Readln(s);
Writeln(‘введите вторую строку’);
Readln(st);
If pos(s, st)=0
then writeln(‘строка ’, s, ‘не входит в строку ’, st)
else writeln(‘строка ’, s, ‘входит в строку ’, st);
Readkey;
End.
5. В предложении произвольной длины все буквы «а» русского алфавита заменить на «*».
Program _;
Uses CRT;
Var s: string;
Begin
ClrScr;
Writeln(‘введите строку’);
Readln(s);
For i:=1 to length(s) do
If s[i]=’a’ then s[i]:=’*’;
Writeln(‘новая строка=’,s);
Readkey;
End.
6. В предложении произвольной длины все цифры заменить на «!»
Program _;
Uses CRT;
Var s: string;
Begin
ClrScr;
Writeln(‘введите строку’);
Readln(s);
For i:=1 to length(s) do
If (s[i]>=’0’) and (s[i]<=’9’) then s[i]:=’!’;
Writeln(‘новая строка=’,s);
Readkey;
End.
7. В предложении произвольной длины посчитать количество латинских букв «а»
Program _;
Uses CRT;
Var s: string;
Kol:byte;
Begin
ClrScr;
Kol:=0;
Writeln(‘введите строку’);
Readln(s);
For i:=1 to length(s) do
If s[i]=’a’ then kol:=kol+1;
Writeln(‘количество букв а=’,kol);
Readkey;
End.
Лекция 27.
Дата добавления: 2016-05-25; просмотров: 683;