Порядок выполнения работы




Лабораторная работа 2

Условные операторы и операторы цикла языка С++

 

Цель работы

Создать программу, которая вычисляет значения функции заданного диапазона; необходимо организовать ввод границ интервала, значения n, шаг аргумента.

Программа должна содержать такие части:

· чтение данных с консоли;

· основная (вычислительная) часть (содержит проверку условия, цикл, в котором устанавливается новое значение аргумента, отображается это значение, вычисляется значение функции, а затем увеличивается значение аргумента);

· вывод результатов (значения функции).

Вид функции задается в отдельном задании в соответствии с номером в списке группы студентов (номер варианта).

 

 

 

Теоретические сведения

Основные типы данных

Основные типы данных в C++ делятся на две категории:

· integer (целое число);

· floating (действительные числа).

Группа целочисленных типов включает в себя такие типы: int, long, short, char, и bool. Все целые типы, за исключением bool, бывают двух видов: со знаком и без (signed and unsigned). Целые числа без знака, как предполагается, будут signed. Целые числа со знаком либо положительные либо отрицательные. Целые числа без знака всегда положительны. Символьные данные (char) рассматриваются как небольшие целые числа. Переменные типа char, как правило, используется для хранения кодов символов.

Значения переменных с плавающей точкой являются вещественными числами. Группа типов с плавающей точкой включает в себя такие виды: float, double, и long double. Представления long double и double одинаково.

Переменная типа char используется для хранения кодов знаков. Эти маленькие целочисленные значения могут быть представлены как знаки. Знак – это одна буква, цифра или другой символ. Символьная переменная хранит 1 байт и используется для содержания 256 ASCII символов. ASCII (American Standard Code for Information Interchange) - Американский Стандартный Код Обмена Информацией.

Все прописные и строчные английские буквы, все цифры и все знаки препинания лежат в диапазоне от 1 до 128. Значения больше 128 используются для дополнительных знаков.

Переменная типа bool может принимать значения true или false.

 

Константные величины

Константы представляют фиксированные числовые или символьные значения.

Целые константы могут быть десятичными (по основанию 10), восьмеричными (по основанию 8) или шестнадцатеричными (по основанию 16). Десятичные константы не должны использовать ноль. Целочисленная константа, включающая в себя ноль, интерпретируется как восьмеричная. Все константы начинающиеся на 0x (или 0X) считаются шестнадцатеричными.

Суффикс L (или l) прикрепленный к любой константе показывает, что константа будет использована как long. Аналогично, суффикс U (или u) показывает принадлежность к типу unsigned. Вы можете использовать оба суффикса L и U с одной константой в любом порядке: ul, lu, UL, и так далее.

Символьная константа формируется путем заключения одного символа из набора символов в одинарные кавычки (' ').

Символьную комбинацию, состоящую из обратной косой черты (\), а затем дополненный буквой или комбинацией цифр, называют «управляющей последовательностью». Для представления новой строки, одинарных кавычек, или некоторых других символов в символьной константе, необходимо использовать управляющие последовательности. Управляющая последовательность рассматривается как одиночный символ, а, следовательно, как символьная константа.

Управляющие последовательности, как правило, используются для определения таких действий, как возврат каретки и табуляции на терминалы и принтеры. Они также используются для обеспечения буквального представления непечатаемых знаков и символов, которые обычно имеют специальные значения, такие как двойные кавычки (").

Инструкции (операторы)

Инструкции (операторы) - это синтаксические конструкции, определяющие действия, выполняемые программой.

Пустая инструкция состоит из одной точки с запятой.

Инструкция-выражение представляет собой полное выражение, заканчивающееся точкой с запятой.

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

Инструкции выбора - условная инструкция и переключатель. Условная инструкция применяется в двух видах:

 

if (условное_выражение){ инструкция_1} else{ инструкция_2}

и

if (условное_выражение){ инструкция_1}

 

При выполнении данной инструкции вычисляется условное выражение и если оно истинно (отлично от 0), то выполняется инструкция_1, а иначе - инструкция_2. Условное выражение может быть любого типа, приводимого к целому. В условии if может быть размещено определение переменной с инициализацией. В соответствии со стандартом языка такая переменная видна только в пределах условной инструкции (включая часть else).

Переключатель позволяет выбрать одну из нескольких возможных ветвей вычислений и строится по схеме:

switch (целое_выражение) { case константа_1: инструкции case константа_2: инструкции... default: инструкции}

 

Выполнение переключателя состоит в вычислении управляющего выражения и переходе к группе инструкций, помеченных case-меткой, равной управляющему выражению, если такой метки нет, выполняются инструкции по метке default (которая может отсутствовать). При выполнении переключателя происходит переход на инструкцию с выбранной меткой и дальше инструкции выполняются в естественном порядке. Для того, чтобы не выполнять оставшихся инструкций в теле переключателя, необходимо использовать операцию break.

Инструкции цикла

Инструкции цикла представлены в трех вариантах: цикл с предусловием, цикл с постусловием и цикл с параметром.

Цикл с предусловием строится по схеме

while (выражение-условие) инструкция

При каждом повторении цикла вычисляется выражение-условие и если значение этого выражения не равно нулю, выполняется инструкция - тело цикла.

Цикл с постусловием строится по схеме:

do инструкция while (выражение-условие);

Выражение-условие вычисляется и проверяется после каждого повторения инструкции - тела цикла, цикл повторяется, пока условие выполняется. Тело цикла в цикле с постусловием выполняется хотя бы один раз.

Цикл с параметром строится по схеме:

for (E1; E2; E3) инструкция

где E1, E2 и E3 - выражения скалярного типа. Цикл с параметром реализуется по следующему алгоритму:

  • вычисляется выражение E1 (обычно это выражение выполняет подготовку к началу цикла);
  • вычисляется выражение E2 и если оно равно нулю выполняется переход к следующей инструкции программы (выход из цикла);
  • если E2 не равно нулю, выполняется инструкция - тело цикла;
  • вычисляется выражение E3 - выполняется подготовка к повторению цикла, после чего снова выполняется выражение E2.

В следующем примере сумма y = 12 + 22 + 32 +... + n2 находится с помощью трех различных инструкций цикла.

С помощью цикла while:

int y = 0; int i = 1; while (i <= n){ y += i * i; i++;}

С помощью цикла do... while:

int y = 0; int i = 1; do { y += i * i; i++;} while (i <= n);

С помощью цикла for:

int y = 0; for (int i = 1; i <= n; i++) y += i * i;

 

В сочетании с инструкциями цикла используются операции перехода - операция break, позволяющая прервать выполнение самого внутреннего из циклов, операция continue, прерывает текущую итерацию самого внутреннего из объемлющих его циклов while, do или for. Обычно break используется в конструкции:

if (условие_досрочного_завершения_цикла) break;

 

Операция break может также использоваться для выхода из тела переключателя. Инструкция goto позволяет перейти на метку. Метка - идентификатор с двоеточием, стоящий перед инструкцией. Использование инструкции goto в большинстве случаев нецелесообразно. Единственный случай разумного использования goto - выход из нескольких вложенных циклов сразу (break осуществляет выход только из одного внутреннего цикла):

 

for (int i = 1; i <= n; i++){ for (int j = 1; j <= n; j++) { for (int k = 1; k <= n; k++) {

...

if (/* Условие выхода */) goto label1;... } }}label1: // Последующие инструкции

 

Порядок выполнения работы

1. Разработать алгоритм для решения поставленной задачи.

2. Разработать программу для решения поставленной задачи (использовать условные операторы и операторы цикла).

3. Проверить работоспособность программы на тестовых данных.

4. Сохранить результаты работы. Оформить отчет по лабораторной работе.

 

Содержание отчета:

1 Титульный лист.

2 Название лабораторной работы.

3 Цель лабораторной работы.

4 Ход выполнения работы (включить алгоритм решения задачи; программный код; пример использования программы).

5 Выводы по проделанной работе c описанием ошибок, с которыми Вы столкнулись при выполнении лабораторной работы.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: