1 / 9

Строковые константы записываются как последовательности символов, ограниченные апострофами. Пример:

Строковый тип данных. Для обработки строковой информации в Турбо Паскаль введен строковый тип данных . Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки . Синтаксис:

etienne
Download Presentation

Строковые константы записываются как последовательности символов, ограниченные апострофами. Пример:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Строковыйтипданных Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис: var s: string[n]; var s: string; n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255 Строковые константы записываются как последовательности символов, ограниченные апострофами. Пример: 'Текстовая строка'Пустой символ обозначается двумя подряд стоящими апострофами. Выражения типа char можно присваивать любым строковым переменным. В Турбо Паскаль имеется простой доступ к отдельным символам строковой переменной: i-й символ переменной st записывается как st[i]. Например, если st - это 'Строка', то st[1] - это 'С', st[2] - это 'т', st[3] - 'р' и так далее.

  2. Над строковыми данными определена операция слияния (конкантенации), обозначаемая знаком +. Например: a := 'Turbo'; b := 'Pascal'; c := a + b; В этом примере переменная c приобретет значение 'TurboPascal'. Операции отношения =, < >, <=, >=, <> производят сравнение двух строк, в результате чего получается логическая величина (true или false). Две строки сравниваются посимвольно, слева направо, по кодам символов. Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются символом с кодом/ Пример: ВыражениеРезультат 'cosmi'<'cosm2‘True 'pascal'>'PASCAL‘True 'Ключ_'<>'Ключ‘True 'MS DOS'='MS DOS‘True

  3. Процедуры и функции для работы со строками В системе Turbo Pascal имеется несколько полезных стандартных процедур и функций, ориентированных на работу со строками. 1. Length(s:string):integer Функция возвращает в качестве результата значение текущей длиныстроки-параметра Пример. n := length('Pascal'); {n будет равно 6} 2. Copy(s:string; index:integer; count:integer):string Функция возвращает подстроку, выделенную из исходной строки s,длиной count символов, начиная с символа под номером index. Пример.s := 'Система Turbo Pascal'; s2 := copy(s, 1, 7);{s2 будет равно 'Система'} s3 := copy(s, 9, 5);{s3 будет равно 'Turbo'} s4 := copy(s, 15, 6);{s4 будет равно 'Pascal'}

  4. 3. Delete(var s:string; index,count:integer) Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index. Пример. s := 'Система Turbo Pascal'; delete(s,8,6);{s будет равно 'Система Pascal'} 4. Insert(source:string; var s:string;index:integer) Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки. Пример. s := 'Система Pascal'; insert('Turbo ',s,9);{s будет равно 'Система Turbo Pascal'} 5. Pos(substr,s:string):byte Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0. Пример. s := 'Система Turbo Pascal'; x1 := pos('Pascal', s);{x1 будет равно 15} x2 := pos('Basic', s);{x2 будет равно 0}

  5. 6. Str(X: арифметическое выражение; var st: string) Процедура преобразует численное выражение X в его строковое представление и помещает результат в st. 7. Val(st: string; x: числовая переменная; var code: integer) Процедура преобразует строковую запись числа, содержащуюся в st, в числовое представление, помещая результат в x. x - может быть как целой, так и действительной переменной. 8. Chr(n: byte): char Функция возвращает символ по коду, равному значению выражения n. Если n можно представить как числовую константу, то можно также пользоваться записью #n. 9. Ord(ch: char): byte; В данном случае функция возвращает код символа ch. 10. UpCase(c: char): char; Если c - строчная латинская буква, то функция возвращает соответствующую прописную латинскую букву, в противном случае символ c возвращается без изменения.

  6. Задача. 1 С клавиатуры вводится произвольное слово. Записать его в обратом порядке. Program Task; Uses Crt; Var n,i : integer; s, x:string; Begin ClrScr; Write (‘vvedite slovo '); Readln (x); s:=''; n:=Length(x); For i:=1 to n do s:=Copy(x,i,1) + s; Writeln(S); Readln; End.

  7. Задача. 2 С клавиатуры вводится произвольная строка. Определить количество слов в строке. program turbo; var s: string; k,i:integer; begin write('vvedite stroky :'); readln(s); for i:=1 to length(s) do if (s[i]=' ') or (s[i]='.') then k:=k+1; writeln('kol-vo slov v stroke= ',k) end.

  8. Задания • Составить программу получения из слова «дисковод» слова «воск», используя операцию сцепления и функцию Copy. • Составить программу получения слова «правило» из слова «операция», используя процедуры Delete, Insert. • В данном слове заменить первый и последний символы на *. • В данном слове произвести обмен первого и последнего символов. • К данному слову присоединить столько !, сколько в нем имеется букв (например, из строки «УРА» получить «УРА!!!»). • В данной строке вставить пробел после каждого символа. • Удвоить все буквы во введенном слове. • Перевернуть введенную строку (например, из «ДИСК» получится «КСИД»). • В данной строке удалить все пробелы. • Строка представляет собой запись целого числа. Составить программу перевода ее в соответствующую величину целого типа.

  9. Работа со звуком Delay (time) – задержка при выполнении программы, где time – время задержки в миллисекундах Процедуры управления звуком Sound (Hz) – включает внутренний динамик. Hzзадает частоту генерируемого динамиком сигнала в герцах. Звуковой сигнал звучит до тех пор, пока не будет выключен с помощью процедуры Nosound. Nosound– процедура, которая отключает внутренний динамик. Задание. Рассмотрите программу, которая выводит гамму в первой, второй и третьей октаве: uses crt; {частоты соответствуют нотам первой октавы, для каждой следующей октавы частоты удваиваются} const octava_1:array [1..7] of integer=(262,294,330,349,392,440,493); var n,octava,koef:integer; begin koef:=1; for octava:=1 to 3 do {триоктавы} begin for n:=1 to 7 do {по 7 нот в каждой октаве} begin sound(octava_1[n]*koef); delay(50000);nosound; end; koef:=koef*2; {переходим на октаву выше} end; end.

More Related