Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВсеволод Ярмолинцев
2 Понятие строки. Операции со строковыми величинами. Стандартные процедуры и функции обработки строковых величин. Простые алгоритмы работы со строками на языке программирования. Знание обработки строковых величин расширяют знания учащихся о законах и способах сбора информации, ее обработки, передачи и предоставления с помощью ПК. Мы знакомы с законами и способами сбора, сохранения, обработки и предоставления числовой информации. Так, для сбора числовой информации в программе вводились величины, которые являются частью памяти ПК. Свои значения величины получали благодаря использованию в программе команд присваивания и ввода их с клавиатуры. Например, чтобы на хранение в величину А положить число –13.7, в программе писалась команда А: = -13.7;
3 или команда считывания информации с клавиатуры Readln(A); Эти же команды можно использовать и для накопления в памяти ПК информации в виде строк символов. Строка символов – это последовательность символов машинного алфавита, количество которых не более 255. Строку символов в отличие от числового значения в программе заключают в апострофы. Например, луч света, мы идем в школу, – мой почтовый индекс. Для сохранения строк символов в памяти ПК используются тоже величины, типы их указываются в программе одним из возможных служебных слов: string, char. Например: Var A:string; B:string[5];
4 C:char; Величины, описанные словом string, могут содержать строку символов, количество которых меняется от 0 до 255. Величины, описанные словом string[5], могут содержать строку символов, количество которых меняется от 0 до 5 включительно. Величины типа char могут содержать не более 1 символа. С учетом указанного будет верным такой фрагмент программы: Var A:string; B:string; C:Char;
5 Begin; A:= светлый класс; B:=Лето; C:=!; Следующий же фрагмент программы: Var A:string; B:string[5]; C:char; Begin A:=светлый класс;
6 В:=зимний вечер; С:=Какой прекрасный день! Содержит ошибки, так как строка величины В не может содержать более 5 символов, а строка величины С не может содержать более 1 символа. Пробел считается символом!!! Т.е. Можно записать С:= ; Значения величинам можно задавать и операторами: Readln(A); Readln(B); Readln(C) ; Но в отличие от работы с числовой информацией оператор readln при работе со строками не может иметь более, чем 1 аргумент. Например, нельзя в программе писать оператор readln(A, B);, если величины A,B являются строками.
7 1.Операция присоединения или конкатенации: Если в программе есть операторы А:=я иду в ; В:=школу; то Writeln(A + B); выведет на экран текст я иду в школу 2. Операция сравнения производится оператором ветвления: If A > B then writeln(3) else writeln(-3); Как же происходит сравнение строковых величин?
8 Сначала сравниваются первые символы строк величин А и В. Если они разные, то сравниваются коды этих символов по таблице кодов. Если код первого символа величины А будет больше кода первого символа величины В, то условие А > B выполняется. Например: А:=поле; В:=горох; Код символа п больше кода символа г, потому что символ п стоит в алфавите позже символа г. Большие буквы имеют меньший код по сравнению с кодом соответствующих малых букв. Например: код А < кода а. Если первые символы строк обеих величин одинаковые, то сравниваются вторые символы и т. д., пока не встретятся разные символы. Пример: А:=поле; В:= плов; Здесь условие А > В выполняется.
9 1.LENTH(A) – возвращает количество символов в строке А или определяет длину строки величины А. Так, после выполнения фрагмента программы А:=лимон; Writeln(LENTH(A) ); на экране увидим число POS (A,B) – определяет позицию, с которой строка величины А впервые встречается в строке величины В. Так фрагмент программы А:=кол; В:=колокол; Writeln(POS (A,B) ); выводит на экран 1, так как слово кол встречается в словеколокол впервые с первой позиции.
10 3.copy(b,n,m) – возвращает строку, которая есть частью строки величины b, начиная с позиции, заданной числовой величиной n, и содержит количество символов, заданное величиной m. Так фрагмент программы: a:=алгол; writeln(copy(a,3,3)); выведет на экран слово гол. 4.ord(A) – возвращает код(число) символа (A). Команда writeln (ord(A)); выведет на экран число 165 – это код большой латинской буквы A. 5.СHR (165) – возвращает символ, который имеет код 165. Это символ A. Функция chr – обратная функция по отношению к функции ord.
11 1.DELETE(A,1,2) – удаляет два символа из строки величины А, начиная с первого; новая строка остается в величине А. Так после выполнения фрагмента программы А:=алгол; DELETE(A,1,2); writeln(A); на экране будем иметь слово гол. 2. INSERT(A,B,1) – оператор вставляет строку величины А в строку величины В, начиная с позиции 1строки величины В. Результат остается в величине В. Так фрагмент программы А:=луч; В:= света; writeln(A+B);
12 выведет на экран строку луч света. 3. STR(число,А) – преобразует число в строку символов, помещаемую в величину А. Так фрагмент программы STR(167,A); writeln(A); выведет на экран строку символов 167, состоящую из трех символов 1, 6, 7. Замечание: Строку символов можно рассматривать как массив, элементами которого есть отдельные символы этой строки. Обращение к каждому из символов строки производится по имени величины, содержащей эту строку, с указанием в квадратных скобках порядкового номера символа!!!
13 Пусть в программе есть оператор А:=светлячок; Тогда, чтобы обратиться к символу ч надо написать А[7], к символу с – A[1]. Это можно использовать для составления новых слов из букв заданной строки символов. Так фрагмент программы А:=светлячок; В:=COPY(A,1,5)+A[8]; Writeln (B); B:=A[4]+COPY(A,8,2); Writeln (B); выведет на экран 2 слова: светло и ток.
14 Рассмотрим решение нескольких задач. Задача 1.В величине А находится слово информатика. Создать из букв этого слова новые слова и вывести их на экран. Var A:string; Begin A:= информатика; Writeln(copy(A,3,5)); Writeln(copy(A,3,6)); Writeln(copy(A,6,3)); Writeln(A[10]+A[1]+A[8]); Readln end. На экран выведутся слова: форма, формат, мат, кит.
15 Задача 2.В величину А с клавиатуры вводится произвольное слово. Проверить, является ли оно «перевертышем», или палиндромом. Var a,b:string; x:byte; Begin Writeln(Введи любое слово с клавиатуры); readln(a); b:=; For x:=length(a) downto1 do b:=b+a[x]; If a=b then Writeln(Палиндром) else Writeln(Не палиндром); Readln End.
16 Задача 3. Определить, сколько раз короткая строка величины С встречается в строке величины В. Var c,b:string; k,x,n:byte; Begin Writeln(Введи строку c); readln(c); Writeln(Введи строку b); readln(b); X:=1; n:=0; While x
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.