Скачать презентацию Лекция 5 Поток К 1 Типы простых данных Скачать презентацию Лекция 5 Поток К 1 Типы простых данных

Курс_Информатика_л5.ppt

  • Количество слайдов: 15

Лекция 5 Поток К 1 Типы простых данных и строки. Методы работы со строками Лекция 5 Поток К 1 Типы простых данных и строки. Методы работы со строками 3 октября 2014 года Автор доцент Бабалова И. Ф. 1

Шаблон программы (Консольное приложение) • program <Project 1>; //Имя программы. Должно • // быть Шаблон программы (Консольное приложение) • program ; //Имя программы. Должно • // быть уникальным • {$APPTYPE CONSOLE} • uses • Sys. Utils; • Type • var //Объявление типов данных и // переменных, используемых в программе • begin • { TODO -o. User -c. Console Main : Insert code here } • end. Здесь вставляется разработчиком код программы 2

Шаблон программы в визуальной среде Delphi Unit 1; Interface uses Windows, Messages, Sys. Utils, Шаблон программы в визуальной среде Delphi Unit 1; Interface uses Windows, Messages, Sys. Utils, Variants, classes, Grahics, Controls, Forms, Dialogs; type TForm 1 = class(TForm) private { Private declarations } public Окно формы является интерфейсом { Public declarations } пользователя с программой. На это окно end; наносятся все компоненты, которые var необходимы для управления работой Form 1: TForm 1; программы и ввода или вывода данных. implementation {$R *. dfm} end. Области действия объявлений 3

Иерархия объявлений данных в программе • Uses <список используемых утилит>; • Label < список Иерархия объявлений данных в программе • Uses <список используемых утилит>; • Label < список меток программы > • Const < перечень всех констант> • Type < объявление типов, создаваемых разработчиком> • Var < список переменных> • Procedure/Function <> <тело программы> end. Объявление предопределенных переменных не требует спецификатора Type 4

Язык Object Pascal 5 Язык Object Pascal 5

Типы целых Диапазон значений Размер в байтах Integer -2147483648. . +2147483647 4 Cardinal 0. Типы целых Диапазон значений Размер в байтах Integer -2147483648. . +2147483647 4 Cardinal 0. . 4294967295 4 Shortint -128. . +127 1 Smallint -32768. . +32767 2 Longint Соответствует типу Integer Int 64 -263. . 263 -1 8 Byte 0. . 255 1 Word 0. . 65535 2 Longword Соответствует типу Cardinal 4 6

Типы Вещественных данных Значение Количество Размер цифр ( в байтах) Real 5. 0*10 -324. Типы Вещественных данных Значение Количество Размер цифр ( в байтах) Real 5. 0*10 -324. . 1. 7*10308 15 - 16 8 Single 1. 5*10 -45. . 3. 4*1038 7 -8 4 Real 48 2. 9*10 -39. . 1. 7*1038 7– 8 6 Extended 3. 6*10 -4951. . 1. 1*104932 19 - 20 10 Comp -263+1. . 263 -1 19 - 20 8 Currency -9223337203685477. 5808. . 9223337203685477. 5807 19 - 20 8 Double = Real 7

Операции для целых чисел Это набор арифметических операций : +, -, *, div, mod Операции для целых чисел Это набор арифметических операций : +, -, *, div, mod • Операции над целыми числами предполагают, что результат вычисления будет также целым. • Порядок старшинства арифметических операций обычный - операции типа умножения выполняются всегда первыми. • Порядок старшинства операций может изменяться скобками. Дополнение к лекции № 5. ppt 8

Константы • Определение. Константа - это величина, неизменяемая в процессе выполнения программы Типы констант: Константы • Определение. Константа - это величина, неизменяемая в процессе выполнения программы Типы констант: 1. Обычные константы const n=100; Epsilon=1. 0 E-3; Signal=false; 2. Именованные константы const z=100 div 3; c=pi/4; 3. Типизированные константы const z: integer =1000; Замечание. Типизированные константы могут изменить свое значение при работе программы 9

Числовые функции Функция Таблица Действие Abs(x) Модуль вещественного числа x Frac(x) Дробная часть числа Числовые функции Функция Таблица Действие Abs(x) Модуль вещественного числа x Frac(x) Дробная часть числа х Trunc(x) Целая часть вещественного числа результат будет типа Int 64 Round(x) Ближайшее целое числа Int(x) Целая часть вещественного числа Exp(x) ex Ln(x) Ln x натуральный логарифм х 10

Таблица не стандартных функций Функция в языке Действие Log. N (a, Log a b Таблица не стандартных функций Функция в языке Действие Log. N (a, Log a b b) Power ab (a, b) Arcsin (x) Arcsin x Tan (x) Использование этих функций возможно только при включении в программу модуля Math. Uses …… , Math; Tg x Запись математических формул на языке: ln sin x +sin 2 x –x/(1+x) ln(abs(sin(x)) + sin(2*x) –x/(1+x) 11

Таблица типов строк Type Shortstring Длина 255 байт Строки Функции и процедуры для работы Таблица типов строк Type Shortstring Длина 255 байт Строки Функции и процедуры для работы со строками Наличие нулевого символа Функция k: =Length(s) Длина строки S будет равна 7 нет Delete(s, 4, 1) Строка s будет равна ‘Bes of ’ Insert(’e’, s, 3) Строка s будет равна ‘Beest of’ Trim(s) Строка s будет равна ‘Best of’ Lower. Case(s) ‘best of’ Upper. Case(s) ‘BEST OF’ k: =Pos(‘o’, s) Позиция символа o в строке равна 6 ANSI Ansisting ANSI String/ PString Widestring Unicode(0 - 4 байта 2 гб есть 255 байт/2 гб нет/есть 4 байта 2 гб есть 65535) Pchar Нуль терминальная строка Ansistring Есть (#0) Widestring Пример s 1: =Copy(s, 6, 2) Новая строка s 1 будет равна’of’ S=‘Best of’ 12

Правила использования строк • Для типов String нумерация символов в строке начинается с 1. Правила использования строк • Для типов String нумерация символов в строке начинается с 1. var s: string; s: =‘fsdgahdm’; s[1] =‘f’ • Для типа PChar или Pstring нумерация символов начинается с 0. var ss: Pstring; s_p: Pchar; begin ss: =string(s_p); Определяется строка по ее указателю s_p: =Pchar(ss); Задается указатель на строку end; Указателем называется адрес строки или символа • Для типов данных String надо всегда задавать конечную длину: Type sss=string[80]; var ss: sss; Но запись L: = Ord(ss[0]) определяет текущую длину строки. • Операции над строками: +, =, <, > SS: =Ss 1+Ss 2; 13

Функции и процедуры для работы со строкой типа PChar • STRLen – длина строки Функции и процедуры для работы со строкой типа PChar • STRLen – длина строки Функция для преобразования • Str. ECopy- Копирование кодировки ASCII в ANSI одной строки в другую Uses Sysutils, Windows; • Str. Lower ……………… преобразование PСhar строки символов к Function To. Dos(Winstr: String); string; строчным символам. begin • Str. Pos - возвращает setlength(Result, length(Winstr)); указатель на последнее вхождение символа Chr Char. To. OEM(Pchar(Winstr), Pchar(Result)); в PChar – строку end; • Str. Upper преобразование символов PСhar - строки Пример использования строки PChar для преобразования кодов символов в прописные буквы Полный перечень функций в Help среды Delphi Сравните методы для обработки типов данных PChar и String 14

Алгоритмы обработки строк Задача. Найти подстроку в строке. Поиск подстроки сводится к определению позиции Алгоритмы обработки строк Задача. Найти подстроку в строке. Поиск подстроки сводится к определению позиции s подстроки P в тексте T. Алгоритмы для работы со строками нацелены на поиск заданного образца P в тексте T. Формально задача называется задачей поиска подстрок. Алгоритм должен определить позицию s подстроки P в тексте T. Позиция может быть допустимой, если : 0 ≤ s ≤ n-m и T[s+1. . s+m] = P[1. . m] Текст (S) строка r k l Подстрока (P) строка a b c c d a b c b f z Длина подстроки m Время поиска подстроки просмотре всей строки оценивается формулой: a Длина cтроки n Длина подстроки m t≈θ((n-m+1)*m) Более быстрые алгоритмы для поиска подстрок обеспечиваются структурами данных типа таблицы или деревья Пример_работы_со_строками. doc 15