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

Символьные и строковые величины
Символьные и строковые величины
Основные теоретические сведения
Описание символов и строк
Операции над символами
Функции обработки символьных величин
Операции над строками
Операции над строками
Примеры сравнения строк
Процедуры и функции обработки строковых величин
Примеры использования функций
Примеры решения задач
Определение кода введенного символа
Этапы выполнения задания
Программа:
Тестирование и вопросы
Ввод-вывод строк
Разбор задания
Программа
Тестирование
Поиск символов в строке 1
Исходные данные и результаты
Алгоритм решения задачи
Описание переменных
Программа
Тестирование
Вопросы
Поиск символов в строке 2
Исходные данные и результаты
Алгоритм решения задачи
Описание переменных
Программа
Тестирование
Вопросы
Простейшее преобразование строки
Этапы выполнения задания.
Программа
Удаление, вставка и замена символов
Исходные данные и результаты
Алгоритм решения задачи
Описание переменных
Программа
Тестирование
Вопросы
1/44
Средняя оценка: 4.3/5 (всего оценок: 42)
Код скопирован в буфер обмена
Скачать (210 Кб)
1

Первый слайд презентации: Символьные и строковые величины

10 класс

Изображение слайда
2

Слайд 2

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

Изображение слайда
3

Слайд 3: Основные теоретические сведения

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

Изображение слайда
4

Слайд 4: Описание символов и строк

4 Описание символов и строк Тип данных Описание С har Хранит один символ кодовой таблицы String Хранит значение строки символов кодовой таблицы Значения строковых и символьных констант записываются в апострофах. Значения символов можно задавать с помощью знака # и кодового номера символа: C 1 :=’$’; С2 :=#36; ( знак - ’$’) S:=’ Привет ’; C3:=#27; (код клавиши Esc ) Writeln (’ сумма чисел равна ’); write(a,#9,b); (#9 – код клавиши Tad) If c=’+’ then … For c:=’a’ to ’z’ do …

Изображение слайда
5

Слайд 5: Операции над символами

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

Изображение слайда
6

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

6 Функции обработки символьных величин Название функции Действие Тип аргументов Тип результата C hr (x) Определяет символ по его номеру в кодовой таблице byte char Ord(c) Определяет код символа в кодовой таблице char byte Upcase(c) Преобразует символ в верхний регистр char char LowCase(c) Преобразует символ в нижний регистр char char Pred(c) Возвращает предыдущий символ в кодовой таблице char char Succ(c) Возвращает следующий символ в кодовой таблице char char

Изображение слайда
7

Слайд 7: Операции над строками

7 Операции над строками Строки можно складывать – результатом будет новая строка, полученная приписыванием к первой строке второй: S1:= 'Иванов' ; S2:= 'Павел' ; S3:=S1+ ' ' +S2; После выполнения команд строка S3 получит значение 'Иванов Павел'

Изображение слайда
8

Слайд 8: Операции над строками

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

Изображение слайда
9

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

9 Примеры сравнения строк Первая строка Вторая строка Результат ’ Четверг ’ ’ Пятница ’ Первая больше ’ Понедельник ’ ’ Пятница ’ Вторая больше ’ 111111 ’ ’ 111111 ’ Равны ’ Лес ’ ’ Леска ’ Вторая больше

Изображение слайда
10

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

10 Процедуры и функции обработки строковых величин Название функции. Действие. Тип аргумента (ов). Тип результата. L ength (s) Возвращает длину строки s string integer P os (s1,s2) Ищет первое вхождение строки s 1 в строке s 2 s 1, s 2 – string byte Copy (a, n, k ) копирует подстроку строки а, из k символов, начиная с позиции n a – string, k, n, – integer string delete(s, n, k) удаляет k символов из строки s, начиная с символа с номером n s – string k, n – integer Процедура, результат сохраняется в переменной s insert(s1, s2, n) вставляет строку s 1 в строку s 2, начиная с позиции n n – integer s 1, s 2 – string Процедура, результат сохраняется в переменной s 2

Изображение слайда
11

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

11 Примеры использования функций Исходные данные Команда Результат s:= 'informatika' a:=copy(s,3,5); а := 'forma' s:= 'informatika' delete(s,3,7); s:= 'inka' s:= 'vina' a:= 'elich' insert(a,s,2); s:= 'velichina' d= 'Информатика’; d := L ength (s) d =11 S:=‘ Шла Саша по шоссе ’; N:=Pos(‘ Саша ’,S); N=5

Изображение слайда
12

Слайд 12: Примеры решения задач

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

Изображение слайда
13

Слайд 13: Определение кода введенного символа

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

Изображение слайда
14

Слайд 14: Этапы выполнения задания

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

Изображение слайда
15

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

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

Изображение слайда
16

Слайд 16: Тестирование и вопросы

16 Тестирование и вопросы Запустите программу и введите значения $ Проверьте, результат должен быть следующим: код= 36 Определите код символа пробел. Определите коды непечатных символов, которые вставляются в текст при нажатии клавиш табуляция и ввод. * Какому символу соответствует код 168 ? * Измените программу так, чтобы она запрашивала код символа и выдавала символ.

Изображение слайда
17

Слайд 17: Ввод-вывод строк

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

Изображение слайда
18

Слайд 18: Разбор задания

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

Изображение слайда
19

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

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

Изображение слайда
20

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

20 Тестирование Если запустить программу и ввести значение – Маша то результат должен быть следующим: Привет, Маша

Изображение слайда
21

Слайд 21: Поиск символов в строке 1

21 Поиск символов в строке 1 Написать программу которая определит каких букв в строке с русским текстом больше: ‘о’ или ‘ O ’.

Изображение слайда
22

Слайд 22: Исходные данные и результаты

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

Изображение слайда
23

Слайд 23: Алгоритм решения задачи

23 Алгоритм решения задачи Ввод исходных данных. В цикле от 1 до длины строки St проверяем каждый символ строки. Если встретилась буква ‘ o ’, то увеличиваем на 1 значение счетчика k 1, если ‘ O ’ – значение счетчика k 2. Сравниваем полученные значения счетчиков. Вывод результата.

Изображение слайда
24

Слайд 24: Описание переменных

24 Описание переменных Переменная St имеет тип string. Переменные k 1 и k2 имеют тип integer. Тип переменной i – счетчика цикла – integer. Для хранения длины строки используем переменную n типа integer.

Изображение слайда
25

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

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

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

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

Изображение слайда
27

Слайд 27: Вопросы

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

Изображение слайда
28

Слайд 28: Поиск символов в строке 2

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

Изображение слайда
29

Слайд 29: Исходные данные и результаты

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

Изображение слайда
30

Слайд 30: Алгоритм решения задачи

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

Изображение слайда
31

Слайд 31: Описание переменных

31 Описание переменных Переменные St и g имеют тип string. Переменные k и p имеют тип integer. Тип переменной i – счетчика цикла – integer. Для хранения длины строки используем переменную n типа integer.

Изображение слайда
32

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

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

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

33 Тестирование

Изображение слайда
34

Слайд 34: Вопросы

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

Изображение слайда
35

Слайд 35: Простейшее преобразование строки

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

Изображение слайда
36

Слайд 36: Этапы выполнения задания

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

Изображение слайда
37

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

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

Слайд 38: Удаление, вставка и замена символов

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

Изображение слайда
39

Слайд 39: Исходные данные и результаты

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

Изображение слайда
40

Слайд 40: Алгоритм решения задачи

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

Изображение слайда
41

Слайд 41: Описание переменных

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

Изображение слайда
42

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

42 Программа Var St: string ; z: string [ 10 ]; x: string [ 2 ]; i: integer ; Begin Write( ' введите строку текста - St' ); Readln(St); z:= '0123456789' ; i:= 1 ; while i<=length(st)- 1 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

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

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

Изображение слайда
44

Последний слайд презентации: Символьные и строковые величины: Вопросы

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

Изображение слайда