Главная страница
Навигация по странице:

  • Составной оператор – {...}

  • Оператор обработки исключений try

  • Оператор-переключатель switch

  • Оператор цикла с предусловием while

  • Оператор пошагового цикла for

  • Оператор разрыва break ; Оператор разрыва прерывает выполнение операторов while , do , for и switch

  • Ввод-вывод данных в языке C++


  • Cтейтмент

  • Все стейтменты в языке C++ заканчиваются точкой с запятой.

  • стейтмент объявления

  • Алгоритм и структура данных. 1 Базовый процедурноориентированный алгоритмический язык


    Скачать 1.16 Mb.
    Название1 Базовый процедурноориентированный алгоритмический язык
    АнкорАлгоритм и структура данных
    Дата03.11.2022
    Размер1.16 Mb.
    Формат файлаdocx
    Имя файлаАлгоритм и структура данных.docx
    ТипДокументы
    #768957
    страница2 из 11
    1   2   3   4   5   6   7   8   9   10   11

    Операторы алгоритмического языка. Структура программы


    Классификация операторов алгоритмического языка.

    Операторы управляют процессом выполнения программы. Набор операторов языка С++ содержит все управляющие конструкции структурного программирования.

    Составной оператор ограничивается фигурными скобками. Все другие операторы заканчиваются точкой с запятой.

    • Пустой оператор –  ;

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

    • Составной оператор –  {...}

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

    • Оператор обработки исключений
      try { <операторы> } catch (<объявление исключения>) { <операторы> } catch (<объявление исключения>) { <операторы> } ... catch (<объявление исключения>) { <операторы> }

    • Условный оператор
      if (<выражение>) <оператор 1> [else <оператор 2>]

    • Оператор-переключатель
      switch (<выражение>) { case <константное выражение 1>: <операторы 1> case <константное выражение 2>: <операторы 2> ... case <константное выражение N>: <операторы N> [default: <операторы>] }

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

    • Оператор цикла с предусловием
      while (<выражение>) <оператор>

    • Оператор цикла с постусловием
      do <оператор> while <выражение>;

    В языке C++ этот оператор отличается от классической реализации цикла с постусловием тем, что при истинности выражения происходит продолжение работы цикла, а не выход из цикла.

    • Оператор пошагового цикла
      for ([<начальное выражение>]; [<условное выражение>]; [<выражение приращения>]) <оператор>

    Тело оператора for выполняется до тех пор, пока условное выражение не станет ложным (равным 0). Начальное выражение и выражение приращения обычно используются для инициализации и модификации параметров цикла и других значений. Начальное выражение вычисляется один раз до первой проверки условного выражения, а выражение приращения вычисляется после каждого выполнения оператора. Любое из трех выражений заголовка цикла, и даже все три могут быть опущены (не забывайте только оставлять точки с запятой). Если опущено условное выражение, то оно считается истинным, и цикл становится бесконечным.

    Оператор пошагового цикла в языке С++ является гибкой и удобной конструкцией, поэтому оператор цикла с предусловием while используется в языке С++ крайне редко, т.к. в большинстве случаев удобнее пользоваться оператором for.

    • Оператор цикла для диапазона
      for (<элемент><массив><оператор>

    Оператор цикла для диапазона предоставляет способ итерации по массиву (или другой структуре). Выполняется итерация по каждому элементу массива, при этом значение текущего элемента массива присваивается переменной, объявленной как элемент. В целях улучшения производительности объявляемый элемент должен быть того же типа, что и элементы массива. Можно использовать автоматический вывод типа. Элемент может быть изменён, но это не влияет на массив. Для того, чтобы изменить массив, элемент надо объявлять как ссылку. В цикле обрабатываются все элементы массива.

    • Оператор разрыва
      break;

    Оператор разрыва прерывает выполнение операторов whiledofor и switch. Он может содержаться только в теле этих операторов. Управление передается оператору программы, следующему за прерванным. Если оператор разрыва записан внутри вложенных операторов whiledoforswitch, то он завершает только непосредственно охватывающий его оператор.

    • Оператор продолжения
      continue;

    Оператор продолжения передает управление на следующую итерацию в операторах цикла whiledofor. Он может содержаться только в теле этих операторов. В операторах do и while следующая итерация начинается с вычисления условного выражения. В операторе for следующая итерация начинается с вычисления выражения приращения, а затем происходит вычисление условного выражения.

    • Оператор возврата
      return [<выражение>];

    Оператора возврата заканчивает выполнение функции, в которой он содержится, и возвращает управление в вызывающую функцию. Управление передается в точку вызывающей функции, непосредственно следующую за оператором вызова. Значение выражения, если она задано, вычисляется, приводится к типу, объявленному для функции, содержащей оператор возврата, и возвращается в вызывающую функцию. Если выражение опущено, то возвращаемое функцией значение не определено.

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

    Оператор присваивания

    Если в программе объявить класс, в котором оператор присваивания не перегружается, то для этого класса компилятором будет создан оператор присваивания по умолчанию. Итак, оператор присваивания по умолчанию – это такой оператор присваивания, который автоматически создается компилятором для обеспечения копирования одного экземпляра класса другому экземпляру класса. При вызове оператора присваивания по умолчанию происходит побайтовое копирование одного экземпляра класса другому.
    Операторы управления

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

    Организация ввода-вывода данных

    Ввод-вывод данных в языке C++ осуществляется либо с помощью функций ввода-вывода в стили C, либо с использованием библиотеки классов C++. Преимущество объектов C++ в том, что они легче в использовании, поэтому предлагаю рассмотреть именно их.

    Описание объектов для управления вводом-выводом содержится в файле iostream.h. При подключении этого файла с помощью директивы #include  в программе автоматически создаются виртуальные каналы связи cin для ввода с клавиатуры и coutдля вывода на экран, а также операции помещения в поток << и чтения из потока >>.

    С помощью объекта cin и операции >> можно присвоить значение любой переменной. Например, если переменная x описана как целочисленная, то команда cin>>x; означает, что в переменную будет записано некое целое число, введенное с клавиатуры. Если необходимо ввести несколько переменных, то следует написать cin>>x>>y>>z;.

    Для использования традиционного ввода-вывода в духе C, в программу необходимо включить заголовочный файл . (Разумеется, компилятор должен иметь доступ к соответствующей объектной библиотеке для правильной сборки исполняемого файла.)

    Библиотека stdio предоставляет необходимый набор функций для ввода и вывода информации как в текстовом, так и в двоичном представлении. Следует отметить, что в отличие от классической C‑библиотеки, в современных библиотеках имеются более безопасные аналоги «классических» функций. Как правило, они имеют такое же имя, к которому добавлен суффикс _s. Рекомендуется использовать именно эти, безопасные функции.

    Самая Первая Программа с использованием библиотеки stdio выглядит так:

    #include
    int main()

    {

    printf("Hello, world!\n");

    }

    Структура программы

    Программа на С++ состоит из набора инструкций. Каждая инструкция (statement) выполняет определенное действие. В конце инструкции в языке C++ ставится точка с запятой (;). Данный знак указывает компилятору на завершение инструкции.

    Cтейтмент (англ. «statement») — это наиболее распространенный тип инструкций в программах. Это и есть та самая инструкция, наименьшая независимая единица в языке С++. Стейтмент в программировании — это то же самое, что и «предложение» в русском языке. Мы пишем предложения, чтобы выразить какую-то идею. В языке C++ мы пишем стейтменты, чтобы выполнить какое-то задание. Все стейтменты в языке C++ заканчиваются точкой с запятой.

    Есть много разных видов стейтментов в языке C++. Рассмотрим самые распространенные из них:

    1

    2

    3

    int x;

    x = 5;

    std::cout << x;

    int х — это стейтмент объявления (англ. «statement declaration»). Он сообщает компилятору, что х является переменной. В программировании каждая переменная занимает определенное число адресуемых ячеек в памяти в зависимости от её типа. Минимальная адресуемая ячейка — байт. Переменная типа int может занимать до 4 байт, т.е. до 4 адресуемых ячеек памяти. Все переменные в программе должны быть объявлены, прежде чем использованы. Мы детально поговорим о переменных на следующих уроках.

    х = 5 — это стейтмент присваивания (англ. «assignment statement»). Здесь мы присваиваем значение 5 переменной х.

    std::cout << x; — это стейтмент вывода (англ. «output statement»). Мы выводим значение переменной х на экран.

    Переход от схемы алгоритма к схеме программы.

    схема алгоритма - словесное/графическое описание решения поставленной задачи, а программа - код, составленный по тому же описанию... конкретный код зависит от языка программирования
    1   2   3   4   5   6   7   8   9   10   11


    написать администратору сайта