Строки в Pascal

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



Advertisements
Похожие презентации
2012 год Строка - это массив символов, т.е. элементов типа char. В Паскале строке соответствует тип данных String. var Имя : string [Длина]; Если длина.
Advertisements

Символьный и строковый тип данных. ТИП ДАННЫХ Целый: 1. Целый: Integer ( …32 768), LongInt ( … ), Word (0…65535) Логический:
Символьные и строковые переменные. Общие понятия Для того чтобы ЭВМ могла обрабатывать тексты, она должна уметь оперировать не только с числами, но и.
Строковый тип в Паскаль. Составление программ.. Какой тип данных в Паскале описывает текстовые данные? Какой тип данных описывает один символ? Как можно.
Символы и строки. Процедуры и функции работы со строками.
СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];
Понятие строки. Операции со строковыми величинами. Стандартные процедуры и функции обработки строковых величин. Простые алгоритмы работы со строками на.
Шешель Анжелика. Значения: Символьная величина – 1 символ (буква, цифра, знак) Строковая величина – строка символов.
СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];
1 Программирование на языке Паскаль Часть II Символьные строки.
Ваш логотип. В баскетбольную команду могут быть приняты ученики, рост которых превышает 170 см. Составьте список кандидатов в команду из учеников класса.
Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.
1 Строковый тип данных Строка – это последовательность символов определенной длины (от 0 до 255).
Материалы к урокам по программированию Автор: Судакова Лариса Владимировна, учитель биологии и информатики МОУ СОШ 37 г. Буя Костромской области.
Работа со строковыми типами данных. Строка – упорядоченная последовательность символов. Строковая константа – последовательность символов, заключенных.
Строка в Turbo Pascal - упорядоченная последовательность символов.
Компьютеры могут обрабатывать данные различных типов. Вам уже приходилось иметь дело с числовыми типами данных: целым и вещественным. Не менее широко.
Основы алгоритмизации и программирования Чабанюк Виктория 10 класс.
Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юдин Андрей Борисович Часть 1.
«Обработка строковых данных» Delphi. Тема 7:7: «Обработка строковых данных» План темы: 1. Понятие символа и строки. 2. Описание символов и строк в программе.
Транксрипт:

Автор: учитель информатики МКОУ Плесской СОШ Юдин А.Б год

Строка - это массив символов, т.е. элементов типа char. В Паскале строке соответствует тип данных String. var Имя : string [Длина]; Если длина не указана, выделяется память под строку до 255 символов. Теория 1 var s1:string; строка 255 символов var s2:string[20]; строка 20 символов

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

Теория 3 Соединение двух строк. s1:='2011' + ' год'; Writeln(s1); s1:='10'; s2:='класс'; s3:=s1+' '+s2; Writeln(s3);

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

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

Функция Сору Функция Сору(S, P, N) выделяет из строки S подстроку длиной N символов, начиная с позиции P. Здесь N и P – целочисленные выражения. Теория 6 В фразе МАМА МЫЛА РАМУ слово РАМУ начинается с 11 буквы и состоит из 4 букв COPY(s1,11,4)

Задача 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[8]+a[4]+a[5]+a[8]; writeln(b); End. Используем определение строки как массива символов

Преобразование типов 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[1]); Writeln('Последняя цифра - ',S[length(S)]); END. Преобразуем натуральное число в строку

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

Преобразование типов 10 BEGIN s1:=' '; val(s1,n,code); Writeln(n); END. BEGIN s1:=' ABCDE'; val(s1,n,code); Writeln(n); END.

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

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

Символы и их коды 13 Функции ORD и CHR Функция Ord(S) – определяет порядковый номер символа. Функция Chr(i) – определяет символ с порядковым номером i По номеру 255 выводим символ из кодовой таблицы Я

Символы и их коды 14 Задача 6. Составьте программу, которая по символу введенному с клавиатуры, выводит его номер в кодовой таблице. PROGRAM Primer; uses Crt; VAR S: char; n,code:INTEGER; BEGIN Write('Введи символ ');readln(s); Writeln('Символ ', s,' имеет код -',ord(s)); END. Функция ORD работает только символьным типом данных

Задача 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

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

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

Замена символов в строке 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-е место О.

Замена символов в строке 19 Начало Ввод S i,1,length(s) S i ='A' S i ='O' Вывод S Конец Да Нет Блок-схема к задаче замен буквы А на О

Задача 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

Удаление символов из строки 21 Начало Ввод A i,1,length(A) A i 'R' B=B+ A i Вывод А Конец Да Нет Блок-схема к задаче удаления букв R из строки B='' A=BA=B

Вложенные условия. 22 begin clRscr; Readln(s); for i:=1 to length(s) do if (s[i]='а') or (s[i]='б') then if (s[i]='а') then s[i]:='б' else s[i]:='а'; writeln(s); end. Задача 10. В заданном тексте везде букву "а" заменить на букву "б", а букву "б" - на букву "а". Из всей строки нам нужно выбрать только А и Б И только после осуществлять замену

Вложенные условия 23 Начало Ввод S i, 1, length(S) S i ='а' S i ='б'S i ='а' Вывод S Конец S i ='а' или S i ='б' Да Нет ДаНет Блок-схема к задаче замены А на Б и наоборот

Вложенные циклы 24 begin ClrScr; Write('ВВеди строку '); readln(s); s1:=',.;:"!?-'; for i:=1 to length(s1) do begin k:=0; for j:=1 to length(s) do if (s[j]=s1[i]) then k:=k+1; if (k0) then writeln(s1[i],' - ',k:5,' раз'); end; end. Задача 11. Дана строка символов, содержащая знаки препинания. Подсчитать какие и сколько знаков препинания содержит строка. Внешний цикл, осуществляющий перебор знаков записанных в S1 Тело внешнего цикла содержит цикл, отвечающий за перебор символов введенной строки

Вложенные циклы 25 Начало Ввод S i, 1, length(S1) s1=',.;:"!?-' K=0 j, 1, length(S) S j = S1 i Да Нет K=K+1 K0 Вывод S1 i,K НетДа Конец Блок-схема к задаче подсчета знаков препинания