Использование строк в паскаль. Презентация на тему Строки в Pascal Символьные строки в паскале презентация
Синтаксис: var s: string[n]; var s1: string; n - максимально возможная длина строки - целое число в диапазоне Если этот параметр опущен, то по умолчанию он принимается равным 255.
Строковые константы записываются как последовательности символов, ограниченные апострофами. S: = "Текстовая строка"
Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается. Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены. Выражения типа char можно присваивать любым строковым переменным.
В Паскаль имеется простой доступ к отдельным символам строковой переменной: i-й символ переменной st записывается как st[i]. Например, если st - это "Строка", то st - это "С", st - это "т", st - "р" и так далее.
Над строковыми данными определена операция слияния (конкантенации), обозначаемая знаком +. Например: a:= "Turbo"; b:= "Pascal"; c:= a + b; В этом примере переменная c приобретет значение "TurboPascal".
Процедуры и функции для работы со строками 1)n:= length("Pascal"); {n будет равно 6} 2) s:= "Система Turbo Pascal"; s2:= copy(s, 1, 7); {s2 будет равно "Система"} s3:= copy(s, 9, 5); {s3 будет равно "Turbo"} s4:= copy(s, 15, 6); {s4 будет равно "Pascal"}
Cлайд 1
Cлайд 2
Строка - это массив символов, т.е. элементов типа char. В Паскале строке соответствует тип данных String. var Имя: string [Длина]; Если длина не указана, выделяется память под строку до 255 символов. Теория 1 var s1:string; строка 255 символов var s2:string; строка 20 символовCлайд 3
Правила: строки равны только при одинаковом наборе символов и одинаковой длине; Например: "ABC"="ABC" и "ABC"≠"abc" иначе происходит поэлементное сравнение символов по их кодам: "0"Cлайд 4
Теория 3 Соединение двух строк. s1:="2011" + " год"; Writeln(s1); s1:="10"; s2:="класс"; s3:=s1+" "+s2; Writeln(s3);Cлайд 5
Функция Length Функция Length(S) определяет текущую длину строки S. Результат - значение целого типа. Теория 4 PROGRAM Dlina_1; VAR S: STRING; n:INTEGER; BEGIN Writeln(введите слово ") ; Readln(S); n:= Length (S) ; Writeln(‘введите слово ", n:5 ," букв.."); END. Записываем длину строки в переменную целого типа PROGRAM Dlina_2; VAR S: STRING; BEGIN Writeln(’введите слово’) ; Readln(S); Writeln(’слово состоит из ’, Length (S) ,’букв. ’); END. Выводим на экран длину строки, как результат выполнения функции Задача 1. Составить программу подсчитывающую количество букв в слове.Cлайд 6
Uses crt; var a,b:string; m,n:Integer; Begin Clrscr; Writeln("ВВеди первую строку ");Readln(a); Writeln("ВВеди вторую строку ");Readln(b); m:=Length(a); n:=Length(b); if (m=n) then writeln("Строки равны"); if (m>n) then writeln("Первая больше"); if (mCлайд 7
Функция Сору Функция Сору(S, P, N) выделяет из строки S подстроку длиной N символов, начиная с позиции P. Здесь N и P – целочисленные выражения. Теория 6 В фразе МАМА МЫЛА РАМУ слово РАМУ начинается с 11 буквы и состоит из 4 букв COPY(s1,11,4)Cлайд 8
Задача 3. Составить программу осуществляющую вырезку из слова ИНФОРМАТИКА букв так, что бы из них получилось слово ТОРТ. Program n3_1; Uses crt; var a,b,c,d:string; Begin Clrscr; a:="информатика"; b:=""; c:=copy(a,8,1); d:=copy(a,4,2); b:=c+d+c; writeln(b); End. Задача на составление строк 7 Используем функцию работы с символьными переменными COPY Второй вариант: Program n3_2; Uses crt; var a,b:string; Begin Clrscr; a:=‘информатика"; b:=a+a+a+a; writeln(b); End. Используем определение строки как массива символовCлайд 9
Преобразование типов 8 Функция STR Str(x, S) преобразует число x в строковый формат. Где x – любое числовое выражение, S – строковая переменная. Задача 4 . Составьте программу которая выводит первую и последнюю цифру натурального числа, введенного с клавиатуры. PROGRAM Primer; uses Crt; VAR S: STRING; n:INTEGER; BEGIN Write("Введи число ");readln(n); Str(n,S); Writeln("Первая цифра -",S); Writeln("Последняя цифра - ",S); END. Преобразуем натуральное число в строкуCлайд 10
Процедура val позволяет преобразовать цифровые символы (изображение числа) в число. В общем виде обращение к процедуре выглядит так: VAL (Строка, Число, Код) ; где Строка – строковая константа или переменная, содержащая изображение числа; Число – переменная целого или дробного типа, которой должно быть присвоено значение Код – возвращаемый процедурой код ошибки (целое число) Преобразование типов 9 Процедура VALCлайд 11
Преобразование типов 10 BEGIN s1:="123456789"; val(s1,n,code); Writeln(n); END. BEGIN s1:="123456789ABCDE"; val(s1,n,code); Writeln(n); END.Cлайд 12
s1:="ABCDE123456789"; val(s1,n,code); Writeln(n); В PascalABC есть более развитый арсенал преобразований как в DELPHI: S:=IntToStr(N) - преобразует целое число к строке; n:=StrToInt(S) - преобразует строку в целое число S:=FloatToStr(r) - преобразует вещественное число к строке R:=StrToFloat(s) преобразует строку в вещественное число. Если преобразование невозможно, то возникает ошибка времени выполнения Преобразование типов 11Cлайд 13
Cлайд 14
Символы и их коды 13 Функции ORD и CHR Функция Ord(S) – определяет порядковый номер символа. Функция Chr(i) – определяет символ с порядковым номером i По номеру 255 выводим символ из кодовой таблицы ЯCлайд 15
Символы и их коды 14 Задача 6. Составьте программу, которая по символу введенному с клавиатуры, выводит его номер в кодовой таблице. PROGRAM Primer; uses Crt; VAR S: char; n,code:INTEGER; BEGIN Write("Введи символ ");readln(s); Writeln("Символ ", s ," имеет код -",ord(s)); END. Функция ORD работает только символьным типом данныхCлайд 16
Задача 7. Дана строка символов. Определить сколько раз в ней встречается буква А (русская). Program n5; Uses Crt; Var s:string; i,k:integer; begin ClrScr; Write("ВВеди строку "); readln(s); k:=0; for i:=1 to length(s) do if (s[i]="А") then k:=k+1; writeln("Буква А встречается = ", k:8," раз"); end. Перебираем от 1 до последней буквы Если на i-ом месте стоит А увеличиваем К на 1 Подсчет символов в строке 15Cлайд 17
Замечание 16 for i:=1 to length(s) do begin if (s[i]=…… if (s[i]=…… end; Замечание. Если требуется поиск нескольких символов в строке, то условия заключаем в программные скобки BEGIN … ENDCлайд 18
Подсчет символов в строке 17 Начало Ввод S i,1,length(s) Si ="A" К=К+1 Вывод К Конец Да Нет Блок-схема к задаче подсчета букв А в строке К=0Cлайд 19
Замена символов в строке 18 Задача 8. Дана строка символов. Заменить в ней все буквы А на букву О. Program n6; Uses Crt; Var s:string; i:integer; begin ClrScr; Write("ВВеди строку "); readln(s); for i:=1 to length(s) do if (s[i]="A") then s[i]:="O"; writeln(s); end. Перебираем от 1 до последней буквы Если на i-ом месте стоит А ставим на i-е место О.Cлайд 20
Замена символов в строке 19 Начало Ввод S i,1,length(s) Si ="A" Si ="O" Вывод S Конец Да Нет Блок-схема к задаче замен буквы А на ОCлайд 21
Задача 9 Удалить из строки введенной с клавиатуры все буквы R (латинские, заглавные). Program n7; Uses Crt; var a,b:String; i:integer; begin ClrScr; Write("ВВеди строку = ");readln(a); b:=""; for i:=1 to length(a) do if (a[i]‘R") then b:=b+a[i]; a:=b; writeln(a); end. Перебираем от 1 до последней буквы Подготавливаем дополнительную переменную Если на i-ом месте не стоит R то прибавляем эту букву к тому, что есть в B То, что получилось в В перемещаем обратно в А Удаление символов из строки 20Презентация на тему "Строки в Pascal" по информатике в формате powerpoint. В данной презентации для школьников 10 класса рассмотрен теоретический материал и задачи по теме строковые данные в языке программирования Pascal. Автор презентации: учитель информатики, Юдин А.Б.
Фрагменты из презентации
Теория
- Строка - это массив символов, т.е. элементов типа char. В Паскале строке соответствует тип данных String.
- Если длина не указана, выделяется память под строку до 255 символов.
- Задача 1. Составить программу подсчитывающую количество букв в слове.
- Задача 2. Сравнить длину двух строк введенных с клавиатуры.
Функция Сору
- Функция Сору(S, P, N) выделяет из строки S подстроку длиной N символов, начиная с позиции P. Здесь N и P – целочисленные выражения.
- Задача 3. Составить программу осуществляющую вырезку из слова ИНФОРМАТИКА букв так, что бы из них получилось слово ТОРТ.
- Задача 4 . Составьте программу которая выводит первую и последнюю цифру натурального числа, введенного с клавиатуры.
Процедура VAL
Процедура val позволяет преобразовать цифровые символы (изображение числа) в число. В общем виде обращение к процедуре выглядит так:
- VAL (Строка, Число, Код) ;
- где Строка – строковая константа или переменная, содержащая изображение числа;
- Число – переменная целого или дробного типа, которой должно быть присвоено значение
- Код – возвращаемый процедурой код ошибки (целое число)
Преобразование типов
В PascalABC есть более развитый арсенал преобразований как в DELPHI:
- S:=IntToStr(N) - преобразует целое число к строке;
- n:=StrToInt(S) - преобразует строку в целое число
- S:=FloatToStr(r) - преобразует вещественное число к строке
- R:=StrToFloat(s) преобразует строку в вещественное число.
Если преобразование невозможно, то возникает ошибка времени выполнения
Функции ORD и CHR
- Функция Ord(S) – определяет порядковый номер символа.
- Функция Chr(i) – определяет символ с порядковым номером i
Задача 6. Составьте программу, которая по символу введенному с клавиатуры, выводит его номер в кодовой таблице.
Подсчет символов в строке
Задача 7. Дана строка символов. Определить сколько раз в ней встречается буква А (русская).
Замена символов в строке
Задача 8. Дана строка символов. Заменить в ней все буквы А на букву О.
Удаление символов из строки
Задача 9 Удалить из строки введенной с клавиатуры все буквы R (латинские, заглавные).
Вложенные условия
Задача 10. В заданном тексте везде букву "а" заменить на букву "б", а букву "б" на букву "а".
Вложенные циклы
Задача 11. Дана строка символов, содержащая знаки препинания. Подсчитать какие и сколько знаков препинания содержит строка.