Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Структурные типы данных языка Паскаль

Содержание

Общие замечанияСтруктурированные типы данных определяют упорядоченную совокуп-ность скалярных переменных и харак-теризуются типом своих компонентов.
Структурированные типы данныхИнформатика и ИКТСмирнов М.В. МКО ООШ п. Климковка  Белохолуницкого района  Кировской области Общие замечанияСтруктурированные типы данных определяют упорядоченную совокуп-ность скалярных переменных и харак-теризуются типом своих компонентов. Общие замечания В Паскале допускаются следующие структурированные типы данных:строкимассивымножества записифайлыуказателипроцедурные типыобъекты О чем пойдет речьСтроковый (строки)Строковые операции функции и процедурыМассивыМножества. Операции над множествамиЗаписиСтруктурированные типы данных Строковый тип данныхСтроковая константа – последовательность символов, заключенная в апострофы.Максимальная длина строковой Строковый тип данныхСтроковые переменныеСтроки в Pascal имеют тип string и состоят не Строковый тип данныхДля экономии памяти предусмотрено описание вида var S1: string[n];В этом Строковый тип данныхК символам в строке можно обращать-ся, используя индекс: s[i] обозначает Операции над строкамиОперация сцепления (конкатенации) – (+)Применяется для соединения нескольких строк в Операции над строкамиОперация отношения: =, >, =, Строковые функцииСинтаксис записи: a := Length(s) Пример:Length (S) – определяет длину строки Строковые функцииСинтаксис записи: a := Copy (S, Poz, N) Пример:Copy (S, Poz, Строковые функцииСинтаксис записи: a := Pos (S1,S2) Пример:Pos (S1,S2) – обнаруживает первое Строковые функцииСинтаксис записи: a := concat (S1,S2, …,Sn) Пример:Concat (S1,S2, …,Sn) – Строковые функцииСинтаксис записи: S := IntToStr(N) Пример:IntToStr(N) – преобразует целое число к строке Строковые функцииСинтаксис записи: N := StrToInt(S) Пример:StrToInt(S) – преобразует строку в целое число Строковые функцииСинтаксис записи: S1 := Trim(S) Пример:Trim(S) – возвращает копию строки S Строковые процедурыПример:Val(S, v, code) - преобразует строку S к числовому представлению и Строковые процедурыПример:Str(x, s) - преобразует число x к строковому представлениюПеременная Х может Строковые процедурыСинтаксис записи: delete (S, Poz, N) Пример:Delete (S, Poz, N) – Строковые процедурыСинтаксис записи: Insert (S1, S2, Poz) Пример: S1:=‘мыла ’Insert (S1, S2,Poz) Массивы элементовМАССИВ – это пронумерованная ко-нечная последовательность однотипных величин. Величины входящие в Массивы элементовОбращение к элементам массива происходит по его имени и индексу.Имя элемента Массивы элементовЛинейные (одномерные) массивы – это массивы элементу у которых – простые Массивы элементовОписание линейных массивовVar  : array [нижняя граница массива . . Массивы элементовДвумерные массивы – структура данных, хранящая прямоугольную матрицу (таблицу).  В Массивы элементовДвумерные массивы – структура данных, хранящая прямоугольную матрицу (таблицу).  В Массивы элементовОписание двумерных массивовПример: Var a: array [1..10,1..5] of integer; Массивы элементовФундаментальное отличие компонента массива от простой переменной состоит в том, что Массивы элементовЗаполнение массивов происходит поэлементно с использованием операторов цикла.Пример:1. Заполнение линейного массива МножестваМножество – это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо МножестваКаждый элемент в множестве называется элементом множества.Все элементы множества должны принадлежать одному МножестваВ выражениях на языке Паскаль значения элементов множества указывается в квадратных скобках: МножестваФормат записи множественных типовType   = set of ;Var  : МножестваЗадать множественный тип можно и без предварительного описанияVar   : set Операции над множествамиОперация «равно» (=). Два множества А и В считаются равными, Операции над множествамиОперация «не равно» (< >). Два множества А и В Операции над множествамиОперация «больше или равно» (>=). Множество А >= множества В, Операции над множествамиОперация «меньше или равно» (>=). Множество А Операции над множествамиОперация «in». Данная операция используется для проверки принадлежности какого-либо значения Операции над множествамиОбъединение множеств (+) – объединением двух множеств является третье множество, содержащее элементы обоих множеств. Операции над множествамиПересечение множеств (*) – пересечением двух мно-жеств является третье множество, Операции над множествамиРазность множеств (-) – разностью двух множеств является третье множество, ЗаписиЗапись – это структурированный тип данных, состоящий из компонентов одного или нескольких ЗаписиПример описания записи:Type Car = record Numbe : integer; {Номер} Marka : ЗаписиОбращение к значению поля осуществляется с помощью идентификатора переменной и иденти-фикатора поля, ЗаписиСоставное имя можно использовать везде, где допустимо применение типа поле.Примеры:M.Namber := 163 ЗаписиВ ряде задач удобно пользоваться массивами из записей. Их можно определить т.о.Type ЗаписиОбращение к полям записи имеет несколько громоздкий вид. Для решения этой проблемы ЗаписиПример: Присвоить значения полям записи Car с помощью оператора withWith M do
Слайды презентации

Слайд 2 Общие замечания
Структурированные типы данных определяют упорядоченную совокуп-ность скалярных

Общие замечанияСтруктурированные типы данных определяют упорядоченную совокуп-ность скалярных переменных и харак-теризуются типом своих компонентов.

переменных и харак-теризуются типом своих компонентов.


Слайд 3 Общие замечания
В Паскале допускаются следующие структурированные типы

Общие замечания В Паскале допускаются следующие структурированные типы данных:строкимассивымножества записифайлыуказателипроцедурные типыобъекты

данных:
строки
массивы
множества
записи
файлы
указатели
процедурные типы
объекты


Слайд 4 О чем пойдет речь
Строковый (строки)
Строковые операции функции и

О чем пойдет речьСтроковый (строки)Строковые операции функции и процедурыМассивыМножества. Операции над множествамиЗаписиСтруктурированные типы данных

процедуры
Массивы
Множества. Операции над множествами
Записи
Структурированные типы данных


Слайд 5 Строковый тип данных
Строковая константа – последовательность символов, заключенная

Строковый тип данныхСтроковая константа – последовательность символов, заключенная в апострофы.Максимальная длина

в апострофы.
Максимальная длина строковой константы 255 символов

Пример: ‘234’, ‘константа’

Два следующих

друг за другом апострофа (‘’) обозначают пустую строку, т.е. строку с нулевой длиной

Слайд 6 Строковый тип данных
Строковые переменные
Строки в Pascal имеют тип

Строковый тип данныхСтроковые переменныеСтроки в Pascal имеют тип string и состоят

string и состоят не более чем из 255 символов.
Под

переменную S отводится 256 байт, при этом в нулевом байте хранится длина строки.
При описании var S: string;

Тип String и стандартный тип Char совместимы. Строки и символы могут использоваться в одних выражениях


Слайд 7 Строковый тип данных
Для экономии памяти предусмотрено описание вида

Строковый тип данныхДля экономии памяти предусмотрено описание вида var S1: string[n];В

var S1: string[n];
В этом случае под строку отводится n+1

байт (нулевой байт - под длину строки). В случае присваивания переменной S1 строки из более чем n символов лишние символы отсекаются, и длина строки S1 полагается равной n.
Пример: var S1:string[40]

Слайд 8 Строковый тип данных
К символам в строке можно обращать-ся,

Строковый тип данныхК символам в строке можно обращать-ся, используя индекс: s[i]

используя индекс: s[i] обозначает i-тый символ в строке. Обращение

к нулевому символу s[0] считается ошибочным.
Если индекс i выходит за пределы дли-ны строки, то сообщение об ошибке не выдается.

Индекс i принимает значения от 1 до 255, если длина строки не указана или от 1 до n, где n – максимальная длина строки, указанная при описании переменной.


Слайд 9 Операции над строками
Операция сцепления (конкатенации) – (+)
Применяется для

Операции над строкамиОперация сцепления (конкатенации) – (+)Применяется для соединения нескольких строк

соединения нескольких строк в одну результирующую строку. Сцеплять мож-но

как строковые константы, так и переменные.
Пример:
‘Мама ’+’мыла ’+’раму’ = ‘Мама мыла раму’.
Длина результирующей строки не должна превышать 255 символов

Слайд 10 Операции над строками
Операция отношения: =, >, =,

Операции над строкамиОперация отношения: =, >, =,

false.
Сравнение строк происходит слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпада-ющий символ имеет больший номер в таблице символьной кодировки.
Если строки имеют разную длину и в общей части символы совпадают, то более короткая строка считается меньше.

Слайд 11 Строковые функции
Синтаксис записи: a := Length(s)
Пример:
Length (S)

Строковые функцииСинтаксис записи: a := Length(s) Пример:Length (S) – определяет длину

– определяет длину строки S. Результат – значение целого типа


Слайд 12 Строковые функции
Синтаксис записи: a := Copy (S, Poz,

Строковые функцииСинтаксис записи: a := Copy (S, Poz, N) Пример:Copy (S,

N)
Пример:
Copy (S, Poz, N) – выделяет из строки

S подстроку длиной N символов, начиная с позиции Poz. Здесь N и Poz целочисленные выражения.

Слайд 13 Строковые функции
Синтаксис записи: a := Pos (S1,S2)
Пример:
Pos

Строковые функцииСинтаксис записи: a := Pos (S1,S2) Пример:Pos (S1,S2) – обнаруживает

(S1,S2) – обнаруживает первое появление в строке S2 подстроки

S1.
Результат – целое число, равное номеру позиции, где находится первый символ подстроки S1. Если в S2 под-строки S1 не обнаружено, то результат равен 0.

Слайд 14 Строковые функции
Синтаксис записи: a := concat (S1,S2, …,Sn)

Строковые функцииСинтаксис записи: a := concat (S1,S2, …,Sn) Пример:Concat (S1,S2, …,Sn)


Пример:
Concat (S1,S2, …,Sn) – выполняет сцепление (конкатенацию) строк S1,

S1, … Sn в одну строку

Слайд 15 Строковые функции
Синтаксис записи: S := IntToStr(N)
Пример:
IntToStr(N) –

Строковые функцииСинтаксис записи: S := IntToStr(N) Пример:IntToStr(N) – преобразует целое число к строке

преобразует целое число к строке


Слайд 16 Строковые функции
Синтаксис записи: N := StrToInt(S)
Пример:
StrToInt(S) –

Строковые функцииСинтаксис записи: N := StrToInt(S) Пример:StrToInt(S) – преобразует строку в целое число

преобразует строку в целое число


Слайд 17 Строковые функции
Синтаксис записи: S1 := Trim(S)
Пример:
Trim(S) –

Строковые функцииСинтаксис записи: S1 := Trim(S) Пример:Trim(S) – возвращает копию строки

возвращает копию строки S с удаленными лидирующими и заключительными

пробелами

Слайд 18 Строковые процедуры
Пример:
Val(S, v, code) - преобразует строку S

Строковые процедурыПример:Val(S, v, code) - преобразует строку S к числовому представлению

к числовому представлению и записывает результат в переменную v.

Если преобразование возможно, то в переменной code возвращается 0, если невозможно, то в code возвращается ненулевое значение. Переменные V и code должны иметь тип integer.

Синтаксис записи: Val(S, v, code)


Слайд 19 Строковые процедуры
Пример:
Str(x, s) - преобразует число x к

Строковые процедурыПример:Str(x, s) - преобразует число x к строковому представлениюПеременная Х

строковому представлению
Переменная Х может иметь тип integer или real
Синтаксис

записи: Str(x, S)

Слайд 20 Строковые процедуры
Синтаксис записи: delete (S, Poz, N)
Пример:
Delete

Строковые процедурыСинтаксис записи: delete (S, Poz, N) Пример:Delete (S, Poz, N)

(S, Poz, N) – удаление N символов из строки

S, начиная с позиции Poz.
Здесь N и Poz целочисленные выражения.

Слайд 21 Строковые процедуры
Синтаксис записи: Insert (S1, S2, Poz)
Пример:

Строковые процедурыСинтаксис записи: Insert (S1, S2, Poz) Пример: S1:=‘мыла ’Insert (S1,

S1:=‘мыла ’
Insert (S1, S2,Poz) – вставка строки S1 в

строку S2, начиная с позиции Poz.

назад


Слайд 22 Массивы элементов
МАССИВ – это пронумерованная ко-нечная последовательность однотипных

Массивы элементовМАССИВ – это пронумерованная ко-нечная последовательность однотипных величин. Величины входящие

величин. Величины входящие в состав массива называют элементами массива.
Каждый

элемент массива имеет два атрибута: индекс и значение.
Индекс элементов меняться не может в отличии от значения элемента массива.

Слайд 23 Массивы элементов
Обращение к элементам массива происходит по его

Массивы элементовОбращение к элементам массива происходит по его имени и индексу.Имя

имени и индексу.
Имя элемента массива совпадает с именем массива
Например :

а[5]; b[1,7]

ИНДЕКС – константа, переменная или выражение целого типа, определяющее порядковый номер элемента в массиве.


Слайд 24 Массивы элементов
Линейные (одномерные) массивы – это массивы элементу

Массивы элементовЛинейные (одномерные) массивы – это массивы элементу у которых –

у которых – простые переменные.
В одномерных массивах хранят значения

линейных таблиц.

Значения температуры в таблице – это элементы массива: Т [1], Т[2], . . . Т[12]


Слайд 25 Массивы элементов
Описание линейных массивов
Var : array [нижняя

Массивы элементовОписание линейных массивовVar : array [нижняя граница массива . .

граница массива . . верхняя граница массива] of

массива>

Пример: Var a: array [1..10] of integer; b: array [1..12] of real; с: array [‘a’..’z’] of real;


Слайд 26 Массивы элементов
Двумерные массивы – структура данных, хранящая прямоугольную

Массивы элементовДвумерные массивы – структура данных, хранящая прямоугольную матрицу (таблицу). В

матрицу (таблицу). В матрице каждый элемент определяется ном-ером строки

и номером столбца, на пересече-нии которых он расположен.


Слайд 27 Массивы элементов
Двумерные массивы – структура данных, хранящая прямоугольную

Массивы элементовДвумерные массивы – структура данных, хранящая прямоугольную матрицу (таблицу). В

матрицу (таблицу). В матрице каждый элемент определяется номером строки

и номером столбца, на пересечении которых он расположен.
В Паскале двумерный массив рассматрива-ют как массив, элементами которого являются линейные массивы, т.е. массив линейных массивов

Слайд 28 Массивы элементов
Описание двумерных массивов
Пример: Var a: array [1..10,1..5] of

Массивы элементовОписание двумерных массивовПример: Var a: array [1..10,1..5] of integer;

integer; b: array [1..12,1..50] of real;
Элементы

двумерного массива идентифицирую-тся переменными в двумя индексами. Первый индекс связывают с номером строки, второй – с номером столбца матрицы (прямоугольной таблицы)

Слайд 29 Массивы элементов
Фундаментальное отличие компонента массива от простой переменной

Массивы элементовФундаментальное отличие компонента массива от простой переменной состоит в том,

состоит в том, что для элемента массива в квадратных

скобках может стоять не только непосредственное значение индекса, но и выражение, приводящее к значению индексного типа. Таким образом реализуется косвенная адресация:
B[15] - прямая адресация;
B[K] - косвенная адресация через переменную K, значение которой будет использовано в качестве индекса элемента массива B.
Такая организация работы с такой структурой данных, как массив, позволяет использовать цикл для заполнения, обработки и распечатки его содержимого.

Слайд 30 Массивы элементов
Заполнение массивов происходит поэлементно с использованием операторов

Массивы элементовЗаполнение массивов происходит поэлементно с использованием операторов цикла.Пример:1. Заполнение линейного

цикла.
Пример:
1. Заполнение линейного массива For i:=1 to 10 do

b[i]:=i;
2. Заполнение двумерного массива for i:=1 to 10 do for J:=1 to 5 do a[i,j] := i+j;

назад


Слайд 31 Множества
Множество – это структурированный тип данных, представляющий собой

МножестваМножество – это структурированный тип данных, представляющий собой набор взаимосвязанных по

набор взаимосвязанных по какому-либо признаку или группе признаков объектов,

которые можно рассматривать как единое целое.

Основные понятия


Слайд 32 Множества
Каждый элемент в множестве называется элементом множества.
Все элементы

МножестваКаждый элемент в множестве называется элементом множества.Все элементы множества должны принадлежать

множества должны принадлежать одному из скалярных типов, кроме вещественного.

Этот тип называется базовым типом множества. Базовый тип задается диапазоном или перечисле-нием.
Область значений типа множество – набор всевозможных подмножеств, составленных из элементов базового типа

Основные понятия


Слайд 33 Множества
В выражениях на языке Паскаль значения элементов множества

МножестваВ выражениях на языке Паскаль значения элементов множества указывается в квадратных

указывается в квадратных скобках: [1,2,3,4], [‘a‘, ’b’, ’c’], [1..20].
Если

множество не имеет элементов оно называется пустым и обозначается как [ ].
Количество элементов множества называется его мощностью.
В Паскале отсутствуют средства ввода-вывода элементов множества.

Основные понятия


Слайд 34 Множества
Формат записи множественных типов
Type = set

МножестваФормат записи множественных типовType  = set of ;Var : Пример:Type

of ;
Var :

типа>

Пример:
Type exmpl = set of ‘a’, ‘b’, ‘z’; namber = set of 1..31;
Var a: exmpl ; b: namber ;

Описание множеств. Вариант 1


Слайд 35 Множества
Задать множественный тип можно и без предварительного описания
Var

МножестваЗадать множественный тип можно и без предварительного описанияVar  : set

: set of

Пример:
Var

a: set of ‘a’, ‘b’, ‘z’;
b: set of 1..31;

Описание множеств. Вариант 2


Слайд 36 Операции над множествами
Операция «равно» (=). Два множества А

Операции над множествамиОперация «равно» (=). Два множества А и В считаются

и В считаются равными, если они состоят из одних

и тех же элементов. Порядок следования элементов в множества м.б. любым.

Слайд 37 Операции над множествами
Операция «не равно» (< >). Два

Операции над множествамиОперация «не равно» (< >). Два множества А и

множества А и В считаются не равными, если они

отличаются по мощности или по значению хотя бы одного элемента

Слайд 38 Операции над множествами
Операция «больше или равно» (>=). Множество

Операции над множествамиОперация «больше или равно» (>=). Множество А >= множества

А >= множества В, если все элементы множества В

содержатся в множестве А, т.е. множество В явля-ется частью множества А.

Слайд 39 Операции над множествами
Операция «меньше или равно» (>=). Множество

Операции над множествамиОперация «меньше или равно» (>=). Множество А

А

содержатся в множестве B, т.е. множество A явля-ется частью множества B.

Слайд 40 Операции над множествами
Операция «in». Данная операция используется для

Операции над множествамиОперация «in». Данная операция используется для проверки принадлежности какого-либо

проверки принадлежности какого-либо значения указан-ному множеству. Обычно применяется в

условных операторах.
При использовании операции «in» проверяемое на принадлежность значение и множество в квадратных скобках не обязательно предварительно описывать в разделе описаний.

Слайд 41 Операции над множествами
Объединение множеств (+) – объединением двух

Операции над множествамиОбъединение множеств (+) – объединением двух множеств является третье множество, содержащее элементы обоих множеств.

множеств является третье множество, содержащее элементы обоих множеств.


Слайд 42 Операции над множествами
Пересечение множеств (*) – пересечением двух

Операции над множествамиПересечение множеств (*) – пересечением двух мно-жеств является третье

мно-жеств является третье множество, которое содержит элементы, входящие одновременно

в оба множества.

Слайд 43 Операции над множествами
Разность множеств (-) – разностью двух

Операции над множествамиРазность множеств (-) – разностью двух множеств является третье

множеств является третье множество, которое содержит элемен-ты первого множества,

не входящие во второе множество.

назад


Слайд 44 Записи
Запись – это структурированный тип данных, состоящий из

ЗаписиЗапись – это структурированный тип данных, состоящий из компонентов одного или

компонентов одного или нескольких типов.
Определение типа записи начинается иденти-фикатором

record и заканчивается зарезервиро-ванным словом end.
Между ними заключен список компонентов, называемых полями, с указанием идентификато-ров полей и типа каждого поля.

Слайд 45 Записи
Пример описания записи:
Type Car = record Numbe : integer; {Номер} Marka

ЗаписиПример описания записи:Type Car = record Numbe : integer; {Номер} Marka

: string[40]; {Марка авто} FIO : string[40]; {Фамилия, имя, отчество} Address

: string[60] {Адрес владельца авто}
end;
Var M, V: Car;

Идентификатор поля д.б. уникален только в пределах записи, однако во избежание ошибок лучше делать его уникальным в пределах всей программы.


Слайд 46 Записи
Обращение к значению поля осуществляется с помощью идентификатора

ЗаписиОбращение к значению поля осуществляется с помощью идентификатора переменной и иденти-фикатора

переменной и иденти-фикатора поля, разделенных точкой.
Такая комбинация называется составным именем.

Например:

M.Namber; M.FIO; M.Addres

Слайд 47 Записи
Составное имя можно использовать везде, где допустимо применение

ЗаписиСоставное имя можно использовать везде, где допустимо применение типа поле.Примеры:M.Namber :=

типа поле.
Примеры:
M.Namber := 163 M.Marka := ‘ГАЗ-24’
Read

(M.Namber, M.FIO);
Write (M.Addres, M.Marka);


Слайд 48 Записи
В ряде задач удобно пользоваться массивами из записей.

ЗаписиВ ряде задач удобно пользоваться массивами из записей. Их можно определить

Их можно определить т.о.

Type Person = record Name_1 : string[20]; Name_2 :

string[20]; Age : byte; Prof : string[30];
end.
Var List: array[1..59 ] of Person;

Слайд 49 Записи
Обращение к полям записи имеет несколько громоздкий вид.

ЗаписиОбращение к полям записи имеет несколько громоздкий вид. Для решения этой

Для решения этой проблемы в языке Паскаль предусмотрен оператор

With, который имеет следующий формат:


With <переменная типа запись> do begin поле_1 записи <оператор>; поле_2 записи <оператор>; поле_3 записи <оператор>;
End;


  • Имя файла: strukturnye-tipy-dannyh-yazyka-paskal.pptx
  • Количество просмотров: 125
  • Количество скачиваний: 0