Yurijnd.com
Суббота, 21.09.2024, 06:17
Меню сайта

Вход на сайт

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Delphi. Pascal

    Материалы
    Урок 7. Множества и записи

    Множества

    Тип множества Описание множества Пример
    Постоянное множество (константа) [ тип-элемента ] const a = [ 0..100 ];
    Переменное множество (переменная) set of [ тип-элемента ] var a: set of [ '0'..'9', '+', '-' ];
    Пример описания постоянного множества Элементы множества
    const A = [ 'A'..'Z', 'a'..'z' ]; Буквы латинского алфавита
    const B = [ 'a'..'z' ]; Малые буквы латинского алфавита
    const C = [ 'А'..'Я', 'а'..'п', 'р'..'я', 'Ё', 'ё' ]; Буквы алфавита-кириллицы
    const D = [ 'А'..'Я' ]; Большие буквы алфавита-кириллицы
    const M = [ '0'..'9' ]; Цифровые символы от 0 до 9
    const N = [ 0..100 ]; Целые числа от 0 до 100
    Пример описания переменного множества Элементы множества
    var a set of [ 'A'..'Z', 'a'..'z' ]; Буквы латинского алфавита
    var b set of [ 'a'..'z' ]; Малые буквы латинского алфавита
    var c set of [ 'А'..'Я', 'а'..'п', 'р'..'я', 'Ё', 'ё' ]; Буквы алфавита-кириллицы
    var d set of [ 'А'..'Я' ]; Большие буквы алфавита-кириллицы
    var m set of [ '0'..'9' ]; Цифровые символы от 0 до 9
    var n set of [ 0..100 ]; Целые числа от 0 до 100
    Операция Результат операции Пример
    М1 + М2 Объединение множеств М1 и М2 ['0'..'9'] + ['+']
    М1 - М2 Разность множеств М1 и М2 ['a'..'z'] - ['x'..'z']
    М1 * М2 Пересечение множеств М1 и М2 ['a'..'m'] * ['c', 'i', 'n']
    Операция Когда результат операции равен true Пример
    значение in множество Значение является элементом множества not (s[i] in ['a'..'z'])
    М1 = М2 Множества М1 и М2 равны между собой  
    М1 <> М2 Множества М1 и М2 не равны  
    М1 < М2 Множество М1 является подмножеством множества М2  
    М1 <= М2 Множество М1 является подмножеством множества М2 или равно М2  
    М1 > М2 Множество М1 является надмножеством множества М2  
    М1 >= М2 Множество М1 является надмножеством множества М2 или равно М2  
     

     

    type
     Color = (Red, Green, Yellow, Blue, Black);
     Colors = set of Color;
    var
     c1, c2, res: Colors; //Переменная c типа Colors

     

     Colors = set of Color;

     

    var
     c1, c2, res: Colors; //Переменные типа Colors

    Объединение 

     c1:=[Red, Green, Yellow];
     c2:=[Green, Blue];
     //Теперь множество res состоит
     //из элементов Red, Green, Yellow и Blue
     res:=c1 + c2;

    Пересечение 

     c1:=[Red, Green, Yellow];
     c2:=[Green, Blue];
     //Теперь множество res состоит
     //из элемента Green
     res:=c1 * c2;

    Разность 

     c1:=[Red, Green, Yellow];
     c2:=[Green, Blue];
     //Теперь множество res состоит
     //из элементов Red и Yellow
     res:=c1 - c2;

    Операторы > < >= <= ...

     c1:=[Red, Green, Yellow];
     c2:=[Green, Red];
     if c1>=c2 then
     //c1 есть подмножество c2
     Writeln('c1 is a subset of c2')
     else
     //c1 не есть подмножество c2
     Writeln('c1 is not a subset of c2');

    Оператор in

     c1:=[Red, Green, Yellow];
     if Red in c1 then
     //Элемент Red принадлежит множеству c1
     ...
     else
     //Элемент Red не принадлежит множеству c1
     ...

     

    Типы и записи

    Описание типа записи Пример
    имя типа = record type data = record
    имя-1: тип-1; x:integer;
    имя-2: тип-2; y:integer;
    имя-N: тип-N; t:string;
    end; end;
      var a1, a2, a3: data;
     

     

     

    var
     //Определяем переменную book как запись
     book: Record
     Title: String;
     Author:String;
     Pages: Integer;
     end;
     //Конец записи
     ...
     //Задаем название
     book.Title:='De machina computativa firmicis fundata.';
     //Задаем автора
     book.Author:='Osco do Casco';
     //Задаем количество страниц
     book.Pages:=212;

     

    Copyright MyCorp © 2024
    Сделать бесплатный сайт с uCoz