- •Оглавление.
- •Этапы создания программного продукта.
- •Структурирование программы.
- •Этапы получения программного кода
- •Функциональная декомпозиция
- •Алгоритм программы
- •Линейные алгоритмы
- •Развилка
- •Блоки кода
- •Комментарии
- •Базовые понятия языка Си.
- •Специфика присвоения имён.
- •Функция main
- •Ключевые слова Си
- •Понятие lvalue и rvalue.
- •Типы данных.
- •Функции
- •Блоки кода программы.
- •Операторы языка c.
- •Логические операторы
- •Тернарный оператор
- •Базовые типы данных. Типы данных
- •1)Базовые
- •2)Производные
- •Файловый ввод - вывод.
- •Булевые переменные (тип bool).
- •Понятие, объявление и определение.
- •Ключевое слово typedef.
- •Виды компоновки программ:
- •Скрытие имени переменной.
- •Инструкции условий.
- •Переключатель switch
- •Инструкции цикла.
- •Инструкции безусловного перехода.
- •Препроцессор. Заголовочные файлы. Директивы препроцессора.
- •Список директив препроцессора (все начинаются с #).
- •Предопределённые идентификаторы.
- •Диагностический макрос (микрокоманда) assert.
- •Указатели.
- •Инициализация указателя и оператор получения адреса объекта.
- •Арифметика указателей.
- •Массивы.
- •Объявление встроенного массива.
- •Инициализация массива.
- •Явная инициализация.
- •Обращение к элементу массива. Оператор [].
- •Связь массивов и указателей.
- •Двумерные массивы.
- •Оператор new и массивы.
- •Многомерные массивы.
- •Ссылки.
- •Объявление:
- •Инициализация:
- •Получение значений:
- •Функции.
- •Определение функции (реализация).
- •Вызов inline функции.
- •Способы передачи параметров
- •Использование “ , ” , формирование параметров.
- •Указатели на массивы в качестве параметров функции.
- •Значения аргументов функций по умолчанию.
- •Переменное число параметров функции.
- •Функции стандартной библиотеки
- •Виды возвращаемых значений и механизмы их формирования.
- •Проблемы при возвращении ссылки или указателя.
- •Ключевое слово const.
- •“Перегрузка” имён функции.
- •Возможный конфликт при использовании параметров по умолчанию.
- •Рекурсивные функции.
- •Структуры Си.
- •Структуры и функции.
Этапы получения программного кода
Получение из исходного кода исполняемого модуля программы, проходит несколько этапов:
Формирование исходного кода в текстовом редакторе.
Предварительная обработка текста процессором.
Компиляция объектного файла.
Компоновка и сборка исполняемого файла.
Отладка (добавляется отладочная информация).
Функциональная декомпозиция
Функция – первый уровень абстракции программирования (один и тот же код работает с разными наборами данных), при этом решаются две задачи:
улучшается структура текста программы;
функция является средством, позволяющим избежать дублирования кода
Основной задачей программиста является «объяснение» компилятору, каким образом компилятор должен формировать вызов по отношению к данному модулю функции. То есть, программист должен правильно задать входные данные.
Пример функциональной декомпозиции изображен на следующей схеме:
-
m
ain
( ){…
в
ызов
f1 ( )в
ызов
f4 ( )}
f
1
( ){…
в
ызов
f2 ( )в
ызов
f3 ( )}
f4 ( )
{
}
f2 ( )
{…
}
f3 ( )
{…
}
В C++ функция — это фрагмент (блок) кода, оформленный определенным образом (в частности, ограничен фигурными скобками) и выполняющий некоторое законченное действие. В языках C функция принимает на вход множество значений, но возвращает всегда одно.
Алгоритм программы
Основным в процессе программирования является разработка алгоритма. Это один из наиболее сложных этапов решения задачи с использованием ЭВМ. В начале обучения программированию, на наш взгляд, целесообразно не привязываться сразу к какому-либо языку, а, разрабатывать алгоритм решения задачи используя блок-схемы. После такой алгоритмизации проще перейти к записи того же алгоритма на определённом языке программирования. Основными алгоритмическими структурами (ОАС) являются следование, развилка и цикл. В более сложных случаях используются суперпозиции (вложения) ОАС.
Ниже приведены графические обозначения (обозначения на блок-схемах) ОАС.
|
|
|
|
|
|
На схемах СЕРИЯ обозначает один или несколько любых операторов; УСЛОВИЕ есть логическое выражение (ЛВ) (если его значение ИСТИНА, переход происходит по ветви ДА, иначе — по НЕТ). На схеме цикла с параметром использованы обозначения: ПЦ — параметр цикла, НЗ — начальное значение параметра цикла, КЗ — конечное значение параметра цикла, Ш — шаг изменения параметра цикла.
Начало и конец алгоритма на блок-схемах обозначают овалом, вводимые и выводимые переменные записываются в параллелограмме.
В примерах мы будем использовать запись алгоритмов с помощью блок-схем и словесное описание.

Структура
“следование”
Полная
развилка
Неполная
развилка
Цикл
с предусловие (цикл ПОКА)
Цикл
с постусловием (цикл ДО)
Цикл
с параметром