Скачать презентацию Строка это последовательность символов Каждый символ занимает Скачать презентацию Строка это последовательность символов Каждый символ занимает

Строки.ppt

  • Количество слайдов: 15

Строка — это последовательность символов. Каждый символ занимает 1 байт памяти (код ASCII). Количество Строка — это последовательность символов. Каждый символ занимает 1 байт памяти (код ASCII). Количество символов в строке называется ее длиной. Длина строки может находиться в диапазоне от 0 до 255. Строковые величины могут быть константами и переменными. Строковая константа есть последовательность символов, заключенная в апострофы. Например: 'IBM PC — computer'

Строковая переменная описывается в разделе описания переменных следующим образом: Var <идентификатор>: String[<максимальная длина строки>] Строковая переменная описывается в разделе описания переменных следующим образом: Var <идентификатор>: String[<максимальная длина строки>] Var Name: String[20] Параметр длины может и не указываться в описании. В таком случае подразумевается, что он равен максимальной величине — 255. Var slovo: String Символы внутри строки индексируются (нумеруются) от единицы. Каждый отдельный символ идентифицируется именем строки с индексом, заключенным в квадратные скобки. Например: Name[5], Name[i], slovo[k+1].

Операция сцепления (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно Операция сцепления (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные. Например: 'ЭВМ'+'IВМ'+'РС'. В результате получится строка: 'ЭВМ IBM PC'. Длина результирующей строки не должна превышать 255.

Операции отношения =, < >, <=, >=, <> производят сравнение двух строк, в результате Операции отношения =, < >, <=, >=, <> производят сравнение двух строк, в результате чего получается логическая величина (true или false). Сравнение строк производится слева направо до первого несовпадающего символа, и больше считается та строка, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Выражение Результат 'cosmi'<'cosm 2' True 'pascal'>'PASCAL' True 'Ключ_'<>'Ключ' True 'MS DOS'='MS DOS' True

Функция Copy (S, Poz, N) : string - выделяет из строки s подстроку длиной Функция Copy (S, Poz, N) : string - выделяет из строки s подстроку длиной в N символов, начиная с позиции Poz. N и Poz — целочисленные выражения. Пример: Значение Выражение Результат 'ABCDEFG' Copy(S, 2, 3) 'BCD' 'ABCDEFG' Copy(S, 4, 4) 'DEFG'

Функция Concat (Sl, S 2, . . . , SN): string - выполняет сцепление Функция Concat (Sl, S 2, . . . , SN): string - выполняет сцепление (конкатенацию) строк S 1, . . . , SN в одну строку. По своей работе функция Concat аналогична операции сцепления (+). Пример: Выражение Результат Concat('АА', 'XX', 'Y') 'AAXXY' Функция Length (S) : Integer - определяет текущую длину строки S. Пример: Значение S Выражение Результат 'test-5' Length(S) 6 '(А+В)*С' Length(S) 7

Функция Pos (Sl, S 2) : Byte - обнаруживает первое появление в строке S Функция Pos (Sl, S 2) : Byte - обнаруживает первое появление в строке S 2 подстроки Sl. Результат — номер позиции, где находится первый символ подстроки S 1. Если в строке S 2 подстроки Sl не обнаружено, то результат равен 0. Пример: Значение S 2 Выражение Результат 'abcdef Pos('cd', S 2) 3 'abcdef Pos('k', S 2) 0 Процедура Delete (S, Poz, N) выполняет удаление N символов из строки S, начиная с позиции Poz. Пример: Исходное значение S Оператор Конечное значение S 'abcdefg' Delete(S, 3, 2) 'abefg' 'abcdefg' Delete (S, 2, 6) 'a' В результате выполнения процедуры уменьшается текущая длина строки в переменной S.

Процедура Insert(Sl, S 2, Poz) выполняет вставку строки S 1 в строку S 2, Процедура Insert(Sl, S 2, Poz) выполняет вставку строки S 1 в строку S 2, начиная с позиции Poz. Пример: Начальное S 2 Оператор Конечное S 2 'Рис. 2' Insert('N', S 2, 6) 'Рис. N 2' Функция Int. To. Str(Value: Integer): string - преобразует целое число Value в строку. Функция Str. To. Int(const S: string): Integer - преобразует строку в целое число. Функция Chr(n: byte): char - Функция возвращает символ по коду, равному значению выражения n.

Процедура Str(X [: Width [: Decimals] ], var S: string) преобразует числовое значение величины Процедура Str(X [: Width [: Decimals] ], var S: string) преобразует числовое значение величины X в строку S. Необязательные параметры Width и Decimals являются целочисленными выражениями. Значение Width задает ширину поля результирующей строки. Значение Decimals используется с вещественными числами и задает количество символов в дробной части.

Процедура Val(S: string, var V; var Code: Integer) преобразует строку S в величину целого Процедура Val(S: string, var V; var Code: Integer) преобразует строку S в величину целого или вещественного типа и помещает результат в переменную V. Если во время операции преобразования ошибки не обнаружено, значение переменной Code равно нулю; если ошибка обнаружена (строка содержит недопустимые символы), Code содержит номер позиции первого ошибочного символа, а значение V не определено.

Пример 1. Следующая программа получает из слова «ВЕЛИЧИНА» слово «НАЛИЧИЕ» : Program Slovo_1; Var Пример 1. Следующая программа получает из слова «ВЕЛИЧИНА» слово «НАЛИЧИЕ» : Program Slovo_1; Var S 11, S 12: String[10]; Begin S 11: ='ВЕЛИЧИНА'; S 12: =Copy(S 11, 7, 2)+Copy(S 11, 3, 4)+S 11[2]; Write. Ln(S 12) End.

var s, h: string; function nstr (h, s: string): byte; var i: byte; cn, var s, h: string; function nstr (h, s: string): byte; var i: byte; cn, hn, sn: string; m: byte; k: byte; begin k: = 0; hn : = ' '+h+' '; sn : = ' '+s+' '; m : = length (hn); i: =1; while i <= length(sn)-1 do begin cn : = copy (sn, i, m); if cn = hn then begin k : = k+1; i : = i+m-1 end else i : = i+1 end; nstr : =k end; begin writeln ('Введите текст: '); readln (s); writeln ('Введите слово: '); readln(h); writeln ('Количество слов в тексте: ', nstr (h, s)) end.

На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <номер школы> где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> – строка, состоящая из 4 -х символов (буква, точка, буква, точка), <номер школы> – не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки: Иванов П. С. 57 Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7. 0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N>=1000

const LIM = 99; var C: array[1. . LIM] of integer; i, p, N, const LIM = 99; var C: array[1. . LIM] of integer; i, p, N, k, r, Min: integer; s: string; begin readln(N); for i: =1 to N do begin readln(s); { читаем очередную строку } { выделяем часть после второго пробела } p : = Pos(' ', s); Delete(s, 1, p+5); { определяем номер школы k } Val(s, k, r); C[k] : = C[k] + 1; { увеличиваем счетчик k-ой школы } end; Min : = N; for k: =1 to LIM do if (C[k] <> 0) and (C[k]