Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна,16.01.2012г. Тема: Паскаль «строковые переменные». Обработка строк текста МБОУ.

Презентация:



Advertisements
Похожие презентации
Символы и строки. Процедуры и функции работы со строками.
Advertisements

Строки – последовательность символов, к которой можно обращаться как к единому целому и к каждому элементу по отдельности. Строка.
О СНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ. П ЛАН 1. Символьные и строковые величины. Операции над символьными и строковыми величинами. 2. Символьный тип.
ТИПЫ ДАННЫХ: СИМВОЛЫ И СТРОКИ СИМВОЛЬНЫЙ ТИП ДАННЫХ CHAR Строка типа String – это цепочка символов типа Char. String используется для хранения текстовых.
Понятие строки. Операции со строковыми величинами. Стандартные процедуры и функции обработки строковых величин. Простые алгоритмы работы со строками на.
СТРОКОВЫЙ ТИП ДАННЫХ Строка это последовательность символов. Каждый символ занимает 1 байт памяти ( код ASCII). Количество символов в строке называется.
Компьютеры могут обрабатывать данные различных типов. Вам уже приходилось иметь дело с числовыми типами данных: целым и вещественным. Не менее широко.
P ASCAL ABC. О БЩЕЕ : С ЕМАНТИКА : ИМПЕРАТИВНАЯ К ЛАСС ЯЗЫКА : МУЛЬТИПАРАДИГМЕННЫЙ : СТРУКТУРНОЕ, ОБЪЕКТНО - ОРИЕНТИРОВАННОЕ, ОБОБЩЁННОЕ, ПРОЦЕДУРНОЕ.
Шешель Анжелика. Значения: Символьная величина – 1 символ (буква, цифра, знак) Строковая величина – строка символов.
СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];
Строки в Pascal
Строки Строка - это последовательность символов, заключенная в апострофы. Пример: Адрес: пр-т Ленина 46 Количество символов в строке называется ее длиной.
Символьные и строковые переменные. Общие понятия Для того чтобы ЭВМ могла обрабатывать тексты, она должна уметь оперировать не только с числами, но и.
Символьные переменные, операции с символьными переменными.
(Выполнила Войтюлевич Ольга Гимназия 1). Символьный тип данных Для работы с символами в языке Pascal предусмотрен специальный тип данных, который называется.
Познакомиться с основными принципами работы с символьными величинами Научиться применять процедуры и функции для их обработки.
Обработка символьных величин. Цели урока Познакомиться с основными принципами работы с символьными величинами Познакомиться с основными принципами работы.
1 Строковый тип данных Строка – это последовательность символов определенной длины (от 0 до 255).
Строки символов Строка в Паскале – упорядоченная последовательность символов. Количество символов в строке называется ее длиной. Длина строки в Паскале.
Ваш логотип. В баскетбольную команду могут быть приняты ученики, рост которых превышает 170 см. Составьте список кандидатов в команду из учеников класса.
Транксрипт:

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Тема: Паскаль «строковые переменные». Обработка строк текста МБОУ «Моргаушская СОШ» Учитель информатики I категории Павлинова Р.М.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Типы данных: char – литерный или символьный тип; string – строковый тип или просто строка. Символьный тип Значением переменных символьного типа char является один символ. Каждому символу соответствует код символа – целое число в диапазоне от 0 до 255. chr(x) – возвращает значение символа по его коду; ord(cimvol) – возвращает код заданного символа cimvol. pred(cimvol) – возвращает предыдущий символ. succ(cimvol) – возвращает следующий символ. upcase(cimvol) – преобразует строчную букву в заглавную. Обрабатывает буквы только латинского алфавита. ord(A)=65 chr(128)=Б pred(Б)=A succ(Г)=Д upcase(n)=N Дан символ, вывести его код. var i, j, k, y, x: integer; i, j, k, y, x: integer; s, str1, a: string; s, str1, a: string; b: char; b: char;begin readln (b); { b:=A} y:=ord (b); {y:= ord (A)=65} writeln(y); { y:=65} end. end. По данному коду вывести его символ. var i, j, k, y, x: integer; i, j, k, y, x: integer; s, str1, a: string; s, str1, a: string; b: char; b: char;begin readln (y); { y:=65} b:=chr (y); {b:= chr(65)=A} Writeln (b); { b:=A} end. end.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Строковый тип Строковый тип – это данные типа string. Они используются для хранения последовательностей символов. В Паскале длина стандартной строки ограничена 255 символами. Под каждый символ отводится по одному байту, в котором хранится код символа. Кроме того, каждая строка содержит еще дополнительный байт, в котором хранится длина строки. Если заранее известно, что длина строки будет меньше 255 символов, то программист может сам задать максимальную длину строки. Примеры описания строк: type str_type = string[12]; const n = 50; var s1: string; s2, s3: str_type; s4: string[n]; s5, s6, s7: string[7]; Длина строки хранится в первом ее байте, индекс которого равен 0. Объявление типизированной константы для типа string осуществляется так: const s: string = 'FreePascal' Существует понятие пустой строки, т.е. строки, которая не имеет элементов. Пустая строка обозначается двумя рядом стоящими апострофами (например, st := ' ').

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Операции над строками Строки можно присваивать друг другу. Если максимальная длина переменной слева меньше длины присваиваемой строки, то лишние символы справа отбрасываются. s1 := 'this is text'; s2 := s1; Строки можно объединять с помощью операции конкатенации, которая обозначается знаком +. s1 := 'John'; s2 := 'Black'; s1 := s1 + ' ' + s2; Строки можно сравнивать друг с другом с помощью операций отношения. При сравнении строки рассматриваются посимвольно слева направо, при этом сравниваются коды соответствующих пар символов. Строки равны, если они имеют одинаковую длину и посимвольно эквивалентны. В строках разной длины существующий символ всегда больше соответствующего ему отсутствующего символа. Меньшей будет та строка, у которой меньше код первого несовпадающего символа (вне зависимости от максимальных и текущих длин сравниваемых строк). 'abc' > 'ab' (true) 'abc' = 'abc' (true) 'abc' < 'abc ' (false) Имя строки может использоваться в процедурах ввода-вывода. При вводе в строку считывается из входного потока количество символов, равное длине строки или меньшее, если символ перевода строки (который вводится нажатием клавиши Enter) встретится раньше. При выводе под строку отводится количество позиций, равное ее фактической длине. readln (s1); write (s1);

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Операции над строками К отдельному символу строки можно обращаться как к элементу массива символов, например s1[3]. Символ строки совместим с типом char, их можно использовать в выражениях одновременно, например: s1[3] := 'h'; writeln (s2[3] + 'r'); Можно осуществлять коррекцию любого символа строковой переменной, для чего в соответствующем операторе достаточно указать имя переменной типа string, вслед за которым в квадратных скобках задается номер ее элемента (например, str[3]:='j'). Элементы строки нумеруются с единицы, т.к. в каждой строковой переменной имеется элемент с номером 0, в котором в виде символа хранится длина текущей строки. Чтобы узнать текущую длину, достаточно применить функцию ord к нулевому элементу строки. Например: writeln (ord (st[0])) Нулевой элемент строковой переменной можно корректировать. При этом будет изменяться текущая длина строки. Например, выражение str[0]:=#50 устанавливает текущую длину равной 50.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Строки и массивы символов s: array[1..5] of string; В языке программирования Паскаль переменная типа array of char может рассматриваться как строка постоянной длины. Переменные такого типа могут свободно использоваться в любых строковых выражениях. При этом компилятор автоматически преобразует такой массив в строку, длина которой равна количеству элементов массива. Массивы типа char можно сравнивать друг с другом и обращаться с ними почти так же, как с переменными типа string. Можно в операторе присваивания в левой части указывать имя такого массива, а в правой – строковую константу с длиной, равной количеству элементов в массиве. Кроме того, в Pascal массивам типа array of char разрешено присваивать строковые константы, длина которых меньше количества элементов массива; в оставшиеся при этом незаполненные элементы заносится символ #0. Однако нельзя переменной типа array of char присвоить значение строковой переменной или строкового выражения (кроме выражений над строковыми константами с результирующей длиной, равной размерности массива). Массивы типа array of char могут использоваться в процедуре val и функциях concat, copy и length.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Процедуры и функции для работы со строками Процедуры и функции для работы со строками

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Пример: вывести на экран строку s:=информатика, и найти пятый символ в данной строке и вывести его на экран. var s, str1: string; s, str1: string;begin Readln (s); { s:=informatika} str1:= s[5]; { str1:=s[5]=r;} Writeln (s,,str1); { str1:=r;} end. end.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Стандартные функции для работы со строками

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Для строковых величин определены четыре стандартные функции: 1. Функция соединения Concat (s1, s2,..., sn). Значение функции – результат соединения строк s1, s2,..., sn, не превышающая 255 символов. s:=s1+s2+…+sn; Var s, s1, s2, s3: string; s, s1, s2, s3: string;begin Readln (s1, s2, s3); { s1:=in; s2:=forma; s3:=tika;} s:=s1+s2+s3; Writeln (s); { s:=informatika} end.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. 2. Функция определения длины строки Length (s), вычисляется количество символов, составляющее значение строки s: 2. Функция определения длины строки Length (s), вычисляется количество символов, составляющее значение строки s: var s, s1: string; s, s1: string; k: integer; k: integer;begin Readln (s); { s:=informatika} k:= Length (s); { k:= Length (informatika);} Writeln (k); {k:=11;} end.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. 3. Функция выделения copy (s, i, k). Из строки s выделяются k символов, начиная с i-го символа: 3. Функция выделения copy (s, i, k). Из строки s выделяются k символов, начиная с i-го символа: Var s, s1: string; I, k: integer; I, k: integer;begin Readln (s); { s:=крокодил;} s1:=copy (s, 4, 3); Writeln (s1); { s:=код;} end.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. 4. Функция определения позиции - pos (s, t). - вычисляется номер позиции, начиная с которого строка s первый раз входит в строку t; - результат «0», если строка s не обнаруживается в строке t: var s, t: string; s, t: string; k: integer; k: integer;begin Readln (t, s); {t:= informatika; s:= forma; } k:= pos (s, t); { k:= pos ( forma, informatika}; Writeln (k); {k:=3;} end.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Стандартные процедуры для обработки строковых величин в Паскале.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. В Паскале определены также четыре стандартные процедуры для обработки строковых величин: 1. Процедура удаления delete(s,i,k). Из строки s удаляются k символов, начиная с i-го символа: var s, t: string; s, t: string; k: integer; k: integer;begin readln(s); {s:= информатика; } delete (s,4,3); { delete (информатика,4,3}; writeln(s); {s:=инфатика ;} end.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. 2. Процедура вставки – insert(s,t,i). Строка s вставляется в строку t, начиная с позиции i: var s, t, m: string; s, t, m: string; k: integer; k: integer;begin readln (s, t); {s:= информа; t:= тика; } insert (t, s, 8); { insert(тика, информа,8); }; writeln (s); {s:=информатика ;} end.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. 3. Процедура преобразования числа в строку символов – str(k,s): var s, t, m: string; s, t, m: string; k: integer; k: integer;begin readln (k); {k:=123; (число)} str (k, s); {str(123, s); }; writeln (s); {s:=123; (строка)} end.

Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. 4. Процедура преобразования строки из цифр в число - val(s,k,i). Значение i=0, если в строке s нет символов, отличных от цифр, в противном случае i= номер позиции первого символа, отличного от цифры: var s, t, m: string; s, t, m: string; k, i: integer; k, i: integer;begin readln (s); {s:= 564a32; } val (s, k, i); { val ( 564a32, k, i); }; writeln (s, k:=, k, i:=, i ); {s:=564a32, k:=564, i:=4 ;} {s:=564a32, k:=564, i:=4 ;} {s:=564, k:=564, i:=0 ;} {s:=564, k:=564, i:=0 ;} end.