W Cat - Описание языка PascalABC.NET

Тут можно читать онлайн W Cat - Описание языка PascalABC.NET - бесплатно полную версию книги (целиком) без сокращений. Жанр: Детская образовательная литература. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

W Cat - Описание языка PascalABC.NET краткое содержание

Описание языка PascalABC.NET - описание и краткое содержание, автор W Cat, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru


PascalABC.NET — это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.


PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях.


PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм.

Описание языка PascalABC.NET - читать онлайн бесплатно полную версию (весь текст целиком)

Описание языка PascalABC.NET - читать книгу онлайн бесплатно, автор W Cat
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Выводит приглашение к вводу и возвращает последовательность из n строк, введенных с клавиатуры

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

functionExtractFileName(fname: string): string;

Выделяет имя файла из полного имени файла fname

functionExtractFileExt(fname: string): string;

Выделяет расширение из полного имени файла fname

functionExtractFilePath(fname: string): string;

Выделяет путь из полного имени файла fname

functionExtractFileDir(fname: string): string;

Выделяет имя диска и путь из полного имени файла fname

functionExtractFileDrive(fname: string): string;

Выделяет путь из полного имени файла fname

functionExpandFileName(fname: string): string;

Возвращает полное имя файла fname

Подпрограммы для работы с файлами, каталогами и дисками

function ReadLines(path: string): sequence of string;

Считывает строки из файла и превращает их в последовательность строк

function ReadLines(path: string; en: Encoding): sequence of string;

Считывает строки из файла с кодировкой en и превращает их в последовательность строк

function ReadAllLines(path: string): array of string;

Считывает строки из файла в массив строк

function ReadAllLines(path: string; en: Encoding): array of string;

Считывает строки из файла с кодировкой en в массив строк

function ReadAllText(path: string): string;

Считывает содержимое файла в строку

function ReadAllText(path: string; en: Encoding): string;

Считывает содержимое файла с кодировкой en в строку

procedure WriteLines(path: string; ss: sequence of string);

Создает новый файл, записывает в него строки из последовательности

procedure WriteLines(path: string; ss: sequence of string; en: Encoding);

Создает новый файл с кодировкой en, записывает в него строки из последовательности

procedure WriteAllLines(path: string; ss: array of string);

Создает новый файл, записывает в него строки из массива

procedure WriteAllLines(path: string; ss: array of string; en: Encoding);

Создает новый файл с кодировкой en, записывает в него строки из массива

procedure WriteAllText(path: string; s: string);

Создает новый файл, записывает в него содержимое строки

procedure WriteAllText(path: string; s: string; en: Encoding);

Создает новый файл с кодировкой en, записывает в него содержимое строки

functionGetDir: string;

Возвращает текущий каталог

procedureChDir(s: string);

Меняет текущий каталог

procedureMkDir(s: string);

Создает каталог

procedureRmDir(s: string);

Удаляет каталог

functionCreateDir(s: string): boolean;

Создает каталог. Возвращает True, если каталог успешно создан

functionDeleteFile(s: string): boolean;

Удаляет файл. Если файл не может быть удален, то возвращает False

functionGetCurrentDir: string;

Возвращает текущий каталог

functionRemoveDir(s: string): boolean;

Удаляет каталог. Возвращает True, если каталог успешно удален

functionRenameFile(name, newname: string): boolean;

Переименовывает файл name, давая ему новое имя newname. Возвращает True, если файл успешно переименован

functionSetCurrentDir(s: string): boolean;

Устанавивает текущий каталог. Возвращает True, если каталог успешно установлен

functionChangeFileNameExtension(name,newext: string): string;

Изменяет расширение файла с именем name на newext

functionFileExists(name: string): boolean;

Возвращает True, если файл с именем name существует

functionDiskFree(diskname: string): int64;

Возвращает свободное место в байтах на диске с именем diskname

functionDiskSize(diskname: string): int64;

Возвращает размер в байтах на диске с именем diskname

functionDiskFree(disk: integer): int64;

Возвращает свободное место в байтах на диске disk. disk=0 - текущий диск, disk=1 - диск A: , disk=2 - диск B: и т.д.

functionDiskSize(disk: integer): int64;

Возвращает размер в байтах на диске disk. disk=0 - текущий диск, disk=1 - диск A: , disk=2 - диск B: и т.д.

OpenMP

OpenMP: обзор

OpenMP – открытый стандарт для распараллеливания программ на многопроцессорных системах с общей памятью (например, на многоядерных процессорах). OpenMP реализует параллельные вычисления с помощью многопоточности: главный поток создает набор подчиненных потоков, и задача распределяется между ними.

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

В системе PascalABC.NET реализованы следующие элементы OpenMP:

* Конструкции для создания и распределения работы между потоками (директивы parallel for и parallel sections)

* Конструкции для синхронизации потоков (директива critical)

Директивы имеют следующий вид:

{$omp directive-name [опция[[,] опция]...]}

Здесь $omp означает то, что это директива OpenMP, directive-name – имя директивы, например parallel, после чего могут быть опции. Директива относится к тому оператору, перед которым она находится.

Примеры использования OpenMP находятся в папке Samples/OMPSamples

Ниже приводится описание директив.

Директива parallel for

Редукция в директиве parallel for

Параллельные секции и директива parallel sections

Синхронизация и директива critical

Директива parallel for

Директива parallel for обеспечивает распараллеливание следующего за ней цикла.

{$omp parallel for}

for vari: integer:=1 to10 do

тело цикла

Здесь будет создано несколько потоков и разные итерации цикла будут распределены по этим потокам. Количество потоков, как правило, совпадает с количеством ядер процессора, но в некоторых случаях могут быть отличия, например, если поток ожидает ввод данных от пользователя, могут создаваться дополнительные потоки, чтобы по возможности задействовать все доступные ядра.

Все переменные, описанные вне параллельного цикла, будут разделяемыми, то есть, если в теле цикла есть обращение к таким переменным, все потоки будут обращаться к одной и той же ячейке памяти. Все переменные, объявленные внутри цикла, будут частными, то есть у каждого потока будет своя копия этой переменной.

Опция private позволяет переменные, описанные вне цикла, сделать частными. Опция записывается так:

{$omp parallel for private(список переменных)}

Список переменных – одна или несколько переменных через запятую.

vara,b: integer;

{$omp parallel for private(a, b)}

for vari: integer:=1 to10 do

a := ...

В этом случае переменные a и b будут частными, и присваивание этим переменным в одном потоке не будет влиять на другие потоки.

Ограничение: счетчики распараллеливаемого цикла и вложенных циклов должны быть объявлены в заголовке цикла.

Не все циклы можно распараллеливать. Если на разных итерациях происходит обращение к одной и той же переменной и при этом ее значение меняется – распараллеливание такого цикла приведет к ошибкам, при разных запусках могут получаться разные результаты в зависимости от того, в каком порядке происходили обращения к этой переменной.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Описание языка PascalABC.NET отзывы


Отзывы читателей о книге Описание языка PascalABC.NET, автор: W Cat. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x