Презентация на тему: Лекция 7. Строковый тип данных

Реклама. Продолжение ниже
Лекция 7. Строковый тип данных
Как описываются строки в ТР?
Операции со строками
Процедуры и функции ТР, используемые для работы с данными строкового типа.
Процедуры и функции ТР, используемые для работы с данными строкового типа ( продолжение).
Примеры
Определить, что будет выведено на экран в результате работы программы
Лекция 8. Записи и множества.
Записи ( records)
Данные типа «запись» (примеры).
Примеры действий с записями.
Примеры записей
Как обратиться к полям записи?
Множества
Примеры множеств
Операции над множествами:
Сравнение множеств ( результат – логическое значение)
Лекция 9. Файлы в ТР.
Файлы ТР.
Преобразование данных при работе с файлами.
Доступ к содержимому файлов
Порядок действий при работе с файлами в ТР
Как связать файловую переменную с файлом на диске?
fp – имя файловой переменной
Пример :
Основные функции для работы с файлами
Текстовые файлы.
Специальные функции для текстовых файлов
Типизированные файлы.
Типизированные файлы. Пример.
Лекция 10. Примеры: некоторые алгоритмы и их программная реализация.
Сортировка простым выбором.
Блок-схема сортировки простым выбором ( по возрастанию).
Сортировка простым выбором.
Сортировка простым включением.
Блок-схема сортировки простым включением (по возрастанию)
Сортировка простым включением.
Суммирование рядов с заданным числом слагаемых.
Суммирование рядов с заданной точностью.
Алгоритм суммирования знакочередующихся рядов с заданной точностью.
Пример.
Лекция 7. Строковый тип данных
1/42
Средняя оценка: 4.4/5 (всего оценок: 33)
Код скопирован в буфер обмена
Скачать (175 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации: Лекция 7. Строковый тип данных

Луковкин С.Б. МГТУ. 1 Лекция 7. Строковый тип данных В Паскале существует три типа строк: стандартные ( string ); определяемые программистом на основе string ; строки в динамической памяти. Строка типа string может содержать до 255 символов. Под каждый символ отводится по 1 байту, в котором хранится код символа. Еще один байт отводится под фактическую длину строки – это байт под номером 0. Т.е. для хранения данных типа string отводится 256 байт.

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

Слайд 2: Как описываются строки в ТР?

Луковкин С.Б. МГТУ. 2 Как описываются строки в ТР? type str 7= string [7]; const n = 10; var sa : string ; { строка стандартого типа } sb, sc : str7 ; { строка типа str7 } sn : string [ n ];

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

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

Луковкин С.Б. МГТУ. 3 Операции со строками Присваивание sa := sb; Конкатенация sb := ’ кара ’ + ’ пуз ’; Сравнение ‘aa’ < ‘ab’ Write(‘ Мышка ’ < ‘ Шишка ’); Write(‘Big’ < ‘ Биг ’); Ввод-вывод строк : 1) целиком Write(sb) 2) посимвольно Write(sn[1],sn[2], ….. sn[10])

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

Слайд 4: Процедуры и функции ТР, используемые для работы с данными строкового типа

Луковкин С.Б. МГТУ. 4 Процедуры и функции ТР, используемые для работы с данными строкового типа. Concat(s1, s2, …, sn) Функция Конкатенация строк s 1, s2, … sn Copy(S, m, k) Функция Из строки S копирует k символов, начиная с m Delete(S, m, k) Процедура Удаляет k символов из строки S начиная с m Insert ( subs, s, m ) Процедура Вставляет subs в строку S начиная с номера m

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

Слайд 5: Процедуры и функции ТР, используемые для работы с данными строкового типа ( продолжение)

Луковкин С.Б. МГТУ. 5 Length ( S ) Фун Возвращает длину строки S. Length(S) = Ord(S[0]) Pos ( subs, S ) Фун Отыскивает в строке S первое вхождение строки subs и возвращает номер позиции, с которой она начинается. Str ( X, S ) Проц Преобразует число X в строку символов S. Val(S, X, error) Проц Преобразует строку S в целую или вещественную переменную X. Значение error = 0 при нормальном завершении. Процедуры и функции ТР, используемые для работы с данными строкового типа ( продолжение).

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

Слайд 6: Примеры

Луковкин С.Б. МГТУ. 6 Примеры Действия со строками Результат S:=concat( ‘ Сивка ’,’-’,‘ Бурка ’); S = ‘ Сивка - Бурка ’ S1:= copy( S, 2, 4); S1 = ‘ ивка ’ s2:= ‘7 раз ’; m:= pos(‘7’,s2); Delete(s2,m,1) Insert(‘ семь ‘, s2, m); S2=‘ семь раз ’ K:=Pos(‘a’,s2) K=7 K:=Length(s1)+K K=11 Str(Pi:6:2, s1); S1 = ‘ 3.14’ Val(‘5.782’,x,code) X=5.782; code = 0;

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

Слайд 7: Определить, что будет выведено на экран в результате работы программы

Луковкин С.Б. МГТУ. 7 Определить, что будет выведено на экран в результате работы программы Program wrt_k; Const a: array[1..8] of char =‘abcrcaab’; Var i: integer; k: string; Begin k:= ‘‘; For i:=8 downto 2 do if a[i] < ‘c’ then k:=k+a[i]; write(k) end. Ответ: « baab »

Изображение слайда
1/1
Реклама. Продолжение ниже
8

Слайд 8: Лекция 8. Записи и множества

Луковкин С.Б. МГТУ. 8 Лекция 8. Записи и множества.

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

Слайд 9: Записи ( records)

Луковкин С.Б. МГТУ. 9 Записи ( records) Запись – структура данных, состоящая из конечного числа компонентов, называемых полями. Поля записи могут быть различных типов. Каждое поле имеет имя. Запись, как единое целое, занимает непрерывную область памяти. type имя_типа_записи = record описание 1- го поля записи; описание 2-го поля записи; ... описание n -го поля записи; end ; описание поля записи : имя_поля : тип_поля;

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

Слайд 10: Данные типа «запись» (примеры)

Луковкин С.Б. МГТУ. 10 Данные типа «запись» (примеры). type cars = record name : string [25]; price : real; number : integer ; end ; var g1, g2 : cars; tabl : array [1.. 100] of cars; student : record name : string [30]; group : byte; marks : array [1.. 5] of byte; end;

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

Слайд 11: Примеры действий с записями

Луковкин С.Б. МГТУ. 11 Примеры действий с записями. g 1 := g 2; g 2 := tabl [3]; g1.price := 200 ; With g1 do begin price := 200; number := 1 2; end ; Инициализация записей : const g : cars = ( name : =’opel’; price : = 25000 ; number : = 10 );

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

Слайд 12: Примеры записей

Луковкин С.Б. МГТУ. 12 Примеры записей Type Anketa = RECORD name : string[20]; soname : string[20]; gend : char; b_day : 1..31; b_Month : 1..12; b_year : word; kurs : 1..5; group : word; END; Var stud : anketa; All_Stud:array[1..200] of stud; или Var All_Stud: array [1..200] of Anketa;

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

Слайд 13: Как обратиться к полям записи?

Луковкин С.Б. МГТУ. 13 Как обратиться к полям записи? < Имя_переменной >. < имя поля > := < выражение > Stud.name:=‘ Олег ’; Stud.gend:=‘M’; Stud.kurs:=3; … и т.д. или With Stud do Begin name:=‘ Олег ’; gend:=‘M’; kurs:=3; End;

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

Слайд 14: Множества

Луковкин С.Б. МГТУ. 14 Множества Type имя _ типа_множества = set of базовый _ тип ; type Caps = set of 'A'..'Z'; Colors = set of (RED, GREEN, BLUE); Numbers = set of byte ; Пример : Var An, Bn : Numbers Количество элементов множества может меняться от 0 до 256.

Изображение слайда
1/1
Реклама. Продолжение ниже
15

Слайд 15: Примеры множеств

Луковкин С.Б. МГТУ. 15 Примеры множеств Var A, B : Set of byte; s1, s2,s3: set of ‘a’.. ‘z’; Const D3=[1,3,6,9,12]; …. A:=[25,50,55,60]; B:=[ ]; { пустое множество } S1:= [‘x’, ‘y’, ‘z’]; S2:= [ ‘a’, ‘b’, ‘y’]; B:=A;

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

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

Луковкин С.Б. МГТУ. 16 Операции над множествами: Операция Название A := B Присваивание A + B Объединение A и B A * B Пересечение A и B A – B Вычитание B из A

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

Слайд 17: Сравнение множеств ( результат – логическое значение)

Луковкин С.Б. МГТУ. 17 Сравнение множеств ( результат – логическое значение) Операция Название A=B Проверка множеств на эквивалентность ; True если A и B совпадают. A <> B Проверка множеств на неэквивалентность ; True если A и B несовпадают. A <= B Проверка на вхождение A в B. True, если A подмножество B. A = >B Проверка на вхождение B в A. True, если B подмножество A. e in A True, если e является элементом A

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

Слайд 18: Лекция 9. Файлы в ТР

Луковкин С.Б. МГТУ. 18 Лекция 9. Файлы в ТР. Общие приёмы для работы с файлами; Текстовые файлы; Типизированные файлы;

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

Слайд 19: Файлы ТР

Луковкин С.Б. МГТУ. 19 Файлы ТР. В ТР используются три типа файлов: Текстовые файлы Типизированные файлы Нетипизированные Примеры : VAR < имя_ФП 1> : File of < тип >; - типизированный файл ; < имя_ФП 2> : File; - нетипизирован. файл < имя_ФП 3> : TEXT; - текстовый файл Файл – именованная область внешней памяти компьютера либо это логическое устройство – возможный приёмник или источник данных ( CON, PRN, AUX,NUL).

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

Слайд 20: Преобразование данных при работе с файлами

Луковкин С.Б. МГТУ. 20 Преобразование данных при работе с файлами. 1. Преобразования данных при чтении – записи типизированных и нетипизированных файлов не происходит. Данные имеют одинаковое представление как в памяти компьютера, так и при хранении в файле ; 2. При чтении из текстового файла данные преобразуются из символьного представления во внутреннее представление в памяти компьютера; при записи в текстовый файл – данные из внутреннего представления преобразуются в символьный формат.

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

Слайд 21: Доступ к содержимому файлов

Луковкин С.Б. МГТУ. 21 Доступ к содержимому файлов Последовательный доступ – для текстовых файлов ; Прямой доступ – для типизированных и нетипизированных файлов ; Все элементы, из которых состоит файл с прямым доступом нумеруются от 0 до N; в конце файла Находится специальный код =маркер конца файла. Для файлов с прямым доступом вводится понятие текущей длины – количество элементов файла. Указатель файла – адрес текущего элемента файла, предназначенного для обработки.

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

Слайд 22: Порядок действий при работе с файлами в ТР

Луковкин С.Б. МГТУ. 22 Порядок действий при работе с файлами в ТР Задать файловую переменную ; Связать файловую переменную с файлом на диске или логическим устройством ; Указать направление обмена данными ; Осуществить чтение данных из файла или запись данных в файл ; Закрыть файл.

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

Слайд 23: Как связать файловую переменную с файлом на диске?

Луковкин С.Б. МГТУ. 23 Как связать файловую переменную с файлом на диске? После описания файловой переменной её надо связать с файлом на диске: ASSIGN( ИФП, ИмяФайла_или_ЛогУстр) ; пример: Var F1: File of string[60]; F2: Text; Begin … Assign ( F1, ‘c:\works\F001.txt’); Assign ( F2, ‘a:\mwk\My_abc.001’);

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

Слайд 24: fp – имя файловой переменной

Луковкин С.Б. МГТУ. 24 fp – имя файловой переменной Направление обмена Текстовый файл Типизир. файл Нетипизир. файл ReSet(fp) чтение из файла Read или ReadLn Read или Write Read ReWrite ( fp) запись в файл Write или WriteLn Write Write Append(fp) дописать в конец файла Write или WriteLn Х Х

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

Слайд 25: Пример :

Луковкин С.Б. МГТУ. 25 Пример : Program ExmpFile; Var Fa : Text; Tx : String[50]; Const S=‘C:\MyDoc\abc001.txt’; Begin Assign(Fa, S); Reset(Fa); While Not( EOF(fa)) do begin ReadLn(Fa, Tx); WriteLn(Tx); end; Close(Fa); End. Логическая функция EOF(fa) принимает значение TRUE, Если встретился конец файла, иначе – FALSE.

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

Слайд 26: Основные функции для работы с файлами

Луковкин С.Б. МГТУ. 26 Основные функции для работы с файлами fp- файловая переменная Close(fp) – закрыть файл; Rename(fp,< Новое_имя >) – переименовать файл; Erase(fp) – удаляет файл (сначала его надо закрыть); Flush(fp) – запись всех изменений в файл на диске ; EOF(fp) – логическая функция = True, если достигнут конец файла, иначе EOF = False; IOResalt – признак последней операции ввода-вывода. При успешном завершении IOResalt = 0.

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

Слайд 27: Текстовые файлы

Луковкин С.Б. МГТУ. 27 Текстовые файлы. совокупность строк переменной длины. Последовательный доступ. Var fp : text; В конце каждой строки Е OLN = #13#10 В конце Файла EOF = #26 Чтение: Read(fp, List) или ReadLn(fp, List) List содержит Char, String, < целые >, < вещественные > Запись: Write(fp,List) или WriteLn(fp,List) List содержит Char, String, BOOLEAN; < целые >, < вещественные >

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

Слайд 28: Специальные функции для текстовых файлов

Луковкин С.Б. МГТУ. 28 Специальные функции для текстовых файлов EOLN(fp) – возвращает True, если в текстовом файле, из которого осуществляется ввод данных, достигнут маркер конца строки. SeekEOLN(fp) – ищет маркер конца строки и возвращает True, если до конца строки остались только пробелы. SeekEOF(fp) – ищет маркер конца файла и возвращает True, если до конца файла остались строки заполненные пробелами.

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

Слайд 29: Типизированные файлы

Луковкин С.Б. МГТУ. 29 Типизированные файлы. Предназначены для хранения однотипных элементов во внутренней форме представления. Тип элементов задаётся после ключевых слов FILE OF. Var fp : file of < тип_элементов >; Основные процедуры для работы с типизированными файлами Seek(fp,N) – делает текущим компонент N; FileSize(fp) – возвращает количество компонентов файла ; FilePose(fp) – возвращает номер компонента, который будет обрабатываться при следующей операции; Чтение-запись Read(fp, < список >); Write(fp,< список >).

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

Слайд 30: Типизированные файлы. Пример

Луковкин С.Б. МГТУ. 30 Типизированные файлы. Пример. Program TPZ_f; Const n=10; Type student = record name : string [30]; group : word; marks : array [1.. 5] of byte; end; s_mas = array[1..n] of student; Var s1: student; sall : s_mas; f1: file of s_mas; i:word; Begin assign(f1,’stdata.tpz’); rewrite(f1); for i:=1 to n do begin with s1 do begin write(‘name = ‘); readln(name); write(‘group=‘); readln(group); write(‘ marks=‘); readln(marks[1], marks[2], marks[3], marks[4], marks[5]); end; sall [ i ]:=s1; end; write(f1, sall); Close(f1); end.

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

Слайд 31: Лекция 10. Примеры: некоторые алгоритмы и их программная реализация

Луковкин С.Б. МГТУ. 31 Лекция 10. Примеры: некоторые алгоритмы и их программная реализация. Алгоритмы сортировки; Суммирование рядов;

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

Слайд 32: Сортировка простым выбором

Луковкин С.Б. МГТУ. 32 Сортировка простым выбором. Задача: Упорядочить числовой массив в порядке возрастания элементов. Заданы элементы массива и их количество. Алгоритм: выберем наименьший элемент среди всех, начиная с первого, и поменяем его местами с первым элементом. Повторим эту процедуру начиная со второго элемента массива, и т.д.

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

Слайд 33: Блок-схема сортировки простым выбором ( по возрастанию)

Луковкин С.Б. МГТУ. 33 Блок-схема сортировки простым выбором ( по возрастанию). Сортировка закончена i= 1 a[ j ] < X j=j+1 да нет k= i X=a[ i ] j=i+1 k = j X=a[ j ] j <= N да a[ k ] = a[ i ] a[ i ] = X i=i+1 i <= N-1 нет да нет

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

Слайд 34: Сортировка простым выбором

Луковкин С.Б. МГТУ. 34 Сортировка простым выбором. Program Simpl_Sort; const n = 10; var a : array [1.. n] of integer; i, j, k, x : integer; begin writeln ('Введите ', n, ' элементов массива'); for i := 1 to n do read(a[i]); for i := 1 to n - 1 do begin k := i; x:=a[i]; for j := i + 1 to n do if a[j] < x then begin k := j; x:=a[k]; end; a[k] := a[i]; a[i] := x; end; writeln ('Упорядоченный массив:'); for i := 1 to n do write(a[i]:5) end.

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

Слайд 35: Сортировка простым включением

Луковкин С.Б. МГТУ. 35 Сортировка простым включением. Задача: Упорядочить по возрастанию элементы массива. Алгоритм решения задачи: Пусть на некотором этапе работы алгоритма левая часть Мас c ива с 1-ого по ( i-1) элементы уже отсортирована, а правая часть с i – ого по N- ый осталась в прежнем виде. Берём первый элемент правой (неотсортированной) части и вставляем в левую часть так, чтобы упорядоченность левой части c охранилась. В начале алгоритма левая часть состоит из одного элемента А [1].

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

Слайд 36: Блок-схема сортировки простым включением (по возрастанию)

Луковкин С.Б. МГТУ. 36 Блок-схема сортировки простым включением (по возрастанию) i= 2 j > 0 да нет X=a[ i ] j=i-1 a[ j+1]=X X < a[ j ] да a[ j+1] = a[ j ] j = j -1 i=i+1 i <= N нет да нет Сортировка закончена

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

Слайд 37: Сортировка простым включением

Луковкин С.Б. МГТУ. 37 Сортировка простым включением. Program Simpl_Ins_Sort; const n = 10; a : array [1.. n] of integer=(2, -3, 5, 9, …) var i, j, x : integer; begin for i := 2 to n do begin x:=a[ i ]; j:= i -1; while (x < a[ j ]) and ( j > 0) do Begin a [ j+1] := a[ j ]; j := j-1; end; a[ j+1]:=x end; writeln ('Упорядоченный массив:'); for i := 1 to n do write(a[ i ]:5) end.

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

Слайд 38: Суммирование рядов с заданным числом слагаемых

Луковкин С.Б. МГТУ. 38 Суммирование рядов с заданным числом слагаемых. Задана формула для вычисления суммы заданного количества слагаемых. Program SUM_N; Var S,x,C : real; k,n : word; Begin write(‘ Введите кол-во слагаемых n и X=‘); readln(n, x); S:=1; C:= 1 ; For k := 1 to n do begin C:=(-1)*x*x*C/k; S:=S+C; end; Writeln(‘ для заданного x сумма S(x) = ‘, S:10:5); End.

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

Слайд 39: Суммирование рядов с заданной точностью

Луковкин С.Б. МГТУ. 39 Суммирование рядов с заданной точностью. Признак Лейбница сходимости знакочередующихся рядов. Задан знакочередующийся ряд: S = U1 – U2 + U3 – U4 + U5 …. (1) Если члены знакочередующегося ряда монотонно убывают: U1 > U2 > U3 … Lim Un = 0 при n -> , то ряд сходится и его сумма S отличается от n- ой частичной суммы не более чем на величину модуля первого отбрасываемого члена ряда. Если в формуле (1) слагаемые U1, U2 … Un зависят от x, то ряд называется функциональным: S ( x) = U1(x) – U2(x) + U3(x) – U4(x) + U5(x) ….

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

Слайд 40: Алгоритм суммирования знакочередующихся рядов с заданной точностью

Луковкин С.Б. МГТУ. 40 Алгоритм суммирования знакочередующихся рядов с заданной точностью. Попытаться выразить (n+1) слагаемое через ( n ) – ое: C(n+1) = M(x,n)*C(n) Вводим значение x, при котором требуется вычислить сумму ряда, и точность eps, с которой надо вычислить сумму. «Накапливаем» слагаемые ряда в переменной S до тех пор, пока очередное слагаемое по модулю не будет меньше или равно eps. Выводим на экран найденное значение суммы и количество слагаемых, к o торое потребовалось для достижения заданной точности.

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

Слайд 41: Пример

Луковкин С.Б. МГТУ. 41 Пример. Вычислить с точностью eps сумму ряда:

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

Последний слайд презентации: Лекция 7. Строковый тип данных

Луковкин С.Б. МГТУ. 42 Program row1; var S,A,x,eps,m:real; k: byte; begin S:=0; A:=-1; m:=1.0; k:=1; write(' x ='); readln(x); If(x<=0) or (x>2) then begin writeln(' bad value of x'); Halt(111) end; write(' eps = '); readln(eps); while abs(a)>=eps do begin A:=(-1)*A*(x-1)*m; s:=s+a; writeln(' k = ', k:3, ' S = ',s:8:5); m:=k/(k+1); inc(k); end; writeln(' exact value Ln(x) = ', ln(x):8:5); readln; end.

Изображение слайда
1/1
Реклама. Продолжение ниже