Файл: Международные и отечественные стандарты языков программирования. Сходство и отличия стандартов..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.06.2023

Просмотров: 113

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение.

Глава 1. Международные и отечественные стандарты языков программирования.

1.1 Международная стандартизация.

1.2. Международные организации по стандартизации.

1.3. Отечественные стандарты языков программирования.

ГОСТ 27975-88 Язык программирования АЛГОЛ 68 расширенный.

ГОСТ 23056-78 Язык программирования Фортран.

ГОСТ 23057-78 Язык программирования Базисный Фортран.

ГОСТ 27974-88 Язык программирования АЛГОЛ 68.

ГОСТ 27787-88 Язык программирования БЕЙСИК.

1.4. Пять языков программирования стандарта МЭК 6-1131/3.

Глава 2. Стандарты для языков программирования.

2.1. Международные стандарты языка Фортран.

2.2. Развитие и стандартизация языка С++.

Глава 3. Порядок применения международных и отечественных стандартов, сходства и отличия стандартов.

3.1. Общие нормы.

3.2. Общие нормы международных стандартов.

3.3. Нормы Государственной системы стандартизации России.

Заключение.

Список литературы.

Язык оригинала стандартов МЭК - английский.

Международный Союз Электросвязи (ITU)

ITU — международная межправительственная организация в области стандартизации электросвязи. Организация объединяет более 500 правительственных и неправительственных организаций. В ее состав входят телефонные, телекоммуникационные и почтовые министерства, ведомства и агентства разных стран, а также организации-поставщики оборудования для обеспечения телекоммуникационного сервиса. Основная задача ITU состоит в координации разработки гармонизированных на международном уровне правил и рекомендаций, предназначенных для построения и использования глобальных телесетей и их сервисов. В 1947 г. ITU получила статус специализированного агентства Организации Объединенных Наций (ООН).

Европейская экон

ГОСТ 28397-89

Языки программирования. Термины и определения.

омическая комиссия ООН (ЕЭК ООН)

Европейская экономическая комиссия ООН (ЕЭК ООН) — орган Экономического и социального совета ООН (ЭКОСОС), создана в 1947 г.

Всемирная торговая организация (ВТО)

Всемирная торговая организация (ВТО) образована в 1995 г. на базе генерального соглашения по тарифам и торговле.

1.3. Отечественные стандарты языков программирования.

Действующий Настоящий стандарт устанавливает термины и определения в области традиционных языков программирования процедурного типа.
Термины, установленные настоящим стандартом, обязательны для применения во всех видах документации и литературы, входящих в сферу работ по стандартизации или использующих результаты этих работ.

ГОСТ 27831-88
Язык программирования АДА.

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

ГОСТ 21551-76
Язык программирования АЛГАМС.

Устанавливает описание языка программирования АЛГАМС, предназначенного для автоматизации программирования при решении научных и инженерно-технических задач, а также для обмена алгоритмами.


ГОСТ 27975-88
Язык программирования АЛГОЛ 68 расширенный.

Распространяется на язык программирования Алгол 68 расширенный, его варианты, а также варианты языка программирования Алгол 68, вводящие дополнительно к определению языка программирования Алгол 68 средства обеспечения модульности программ и раздельной трансляции программ, и устанавливает требования:
к программе на языке программирования Алгол 68 расширенный, представленной на машинном носителе или в комплекте программной документации;
к реализациям языка программирования Алгол 68 расширенный и его вариантов, используемым при создании или эксплуатации программных средств, в части выполнения программ на языке Алгол 68 расширенный.

ГОСТ 23056-78
Язык программирования Фортран.

Распространяется на язык программирования ФОРТРАН.

ГОСТ 23057-78
Язык программирования Базисный Фортран.

Распространяется на язык программирования Базисный Фортран.

ГОСТ 27974-88
Язык программирования АЛГОЛ 68.

Распространяется на язык программирования Алгол 68 и его варианты и устанавливает требования:
к программе на языке программирования Алгол 68, представленной на машинном носителе или в комплекте программной документации;
к реализациям языка программирования Алгол 68 и его вариантов, используемым при создании или эксплуатации программных средств, в части выполнения программ на языке Алгол 68.

ГОСТ 27787-88
Язык программирования БЕЙСИК.

Настоящий стандарт устанавливает: 1) синтаксис программ, написанных на языке Бейсик; 2) форматы и точность данных, а также диапазон представления чисел для данных, поступающих на вход процессора обработки данных, управляемого программой, написанной на языке Бейсик; 3) форматы и точность данных, а также диапазон представления чисел, получаемых в результате выполнения процессором обработки данных программы, написанной на языке Бейсик; 4) семантические правила для интерпретации смысла программ, написанных на языке Бейсик; 5) ошибки и исключительные ситуации, которые должны быть обнаружены, а также способ, при помощи которого эти ошибки и исключительные ситуации должны быть обработаны.
Настоящий стандарт не устанавливает: 1) механизм, при помощи которого программы, написанные на языке Бейсик, преобразуются для использования процессором обработки данных; 2) средства, при помощи которых выполняются программы, написанные на языке Бейсик; 3) состав и форму документации на реализации языке Бейсик и программы, написанные на языке Бейсик.


1.4. Пять языков программирования стандарта МЭК 6-1131/3.

TRACE MODE® 6 предоставляет широкий набор средств программирования задач

АСУТП и бизнес-приложений (АСУП), ориентированный на специалистов разной квалификации и профессиональной подготовки. В систему TRACE MODE® 6 включены 5 языков программирования – Techno SFC, Techno LD, Techno FBD, Techno ST, и Techno IL. Данные языки являются расширением языков

-SFC (Sequential Function Chart),

-LD (Ladder Diagram),

-FBD (Function Block Diagram),

-ST (Structured Text) и

-IL (Instruction List)

Международного стандарта МЭК 6-1131/3. Данный стандарт разрабатывается с 1993 года Международной Электротехнической Комиссией (IEC) и давно признан как в Европе и в США, так и во всем мире ведущими производителями средств автоматизации.

Языки программирования TRACE MODE® 6 стандарта МЭК 6-1131/3 включают в себя 3 визуальных языка (FBD, SFC, LD), ориентированных на инженеров и бизнес-аналитиков и 2 текстовых (ST, IL), ориентированных на программистов. С помощью языков IEC 61131-3 TRACE MODE® 6 одинаково комфортно программируются и контроллеры, и алгоритмы человеко-машинного интерфейса (HMI) и задачи EAM и MES.

Языки МЭК 6-1131/3 TRACE MODE® 6 сочетают в себе достаточную функциональность, простоту и предохраняют пользователя TRACE MODE® 6 от большинства ошибок, которые нередко возникают при использовании обычных языков программирования. Реализация МЭК 6-1131/3 в интегрированной SCADA/SOFLOGIC/MES/EAM/HRM системе TRACE MODE® 6 не только полностью удовлетворяет требованиям стандарта, но и предоставляет пользователю дополнительный сервис в виде расширенного набора библиотек функциональных блоков, реализующих типовые алгоритмы управления.

Для всех 5 языков существует единый механизм связи с базой данных реального времени TRACE MODE® 6. Каждая программа обладает набором аргументов, исходные данные передаются в программу через входные аргументы, а результаты вычислений возвращаются в выходных аргументах. Аргументы связываются с атрибутами каналов TRACE MODE 6, т.е. с реальными входами и выходами контроллеров и УСО, ячейками корпоративных баз данных, либо с внутренними переменными. Таким образом, одна и та же программа может вызываться несколько раз за цикл для обработки разных потоков данных.

Программирование и отладка программ на языках МЭК 6-1131/3 в TRACE MODE 6 производится в интегрированной среде разработки, включающей в себя несколько различных редакторов. Программы на языках Techno FBD, Techno LD и Techno SFC создаются и отлаживаются в специальных визуальных редакторах, а Techno ST и Techno IL представляют собой более традиционные языки, программирование на которых осуществляется в текстовом редакторе. Несмотря на различия, программы на разных языках стандарта МЭК 6-1131/3 в TRACE MODE® 6 могут взаимодействовать между собой. Например, программа на Techno FBD может вызывать функциональный блок, написанный на языке Techno ST, а внутри этого блока может вызываться подпрограмма на Techno LD и т.д. Такая гибкость в выборе средств описания алгоритмов позволяет эффективно работать над одной задачей и программисту, и технологу, и инженеру-наладчику и бизнес-консультанту, когда каждый из них выполняет свою часть работы удобным ему способом.


Глава 2. Стандарты для языков программирования.

2.1. Международные стандарты языка Фортран.

С момента создания первой системы Fortran было принято три стандарта ANSI/ISO языка — FORTRAN 66, FORTRAN 77 и Fortran 90.

Большинство российских программистов со стажем знакомо именно со стандартом FORTRAN 77. Однако после его принятия вышло довольно много редакций Fortran, каждая из которых обладала собственным набором расширений языка. В 1992 г. был принят новый стандарт — Fortran 90, в который вошли многие расширения спецификации FORTRAN 77, реализованные в наиболее распространенных сегодня системах разработки. За счет этого обеспечивается более высокий уровень совместимости между различными платформами.

По устоявшейся традиции новый стандарт гарантирует полную совместимость с предыдущими. Вместе с тем он включает практически все атрибуты современного языка программирования; многие из его новых конструкций имеют прямые аналоги в других языках (C/C++, Pascal, Basic). Одновременно нужно отметить, что Fortran именно "догоняет" своих более современных собратьев, реализуя уже довольно известные языковые возможности. В качестве оригинальных возможностей Fortran можно отметить только матричные операции.

Следует подчеркнуть, что современные компиляторы Fortran 90 не гарантируют получения более быстрого исполняемого кода по сравнению с компиляторами стандарта FORTRAN 77 (противоречие между сложностью языковых конструкции и оптимизацией результирующего кода уже отмечалось ранее). Наверное, именно поэтому в некоторых системах, например Microsoft PowerStation, фактически реализованы два варианта компилятора для обоих стандартов.

С внешней стороны наиболее заметным новшеством является "свободная форма" исходного текста, дополненная другими полезными элементами оформления программы. В логических операторах можно использовать привычные математические знаки вместо неудобных символьных обозначений (например, ">" вместо ".gt."). Появление целого ряда операторов, управляющих логикой работы программы (DO, SELECT CASE, CYCLE, EXIT), упрощает процесс разработки и делает исходный текст более понятным. Кроме того, в новый стандарт языка вошла возможность устанавливать режим обязательного описания переменных (оператор implicit).


Значительную часть новшеств Fortran 90 составляют расширенные возможности операций с матрицами (массивами), которые теперь могут использоваться в выражениях как простые переменные. Так, чтобы умножить все элементы матрицы a(3,2) на 2, достаточно написать: a = a*2. Кроме обычных арифметических функций, реализованы также и специальные операции над матрицами, в частности умножения и транспонирования, а также выборки подмножества матрицы. Наличие подобных операций не только упрощает код программы, но и повышает скорость ее выполнения. Здесь наряду с привычной оптимизацией машинного кода возможен дополнительный выигрыш за счет распараллеливания матричных операций еще на уровне компилятора.

Новый вариант описания типа (например, integer(4) вместо INTEGER*4) позволяет использовать переменную для указания числа резервируемых байтов. Наряду с поддержкой специальных функций идентификации чисел (Numeric Inquiry Functions), это упрощает проблему совместимости компьютеров различных архитектур, в частности машин Cray и PC, использующих разные принципы хранения данных.

В Fortran 90 наконец-то стали поддерживаться структуры данных, получивших название Derived Type (производный тип), который является аналогом структур C или записей Pascal.

Еще одна важная новинка — возможность динамического резервирования массивов, выполняемого в автоматическом режиме (например, по умолчанию при входе в процедуру) или с помощью специальных команд. Это позволяет эффективнее использовать оперативную память: ее отводится ровно столько, сколько нужно для решения задачи с конкретными исходными данными, а после использования память освобождается.

Предыдущие стандарты Fortran допускали использование только статических данных, так что, например, при решении двумерных задач моделирования конечно-разностными методами приходилось описывать размеры массивов (в программе их могло быть до нескольких десятков) непосредственно в коде программы: DD(50,50). В результате для определенных размеров модели (скажем, 60 на 30 узлов) задача оказывалась неразрешимой, при том что реальные требования к объему памяти были ниже.

В новом стандарте реализован также механизм специальных указателей (pointers), которые можно динамически связывать с простыми переменными и элементами массивов (только статических).

Большое развитие получил аппарат управления межпроцедурным взаимодействием внутри программы. Благодаря ему теперь можно управлять процедурным интерфейсом (конструкция INTERFACE), что решает многие проблемы при смешанном программировании. Эта конструкция, среди прочих возможностей, позволяет заменить имя функции (например, когда имя вызываемой внешней функции является недопустимым с точки зрения синтаксиса Fortran), а также создать так называемый "обобщенный интерфейс", когда имя вызываемой функции выбирается компилятором автоматически на основе типов передаваемых параметров.