
- •Минобрнауки россии
- •«Чувашский государственный университет имени и.Н.Ульянова»
- •Оглавление
- •Цели и задачи учебной практики
- •Объектно-ориентированное программирование. Лабораторная работа №1
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Специализированные ппп. Mathcad. Лабораторная работа № 2
- •Лабораторная работа № 3 «Численное решение нелинейных уравнений»
- •Лабораторная работа №4
- •Лабораторная работа № 5
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •Лабораторная работа № 8
- •Лабораторная работа № 9
- •Лабораторная работа № 10 «Построение поверхностей в сферической и цилиндрической системах координат»
Лабораторная работа №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 позволяет зна-чительно упростить код программы. Иногда можно встречать различные задачи, которые простой линейной структурой невозможно реализовать и требуют некоторых условий. И С++ легко можно реализовать операторы ветвления.