Лабораторная работа по информатике №1. Лабораторная работа 1. Лабораторная работа 1 Функции в языке С
Скачать 1.27 Mb.
|
Лабораторная работа №1 Функции в языке С++ Цель работы: Изучение функций,структуры программы и возможностей раздельной компиляции и компоновки функций. Вариант №47, задача №1 Сарачев Данил БИБ2102 Общие указания к заданиям лабораторной работы: По номеру Вашего варианта выбрать задачу, решаемую в этой лабораторной работе. При необходимости, залезть в справочники и найти нужные формулы, реализующие решение предложенной задачи. Для решения задачи предстоит составить программы для 5 заданий. В каждом заданий из пяти заданий вы должны написать программу для решения одной и той же задачи, но изучены и реализованы различные способы обмена данными между функциями. В функции main(), каждой из пяти реализации необходимо организовать вычисление задачи вашего варианта дважды: Для исходных данных, значение которых нужно задать в виде констант в самом тексте функции main()- будем считать их статданными данными, на которых проверяется правильность решения задачи, для исходных данных значения, значения которых пользователь программы должен ввести с клавиатуры в процессе выполнения программы. Задача 1.14 Составить программу нахождения длины медианы треугольника по трем его сторонам. Задание 1. #include using namespace std;//пространство имён для того чтобы не конфликтовали переменные int main()//точка входа кода { int A, B, C;//Целые числа cout << " 1 side" << endl;//вывод+отступ cout << "A = ";//вывод cin >> A;//ввод числа строны A cout << "2 side" << endl;//вывод+отступ cout << "B = ";//вывод cin >> B;//ввод числа строны B cout << "3 side" << endl;//вывод+отступ cout << "C = ";//вывод cin >> C;//ввод числа строны C if (A > B + C){ cout << "break"; exit(0); }//условие if (B > A + C) { cout << "break"; exit(0); }//условие if (C > B + A) { cout << "break"; exit(0); }//условие cout << sqrt(2 * B * B + 2 * C * C - A * A) / 2; return 0;//возрат } Задание 2. #include using namespace std;//пространство имён для того чтобы не конфликтовали переменные int Y(int A,int B, int C) { return sqrt(2 * B * B + 2 * C * C - A * A) / 2; }//функция int int main()//точка входа кода { int A, B, C;//Целые числа cout << " 1 side" << endl;//вывод+отступ cout << "A = ";//вывод cin >> A;//ввод числа стороны А cout << "2 side" << endl;//вывод+отступ cout << "B = ";//вывод cin >> B; cout << "3 side" << endl;//вывод+отступ cout << "C = ";//вывод cin >> C; if (A > B + C) { cout << "break"; exit(0); }//условие if (B > A + C) { cout << "break"; exit(0); }//условие if (C > B + A) { cout << "break"; exit(0); }//условие cout << endl << "median= " << Y(A, B, C); cout << endl;//отступ return 0;//возрат } Задание 3. #include using namespace std;//пространство имён для того чтобы не конфликтовали переменные int Y(int A,int B, int C) { return sqrt(2 * B * B + 2 * C * C - A * A) / 2; } int main()//точка входа кода { int A, B, C;//Целые числа cout << " 1 side" << endl;//вывод+отступ cout << "A = ";//вывод cin >> A;//ввод числа стороны А cout << "2 side" << endl;//вывод+отступ cout << "B = ";//вывод cin >> B; cout << "3 side" << endl;//вывод+отступ cout << "C = ";//вывод cin >> C; if (A > B + C) { cout << "break"; exit(0); }//условие if (B > A + C) { cout << "break"; exit(0); }//условие if (C > B + A) { cout << "break"; exit(0); }//условие cout << endl << "median= " << Y(A, B, C); cout << endl;//отступ return 0;//возрат } Задание 4. #include using namespace std; void Y(int A, int B, int C); int main()//точка входа кода { int A, B, C;//Целые числа cout << " 1 side" << endl;//endl-это отступ cout << "A = "; cin >> A;//ввод числа cout << "2 side" << endl; cout << "B = "; cin >> B; cout << "3 side" << endl; cout << "C = "; cin >> C; if (A > B + C) { cout << "break"; exit(0); }//условие if (B > A + C) { cout << "break"; exit(0); } if (C > B + A) { cout << "break"; exit(0); } cout << endl << "median= "; Y(A, B, C); cout << endl; return 0;//вывод } void Y(int A, int B, int C) { int Q; Q=sqrt(2 * B * B + 2 * C * C - A * A) / 2; cout << Q; } Задание 5. #include using namespace std;//пространство имён для того чтобы не конфликтовали переменные int A, B, C;//Целые числа void Y();//void-указатель неопределённого типа+"невозращает" int main()//точка входа кода { cout << " 1 side" << endl;//вывод текста+endl-это отступ cout << "A = ";//вывод cin >> A;//ввод числа стороны A cout << "2 side" << endl;//вывод текста+endl-это отступ cout << "B = ";//вывод cin >> B;//ввод числа стороны B cout << "3 side" << endl;//вывод текста+endl-это отступ cout << "C = ";//вывод cin >> C;//ввод числа стороны C if (A > B + C) { cout << "break"; exit(0); }//условие if (B > A + C) { cout << "break"; exit(0); }//условие if (C > B + A) { cout << "break"; exit(0); }//условие cout << endl << "median= "; Y(); cout << endl;//вывод отступа return 0;//вывод } void Y() { int V;//Целые число V = sqrt(2 * B * B + 2 * C * C - A * A) / 2; cout << V;//вывод решения } Задание 6. #include using namespace std;//пространство имён для того чтобы не конфликтовали переменные int Y(int A, int B, int C); int main()//точка входа кода { int A, B, C;//Целые числа cout << " 1 side" << endl;//вывод+отступ cout << "A = ";//вывод cin >> A;//ввод числа строны A cout << "2 side" << endl;//вывод+отступ cout << "B = ";//вывод cin >> B;//ввод числа строны B cout << "3 side" << endl;//вывод+отступ cout << "C = ";//вывод cin >> C;//ввод числа строны C if (A > B + C) { cout << "break"; exit(0); }//условие if (B > A + C) { cout << "break"; exit(0); }//условие if (C > B + A) { cout << "break"; exit(0); }//условие cout << endl << "median= " << Y(A, B, C); cout << endl;//вывод+отступ return 0;//возрат } #include using namespace std;//пространство имён для того чтобы не конфликтовали переменные int Y(int A, int B, int C) { cout << sqrt(2 * B * B + 2 * C * C - A * A) / 2; return 0;//возрат } Задание 7. #include using namespace std;//пространство имён для того чтобы не конфликтовали переменные int A, B, C; void Y();//void-указатель неопределённого типа int main()//точка входа кода { cout << " 1 side" << endl;//вывод текста+endl-это отступ cout << "A = ";//вывод стороны A cin >> A;//ввод числа стороны A cout << "2 side" << endl;//вывод текста+endl-это отступ cout << "B = ";//вывод стороны B cin >> B;//ввод числа стороны B cout << "3 side" << endl;//вывод текста+endl-это отступ cout << "C = ";//вывод стороны C cin >> C;//ввод числа стороны C if (A > B + C) { cout << "break"; exit(0); }//условие if (B > A + C) { cout << "break"; exit(0); }//условие if (C > B + A) { cout << "break"; exit(0); }//условие cout << endl << "median= "; Y(); cout << endl;//вывод отступа return 0;//вывод } #include #include extern int A, B, C; void Y() { std::cout << sqrt(2 * B * B + 2 * C * C - A * A) / 2; } |