Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора по ОСРВ.docx
Скачиваний:
3
Добавлен:
18.04.2019
Размер:
67.02 Кб
Скачать

32.Критерии выбора языка программирования для срв

1)получение наивысш. произв-ти - один из наиболее главных критериев. Язык програм-ия должен быть компилированным- с поддержкой оптимизации испол-го кода. Этим требованиям удовл. С++. Часто при созд-и быстродейст-щих приложений при написании критич-х по времени фрагментов прогр-ы исп-ся Ассемблер

2)получение доступа к любым рес-сам оборуд-я либо посред-вом языковых конструкций, либо использ-ие функции дополнит. библиотек, поставляем. вместе с оборудованием

3)возм-ть вызова процедур, напис-х на др.языке

4)возм-ть исп-я объектно-ориентиров. подхода

При созд-и приложений для ОСРВ исп-ся С/С++, Assembler, Java

32.Языки разработки для осрв

Assembler-является машинным кодом в котором каждая команда процессора заменяется условным обозначением понятым для человека

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

Переносимость только в пределах 1 аппаратной платформы

Обычно используется для написания небольших четких механизмов, рагментов приложений

С\С++ обеспечивает баланс между быстродействием приложения и эффективностью труда программиста , доступ к оборудов.

Стандартизированная версия языка обеспечивает 100% переносимости .

Java Язык интерпретированного типа , низкая производительность программного кода

Доступ к оборудованию с помощью библиотечных функций .

Хорошая переносимость программного кода Java VM для доступа приложения требуется виртуальная машина

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

Группа языков 4 поколения : CASE (программы автоматического создания программного обеспечения )

34. особенности языка С/С++, как языка системного программирования. Достоинства и недостатки языка С.

Язык С появился в 1973г. Автор: Деннис Ритчи (Bell labs). Он создавался для UNIX, для цели системного программирования, быстродействия. В начале 60х гг появился язык Алгол, который большей своей частью вошел в язык Pascal, а так же в С.

Приложения, созданные на языке С обладают более высокой производительностью по сравнению с приложениями, созданными на других языках высокого уровня. Многие языковые конструкции С являются абсурдными с точки зрения строгих алгоритмических языков: if (!a) или if (a==0). В Паскале: if (a=0) then. Целью таких нелогичных конструкция является минимизация получаемого машинного кода. В большинстве случаев такие конструкции объясняются на основе машинного представления информации, т е на основе представления информации в процессоре.

Язык прогр-я высокого уровня

Язык С относится к

Assembler

Процессор

По разработке промышленных компов 1 место занимает Microsoft Visual C.

Достоинства:

  1. малый размер компилятора.

  2. Базовый синтаксис языка содержит порядка 30 ключевых слов

  3. Слабая типизация языка (слабо выраженные типы данных)

char a;

a=7; или a=’b’;

char b[30];

b=”строка”; или b[1]=5;

(float) c – преобразование типа:

float f;

(int) (f+0,4);

Это все позволяет сформировать более быстродействующий программный код.

  1. Поддержка модульного программирования (используется для создания больших программных проектов, когда размер прогр. кода превышает 100 строк. Позволяет более эффективно вести разработку программ, например большим коллективом программистов).

Проект prog

modul 1.c – компиляция – modul 1.obj

modul 2.c – компиляция – modul 2.obj prog.exe

modul 3.asm – трансляция – modul 3.obj

  1. Простой интерфейс с подпрограммами на Ассемблере. Поддержка ассемблера осущ-ся как на уровне внешних модулей, так на уровне исходного текста программы на языке С, т е используется так называемые ассемблерные вставки:

текст на С

….

asm {

текст на ассемблере….

}

…….

текст на С.

Ассемблер обычно используется для повышения быстродействия отдельных участков программ.

  1. Эффективная работа с памятью, основана на указателях:

int a; - память выделяется

int *b; - память сразу не выделяется, она будет распределена динамически

  1. Компиляторы языка как правило имеют встроенные средства оптимизации исполняемого кода.

Недостатки:

  1. Слабая типизация языка (может приводить к ошибкам в алгоритме работы программы)

  2. Отсутствие проверок на этапе исполнения скомпилированных программ. Но отсутствие проверок повышает быстродействие исполняемого кода.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]