Символьные и строковые величины презентация

Содержание

Основные теоретические сведения Примеры решения задач

Слайд 1Символьные и строковые величины
10 класс


Слайд 2
Основные теоретические сведения
Примеры решения задач


Слайд 3Основные теоретические сведения
Описание символов и строк
Операции над символами
Функции обработки символьных величин
Операции

над строками
Процедуры и функции обработки строковых величин





Слайд 4Описание символов и строк
Значения строковых и символьных констант записываются в апострофах.

Значения символов можно задавать с помощью знака # и кодового номера символа:
C1:=’$’; С2:=#36; (знак - ’$’)
S:=’Привет’; C3:=#27; (код клавиши Esc)
Writeln (’сумма чисел равна’); write(a,#9,b); (#9 – код клавиши Tad)
If c=’+’ then … For c:=’a’ to ’z’ do …





Слайд 5Операции над символами
Два символа можно сравнить. Больше будет тот символ, кодовый

номер больше.
Символы алфавита, набранные в одном регистре упорядочены в алфавитном порядке;
’Б’<’Д’; ’п’<’т’; ’S’<’Z’; ’f’<’v’;
Большие буквы алфавита меньше маленьких букв алфавита;
’Б’<’б’; ’Я’<’а’;’R’<’r’; ’Z’<’a’;
Символы цифр расположены в порядке возрастания их числовых значений;
’1’<’5’; ’0’<’9’
Символы цифр меньше символов любых букв;
’1’<’r’; ’2’<’W’; ’5’<’ж’; ’9’<’Я’
Символы латинских букв меньше символов русских букв;
’z’<’б’; ’W’<’Ц’; ’D’<’ж’; ’q’<’Я’







Слайд 6Функции обработки символьных величин




Слайд 7Операции над строками
Строки можно складывать – результатом будет новая строка, полученная

приписыванием к первой строке второй:
S1:='Иванов';
S2:='Павел';
S3:=S1+' '+S2;
После выполнения команд строка S3 получит значение 'Иванов Павел'





Слайд 8Операции над строками
Две строки можно сравнивать.
Строки сравниваются в лексикографическом порядке посимвольно.
Сравнивают

первые символы, больше будет та строка, первый символ которой больше;
Если первые символы равны, то сравнивают вторые, третьи и т.д.
Если все символы двух строк равны, то строки равны.
Если одна из строк является началом другой, то вторая строка больше.






Слайд 9Примеры сравнения строк




Слайд 10Процедуры и функции обработки строковых величин





Слайд 11Примеры использования функций





Слайд 12Примеры решения задач
Определение кода введенного символа
Ввод-вывод строк
Поиск символов в строке 1
Поиск

символов в строке 2
Преобразование строк
Простейшее преобразование строки
Удаление, вставка и замена символов





Слайд 13Определение кода введенного символа
Написать программу, которая выведет код введенного символа.





Слайд 14Этапы выполнения задания
Определение исходных данных: переменная с (введенный символ).
Определение результатов:

переменная x (код символа в кодовой таблице).
Алгоритм решения задачи.
Ввод исходных данных
Определение кода символа
Вывод результата.
Описание переменных:
Переменная c – тип char, переменная x – тип byte.





Слайд 15Программа:
var c:char;
x:byte;
begin
writeln('введите символ');
readln(c);
x:=ord(c);
writeln('код=',x);
end.




Слайд 16Тестирование и вопросы
Запустите программу и введите значения
$
Проверьте, результат должен быть следующим:
код=36
Определите

код символа пробел.
Определите коды непечатных символов, которые вставляются в текст при нажатии клавиш табуляция и ввод.
* Какому символу соответствует код 168?
* Измените программу так, чтобы она запрашивала код символа и выдавала символ.





Слайд 17Ввод-вывод строк
Напишите программу, которая спросит имя пользователя, а затем поздоровается с

ним.





Слайд 18Разбор задания
Определение исходных данных: переменная imja, строка, в которой будет храниться

введенное имя.
Определение результатов: строка с приветствием.
Алгоритм решения задачи.
Ввод имени
Вывод строки с приветствием
Описание переменных:
Переменная imja – тип string.





Слайд 19Программа
Программа:

var imja:string;
begin
writeln ('Как тебя зовут? ');
readln(imja);
writeln ('Привет, ',imja);
end.





Слайд 20Тестирование
Если запустить программу и ввести значение – Маша
то результат должен быть

следующим:
Привет, Маша





Слайд 21Поиск символов в строке 1
Написать программу которая определит каких букв в

строке с русским текстом больше: ‘о’ или ‘O’.





Слайд 22Исходные данные и результаты
Исходные данные
переменная St - исходный текст.
Результат
Сообщение о

том каких букв больше.





Слайд 23Алгоритм решения задачи
Ввод исходных данных.
В цикле от 1 до длины строки

St проверяем каждый символ строки.
Если встретилась буква ‘o’, то увеличиваем на 1 значение счетчика k1, если ‘O’ – значение счетчика k2.
Сравниваем полученные значения счетчиков.
Вывод результата.





Слайд 24Описание переменных
Переменная St имеет тип string.
Переменные k1 и k2 имеют тип

integer.
Тип переменной i – счетчика цикла – integer.
Для хранения длины строки используем переменную n типа integer.





Слайд 25Программа
Var St: string;
n,i,k1,k2: integer;
Begin
Write('введите строку текста - St');
Readln(St);
n:=length(St);
For i:=1 to n

do
begin
If St[i]='o' then
k1:=k1+1;
If St[i]='O' then
K2:=k2+1;
end;
if k1>k2 then
writeln('букв о больше чем О')
else
if k2>k1 then
writeln('букв O больше чем o')
else
writeln('количество букв о равно количеству букв О');
End.





Слайд 26Тестирование
Запустите программу и введите значение
OOOoooOOO
Проверьте, результат должен быть следующим:
букв O больше

чем o





Слайд 27Вопросы
Будет ли работать программа, если ввести текст на английском языке? Почему?

Какие изменения необходимо внести в программу для работы с английским текстом? Подберите тесты для проверки программы.
Измените программу так, чтобы можно было работать с текстом, как на русском, так и на английском языке.
Ведите текст, в котором нет букв ‘o’. Какой ответ выдаст программа? Внесите изменения в программу, так чтобы на этот случай выдавалось сообщение ‘в тексте нет букв O и o’.





Слайд 28Поиск символов в строке 2
Задано слово. Вывести согласные буквы слова синим

цветом, а гласные буквы красным. Посчитать количество гласных букв во введенном слове.





Слайд 29Исходные данные и результаты
Исходные данные
переменная St - исходный текст.
Результат
слово, в

котором буквы выводятся разными цветами и сообщение о количестве гласных букв.





Слайд 30Алгоритм решения задачи
Ввод исходных данных.
Создаем дополнительную строку, в которой хранятся все

гласные буквы: g:=’ЁУЕЭОАЫЯИЮёуеэоаыяию’.
Заводим переменную k – счетчик гласных букв. Вначале ее значение равно 0.
В цикле от 1 до длины строки St находим позицию текущего символа из строки St в строке с гласными буквами (переменная p). Если это значение не равно нулю, то символ – гласная.
Если символ является гласной буквой, то выводим его на экран красным цветом и увеличиваем значение счетчика гласных букв на 1, если символ не является гласной буквой, то выводим его синим цветом.
Вывод результата.





Слайд 31Описание переменных
Переменные St и g имеют тип string.
Переменные k и p

имеют тип integer.
Тип переменной i – счетчика цикла – integer.
Для хранения длины строки используем переменную n типа integer.





Слайд 32Программа
Uses GraphABC;
Var St,g: string;
n,i,k,p: integer;
Begin
Writeln('введите строку текста - St');
Readln(St);
writeln(St);
n:=length(St);
g:= 'ЁУЕЭОАЫЯИЮёуеэоаыяию';
SetFontName('Couier New');
For

i:=1 to n do
begin
p:=pos(st[i],g);
if p<>0 then
begin
SetFontColor(clRed);
TextOut(10*i,50,st[i]);
k:=k+1;
end
else
begin
SetFontColor(clBlue);
TextOut(10*i,50,st[i]);
end;
end;
SetFontColor(clGreen);
writeln('количество гласных букв равно ', k);
End.





Слайд 33Тестирование




Слайд 34Вопросы
Будет ли работать программа, если ввести текст на английском языке? Почему?

Какие изменения необходимо внести в программу для работы с английским текстом? Подберите тесты для проверки программы.
Измените программу так, чтобы можно было работать с текстом, как на русском, так и на английском языке.
*Почему сообщение количество гласных букв равно выводится на экран до вывода символов разными цветами, хотя команда для вывода этого сообщения выполняется в программе последней?





Слайд 35Простейшее преобразование строки
Написать программу которая из слова ТЕСТИРОВАНИЕ получит слово РИСОВАНИЕ.




Слайд 36Этапы выполнения задания.
Определение исходных данных: слово ТЕСТИРОВАНИЕ будем хранить как константу

с именем s.
Определение результатов: полученные слова.
Алгоритм решения задачи.
Для получения слова нужно скопировать из исходной строки шестой символ, восемь символов, начиная с позиции 5
Затем все сложить. Получим ’Р’+’ИРОВАНИЕ’.
Затем удалить третий символ (’РИОВАНИЕ’)
Вставить на третье место третий символ исходной строки (’РИСОВАНИЕ’).
Вывод результата.





Слайд 37Программа
const s='ТЕСТИРОВАНИЕ';
var s1:string;
begin
s1:=s[6]+copy(s,5,8); {РИРОВАНИЕ}
delete(s1,3,1);

{РИОВАНИЕ}
insert(s[3],s1,3); {РИСОВАНИЕ}
writeln('слово=', s1);
End.





Слайд 38Удаление, вставка и замена символов
Написать программу, которая в заданном тексте заменит

все встречающиеся пары из одинаковых цифр, словом ‘две’.





Слайд 39Исходные данные и результаты
Исходные данные
переменная St - исходный текст.
Результат
Преобразованный текст





Слайд 40Алгоритм решения задачи
Ввод исходных данных.
Просматриваем строку и выделяем из строки по

два символа.
Проверяем одинаковые ли эти символы, и являются ли они цифрами.
Если да, удаляем их из строки и на их место вставляем слово ‘два’.
Для того, чтобы проверить является ли символ цифрой, создадим строку z, состоящую из всех цифр, и будем определять позицию текущего символа строки в строке из цифр.
Если позиция текущего символа в этой строке отлична от нуля, то символ – цифра, иначе нет.
Поскольку длина строки при замене будет меняться, то для просмотра строки удобнее использовать цикл while.
Вывод результата.





Слайд 41Описание переменных
Переменные St и z имеют тип string. Такой же тип

имеет переменная x, предназначенная для выделения пар символов
Тип переменной i – счетчика цикла – integer.
Для хранения длины строки используем переменную n типа integer.





Слайд 42Программа

Var St: string; z:string[10]; x:string[2];
i: integer;
Begin
Write('введите строку текста - St');
Readln(St);
z:='0123456789';
i:=1;
while i

do
begin
x:=copy(st,I,2);
if (x[1]=x[2]) and (pos(x[1],z)<>0) then
begin
delete(st,i,2);
insert('две',st,i);
i:=i+1;
end;
i:=i+1;
end;
writeln('преобразованная строка ', st);
End.





Слайд 43Тестирование
Запустите программу и введите значение
st=111123455677
Проверьте, результат должен быть следующим:
преобразованная строка дведве234две6две




Слайд 44Вопросы
Будет ли работать программа, если ввести римские цифры? Почему? Какие изменения

необходимо внести в программу для работы с римскими цифрами (I –1, V –5, X –10, L –50, C –100, D – 500, M –1000)? Подберите тесты для проверки программы.
Измените программу так, чтобы можно было работать как с арабскими, так и с римскими цифрами.
Ведите текст, в котором нет цифр. Какой ответ выдаст программа? Внесите изменения в программу, так чтобы на этот случай выдавалось сообщение ‘в тексте нет цифр’.




Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика