Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИНОБРНАУКИ.doc
Скачиваний:
10
Добавлен:
13.11.2019
Размер:
6.72 Mб
Скачать

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

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

Условие задачи: Даны две тройки вещественных чисел. В каждой тройке все числа различные. Найти среднее арифметическое средних чисел каждой тройки (средним назовем такое число в тройке, которое больше наименьшего из чисел данной тройки, но меньше наибольшего).

//#Листинг программы 2

//------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <iostream.h>

#include <math.h>

char NEWT[256];

char*RUS(char*TEXT) {

CharToOem(TEXT,NEWT);

return NEWT;}

//---------------------------------------------------------------------------

#pragma argsused

int main()

{float a1,a2,a3;

float b1,b2,b3;

cout<<RUS("Добро пожаловать \nПрограмму вычисления среднее арифметическое средних чисел каждой тройки\n");

cout<<RUS("\nВведите первую тройку через пробел:");

cin>>a1>>a2>>a3;

cout<<RUS("Введите вторую тройку через пробел:");

cin>>b1>>b2>>b3;

if ((a1>a2) && (a2>a3) ||(a3>a2) && (a2>a1)) a1=a2;

else

if ((a1>a3) && (a3>a2) || (a1>a3) && (a3>a2)) a1=a3;

if ((b1>b2) &&(b2>b3) ||(b3>b2) &&(b2>b1)) b1=b2;

else

if ((b1>b3) &&(b3>b2)|| (b1>b3) && (b3>b2)) b1=b3;

cout<<"a1+b1:"<<( a1+b1)/2;

cout<<"\n";

system("pause");

}

Описания проделанной работы

Рассмотренная ранее лабораторная работа программ исполнялась в порядке следования операторов, выполняющихся исключительно по одному разу. Однако на практике возможности подобных программ весьма ограничены. Слишком малое число проблем может быть решено подобным способом большинство задач требует от программы принятия решения в зависимости от различных ситуаций. Язык С++ обладает исчерпывающим набором конструкций, позволяющим управлять порядком выполнения отдельно взятых ветвей программы. Например, вы можете передать управление в ту или иную часть программы в зависимости от результата проверки некоторого условия. Для осуществления ветвления используются так называемый выше условный операторы. Oпepaтop if-else производит ветвление программы в зависимости от результата проверки некоторого условия на истинность.

В этой лабораторной работе используется оператор ветвления if-else.

if(проверяемое условие)

предложение 1;

else

предложение 2;

Если проверяемое условие выполняется, осуществляется переход к предложению1 с последующим переходом к предложению3. В случае, когда проверяемое условие принимает ложное значение, программа выполнит ветвь, содержащую предложение2, а затем перейдет к предложению3.

Этот же принцип реализован программе нахождения среднее арифме-тического средних чисел каждой тройки. В начале программа приветствует и просит заполнить первую тройку цифр, потом вторую тройку. После ввода данных программу ,нажимая Enter выводит нам решение среднее арифмети-ческого средних чисел каждой тройки.

Рисунок 3

Рисунок 4

Блок-схема:

a1=a2;

a1=a3;

b1=b2;

b1=b3;

Вывод a1,b1

+ -

Вывод: Следует отметить, что комбинация if-else позволяет зна-чительно упростить код программы. Иногда можно встречать различные задачи, которые простой линейной структурой невозможно реализовать и требуют некоторых условий. И С++ легко можно реализовать операторы ветвления.