Итоговое занятие по массивам.

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; просмотров: 690;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.017 сек.