Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 сем / Задание / ОАиП_для_ЗАО_20_весна.docx
Скачиваний:
4
Добавлен:
04.07.2024
Размер:
2.44 Mб
Скачать

Текст программы

//Определение номера области, в которую попадает точка с произвольно заданными

//координатами на плоскости, и площади этой области

#include<iostream.h>

#include<math.h>

#include<locale.h>

using namespace std ;

int main()

{int i = 0 ; //номер области на рисунке

float x, y, //координаты точки

s1, s2, s3, s4, s5 ; //площади областей

setlocale(LC_ALL,"Russian") ;

cout << "\nВведите координаты точки: x, y " ;

cin >> x >> y ;

if(y > 0 && y < 2 && x > 1 && x < 2 && (x – 1) * (x – 1) + y * y >1)

{cout << "Точка в области M1. " ; i = 1 ;

}

else if(x > -2 && y < 1 && x < -1 && y > 0 &&

(x + 1) * (x + 1) + y * y > 1)

{cout << "Точка в области М2. " ; i = 2 ;

}

else if((x+1) * (x+1) + y * y < 1 && x * x + y * y < 1 && y > 0)

{cout << "Точка в области М3. " ; i = 3 ;

}

else if(x * x + y * y > 1 && (x - 1) * (x - 1) + y * y < 1 &&

x * x + (y + 1) * (y + 1) < 1)

{cout << "Точка в области М4. " ; i = 4 ;

}

else if(y < -1 && y > -2 && x < 0 && x > -1 &&

x * x + (y + 1) * (y + 1) > 1)

{cout << "Точка в области М5. " ; i = 5 ;

}

else cout << "Точка вне выделенных областей" ;

cout.precision(4); //число знаков после дес. точки

switch(i)

{case 1: cout << "S1 = " << (s1 = 2 - M_PI / 4) ;

break ;

case 2: cout << "S2 = " << (s2 = 1 - M_PI / 4) ;

break ; case 3: cout << "S3 = " << (s3 = M_PI/3 – sqrt(3)/4) ;

break ;

case 4: cout << "S4 = " << (s4 = sqrt(3)/2 + M_PI/3 - M_PI/4-1) ;

break ;

case 5: cout << "S5 = " << (s5 = 1 - M_PI / 4) ;

}

cout << "\n Повторить-1, Выход-2: " ;

cin >> i ;

if (i == 1) main() ;

return 0 ;

}

Скриншот результатов выполнения программы

Лабораторная работа №3 Операторы цикла: заданное число повторений

Цель лабораторной работы: изучение концепций и освоение технологии процедурного программирования, приобретение навыков процедурного программирования на языке C/C++ циклических вычислений.

Задание на программирование: используя технологию процедурного программирования разработать программу решения индивидуальной задачи тремя видами циклических управляющих структур: Цикл - Пока (с предусловием), Цикл - До (с постусловием), Цикл - Для (с параметром).

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

1. Получить у преподавателя индивидуальное задание. Выполнить постановку задачи: сформулировать условие, определить входные и выходные данные.

2. Разработать математическую модель.

3. Построить схемы алгоритмов трёх функций, использующих для решения задачи циклические управляющие структуры с операторами while, dowhile, for соответственно.

4. Составить программу на языке C/C++.

5. Входные данные вводятся один раз с клавиатуры по запросу.

6. Ввод исходных данных и вывод результатов должен осуществляться в функции main(). Выходные данные выводить на экран в развернутой форме с пояснениями.

7. Использовать стандартные потоковые объекты ввода/вывода cin и cout.

8. Проверить и продемонстрировать преподавателю работу программы на полном наборе тестов.

9. Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схемы алгоритмов трёх функций, текст программы, контрольные примеры (скриншоты).

10. Вариант задания определяется как две последних цифры номера зачетной книжки (цц), взятых по модулю 50, плюс 1 (цц mod 50 + 1). Например, 00 – 1-й вариант, 01 – 2-ой вариант, 49 – 50-ый вариант, 60 – 11-ый вариант, и т.д.