Тема №5: программирование на языке turbo-pascal. Организация циклов. Операторы циклов. Составление программ с использование операторов цикла



бет3/5
Дата06.06.2016
өлшемі1.09 Mb.
#117344
1   2   3   4   5

ТЕМА №9: ДАННЫЕ ТИПА STRING.

ПРОГРАММНО - ДИДАКТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ: ЭВМ типа IBM. ТР5.

ЦЕЛИ И ЗАДАЧИ: приобретение навыков составления программ с использованием данных типа STRING

ТРЕБОВАНИЯ К ЗНАНИЯМ И УМЕНИЯМ:



Учащиеся должны знать:

  • Что такое данные типа STRING;

  • Как описываются строковые данные;

  • Для чего используются строковые данные;

  • Сколько бай занимают строковые данные;

  • Для чего используется нулевой элемент строковой переменной,

  • Как обозначается элемент строковой переменной;

  • С какой цифры начинается отсчет номера элемента строкой переменной;

  • Какой функцией определяется длина строковой переменной;

  • Как склеить две строковые переменные;

  • Как вырезать часть строковой переменной;

  • Как вставить одну строковую переменную в другую;

  • Как удалить часть строковой переменной;

  • Как можно преобразовать числовую переменную в строковую;

  • Как определить входить ли одна строковая переменная в состав другой.

Учащиеся должны уметь:

  • Правильно задавать строковые переменные;

  • Правильно использовать строковые переменные;

  • Правильно использовать процедуры и функции обработки строковых переменных;

  • Вводить строковые переменные;

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

ПЛАН-СОДЕРЖАНИЕ УРОКА



Основные понятия

Данные типа String или строковые данные (Строка) – это особая форма одномерного массива символов.

Отличие строки от массива в том, что массив имеет фиксированную длину (количество элементов), которая определяется при описании.

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

Var S: string[n]; SS: string; где

n – число символов в строковой переменной, изменяется от 1 до 255.

Длина описанной переменной S - n+1 байт.

Максимально возможная длина строковой переменной – 255 символов.

S[i] – общий вид элемента строковой переменной


Строка имеет две разновидности длины:

  • общую длину строки (n), которая характеризует размер памяти, выделяемый строке при описании.

  • Текущую длину строки (p) (p<=n), которая показывает количество смысловых символов в каждый конкретный момент времени. При выдаче на экран значения нулевого символа (Write(ord (s[0]));), получим величину р. Например:

0 1 2 3 4 5 6 7 8 9 10




B

O

R

L

A

N

D









Символ, код которого =7 р=7 n=10 var s:string[10]


Когда в описании длина не указывается, то она по умолчанию берется 255 символов.

Заполняются строковые данные с помощью оператора присваивания (:=) или оператора ввода (read).

Примеры: SS:=’Информатика’; read(s);

Сравнение строковых переменных идет слева направо в соответствии с ASCII кодами символов. При сравнении длин строк используются операции =, >=, <=, <>, <, >. Если длина переменных одинакова – больше то, у которого больше код. Если длины разные – более короткая величина меньше. Считается, что отсутствующие символы в более короткой строке имеют код, меньше кода любого действительного символа. Например, ‘AB’ больше, чем ‘A’.


Строковые переменные можно склеить (знак +), что равноценно дозаписи символов второй переменной к символам первой. Если длина новой строки превысит допустимую (255) длину, то «лишние» символы отбрасываются. Пример, если а:=’К’; b:=’O’;с:= ‘Т’; х:=а+b+с;d:=a+c+b; – то в х поместится 'КОТ', а в d – ‘КТО’

Для обработки строковых переменных имеется набор специальных процедур и функций.

Процедуры обработки строк:

INSERT(S,T,N);

Вставка подстроки (S) в строковую переменную (T) с символа N

DELETE(S,M,N);

Удаление части (N символов) строковой переменной (S), начиная с символа M

STR(V,S);

Преобразование числовой переменной в строковую

VAL(S,V,N);

Преобразование строковой переменной в числовую. S - строка, V - числовая переменная, N - значение первого содержащего ошибку символа.

Функции обработки строковых переменных:



LENGTH(S)

Определение количества символов строковой переменной S

String

Integer

POS(S,T);

Определение первого одинакового левого символа двух строк (строка S и подстрока T)

String, String

Integer

CONCAT(S1,S2,…,SN);

Склеивание строк

String, …, String

String

COPY(S, M, N);

Вырезка подстроки (N символов) начиная с M-го символа из строковой переменной S

String, Integer, Integer

String

ORD(X)

Определение кода символа. X

Char

Integer

CHR(X)

Определение символа по его коду

Integer

Char

SUCC(X)

Нахождение следующего элемента

Integer, Char

Integer, Char

PRED(X)

Нахождение предыдущего элемента

Перечисляемый

Перечисляемый



Примеры программ:

  • Перевернуть введенное с клавиатуры слово

Uses crt;

Var s,s1:string; n,i:integer;

Begin

Read(s); S1:=’’;



N:=length(s);

For i:=1 downto 1 do S1:=s1+s[i];

Writeln(s1);

Repeat until keypressed; End.



  • Подсчитать кол-во предложений. Конец предложения - ., !, ?

User crt;

Var s:string; n,i,sum:integer; m:char;

Begin

Read(s); Sum:=1; N:=lenght(s); M:=’ ‘;



For i:=1 to n do Begin

If s[i]=m then sum:=sum+1;

End;

Writeln(sum); Repeat until keypressed; end.



  • Разработать функцию удаления символов из строки.

Uses crt;

Var m,n,l:integer; s,w:string;

Function ddd(s:string; m,n:integer):string;

Var g1,g2,w:string; l,k:integer;

Begin

L:=length(s); G1:=’’;



For k:=1 to m-1 do g1:=g1+s[k];

Writeln(g1);

G2:=’’;

For k:=m+n to l do g2:=g2+g2+s[k];



Writeln(g2);

W:=g1+g2; Writeln(w);

Ddd:=w;

End;


Begin

Readln(s); Writeln(s);

Readln(m,n); W:=ddd(s,m,n); Writeln(w);

Repeat until keypressed;

end.


Uses crt;

Var s,r:string; n,i:integer;

Begin

R:=’’;


Readln(s);

For i:=1 to n do

Begin

N:=ord(s[i]);



R:=r+chr(n+3);

End;


Writeln(s);

Writeln®;

Repeat until keypressed;

end.






Достарыңызбен бөлісу:
1   2   3   4   5




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет