Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по дисциплине АОП.docx
Скачиваний:
66
Добавлен:
24.04.2019
Размер:
2.91 Mб
Скачать

«Правильный» алгоритм поиска маршрута

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

Например, если n=20, то количество возможных маршрутов будет порядка

20! = 2 432 902 008 176 640 000

Лекция 2. Язык программирования С. Общие сведения.

Вопрос №6. Краткая характеристика языка С.

  • Популярный компактный язык общего назначения; изначально создавался как язык системного программирования (для ОС UNIX)

  • «Низкоуровневый» язык, типы данных и управляющие структуры которого близки архитектуре большинства компьютеров

  • Примечательные особенности языка С:

    • адресная арифметика с использованием указателей

    • чрезвычайно широкий набор операций

    • все функции используют передачу аргументов по значению

    • простая двухуровневая структура областей видимости

    • отсутствуют средства ввода/вывода и управления памятью (они обеспечиваются подпрограммами из библиотеки)

    • гибкая структуры типов

Вопрос №7. Стандартизация языка С. Эволюция языка С.

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

C89

В 1983 году Американский национальный институт стандартов сформировал комитет X3J11 для создания спецификации стандарта C. В 1989 году, после длительного и напряжённого процесса, стандарт был завершён и утверждён как ANSI X3.159-1989 «Язык программирования C». Именно эту версию часто называют «ANSI C», или «C89» (чтобы отличить её от C99).

C90

В 1990 году, стандарт ANSI C (с небольшими изменениями) был принят Международной организацией по стандартизации (ISO) как ISO/IEC 9899:1990. Эту версию иногда называют C90. Однако, термины C89 и C90 относятся в сущности к одному языку.

C99

В марте 2000 года ANSI принял стандарт ISO/IEC 9899:1999. Этот стандарт обычно называют C99. Это и есть современный стандарт языка программирования C, однако его не поддерживает полностью ни один компилятор.

C1x

C1x - новый стандарт языка, который ещё находится в стадии подготовки. Существует черновой вариант. Основным новшеством стандарта являются потоки.

Эволюция языка с bcpl → b → c → k&r c → ansi c → c99 → c1x

1960 ≈1970 ≈1972 ≈1978 ≈1988 ≈1999 ??

Переменные, константы и типы данных

Вопрос №8. Определение понятия «переменная». Имена переменных.

Фундаментальные объекты данных, с которыми работает программа – это переменные и константы.

Переменная имеет имя, тип и текущее значение.

Имя для переменной выбирается программистом произвольно с учетом следующих ограничений:

  • имя должно начинаться с буквы и может состоять из букв и цифр; знак «подчеркивание» считается буквой;

  • буквы в верхнем и нижнем регистре различаются;

  • в качестве имен не разрешается использовать зарезервированные слова языка (for, while, int и т.п.);

  • длина имени не может быть более 31 символа для внутренних переменных и более 6 символов для внешних переменных.

Вопрос №9. Символические константы и директива препроцессора #define.

Кроме имен переменных в программах могут использоваться символические имена (символические константы), которые определяются с помощью директивы препроцессора #define и задают правило подстановки: