Вконтакте Facebook Twitter Лента RSS

Презентация на тему Строки в Pascal. Строки в паскале

Слайд 1

2012 год Строки в Pascal

Слайд 2

Строка - это массив символов, т.е. элементов типа char. В Паскале строке соответствует тип данных String.

var Имя: string [Длина];

Если длина не указана, выделяется память под строку до 255 символов.

Теория 1 var s1:string;

строка 255 символов

var s2:string; строка 20 символов

Слайд 3

Правила: строки равны только при одинаковом наборе символов и одинаковой длине; Например: "ABC"="ABC" и "ABC"≠"abc" иначе происходит поэлементное сравнение символов по их кодам: "0"

Сравнение двух строк

Сумма кодов строки S1

Сумма кодов строки S1>S2,

Слайд 4

Соединение двух строк.

s1:="2011" + " год"; Writeln(s1);

s1:="10"; s2:="класс"; s3:=s1+" "+s2; Writeln(s3);

Слайд 5

Функция Length

Функция Length(S) определяет текущую длину строки S. Результат - значение целого типа.

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. Составить программу подсчитывающую количество букв в слове.

Слайд 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 (m

Задача 2. Сравнить длину двух строк введенных с клавиатуры.

Вычисляем длину строк

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

Задача на сравнение строк 5

Слайд 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.

Используем определение строки как массива символов

Слайд 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.

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

Слайд 10

Процедура val позволяет преобразовать цифровые символы (изображение числа) в число. В общем виде обращение к процедуре выглядит так: VAL (Строка, Число, Код) ; где Строка – строковая константа или переменная, содержащая изображение числа; Число – переменная целого или дробного типа, которой должно быть присвоено значение Код – возвращаемый процедурой код ошибки (целое число)

Преобразование типов 9

Процедура VAL

Слайд 11

Преобразование типов 10

BEGIN s1:="123456789"; val(s1,n,code); Writeln(n); END.

BEGIN s1:="123456789ABCDE"; val(s1,n,code); Writeln(n); END.

Слайд 12

s1:="ABCDE123456789"; val(s1,n,code); Writeln(n);

В PascalABC есть более развитый арсенал преобразований как в DELPHI: S:=IntToStr(N) - преобразует целое число к строке; n:=StrToInt(S) - преобразует строку в целое число S:=FloatToStr(r) - преобразует вещественное число к строке R:=StrToFloat(s) преобразует строку в вещественное число. Если преобразование невозможно, то возникает ошибка времени выполнения

Преобразование типов 11

Слайд 13

Преобразование типов 12

Задача 5. Дано строка символов а1+а2=. Где 1

VAR S: STRING; a,b,c:real; code:INTEGER; BEGIN Write(‘Введи выражение = ");read(s); val(s,a,code); val(s,b,code); if (s="+") then c:=a+b; if (s="-") then c:=a-b; if (s="*") then c:=a*b; if (s="/") then c:=a/b; clrscr; Writeln(s,c); END.

Из строки берем первый и третий символ и преобразуем в число

Слайд 14

Символы и их коды 13

Функции ORD и CHR

Функция Ord(S) – определяет порядковый номер символа.

Функция Chr(i) – определяет символ с порядковым номером i

По номеру 255 выводим символ из кодовой таблицы Я

Слайд 15

Символы и их коды 14

Задача 6. Составьте программу, которая по символу введенному с клавиатуры, выводит его номер в кодовой таблице.

PROGRAM Primer; uses Crt; VAR S: char; n,code:INTEGER; BEGIN Write("Введи символ ");readln(s); Writeln("Символ ", s ," имеет код -",ord(s)); END.

Функция ORD работает только символьным типом данных

Слайд 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

Подсчет символов в строке 15

Слайд 17

Замечание 16

for i:=1 to length(s) do begin if (s[i]=…… if (s[i]=…… end;

Замечание. Если требуется поиск нескольких символов в строке, то условия заключаем в программные скобки BEGIN … END

Слайд 18

Подсчет символов в строке 17

Начало Ввод S i,1,length(s) Si ="A" К=К+1 Вывод К Конец Да Нет

Блок-схема к задаче подсчета букв А в строке

Слайд 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.

Если на i-ом месте стоит А ставим на i-е место О.

Слайд 20

Замена символов в строке 19

Si ="O" Вывод S

Блок-схема к задаче замен буквы А на О

Презентация на тему "Строки в 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. Дана строка символов, содержащая знаки препинания. Подсчитать какие и сколько знаков препинания содержит строка.




Синтаксис: 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 (m

Cлайд 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 Процедура VAL

Cлайд 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) преобразует строку в вещественное число. Если преобразование невозможно, то возникает ошибка времени выполнения Преобразование типов 11

Cлайд 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 Подсчет символов в строке 15

Cлайд 17

Замечание 16 for i:=1 to length(s) do begin if (s[i]=…… if (s[i]=…… end; Замечание. Если требуется поиск нескольких символов в строке, то условия заключаем в программные скобки BEGIN … END

Cлайд 18

Подсчет символов в строке 17 Начало Ввод S i,1,length(s) Si ="A" К=К+1 Вывод К Конец Да Нет Блок-схема к задаче подсчета букв А в строке К=0

Cлайд 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
© 2024 Windows. Инструкции. Программы. Железо. Ошибки