Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
39 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
795.50 kB
Просмотров:
86
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Программирование на языке](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img0.jpg)
Содержание слайда: Программирование
на языке Паскаль
Символы и
символьные строки
№2 слайд![Строковый тип данных](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img1.jpg)
Содержание слайда: Строковый тип данных определяет совокупность символов произвольной длины.
Для определения строкового типа используется зарезервированное слово String с указанием максимальной длины строки.
№3 слайд![Описание строк В разделе var](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img2.jpg)
Содержание слайда: Описание строк
В разделе var строки описываются следующим образом:
var <имя_строки>: string[<длина>]
Максимальная длина строки - 255 символов. Нумеруются ее компоненты начиная с 0, но этот нулевой байт хранит длину строки.
Если <длина> не указана, то считается, что в строке 255 символов. Поэтому для экономии памяти следует по возможности точно указывать длину используемых строк.
№4 слайд![Примеры описаний var s string](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img3.jpg)
Содержание слайда: Примеры описаний:
var s1: string[10]; (*строка длиной 10 символов*)
s2: string; (*строка длиной 255 символов*)
Необходимо отметить, что один символ и строка длиной в один символ
var c: char;
s: string[1];
совершенно не эквивалентны друг другу. Вне зависимости от своей реальной длины, строка относится к конструируемым структурированным типам данных, а не к базовым порядковым
№5 слайд![Символ-константа и](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img4.jpg)
Содержание слайда: Символ-константа и строка-константа
Неименованные константы
В тексте программы на языке Pascal последовательность любых символов, заключенная в апострофы, воспринимается как символ или строка. Например:
c:='z'; {c: char} s:='abc'; {s: string}
Константе автоматически присваивается "минимальный" тип данных, достаточный для ее представления:
char или string[k]. Поэтому попытка написать
c:='zzz'; {c: char}
вызовет ошибку уже на этапе компиляции.
№6 слайд![Пустая строка задается двумя](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img5.jpg)
Содержание слайда: Пустая строка задается двумя последовательными апострофами:
Пустая строка задается двумя последовательными апострофами:
st:= '';
Если же необходимо сделать так, чтобы среди символов строки содержался и сам апостроф, его нужно удвоить:
s:='Don''t worry about the apostrophe!';
Если теперь вывести на экран эту строку, то получится следующее:
Don't worry about the apostrophe!
№7 слайд![Нетипизированные константы](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img6.jpg)
Содержание слайда: Нетипизированные константы
Все правила задания символов и строк как неименованных констант остаются в силе и при задании именованных нетипизированных констант в специальном разделе const. Например:
const c3 = ''''; {это один символ - апостроф!}
s3 = 'This is a string';
№8 слайд![Типизированные константы](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img7.jpg)
Содержание слайда: Типизированные константы
Типизированная константа, которая будет иметь тип char или string, задается в разделе const следующим образом:
const c4: char = ''''; {это один символ - апостроф!}
s4: string[20] = 'This is a string';
№9 слайд![Программа Строка](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img8.jpg)
Содержание слайда: Программа «Строка 1»
№10 слайд![Действия с символами Операции](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img9.jpg)
Содержание слайда: Действия с символами
Операции
Результатом унарной операции
#<положительная_неименованная_константа_целого_типа>
является символ, номер которого в таблице ASCII соответствует заданному числу. Например,
#100 = 'd‘
#39 = '''' {апостроф}
#232 = 'ш’
#1000 = 'ш' {потому что (1000 mod 256)= 232}
Кроме того, к символьным переменным, как и к значениям всех порядковых типов данных, применимы операции сравнения <, <>, >, =, результат которых также опирается на номера символов из таблицы ASCII.
№11 слайд![Стандартные функции Функция](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img10.jpg)
Содержание слайда: Стандартные функции
Функция chr(k:byte):char "превращает"; номер символа в символ. Действие этой функции аналогично действию операции #. Например:
c:= chr(48); {c: char} {c = '0'}
Обратной к функции chr() является функция ord(). Таким образом, для любого числа k и для любого символа с:
ord(chr(k)) = k и chr(ord(c)) = c
№12 слайд![Стандартные процедуры и](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img11.jpg)
Содержание слайда: Стандартные процедуры и функции pred(), succ(), inc() и dec(), определенные для значений любого порядкового типа, применимы также и к символам (значениям порядкового типа данных char ). Например:
Стандартные процедуры и функции pred(), succ(), inc() и dec(), определенные для значений любого порядкового типа, применимы также и к символам (значениям порядкового типа данных char ). Например:
pred('[') = 'Z’
succ('z') = '{‘
inc('a') = 'b’
inc('c',2) = 'e’
dec('z') = 'y’
dec(#0,4) = '№' {#252}
№13 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img12.jpg)
№14 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img13.jpg)
№15 слайд![Строки можно рассматривать](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img14.jpg)
Содержание слайда: Строки можно рассматривать как одномерный массив символов, но в отличии от массива длина строк может меняться. Элемент строки можно извлечь так же, как элемент массива.
№16 слайд![Программа Строка](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img15.jpg)
Содержание слайда: Программа «Строка 2»
№17 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img16.jpg)
№18 слайд![Операции над строками .](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img17.jpg)
Содержание слайда: Операции над строками
1. Сцепление строк (конкатенация).
(программа «Строка 3»)
2. Сравнение строк ( <, <=, >, >=, =, <> )
Сравнение строк происходит посимвольно. Строки равны, если имеют одинаковую длину и посимвольно эквивалентны.
(программа «Строка 4»)
№19 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img18.jpg)
№20 слайд![Функции и процедуры для](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img19.jpg)
Содержание слайда: Функции и процедуры для работы со строками
1. Функция concat(s1,_,sN:string):string осуществляет слияние ( конкатенацию ) всех перечисленных строк или символов в указанном порядке. Если длина итоговой строки больше 255-ти символов, то произойдет отсечение "хвоста". Кроме того, даже если результат конкатенациине был усечен, но программа пытается сохранить его в переменную заведомо меньшей длины, то усечение все равно состоится:
concat('abc','3de',' ','X','yz') = 'abc3de Xyz'
№21 слайд![Функции и процедуры для](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img20.jpg)
Содержание слайда: Функции и процедуры для работы со строками
2. Функция copy(s:string;i,k:byte):string
вычленяет из строки s подстроку длиной k символов, начиная с i -го. Если i больше длины строки, то результатом будет пустая строка. Если же k больше, чем длина оставшейся части строки, то результатом будет только ее "хвост":
copy('abc3de Xyz',2,4) = 'bc3d'
copy('abc3de Xyz',12,4) = ''
copy('abc3de Xyz',8,14) = 'Xyz'
№22 слайд![Функции и процедуры для](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img21.jpg)
Содержание слайда: Функции и процедуры для работы со строками
3. Процедура delete(s:string;i,k:byte) удаляет из строки s подстроку длиной k символов, начиная с i -го. Если i больше длины строки, то ничего удалено не будет. Если же k больше, чем длина оставшейся части строки, то удален будет только ее "хвост":
{s = 'abc3de Xyz'} {s = 'abc3de Xyz'}
delete(s,2,3); delete(s,8,13);
{s = 'ade Xyz'} {s = 'abc3de '}
№23 слайд![Функции и процедуры для](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img22.jpg)
Содержание слайда: Функции и процедуры для работы со строками
4. Процедура insert(ss,s:string;i:byte) вставляет подстроку ss в строку s, начиная с i -го символа. Если i выходит за конец строки, то подстрока ss припишется в конец строки s (если результат длиннее, чем допускается для строки s, произойдет его усечение):
{s = 'abc3de Xyz'} {s = 'abc3de'}
insert('xyz',s,2); insert('xyz',s,12);
{s = 'axyzbc3de Xyz'} {s = 'abc3dexyz'}
№24 слайд![Функции и процедуры для](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img23.jpg)
Содержание слайда: Функции и процедуры для работы со строками
5. Функция length(s:string):byte возвращает длину строки s:
length('abc3de Xyz') = 10
6. Функция pos(ss,s:string):byte определяет позицию, с которой начинается первое (считая слева направо) вхождение подстроки ss в строку s. Если ss не встречается в s ни разу, функция вернет 0:
pos('X', 'abc3de Xyz') = 8
№25 слайд![Функции и процедуры для](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img24.jpg)
Содержание слайда: Функции и процедуры для работы со строками
7. Процедура str(x[:w[:d]],s:string) превращает десятичное число x (можно указать, что в этом числе w цифр, из них d дробных) в строку s. Если число короче указанных величин, то спереди и/или сзади оно будет дополнено пробелами:
str(156.4:7:2,s); {s = ' 156.4 '}
8. Процедура val(s:string;i:<арифметический_тип>;err:byte)
превращает строку s в десятичное число i (в случае ошибки в переменную err будет записан номер первого недопустимого символа ):
{s = '15.47'} val(s,x,err); {x = 15.47}
№26 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img25.jpg)
№27 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img26.jpg)
№28 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img27.jpg)
№29 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img28.jpg)
№30 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img29.jpg)
№31 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img30.jpg)
№32 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img31.jpg)
№33 слайд![Программирование на языке](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img32.jpg)
Содержание слайда: Программирование
на языке Паскаль
Рекурсивный перебор
№34 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img33.jpg)
№35 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img34.jpg)
№36 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img35.jpg)
№37 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img36.jpg)
№38 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img37.jpg)
№39 слайд![](/documents_6/ed874f343d2724dbf432da13ab8f4d40/img38.jpg)