Предположим, что схема иерархии блоков построена; для каждого блока выбрана математическая модель и определены входные и выходные данные. Далее необходимо написать алгоритмы, соответствующие блокам.
Рассмотрим способы описания алгоритмов. Наиболее распространенными являются:
- словесное описание алгоритма;
- формульно-словесное описание алгоритма;
- язык схем алгоритмов (блок-схем);
- язык программирования.
Схема алгоритма изображает шаги обработки данных и последовательность их выполнения с помощью логического соединения геометрических фигур. Геометрические фигуры определены государственным стандартом ( Гост ЕСПД – единая система программной документации).
Итак, для построения структурированной схемы алгоритма можно использовать метод нисходящего проектирования (от сложного к простому) и на каждом шаге детализации для реализации блоков применять базисные конструкции. Существует другой подход к построению структурированной схемы – восходящее проектирование (от простого к сложному).
ООП – восходящее программирование. Мы его изучим позднее.
Неформальное введение в С++
Язык программирования С++ был разработан Бьярном Страуструпом в 1980г. на основе языка С. Вначале язык назывался “C с классами”, а позднее Рик Маскитти назвал его С++.
Язык С++ является расширением языка С. В связи с этим программы, написанные на языке С, могут обрабатываться компилятором языка С++. Язык С++ предназначен, в основном, для ООП. Однако его можно использовать не только для реализации объектно-ориентированных проектов. Он поддерживает принципы абстракции данных с помощью механизма классов и позволяет программисту разрабатывать приложения с использованием традиционного структурного программирования.
СП Borland C++ включает компилятор с языка С++ и интегрированную среду-оболочку. Среда представляет пользователю массу удобств при создании и отладке программ. Но не только среда послужила причиной широкой популярности С++. В основе СП лежит мощный язык программирования.
Прежде, чем знакомиться с основными элементами языка С++, рассмотрим процесс подготовки программы на языке С++ к исполнению на компьютере.
Прежде всего, следует отметить, что программа на языке С++ - это текстовый файл с расширением cpp(си плюс плюс).
Процесс подготовки исполняемой программы состоит из двух этапов:
- препроцессорная обработка текста программы;(в Java уже отсутствует)
- компиляция программы.
Препроцессор в соответствии с директивами вставляет в программу заранее подготовленные тексты из включаемых файлов. Каждая директива препроцессора начинается с символа ‘#’. Например:
#include<имя файла>
Сформированный таким образом текст программы передается компилятору.
Процесс компиляции текста программы состоит из следующих этапов:
- лексический анализ;
- синтаксический анализ;
- семантический анализ;
- генерация объектного кода.
На этапе лексического анализа компилятор выделяет в тексте программы лексические единицы, к которым относятся идентификаторы, знаки операций.
Затем на этапе синтаксического анализа компилятор в соответствии с правилами грамматики языка распознает синтаксические конструкции, такие как выражения, описания, операторы, функции и т.д. На следующем этапе компилятор осуществляет семантический контроль конструкций с точки зрения их смыслового содержания, а затем формирует объектный файл с расширением OBJ(ou’bi’jey).
После этого объектный файл дополняется библиотечными функциями с помощью редактора связей и формируется программа, готовая к выполнению, с расширением EXE.
Основные элементы языка Си++
- прописные и строчные буквы латинского алфавита A..Z и a..z;
- десятичные цифры 0..9;
- шестнадцатеричные цифры 0..9,A..F или 0..9, a..f;
- специальные символы:
+, -, *, /, (, ), [, ], {, }, ., : и т.д.;
- ключевые слова (или зарезервированные слова):
Char, const, do, class, continueи т.д.
Особое место в языке Си++ занимают пробелы и комментарии. Пробелы рассматриваются как ограничители идентификаторов, констант, чисел.
Многострочный комментарий – это произвольная последовательность любых символов, ограниченная парами символов /*…*/ .(В языке Си такие же ограничители)