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