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

Презентация:



Advertisements
Похожие презентации
Шешель Анжелика. Значения: Символьная величина – 1 символ (буква, цифра, знак) Строковая величина – строка символов.
Advertisements

(Выполнила Войтюлевич Ольга Гимназия 1). Символьный тип данных Для работы с символами в языке Pascal предусмотрен специальный тип данных, который называется.
Символьные и строковые переменные. Общие понятия Для того чтобы ЭВМ могла обрабатывать тексты, она должна уметь оперировать не только с числами, но и.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Основы алгоритмизации и программирования ABC PASCAL CHAR LENGTH COPY DELETE INSERT Сикор Ольга, 10 класс, гимназия 1.
Строки в Pascal
Ветвления 8 класс. 2 Основные теоретические сведения Примеры решения задач.
Обработка символьных величин. Цели урока Познакомиться с основными принципами работы с символьными величинами Познакомиться с основными принципами работы.
Символы и строки. Процедуры и функции работы со строками.
СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];
Обработка символов строки. Дано слово. Переставить первые три и последние три буквы, сохранив порядок их следования.
СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];
Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.
Понятие строки. Операции со строковыми величинами. Стандартные процедуры и функции обработки строковых величин. Простые алгоритмы работы со строками на.
Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Тема: Паскаль «строковые переменные». Обработка строк текста МБОУ.
Клунейко Вероника Ученица 10 класса. Символьный тип (Сhar) простой тип данных, предназначенный для хранения одного символа в определённой кодировке.Основным.
Основы алгоритмизации и программирования Чабанюк Виктория 10 класс.
Материалы к урокам по программированию Автор: Судакова Лариса Владимировна, учитель биологии и информатики МОУ СОШ 37 г. Буя Костромской области.
1 Строковый тип данных Строка – это последовательность символов определенной длины (от 0 до 255).
Символьный и строковый тип данных. ТИП ДАННЫХ Целый: 1. Целый: Integer ( …32 768), LongInt ( … ), Word (0…65535) Логический:
Транксрипт:

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

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

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

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

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

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

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

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

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

10 Процедуры и функции обработки строковых величин Название функции. Действие.Тип аргумента (ов). Тип результата. Length (s)Возвращает длину строки sstringinteger Pos (s1,s2)Ищет первое вхождение строки s1 в строке s2 s1, s2 – stringbyte 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)вставляет строку s1 в строку s2, начиная с позиции n n – integer s1, s2 – string Процедура, результат сохраняется в переменной s2

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:=Length(s)d=11 S:=Шла Саша по шоссе;N:=Pos(Саша,S);N=5

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

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

14 Этапы выполнения задания I.Определение исходных данных: переменная с (введенный символ). II.Определение результатов: переменная x (код символа в кодовой таблице). III.Алгоритм решения задачи. 1.Ввод исходных данных 2.Определение кода символа 3.Вывод результата. IV.Описание переменных: V.Переменная 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 Разбор задания I.Определение исходных данных: переменная imja, строка, в которой будет храниться введенное имя. II.Определение результатов: строка с приветствием. III.Алгоритм решения задачи. 1.Ввод имени 2.Вывод строки с приветствием IV.Описание переменных: V.Переменная 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 p0 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; 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:=' '; i:=1; while i

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

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