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

6 Билет. Способы описания языков программирования: бнф-нотации, синтаксические диаграммы.

7 Билет.

Классификация языков программирования, элементы языка программирования С/C++: Алфавит, Слова, Константы.

Классификация языков программирования.

Машинный, машинно-ориентированный, машинно-независимый.

Машинный - языки на которых процессор может выполнить программу ( у каждого процессора свой машинный язык). Программа на машинном языке представляет собой последовательность машинных команд. ( 0 и 1)

Машинно-ориентированный.

Языки программирования низкого уровня. называются они так потому что, в своих конструкциях используют особенности конкретного процессора. Программы написанная на этих языках наиболее эффективны на процессорах данного вида и не работают на процессорах другого вида.

Машинно-независимые языки никак не зависят от ........ вида процесса ( языки высшего уровня ). Программа переносимая с одного процессора на другой выполнены могут быть только в том случае, если в состав программного обеспечения входят трансляторы, способные перевести с машинно-независимого языка на язык машины.

Трансляторы это компиляторы и интерпретаторы.

Машинно-независимые языки делятся на: процедурные ( императивные ), логические ( продукционные ) и функциональные ( аппликативные ).

Процедурный делится на проблемно-ориентированный(Фортран) и процедурно-ориентированный(ДжЯва, си, паскаль).

Константы - это объект данных, значение которого не изменяется в течении программы.

Язык С разрабатывался как язык системного программирования для создания ОС Unix.

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

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

В отличие от языка Pascal, С язык универсальный, позволяющий решать различные задачи.

Любой язык программирования определяется алфавитом, синтаксисом и семантикой.

Алфавит - это терминальные символы из которых строятся последовательности лексические единицы - лексемы.

Лексема -это минимальная последовательность символов алфавита имеющая смысл в языке программирования.

Выражение строится из лексем и символов алфавита и предназначены для вычисления некоторого значения.

Операторы строятся из выражений, лексем и символов алфавита и определяют некоторое законченное действие.

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

Семантика определяет значение объекта конструкции языка и правило исполнения этих программ.

Алфавит языка С/C++ состоит из строчных и прописных букв латинского алфавита, арабских цифр и некоторых специальных символов.

Константы

Чтобы объявить объект константой, в объявление нужно добавить ключевое слово const. Так как константе нельзя присваивать значения, она должна быть инициализирована.

const int a = 100; // a является константой

const int b[ ] = {1, 2, 3, 4, 5}; // Все b[i] являются константами

const int c; // Ошибка – нет инициализатора

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

Идентификаторы или просто имена создаваемые программистом.

Идентификаторы строятся из двух цифр и символа подчеркивания. На первом месте может быть буква или символ подчеркивания.

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