Элементы ЯПВУ. СИМВОЛЫ C / С++Pascal В языках программирования существуют средства для работы с текстами. Текстовые данные представляются в виде отдельных.

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



Advertisements
Похожие презентации
Символы и строки. Процедуры и функции работы со строками.
Advertisements

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

Элементы ЯПВУ. СИМВОЛЫ C / С++Pascal В языках программирования существуют средства для работы с текстами. Текстовые данные представляются в виде отдельных символов или в виде строк текста. Символ – это один элемент алфавита языка. В Pascal и С символьные данные описываются типом данных char, размер 8 бит (1 байт) – описывает символы с кодом от 0 до 255 (расширенный ASCII). Char - порядковый тип данных – то есть: представляет собой конечное упорядоченное множество, всегда доступен порядковый номер конкретного значения в данном типе (элемента), всегда доступны значения предыдущего и последующего элементов. Операции и функции для типа char операции отношения:, >=, =, <>, - сравниваются коды символов функция ord( ' S ' ) - возвращает порядковый символа S chr() - возвращает символ pred( ' S ' ) - предыдущий символ suсс( ' S ' ) - последующий символ upcase( ' S ' ) - перевод в верхний регистр операции – доступны все операции С, с учетом преобразования типов данных функция getchar() - читает символ из буфера ввода клавиатуры (б-ка stdio.h) putchar() - отображает символ на экран (stdio.h) функции библиотеки ctype.h (isalnum, isalpha, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, tolower, toupper) Функции работы с символами изучить самостоятельно! ВМП 1

Элементы ЯПВУ. СИМВОЛЫ C / С++Pascal Символьные константы (литералы ) Три формы записи символьных констант: Символ в апострофах ('a', 'W', '4', '?'); Знак # перед десятичным кодом символа ASCII (#97, #186, #254) – обычно для символов, отсутствующих на клавиатуре; Буква, предваряемая знаком ^ (^M, ^V) – для представления управляющих символов (первые 32 символа ASCII) – код буквы на 64 больше кода управляющего символа (соответственно, 13, 22). Форма записи символьных констант: Один или несколько символов в апострофах ('a', 'W', '4', '?', 'vb'). - Двухсимвольные константы занимают 2 а байта и имеют тип данных int; - Для многобайтовых символов ( для работы с набором символов требующих больше одного байта, например, Unicode ) существует тип wchar_t - расширенный символьный. Эти константы записываются с префиксом L (wchart_t=wr; wr=L'A';); - Специальные символьные константы (ESC-последовательности) служат для представления специальных символов. Их отличительный признак символ обратной косой черты - \ (\n – новая строка, \" – кавычка, \0ddd – восьмеричная, \x0ddd – шестнадцатеричная). - Пустая символьная константа – недопустима. ВМП 2

3 Элементы ЯПВУ. Таблица кодировки символов Таблица кодировки символов Символы с кодами

ВМП 4 Элементы ЯПВУ. Таблица кодировки символов Таблица кодировки символов Символы с кодами

Символы Практическое занятие PascalC / C++ Задание: Выводить на экран код введенного символа, для завершения ввода ввести точку. ВМП 5 Л Цикл выполняется ПОКА не будет введена в качестве символа точка Начало Вывести "Введите символ и нажмите Enter. Для завершения программы введите точку." Конец И ПОВТОРЯТЬ Получить Символ_ASCII Вывести Символ: 'Символ_ASCII' Код : Cимвол_ASCII ПОКА Символ_ASCII <> '.'

Символы Практическое занятие PascalC / C++ Задание: Вывести на экран код введенного символа. Требуемый вид экрана: Введите символ. Для завершения программы введите точку. -> 1 Символ: 1 Код: 49 и т.д. // Вывод кода введенного символа #include <stdio.h> #include <conio.h> void main() { unsigned char ch; printf("\n Введите символ и нажмите Enter\n"); printf ("Для завершения программы введите точку.\n"); do { ch = getch(); printf("Символ: %c Код: %i\n",ch,ch); } while (ch != '.'); printf("\n Для завершения нажмите Enter\n"); getch(); } (* Выводит код введенного символа *) Program sym_cod; Var sym: char; code: integer; begin writeln ('Введите символ и нажмите Enter.'); writeln ('Для завершения программы введите точку и нажмите Enter.'); repeat begin write('-> '); readln(sym); code := Ord(sym); writeln('Символ: ', sym,', Код: ', code); end until sym = '.'; end. ВМП 6

Домашнее задание 1. Набрать все программы презентации ВМП_01_Потоковый в-в в С++_Рекурсия и рекуррентность_Целочисленные алгоритмы-алг_Евклида _12 слайдов.ppt и запустить их. Перечислить ошибки в программах. 2. Изучить создание рекурсивных программ и сдать преподавателю (решит задачу на написание программы). 3. Изучить создание рекуррентных программ и сдать преподавателю (решит задачу на написание программы). ВМП Рекурсия и рекуррентность 7

В Pascal существует стандартный тип данных String - строка. var : string[[ ]] [=' ']; Длина строки по умолчанию символов плюс нулевой символ, хранящий значение длины строки (всего 256 байт) Можно определить собственный тип строки: type =string[[дл]]; Длина строки – константа или константное выражение. Элементы ЯПВУ. СТРОКИ C / С++Pascal Строка в С – это одномерный массив, заканчивающийся нуль-символом - \0. При объявлении такого массива надо к количеству символов строки добавлять одну позицию (байт) для нуль-символа. Стандартного строкового типа и строковых переменных в С - нет. Функции работы со массивами- строками собраны в заголовочном файле string.h. В С++ для работы со строками определен класс string (изучите в ООП). Главный недостаток – необходимо вручную проверять выход за границу строкового массива! Строка – это конечная последовательность символов, цепочка символов. 8 ВМП

Элементы ЯПВУ. СТРОКИ C / С++Pascal Type srt4 = string [4]; Const n = 5; Var s : string; (*строка 255 символов*) s1 : str4; (*строка типа str4*) s2 : string [n]; (*прямое описание*) Инициализация строк – в разделе const: Const s3 : string[6] = 'good'; Вид строки: Примеры: 4good - 7 байт. char str[6] = "good"; выделено 6 элементов массива (0÷5) good\0 Оператор char str[ ] = "good"; - создаст и заполнит массив размерностью 5. good\0 Строковые константы (литералы) Строковая константа – это последовательность любых ASCII символов, заключенных в Апострофы – 'abc'Кавычки – "abc" Const Тext = 'Простая программа' WriteLn(Text); Максимальная длина – 126 символов. Апостроф в константе – дублируется: 'Don''t right' "Текстовая константа" Кавычка внутри константы - \" "ООО \"Рога и копыта\"" Знак переноса длинной константы - \ 9 ВМП

Элементы ЯПВУ.СТРОКИ Элементы ЯПВУ. СТРОКИ C / С++Pascal Операции для строк присваивание строк := - при разной длине лишние символы отбрасываются type str4 = string[4]; var s1 = str4; s2 = string[10] s2 := 'qwertyuiop'; s1 := s2; (* строка s1 содержит qwer *) конкатенация + - склеивание (сцепление) строк st1 := 'пар'; st2:= 'воз'; st := st1+'о'+st2; обращение к компонентам строки [ ] {s='15.47'} c:= s[3]; {c='.'} cr:=s[2]; {cr='5'} но в отличие от массива, нельзя напрямую заменять символы в строке. операции отношения, >=, =, - сравнивают строки, из двух строк меньшая та, чей первый различный символ меньше. 'abc'<'xyz', 'a'<'abc', '120'<'45', 'Anny'<'anny' ввод-вывод строк – имя строки может исп. в процедурах readln(s1, s2); и writeln(s1); При вводе в строку считывается количество символов равное длине строки или меньше, если раньше встретиться символ перевод строки (Enter). поскольку строка в С – это массив, то над ними возможны все те же операции, что и над массивами, например, операция присваивания одной строки другой выполняется с помощью цикла или функций стандартной библиотеки. 10 ВМП

Элементы ЯПВУ.СТРОКИ Элементы ЯПВУ. СТРОКИ C / С++Pascal Функции и процедуры для строк Некоторые функции стандартных библиотек для работы со строками: библиотека stdio.h gets(s) - читает символ с клавиатуры в строку s до Enter, возвращает указатель на s. puts(s) – выводит строку s на экран. библиотека string.h strcpy(s1,s2) – копирует s2 в s1, strcat(s1,s2) – конкатенация s2 в конец s1, strlen(s1) – возвращает длину строки s1, strcmp(s1,s2) – сравнение строк, возвращает 0 (false), если s1 и s2 совпадают, отрицательное значение, если s1 s2, strchr(s1,ch) – ищет символ в строке, возвращает указатель на первое вхождение символа ch в строку s1, strstr(s1,s2) – ищет подстроку в строке, возвращает указатель на первое вхождение строки s2 в строку s1, и другие. Формат функций и процедур работы со строками изучить самостоятельно! Функции (возвращают простое значение) Concat (s1[,s2,…,sn]) – последовательная кон- катенация s1, s2…sn, Copy (s, start, len) – возвращает подстроку длиной len строки s, начиная позиции start (len и start – целого типа), Length (s) – текущая длина строки s (тип byte), Pos (substr, s) – ищет подстроку substr в строке s и возвращает номер первого символа substr в s или 0, если такой подстроки в s нет. Процедуры (возвращают преобразованную строку) Delete (s, start, len) – удаляет подстроку длиной len из строки s, начиная с позиции start, Insert (substr, s, start) – вставляет подстроку subst в строку s, начиная с позиции start, Str (x, s) – преобразует числовое значение x в строку s (x может иметь формат – x:6:2), Val (s, x, errcode) – преобразует строку s в числовое значение x, errcode содержит номер позиции первого ошибочного символа или ВМП

Элементы ЯПВУ.СТРОКИ Элементы ЯПВУ. СТРОКИ C / С++Pascal ASCIIZ-строки ASCIIZ-строки – это строки символов "с нулевым окончанием"- признак окончания строки - символ с нулевым кодом #0. Такие строки введены в Pascal для обеспечения возможности использовать длинные строки (до символов) и для работы под Windows. Для реализации механизма ASCIIZ-строк введен новый предопределенный тип данных PChar: Type PChar = ^char, т.е. указатель на символьное значение. Переменным типа PChar можно присваивать строковые значения, а также индексировать их, как при работе с символьными массивами. Переменная типа PChar ссылается на первый элемент некоторой ASCIIZ-строки неопределенной длины, завершающейся #0. Для поддержки работы с ASCIIZ-строками используется специальный модуль (Uses) String. Он доступен в BP и BPW и содержит процедуры и функции для: динамического создания и уничтожения строк (StrNew и StrDispose), копирования строк (StrCopy, StrECopy, StrLCopy, StrPCopy, StrMove), конкатенации строк (StrCat, StrLCat), сравнения строк (StrComp), и другие (StrIComp, StrLComp, StrLIComp, StrPos, StrIPos, StrScan, StrRScan, StrEnd, StrLen, StrLower, StrUpper, StrPas). 12 ВМП

Строки PascalC / C++ Практическое занятие: Написать программу, которая запрашивает ввод с клавиатуры фамилии и имени и здоровается: "Добрый день, Фамилия Имя!" Подсчитать количество вхождений в строку символа a и заменить все a на A. Написать программы на Pascal и С. 13 ВМП

Строки PascalC / C++ Практическое занятие: 14 Program Simple; const Text = Простая программа '; var s : string[4]; begin WriteLn(Text); readln (s); writeln (s); writeln('s[0]=', s[0]); writeln('s[0]=', length(s)); end. Объяснить работу программ и что они выводят на экран. #include void main() { unsigned char st[80]; int i; printf("\n Введите строку текста и нажмите Enter \n"); printf("-> "); gets(st); i = 0; while ( st[i] ) { if (((st[i] >= 'a') && (st[i] = 'а') && (st[i] <= 'п'))) st[i] -= 32; else if (st[i] >= 'р' && st[i] <= 'я') st[i] -= 80; i++; } puts(st); printf("\n Для завершения нажмите Enter "); getch(); } ВМП

Домашнее задание 1. Каждому студенту по три индивидуальные задания на работу с символами и строками. Написать программы на Pascal и С. ВМП Символы и строки 15