- •Экзамен по информатике
- •Цели программирования.
- •Области языков программирования. Научные приложения.
- •Области языков программирования. Коммерческие приложения.
- •Области языков программирования. Искусственный интеллект.
- •Области языков программирования. Системное программирование.
- •Области языков программирования. Языки сценариев.
- •Области языков программирования. Web-программирование.
- •Уровни языков программирования. Машинные языки (история возникновения, отличительные особенности, пример языков).
- •Уровни языков программирования. Языки ассемблера (история возникновения, отличительные особенности, пример языков).
- •Уровни языков программирования. Языки высокого уровня (история возникновения, отличительные особенности, пример языков).
- •Методы реализации программ. Компиляция (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •Методы реализации программ. Интерпретация (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •Методы реализации программ. Смешанная реализация (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •Методы реализации программ. Трансляция (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •Жизненный цикл программного продукта.
- •Этапы решения задач на эвм.
- •Цикл с параметром
- •Пример 1
- •Пример 2
- •Способы записи алгоритма. Псевдокод.
- •Пример 1
- •Пример 2
- •Рекомендации
- •Сравнение примеров
- •Способы записи алгоритма. Сравнение различных подходов. Выгоды использования блок-схем и псевдокода
- •Только псевдокод
- •Концепция памяти.
- •Принципы типизации данных.
- •Тип данных bool
- •Тип данных char
- •Целочисленные типы данных
- •Типы данных с плавающей точкой
- •Иерархия простых типов данных.
- •Стандартные типы данных. Таблица характеристик. Особенности выбора типа.
- •Правила приведения типов.
- •Пример, использующий преобразование типов
- •Оператор sizeof.
- •Переменные (объявление, инициализация, присвоение).
- •Константы. Специальные символы. Квалификатор const.
- •Область видимости переменных.
- •Операторы управления областью видимости.
- •Группы операций (особенности записи, таблица приоритетов)
- •Понятие ассоциативности, приоритета, размерности. Таблица приоритета операций.
- •Арифметические операции.
- •Логические операции (краткая схема вычислений).
- •Побитовые операции (таблицы истинности). Побитовые логические операции
- •Побитовое отрицание (not)
- •Побитовое и (and)
- •Побитовое или (or)
- •Сложение по модулю два (xor)
- •Другие побитовые логические операции
- •Битовые сдвиги
- •Принципы структурного программирования.
- •Структурное программирование: три базовые конструкции.
- •Основные операторы.
- •Параметры по-умолчанию.
- •Перегрузка функций.
- •Файлы (понятие, текстовые и двоичные файлы, структурированные и неструктурированные, операции, основные библиотеки для работы с файлами).
- •Режимы открытия файлов
- •Потоковый ввод-вывод. Библиотека потокового ввода-вывода. Вступление.
- •Консольный ввод/вывод.
- •Форматирование.
- •Потоковый ввод/вывод пользовательских типов.
- •Файловый ввод/вывод.
- •Файловый ввод-вывод. Стандартная библиотека ввода-вывода.
Области языков программирования. Системное программирование.
Операционные системы и все инструменты программной поддержки компьютерных систем называются системным программным обеспечением. Оно используется практически повсеместно и, следовательно, должно эффективно функционировать. В связи с этим языки программирования, применяемые в этой области, должны обеспечивать быстрое выполнение программ. Более того, они должны иметь низкоуровневые свойства, позволяющие писать программы, осуществляющие взаимодействие с внешними устройствами.
Операционная система UNIX практически полностью написана на языке C, что позволяет относительно просто переносить её на различные машины. Некоторые характерные черты языка C способствуют его использованию в системном программировании. Он низкоуровневый, эффективно функционирует и не обременяет пользователя большим количеством ограничений. Люди, занимающиеся системным программированием, обычно великолепные программисты и не верят в то, что подобные ограничения им нужны. Тем не менее, некоторые считают язык C слишком опасным для использования в больших и важных системах программного обеспечения.
Области языков программирования. Языки сценариев.
Языки подготовки сценариев развивались постепенно в течение последних 25 лет. Программы на этих языках представляют собой исполняемые файлы, называемые сценариями или скриптами, которые содержат перечень команд. Первым из таких языков был язык sh (сокр. от англ. shell – оболочка), первоначально состоявший из небольшого набора команд, интерпретируемых как вызовы системных подпрограмм, выполняющих служебные функции, например, управление файлами. Затем к этой основе были добавлены переменные, операторы потока управления, функции и многие другие возможности, и в результате получился завершённый язык программирования. Один из широко известных языков подготовки сценариев – язык ksh.
Области языков программирования. Web-программирование.
Уровни языков программирования. Машинные языки (история возникновения, отличительные особенности, пример языков).
Любой компьютер может непосредственно понимать лишь свой собственный машинный язык. Машинный язык – это «природный язык» определённого компьютера. Он определяется при проектировании аппаратных средств этого компьютера. Машинные языки в общем случае содержат строки чисел (в конечном счёте, сокращённые до нулей и единиц), которые являются командами компьютеру на выполнении большинства элементарных операций в тот или иной момент времени. Машинные языки машинно-зависимы, т.е. каждый машинный язык может быть использован только на компьютере одного определённого типа. Машинные языки тяжелы для человеческого восприятия.
Уровни языков программирования. Языки ассемблера (история возникновения, отличительные особенности, пример языков).
По мере повышения популярности компьютеров стало очевидно, что программирование на машинных языках просто слишком медленно и утомительно для большинства программистов. Вместо использования строк чисел, которые компьютер мог бы воспринимать непосредственно, программисты начали использовать похожие на английский язык аббревиатуры для представления элементарных компьютерных операций. Эти аббревиатуры, напоминающие английский язык, сформировали основу языков ассемблера. Для преобразования программ на языке ассемблера в машинный код были разработаны программы трансляции, называемыми ассемблерами. Хотя код более понятен людям, он не понятен компьютеру до тех пор, пока не будет преобразован в компьютерный код.
