
Вопрос №16.
Лингвистическое обеспечение САПР.
Языки программирования.
Общие сведения. Лингвистическое обеспечение САПР включает различные языковые средства, которые делятся на две группы:
языки программирования;
2) языки проектирования.
Под термином язык в данном случае понимается любое средство общения, любая система символов или знаков, используемых для обмена информацией.
Языки программирования служат для записи программ. Ими пользуются главным образом при подготовке программ, а не при эксплуатации САПР.
Языки проектирования предназначены для представления и преобразования исходной информации при выполнении проектных процедур с помощью программного обеспечения. Эти языки применяются пользователями САПР в процессе их инженерной деятельности.
Алгоритмические языки. С момента использования ЭВМ для расчетов и проектирования возникла проблема общения человека с машиной. Первоначально программа для ЭВМ готовилась в машинных кодах. Такие машинные программы могли разрабатываться только узкими специалистами — программистами, знающими устройство и особенности конкретной ЭВМ. Инженер-пользователь для выполнения расчетов на ЭВМ в своей проблемной области должен был обращаться к программисту. В этом случае имела место цепочка: пользователь — программист — машинная программа — ЭВМ.
Такая цепочка приводила к большим затратам трудовых ресурсов и времени. Программирование задач на машинном языке ограничивало использование ЭВМ.
Эта проблема была решена после создания алгоритмических языков высокого уровня, отличающихся универсальностью. Для того чтобы машина понимала языки высокого уровня, необходим переводчик с этих языков на машинный. Таким переводчиком является транслятор, т. е. программа, которая преобразует программу, написанную на языке высокого уровня, в машинную. В результате возникает следующая цепочка: пользователь — программа на языке высокого уровня — транслятор — машинная программа — ЭВМ.
Символика и логика алгоритмических языков близки к принятым в математике и в русском и английском языках. Вместе с тем эта символика и правила записи строго однозначны и могут автоматически (формализованно) переводиться в команды машины.
Алгоритмический язык — это набор символов и система правил образования и истолкования конструкций из этих символов для задания алгоритмов. Алгоритмический язык для записи программ и данных называют языком программирования. В качестве языков программирования в САПР находят применение машинно-ориентированные языки типа АССЕМБЛЕР и алгоритмические языки высокого уровня.
Алгоритмические языки высокого уровня в сравнении с машинно-ориентированными языками удобнее для реализации алгоритмов численного анализа, легче осваиваются инженерами, позволяют повысить производительность труда программистов при разработке программ и их адаптации к различным типам ЭВМ. Наибольшее применение находят языки ФОРТРАН, ПЛ/1, АЛГОЛ-60, БЕЙСИК, ПАСКАЛЬ, СИ, МОДУЛА.
Однако языки типа АССЕМБЛЕР отличаются большей универсальностью, т. е. обладают более широкими возможностями для описания кодов различных форматов, логических операций и процедур. При использовании этих языков требуются меньшие затраты машинного времени и памяти. Так, например, при трансляции с языка ФОРТРАН затраты машинного времени в 1,5—2,5 раза больше, чем при трансляции с машинно-ориентированных языков типа АССЕМБЛЕР.
Учитывая достоинства машинно-ориентированных и алгоритмических языков высокого уровня, их можно применять одновременно для решения различных задач при разработке САПР. При этом язык АССЕМБЛЕР используют:
при разработке модулей с большим количеством логических oпeраций и операций над отдельными группами разрядов машинных слов, так как в этой ситуации возможности алгоритмических языков высокого уровня недостаточны;
при жестких требованиях к модулю по показателям затрат машинного времени и памяти.
В остальных случаях определяющими требованиями являются повышение производительности труда программистов и инвариантность к типам ЭВМ, что обусловливает применение языков высокого уровня.
Алгоритмический язык ФОРТРАН (FORmula TRANslation — переводчик формул) предназначен для научных и инженерных задач, решаемых на ЭВМ. Этот язык разработан в 1956 г. и в настоящее время является основным алгоритмическим языком. В САПР используются две версии языка программирования ФОРТРАН: ФОРТРАН-IV— для крупных и средних ЭВМ; базисный ФОРТРАН — для малых и мини-ЭВМ.
АЛГОЛ-60, разработанный в 1960 г., оказал большое влияние на дальнейшее развитие языков программирования. Операторы АЛГОЛа очень близки к естественному английскому языку и, кроме того, позволяют писать хорошо структурированные программы.
Алгоритмический язык ПЛ/1 (Programming Language/1) разработан в 1966 г. В отличие от языка ФОРТРАН он имеет более широкие возможности при обработке больших массивов информации и описании структур исходных данных. Этот язык ориентирован на крупные модели ЭВМ и на ПЭВМ.
В последнее время все большее распространение, особенно для мини- и микроЭВМ, получает алгоритмический язык БЕЙСИК, разработанный в 1965 г. Этот язык очень похож на ФОРТРАН, только значительно проще. Особенно большие возможности БЕЙСИКА проявляются при решении задач в режиме диалога с ЭВМ. Простота и доступность этого языка позволяют начинающим пользователям САПР быстро его осваивать.
Основной недостаток АЛГОЛа — громоздкость — устранен в языке ПАСКАЛЬ (1969). Наличие больших возможностей и простота делают этот язык очень удобным инструментом программирования.
БЕЙСИК, ПАСКАЛЬ, так же как и СИ, служат для создания программ, реализуемых на персональных ЭВМ. СИ представляет собой мощный алгоритмический язык высокого уровня, ориентированный на высококвалифицированных программистов, разрабатывающих программное обеспечение на уровне операционной системы.