Множества 2012. Множество Это совокупность элементов одного порядкового типа (целого, символьного, перечислимого или диапазонного) set of 27.12.2013Чердынцева.

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



Advertisements
Похожие презентации
Массивы в Паскале. Создание массива: var a:array [1..5] of integer; i:integer; begin for i:=1 to 5 do begin write ('a[',i,']='); readln(a[i]); end; end.
Advertisements

Множественный тип данных А+В А*В. Множество - конечная совокупность элементов, принадлежащих некоторому базовому типу. Базовый тип –перечислимые типы.
Одномерные массивы Введение. I.Описание Массив – это фиксированное кол - во элементов одного и того же типа, объединенных одним именем, каждый элемент.
PROGRAM example1; {сдвинуть циклически элементы массива вправо} const m=10; var a : ARRAY [1.. m] of INTEGER; i,k,n: INTEGER; BEGIN randomize; n:=m; WRITELN('Полученный.
«Программирование с использованием множеств» Delphi. Тема 8:
Введение в программирование. Алфавит языка АлгоритмическийБейсикПаскаль 1) прописные и заглавные буквы русского алфавита; 2) 26 латинских строчных и 26.
Операции со строками Паскаль 9 класс. S1:=ABCDEFGH; S2:=Мама мыла раму; k1:=length(s1); k2:=length(s2); Что получим в результате? S1:=ABCDEFGH; S2:=abcdefgh;
Множества. Внутреннее представление.. Механизм внутреннего представления Каждое значение базового типа представляется одним битом. В память заносится.
Тема: Множества.. Множество – совокупность однотипных элементов, рассматриваемых как единое целое. Примеры множеств: [ 3, 4, 7, 9, 12] [ ] [ a,
29. Дан массив целых чисел. Найти индексы элементов, значения которых больше значения предыдущего элемента (на­чиная со второго). Program a29; Var i,n:integer;
Множественный тип данных Множество в языке Паскаль – это ограниченный набор различных элементов одного (базового) типа, которые рассматриваются как единое.
Дан массив. Найти максимальный и минимальный элементы массива и поменять их местами. Выполнение программы Выполнение программы.
Рекурсивные структуры данных Списки, двоичные деревья.
Записи в Паскале. НАЗВАНИЕДлина, байт Диапазон значений Byte10…255 ShortInt1-128…+127 Word20…65535 Integer … LongInt …
Внесите в таблицы значения переменной Х, которые она принимает на k-м шаге цикла в программе stepen _A_n при заданных значениях А и n: 1)A = 2, n = 6 2)
9.Задана целочисленная матрица. Вывести N чисел - максимальные значения элементов для каждой строки, где N - количество строк матрицы
Типы данных в языке Паскаль Тип определяет множество значений данных, а также операции, которые могут выполняться над этими данными.
Способы ввода значений в массив на Паскале 1) Заполнение массива с клавиатуры а) program massiv_1; const n=5; vari: integer; a: array[1..n] of integer;
Гречкина П.В., ПЯВУ-2, С++ Быстрое введение в язык C++ C++ Builder – консольное приложение либо Turbo C.
Одномерный массив Turbo Pascal 9 класс. Объясните каждый шаг в программе. Что делает программа? Сколько раз срабатывает цикл? Var A : array [1..10] of.
Транксрипт:

Множества 2012

Множество Это совокупность элементов одного порядкового типа (целого, символьного, перечислимого или диапазонного) set of Чердынцева М.И.2

Описание типа type ByteSet = set of Byte; CharSet = set of Char; DigitsSet = set of '0'..'9'; StringSet = set of string; // !!!! DaysSet = set of (Mon, Tue, Wen, Thr, Fri, Sat, Sun); Чердынцева М.И.3

Константы [1, 3..5, 8] [2..10, 12, ] [ ] ['a', 'e', 'i', 'o', 'u', 'y'] ['a'.. 'z'] Чердынцева М.И.4

Операции var s1,s2,s: set of byte; a:byte; q:boolean; s:=s1+s2 ; q:=s1 =s2 ; // > s:=s1-s2 ; q:=a in s1 ; q:= s1s2; q:= s1 = s2; s:= s + [a]; //s+=[a];s:= s – [a]; // s-=[a]; Чердынцева М.И.5

Просмотр элементов for a :=1 to 255 do // перебрать все возможные элементы if a in S then write(a,' '); foreach a in S do write(s,' '); Чердынцева М.И.6

Пример Ввести произвольный текст до символа точка. Напечатать все встречающиеся в нем латинские буквы в алфавитном порядке Чердынцева М.И.7

var s: set of char; ch:char; begin s:=[ ]; repeat read (ch); if ch in [a..z] then s:=s + [ch]; until ch =.; for ch:=a to z do if ch in s then write( ch ); end Чердынцева М.И.8

Пример Вывести все простые числа, меньшие Чердынцева М.И.9

Решето Эратосфена – реализация с использованием множества Чердынцева М.И.

const n=255; var primes: set of byte; i,x,c: integer; begin primes:=[2..n]; for i:=2 to round(sqrt(n)) do begin if (i in primes) then begin x:=2*i;//i оставляем 2i, 3i и т.д. вычеркиваем while x

Способы представления множества в памяти Логические шкалы v: set of 1..8; v:=[3,4,8]; Чердынцева М.И.12 False True False True

const n=1000; type MyIntSet= array [1..n] of boolean; procedure Include(var s:MyIntSet; i: integer); begin s[i]:=True end; function Intersection(const s1,s2: MyIntSet): MyIntSet; begin for i:=1 to n do Result[i]:=s1[i] and s2[i]; end; function InSet (const s:MyIntSet; a: integer): boolean; begin result := (a>=1) and (a

Эффективное использование памяти false = 0 true = Чердынцева М.И v: set of 1..8; v:=[3,4,8]; При мощности базового типа 256 требуется 32 байта

Чердынцева М.И.15 type MySet8= shortInt; // byte знаковый valSet = 1..8; function Intersection(const s1,s2: MySet8): MySet8; begin result := s1 and s2; // побитовое and end; function UnionSet (const s1,s2:MySet8): MySet8; begin result := s1 or s2; end; s s s1*s s1+s

Чердынцева М.И.16 procedure Include (var s:MySet8; a:valSet ); begin s := s or (1 shl 8-a); end; function InSet ( const s:MySet8; a : valSet): boolean; begin result := s shl (a-1)