🗊 Презентация Структурные типы данных (Delphi / Pascal, глава 3)

Нажмите для полного просмотра!
Структурные типы данных (Delphi / Pascal, глава 3), слайд №1 Структурные типы данных (Delphi / Pascal, глава 3), слайд №2 Структурные типы данных (Delphi / Pascal, глава 3), слайд №3 Структурные типы данных (Delphi / Pascal, глава 3), слайд №4 Структурные типы данных (Delphi / Pascal, глава 3), слайд №5 Структурные типы данных (Delphi / Pascal, глава 3), слайд №6 Структурные типы данных (Delphi / Pascal, глава 3), слайд №7 Структурные типы данных (Delphi / Pascal, глава 3), слайд №8 Структурные типы данных (Delphi / Pascal, глава 3), слайд №9 Структурные типы данных (Delphi / Pascal, глава 3), слайд №10 Структурные типы данных (Delphi / Pascal, глава 3), слайд №11 Структурные типы данных (Delphi / Pascal, глава 3), слайд №12 Структурные типы данных (Delphi / Pascal, глава 3), слайд №13 Структурные типы данных (Delphi / Pascal, глава 3), слайд №14 Структурные типы данных (Delphi / Pascal, глава 3), слайд №15 Структурные типы данных (Delphi / Pascal, глава 3), слайд №16 Структурные типы данных (Delphi / Pascal, глава 3), слайд №17 Структурные типы данных (Delphi / Pascal, глава 3), слайд №18 Структурные типы данных (Delphi / Pascal, глава 3), слайд №19 Структурные типы данных (Delphi / Pascal, глава 3), слайд №20 Структурные типы данных (Delphi / Pascal, глава 3), слайд №21 Структурные типы данных (Delphi / Pascal, глава 3), слайд №22 Структурные типы данных (Delphi / Pascal, глава 3), слайд №23 Структурные типы данных (Delphi / Pascal, глава 3), слайд №24 Структурные типы данных (Delphi / Pascal, глава 3), слайд №25 Структурные типы данных (Delphi / Pascal, глава 3), слайд №26 Структурные типы данных (Delphi / Pascal, глава 3), слайд №27 Структурные типы данных (Delphi / Pascal, глава 3), слайд №28 Структурные типы данных (Delphi / Pascal, глава 3), слайд №29 Структурные типы данных (Delphi / Pascal, глава 3), слайд №30 Структурные типы данных (Delphi / Pascal, глава 3), слайд №31 Структурные типы данных (Delphi / Pascal, глава 3), слайд №32 Структурные типы данных (Delphi / Pascal, глава 3), слайд №33 Структурные типы данных (Delphi / Pascal, глава 3), слайд №34 Структурные типы данных (Delphi / Pascal, глава 3), слайд №35 Структурные типы данных (Delphi / Pascal, глава 3), слайд №36 Структурные типы данных (Delphi / Pascal, глава 3), слайд №37 Структурные типы данных (Delphi / Pascal, глава 3), слайд №38 Структурные типы данных (Delphi / Pascal, глава 3), слайд №39 Структурные типы данных (Delphi / Pascal, глава 3), слайд №40

Содержание

Вы можете ознакомиться и скачать презентацию на тему Структурные типы данных (Delphi / Pascal, глава 3). Доклад-сообщение содержит 40 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Глава 3 Структурные типы данных МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления Кафедра Компьютерные системы и сети Лектор: д.т.н.,...
Описание слайда:
Глава 3 Структурные типы данных МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления Кафедра Компьютерные системы и сети Лектор: д.т.н., проф. Иванова Галина Сергеевна

Слайд 2


3.1 Массивы Массив – это упорядоченная совокупность однотипных данных. Каждому элементу массива соответствует один или несколько индексов порядкового...
Описание слайда:
3.1 Массивы Массив – это упорядоченная совокупность однотипных данных. Каждому элементу массива соответствует один или несколько индексов порядкового типа, определяющих положение элемента в массиве. Количество типов индексов задает размерность массива. Тип индекса – порядковый – определяет доступ к элементу. Тип элемента – любой кроме файла, в том числе массивы, строки и т.п. Массив в памяти не может занимать более 2 Гб.

Слайд 3


Примеры объявления массивов Var a:array[1..5] of integer; с:array[’A’..’C’,-5..-3] of byte; b:array[byte] of char; Type mas=array[1..10] of integer;...
Описание слайда:
Примеры объявления массивов Var a:array[1..5] of integer; с:array[’A’..’C’,-5..-3] of byte; b:array[byte] of char; Type mas=array[1..10] of integer; Var a:mas; Инициализация массива при объявлении Var a:array[1..5]of real=(0,-3.6,7.8,3.789,5.0); b: array[boolean, 1..5] of real= ((0,-3.6,7.8,3.789,5.0), (6.1,0,-4.56,8.9,3.0));

Слайд 4


Операции над массивами 1. Операция присваивания (только для массивов одного типа): Пример: Var a, b:array[boolean] of real; ... a:=b; 2. Доступ к...
Описание слайда:
Операции над массивами 1. Операция присваивания (только для массивов одного типа): Пример: Var a, b:array[boolean] of real; ... a:=b; 2. Доступ к элементу массива: Пример: Var a:array[char,boolean] of real; ... a[’A’,true]:=5.1; {прямой доступ} ... Ch:=’B’; b:=false; a[Ch,b]:=3; {косвенный доступ: значения индексов находятся в переменных}

Слайд 5


Косвенный доступ к элементам массива Косвенный доступ позволяет реализовать последовательную обработку элементов массивов: for i:=1 to 6 do...
Описание слайда:
Косвенный доступ к элементам массива Косвенный доступ позволяет реализовать последовательную обработку элементов массивов: for i:=1 to 6 do a[i]:=i*i; или for i:=6 downto 1 do a[i]:=i*i;

Слайд 6


Операции над массивами (2) 3. Ввод/вывод массивов осуществляется поэлементно: Пример 1. Ввод элементов одномерного массива Var a:array[1..5] of real;...
Описание слайда:
Операции над массивами (2) 3. Ввод/вывод массивов осуществляется поэлементно: Пример 1. Ввод элементов одномерного массива Var a:array[1..5] of real; ... for i:=1 to 5 do Read(a[i]); ReadLn; {обрабатывает последнее Enter} Значения вводятся через пробел, Tab() или Enter(), например: а) 2 -6 8 56 34  б) 2  -6  8  56  34 

Слайд 7


Операции над массивами (3) Пример 2. Вывод матрицы. Var a:array[1..5, 1..7] of real; Begin ... for i:=1 to 5 do begin for j:=1 to 7 do Write(a[i,...
Описание слайда:
Операции над массивами (3) Пример 2. Вывод матрицы. Var a:array[1..5, 1..7] of real; Begin ... for i:=1 to 5 do begin for j:=1 to 7 do Write(a[i, j]); { ai,1 ai,2 ai,3 ai,4 ai,5 ai,6 ai,7} WriteLn; {переходим на следующую строку} end; ...

Слайд 8


Максимальный элемент массива и его номер
Описание слайда:
Максимальный элемент массива и его номер

Слайд 9


Программа Program Ex3_1; {$APPTYPE CONSOLE} Uses SysUtils; Var a:array[1..5] of single; amax:single;i, imax:byte; Begin WriteLn('Input 5 values:');...
Описание слайда:
Программа Program Ex3_1; {$APPTYPE CONSOLE} Uses SysUtils; Var a:array[1..5] of single; amax:single;i, imax:byte; Begin WriteLn('Input 5 values:'); for i:=1 to 5 do Read(a[i]); ReadLn; amax:=a[1]; imax:=1; for i:=2 to 5 do if a[i]>amax then begin amax:=a[i]; imax:=i; end; WriteLn('Values:'); for i:=1 to 5 do Write(a[i]:7:2); WriteLn; WriteLn('Max =', amax:5:2, ', number=', imax); ReadLn; End.

Слайд 10


Сумма элементов строк матрицы
Описание слайда:
Сумма элементов строк матрицы

Слайд 11


Программа суммирования элементов строк Program Ex3_2; {$APPTYPE CONSOLE} uses SysUtils; Var A:array[1..10,1..10] of real; B:array[1..10] of real;...
Описание слайда:
Программа суммирования элементов строк Program Ex3_2; {$APPTYPE CONSOLE} uses SysUtils; Var A:array[1..10,1..10] of real; B:array[1..10] of real; n,m,i,j:byte; Begin WriteLn('Input n,m'); ReadLn(n,m); WriteLn('Input matrics n*m values:'); for i:=1 to n do begin for j:=1 to m do Read(A[i,j]); ReadLn; end; WriteLn('Results:'); for i:=1 to n do begin B[i]:=0; for j:=1 to m do B[i]:=B[i]+A[i,j]; for j:=1 to m do Write(A[i,j]:7:2); WriteLn(' Sum= ',B[i]:7:2); end; ReadLn; End.

Слайд 12


3.2 Строки Строка – последовательность символов. Целое – максимальная длина строки. Внутренний формат:
Описание слайда:
3.2 Строки Строка – последовательность символов. Целое – максимальная длина строки. Внутренний формат:

Слайд 13


Примеры описания строк 1) Var S1,S2:string[40]; S3:string; 2) С предварительным объявлением типов: Type S40 = string[40]; ST = string; Var S1,S2:...
Описание слайда:
Примеры описания строк 1) Var S1,S2:string[40]; S3:string; 2) С предварительным объявлением типов: Type S40 = string[40]; ST = string; Var S1,S2: S40; S3:ST; 3) С инициализацией Var S:string[40]=’Строковая константа’; S1:string = ’’;

Слайд 14


Операции над строками 1. Присваивание строк: S1:=′ABCD′; S1:=S2; S1:=′A′; S1:=′′;{пустая строка} 2. Обращение к элементу: S1[5] - прямое S1[i] -...
Описание слайда:
Операции над строками 1. Присваивание строк: S1:=′ABCD′; S1:=S2; S1:=′A′; S1:=′′;{пустая строка} 2. Обращение к элементу: S1[5] - прямое S1[i] - косвенное 3. Конкатенация (сцепление) строк: St:=St + ’A’; St:=’A’ + ’B’; 4. Операции отношения – выполняется попарным сравнением кодов символов, результат определяется по отношению кодов первых различных символов: b:= S1 > S2; ’T’ < ’Ta’

Слайд 15


Стандартные процедуры и функции 1. Функция Length(st):word – возвращает длину строки st: n:=Length(st1); 2. Процедура Delete(st, index, count) –...
Описание слайда:
Стандартные процедуры и функции 1. Функция Length(st):word – возвращает длину строки st: n:=Length(st1); 2. Процедура Delete(st, index, count) – удаляет count символов строки st, начиная с символа с номером index: S1: = ′dddddsssssfffff′; Delete(S1,6,5); 3. Процедура Insert(St2,St1,index) – вставляет подстроку символов St2 в строку St1, начиная с символа с номером index: S1 = ′dddddddddd′; S2 = ′аааааа′ ; Insert(S2,S1,6); Insert(′Pas’,S1,6);

Слайд 16


Стандартные процедуры и функции (2) 4. Процедура Str(x[:w[:d]],St) – преобразует результат выражения x, в строку st, содержащую запись этого числа в...
Описание слайда:
Стандартные процедуры и функции (2) 4. Процедура Str(x[:w[:d]],St) – преобразует результат выражения x, в строку st, содержащую запись этого числа в виде последовательности символов (как при выводе). x:=-5.67; Str(x:7:3,s1); 5. Процедура Val(St,x,Code) – преобразует строку St с записью числа в виде последовательности символов во внутреннее представление целого или вещественного числа и помещает его в переменную x. В целочисленной переменной Code процедура возвращает код ошибки: Var S:string; Code:integer; a:real; ... ...repeat Write(′Input a:′); ReadLn(S); Val(S,a,Code); if Code0 then WriteLn(′Input error′); until Code=0; ...

Слайд 17


Стандартные процедуры и функции (3) 6. Функция Copy(St,index,count):string – возвращает фрагмент строки St, длиной count символов, начиная с символа...
Описание слайда:
Стандартные процедуры и функции (3) 6. Функция Copy(St,index,count):string – возвращает фрагмент строки St, длиной count символов, начиная с символа с номером index: S1 = ′qqqEEEEEEuuuuu′; S:= Copy(S1,4,6); 7. Функция Pos(St2,St1):integer – возвращает номер позиции первого вхождения подстроки St2 в строку St1. Если вхождение не найдено, то функция возвращает 0: S1 = ′qqqEEррEEuuuuu′; i:= Pos(′EE′,S1); 8. Функция UpCase(ch):char – возвращает символ, соответствующий символу верхнего регистра для ch, если таковой имеется, либо сам символ ch, если для него не определен символ верхнего регистра.

Слайд 18


Удаление «лишних» пробелов из строки
Описание слайда:
Удаление «лишних» пробелов из строки

Слайд 19


Программа Program Ex3_3; {$APPTYPE CONSOLE} Uses SysUtils; Var st:string[40]; k:byte; Begin WriteLn('Input string
Описание слайда:
Программа Program Ex3_3; {$APPTYPE CONSOLE} Uses SysUtils; Var st:string[40]; k:byte; Begin WriteLn('Input string

Слайд 20


Преобразование последовательности строк Вводится последовательность строк вида Иванов Иван Иванович 1956  Иванов И.И. 45 Завершение ввода – при...
Описание слайда:
Преобразование последовательности строк Вводится последовательность строк вида Иванов Иван Иванович 1956  Иванов И.И. 45 Завершение ввода – при чтении пустой строки.

Слайд 21


Программа Program Ex3_4; {$APPTYPE CONSOLE} Uses SysUtils; Var st,strez,strab:string[40]; c1,c2,c3,n,old:word;code:integer; Begin WriteLn('Input...
Описание слайда:
Программа Program Ex3_4; {$APPTYPE CONSOLE} Uses SysUtils; Var st,strez,strab:string[40]; c1,c2,c3,n,old:word;code:integer; Begin WriteLn('Input string. End - empty string.'); ReadLn(st); while st'' do begin c1:=Pos(' ',st); strez:=Copy(st,1,c1+1)+'.'; strab:=Copy(st,c1+2,Length(st)-c1-1);

Слайд 22


Программа (2) c2:=Pos(' ',strab); strez:=strez+strab[c2+1]+'.'; Delete(strab,1,c2+1); c3:=Pos(' ',strab); Delete(strab,1,c3); Val(strab,n,code);...
Описание слайда:
Программа (2) c2:=Pos(' ',strab); strez:=strez+strab[c2+1]+'.'; Delete(strab,1,c2+1); c3:=Pos(' ',strab); Delete(strab,1,c3); Val(strab,n,code); old:=2001-n; Str(old,strab); strez:=strez+' '+strab; WriteLn(strez); WriteLn('Input string. End - empty string.'); ReadLn(st); end; End.

Слайд 23


3.3 Множества Множество – неупорядоченная совокупность неповторяющихся элементов. Тип элементов – порядковый, кроме Word, Integer, SmallInt, LongInt....
Описание слайда:
3.3 Множества Множество – неупорядоченная совокупность неповторяющихся элементов. Тип элементов – порядковый, кроме Word, Integer, SmallInt, LongInt. Количество элементов не должно превышать 256. Type Digits = set of 1..100; Setchar = set of char; letter = set of ′a′..′z′; Var mychar: setchar; mydig: Digits; simst: letter; или Var number: set of 1..31; cif: set of 0..9; kods: set of #0..#255;

Слайд 24


Конструкторы и инициализация множеств Конструкторы множеств – константы множественного типа: [] – пустое множество; [2,3,5,7,11] – множество чисел;...
Описание слайда:
Конструкторы и инициализация множеств Конструкторы множеств – константы множественного типа: [] – пустое множество; [2,3,5,7,11] – множество чисел; [’a’,’d’,’f’,’h’] – множество символов; [1,k] – множество чисел, переменная k должна содержать число; [2..100] – множество содержит целые числа из указанного интервала; [k..2*k] – интервал можно задать выражениями; [red,yellow,green]- множество перечисляемого типа Инициализация множеств при объявлении: Type setnum = set of byte; Var S:setnum = [1..10];

Слайд 25


Операции над множествами 1. Присваивание: A:=B; A:=[]; 2. Объединение, пересечение и дополнение: А+B (AB) – объединение множеств А и B – множество,...
Описание слайда:
Операции над множествами 1. Присваивание: A:=B; A:=[]; 2. Объединение, пересечение и дополнение: А+B (AB) – объединение множеств А и B – множество, состоящее из элементов, принадлежащих множествам А и B А*B (AB) – пересечение множеств А и B – множество, состоящее из элементов, принадлежащих одновременно и множеству А и множеству B. А-B (A \ B) – дополнение множества А до B – множество, состоящее из тех элементов множества А, которые не принадлежат множеству B. Примеры: [1,2]+[3,4] = [1,2,3,4]; [1..10]*[3,8,9,15,23,45] = [3,8,9]; [1..15]-[3,8,9,15,23,45] = [1,2,4..7,10..14]; [red,blue,green,black]*[blue,magenta,yellow] = [blue]

Слайд 26


Операции над множествами (2) 3. Операции отношения: А = B – проверка совпадения множеств А и B (если совпадают – true) А B – проверка не совпадения...
Описание слайда:
Операции над множествами (2) 3. Операции отношения: А = B – проверка совпадения множеств А и B (если совпадают – true) А B – проверка не совпадения множеств А и B (не совпадают – true). А B – проверка строгого вхождения B в A (если входит – true). 4. Проверка вхождения элемента во множество: Пример: if a in [2..6] then …

Слайд 27


Ввод-вывод элементов множеств Значения множественного типа нельзя вводить и выводить ! Ввод элементов множества: Var S:set of 1..100; n:word; ......
Описание слайда:
Ввод-вывод элементов множеств Значения множественного типа нельзя вводить и выводить ! Ввод элементов множества: Var S:set of 1..100; n:word; ... S:=[]; Read(n); while n0 do begin S:=S+[n]; Read(n); end; ReadLn;... Вывод элементов множества: Var S:set of ’a’..’z’; ... for i:=’a’ to ’z’ do if i in S then Write(i:3); WriteLn;

Слайд 28


Определение множества цифр числа Program Ex3_5; {$APPTYPE CONSOLE} Uses SysUtils; Var n:longint; st:string; mnoj:set of '0'..'9'; i:integer; j:char;...
Описание слайда:
Определение множества цифр числа Program Ex3_5; {$APPTYPE CONSOLE} Uses SysUtils; Var n:longint; st:string; mnoj:set of '0'..'9'; i:integer; j:char; Begin WriteLn('Input value:'); ReadLn(n); Str(abs(n),st); // преобразуем число в строку mnoj:=[]; for i:=1 to length(st) do mnoj:=mnoj+[st[i]]; //добавляем цифры WriteLn('String ',n,' includes '); for j:='0' to '9' do if j in mnoj then Write(j+' '); ReadLn; End.

Слайд 29


«Решето Эратосфена» (простые числа) Исходное состояние (NumSet): 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Результат (ResSet): 1
Описание слайда:
«Решето Эратосфена» (простые числа) Исходное состояние (NumSet): 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Результат (ResSet): 1

Слайд 30


«Решето Эратосфена» (2) Program Ex3_6; {$APPTYPE CONSOLE} Uses SysUtils; Const N = 100; Type Numbers = set of 1..N; Var NumSet,ResSet:Numbers;...
Описание слайда:
«Решето Эратосфена» (2) Program Ex3_6; {$APPTYPE CONSOLE} Uses SysUtils; Const N = 100; Type Numbers = set of 1..N; Var NumSet,ResSet:Numbers; Next,Nn,i:word; Begin NumSet := [2..N]; ResSet := [1]; Next := 2;

Слайд 31


«Решето Эратосфена» (простые числа)(3) while NumSet [] do begin Nn := Next; while Nn
Описание слайда:
«Решето Эратосфена» (простые числа)(3) while NumSet [] do begin Nn := Next; while Nn

Слайд 32


3.4 Записи Запись – это структура данных, образованная фиксированным числом разнотипных компонентов, называемых полями записи. Пример записи: Иванов...
Описание слайда:
3.4 Записи Запись – это структура данных, образованная фиксированным числом разнотипных компонентов, называемых полями записи. Пример записи: Иванов Иван 20 лет студент 1 курса  Иванов | Иван | 20 | студент | 1 Фиксированная часть записи:

Слайд 33


Объявление и инициализация записей Примеры: а) Var Zap1: record Day:1..31; Month: 1..12; Year: word; end; б) Type Data = record Day:1..31; Month:...
Описание слайда:
Объявление и инициализация записей Примеры: а) Var Zap1: record Day:1..31; Month: 1..12; Year: word; end; б) Type Data = record Day:1..31; Month: 1..12; Year: word; end; Var Zap1:Data; в) Var BirthDay: Data = (Day:30; Month:6; Year:1973);

Слайд 34


Операции над записями 1. Присваивание записей одного типа: Var A,B: record Day:1..31; Month: 1..12; Year: word; end; … A:=B; 2. Доступ к полям...
Описание слайда:
Операции над записями 1. Присваивание записей одного типа: Var A,B: record Day:1..31; Month: 1..12; Year: word; end; … A:=B; 2. Доступ к полям записи: A.Day:=21; {точечная нотация} with A do Day := 21; {оператор доступа} 3. Ввод и вывод записей осуществляется по полям.

Слайд 35


Массив записей Задача. Вводится список: Ф.И.О. Год р. Месяц р. Дата р. Иванов Б.А. 1986 11 26 Петров М.А. 1985 5 12 Сидоров А.В. 1986 4 8 Определить...
Описание слайда:
Массив записей Задача. Вводится список: Ф.И.О. Год р. Месяц р. Дата р. Иванов Б.А. 1986 11 26 Петров М.А. 1985 5 12 Сидоров А.В. 1986 4 8 Определить дату рождения по фамилии и инициалам.

Слайд 36


Программа Program Ex3_7; {$APPTYPE CONSOLE} Uses SysUtils; Type data=record year:word; month:1..12; day:1..31; end; zap=record fam:string[16];...
Описание слайда:
Программа Program Ex3_7; {$APPTYPE CONSOLE} Uses SysUtils; Type data=record year:word; month:1..12; day:1..31; end; zap=record fam:string[16]; birthday:data; end; Var fb:array[1..25] of zap; fff:string[16]; i,j,m,n:byte; key:boolean;

Слайд 37


Ввод записей Begin WriteLn('Input n
Описание слайда:
Ввод записей Begin WriteLn('Input n

Слайд 38


Вывод списка и ввод фамилии WriteLn; WriteLn('List of group '); WriteLn; for i:=1 to m do with fb[i] do begin Write(i:2,fam:17); with birthday do...
Описание слайда:
Вывод списка и ввод фамилии WriteLn; WriteLn('List of group '); WriteLn; for i:=1 to m do with fb[i] do begin Write(i:2,fam:17); with birthday do WriteLn(year:6, month:4, day:4); end; WriteLn; Write('Input family:'); ReadLn(fff);

Слайд 39


Поиск. Программирование поискового цикла i:=1; key:=false; while (i
Описание слайда:
Поиск. Программирование поискового цикла i:=1; key:=false; while (i

Слайд 40


Вывод результата {вывод результата} if key then with fb[i] do begin WriteLn('Student :'); Write(fam:18,' '); with birthday do WriteLn(day:2,':',...
Описание слайда:
Вывод результата {вывод результата} if key then with fb[i] do begin WriteLn('Student :'); Write(fam:18,' '); with birthday do WriteLn(day:2,':', month:2,':', year:5); end else WriteLn('No data about:',fff:18); ReadLn; End.



Похожие презентации
Mypresentation.ru
Загрузить презентацию