Студопедия — Лабораторная работа № 2. Программирование разветвляющихся алгоритмов
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лабораторная работа № 2. Программирование разветвляющихся алгоритмов






 

Цель работы: овладеть практическими навыками программирования вычислительного процесса разветвляющейся структуры.

 

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

Оператор C++ if позволяет вашим программам осуществлять проверку и затем на основании этой проверки выполнять операторы. Формат оператора if следующий:

if (условие_выполняется) оператор;

Обычно оператор if выполняет проверку, используя операцию сравнения C++ (таблица 2). Если результат проверки является истиной, if выполняет оператор, который следует за ним.

Таблица 2

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

Операция Проверка
== Если два значения равны
! = Если два значения не равны
> Если первое значение больше второго
< Если первое значение меньше второго
> = Если первое значение больше или равно второму
< = Если первое значение меньше или равно второму

 

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

if (test_score > = 90) cout < < " Поздравляем" < < endl; //-------> Простой оператор

Если программе необходимо выполнить несколько инструкций, когда результат сравнения — истина, операторы должны быть сгруппированы внутри левой и правой фигурных скобок {}. Операторы, которые находятся внутри фигурных скобок, образуют составной оператор, как показано ниже:

if (test_score > = 90)

{ cout < < " Поздравляем" < < endl;

cout < < " Отлично " < < endl; } //-----------------> Составнойоператор

В большинстве случаев вашим программам потребуется указать один набор операторов, выполняющийся, если условие истинно, и второй набор, выполняющийся, если условие ложно. Для указания операторов, которые должны выполняться, когда условие ложно, ваши программы должны использовать оператор else. Ниже приведен формат оператора else:

if (условие_истинно)

оператор;

else
оператор;

Оператор switch вызывает передачу управления на один из нескольких операторов в зависимости от значения выражения.

switch (выражение)

{ [объявление]: [ case константное-выражение1]: [ список-операторов1]

[ case константное-выражение2]: [ список-операторов2]

[ default: [ список операторов ]] }

Схема выполнения оператора switch следующая:

- вычисляется выражение в круглых скобках;

- вычисленные значения последовательно сравниваются с константными выражениями, следующими за ключевыми словами case;

- если одно из константных выражений совпадает со значением выражения, то управление передается на оператор, помеченный соответствующим ключевым словом case;

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

Конструкция со словом default может быть не последней в теле оператора switch. Ключевые слова case и default в теле оператора switch существенны только при начальной проверке, когда определяется начальная точка выполнения тела оператора switch. Все операторы между начальным оператором и концом тела выполняются вне зависимости от ключевых слов, если только какой-то из операторов не передаст управления из тела оператора switch. Таким образом, программист должен сам позаботится о выходе из case, если это необходимо. Чаще всего для этого используется оператор break.

 

Задание

1. Изучить возможности языка программирования для реализации:

а) условной и безусловной передачи управления;

б) вычислительного процесса разветвляющейся структуры.

2. Разработать блок-схему алгоритма решения в соответствии с заданием.

3. Составить программу решения задачи.

4. Произвести тестирование программы (число тестов равно числу ветвей вычислительного процесса).

5. Составить отчет о проделанной работе.

 

 

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

Условие: Составить программу нахождения корней квадратного уравнения.

Блок схема алгоритма изображена на рисунке 2.

Рис. 2 Блок –схема алгоритма

 

#include < iostream.h>

#include < math.h>

void main(void)

{

setlocale(LC_ALL, " Russian");

float a, b, c, x1, x2;

cout < < " a*x^2+b*x+c\nВведите a\n-> "; cin > > a;

cout < < " Введите b\n-> "; cin > > b;

cout < < " Введите c\n-> "; cin > > c;

x2 = b*b-4*a*c;

if (x2< 0){

cout < < " Решений нет! \n";

}

else if (x2){

x1 = (-1*b + sqrt(x2))/(2*a);

x2 = (-1*b - sqrt(x2))/(2*a);

cout < < " х1 = " < < x1 < < " \nx2 = " < < x2 < < endl;

}

else{

x1 = -1*b/(2*a);

cout < < " x1 = " < < x1 < < endl;

}

system(" pause");

}

Задания для самостоятельного выполнения

1. По заданному значению аргумента вычислить значения функции

В программе определить функцию, возвращающую значение y по заданному значению x.

2. Треугольник задан координатами вершин. Определить, принадлежит ли точка M(x, y) треугольнику.

3. Треугольник задан координатами вершин. Найти уравнение одной медианы.

4. Треугольник задан координатами вершин. Найти уравнение одной биссектрисы.

5. Треугольник задан координатами вершин. Найти уравнение одной высоты.

6. Равнобедренная трапеция задана координатами вершин. Найти точку пересечения боковых сторон.

7. Даны две пересекающиеся прямые и точка M(x, y). Определить, лежит ли точка между прямыми или вне их.

8. Даны координаты четырех вершин. Определить, является ли данный четырехугольник прямоугольником.

9. На плоскости даны две окружности и точка M(x, y). Определить взаимное положение точки относительно этих окружностей.

10. На плоскости два отрезка задаются координатами. Определить, имеют ли эти отрезки общие точки.

11. Дано целое число n < 10000. Определить, делится ли это число на 3.

12. Две точки на плоскости даны координатами. Выдать на экран терминала уравнение прямой линии.

13. Записать условие принадлежности точки с заданными координатами (x, y) заштрихованной части плоскости, изображенной на рисунке 3а).

14. Записать условие принадлежности точки с заданными координатами (x, y) заштрихованной части плоскости, изображенной на рисунке 3б).

 

Рис. 3. Заштрихованные части плоскостей

Контрольные вопросы

1. Каково назначение инструкции if?

2. Какие операторы отношений реализованы в С++?

3. Какого типа должно быть выражение, управляющее инструкцией

switch?

4. Поясните назначение инструкции break.

5. В чем состоит назначение инструкции С++ безусловного перехода?

6. В чем отличие символов = и ==?

7. Как записать на языке C, что число находится в допустимых значениях.

8. В чем состоит назначение ключевого слова else.








Дата добавления: 2014-11-10; просмотров: 7402. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия