
МИНОБРНАУКИ РОССИИ
«ЧЕЛЯБИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
(ФГБОУ ВПО «ЧелГУ»)
Физический факультет
Кафедра радиофизики и электроники
отчет
по практике
по дисциплине «Интегрированные среды и объектное программирование»
ВЫПОЛНИЛ СТУДЕНТ |
|||
|
|||
Агеев А.А. |
|||
|
|||
Академическая группа |
ФФ-304 |
Курс |
3 |
|
|||
(подпись)
« » 2024г. |
|||
|
|||
ПРОВЕРИЛ |
|||
|
|||
Павлухина О.О. |
|||
|
|||
|
|||
ОЦЕНКА: |
|||
|
|||
|
|||
(подпись)
« » 2024г. |
Челябинск
2024
Цель работы: решить задачи по темам, проверить корректность результатов работы программы.
Базовые операции и условные операторы:
Расчет цены за гипсокартон для облицовки стен комнаты
Простейшая задача на расчет площади, не нуждается в комментариях. Единственное, на что можно обратить внимание, это приоритет выполнения математических операций.
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
float l, w, h, p, one;
cout << "Высота комнаты: ";
cin >> h;
cout << "Длина комнаты: ";
cin >> l;
cout << "Ширина комнаты: ";
cin >> w;
cout << "Цена за квадратный метр: ";
cin >> one;
p = one*(2*h*(l+w));
cout << "Итого руб: " << p;
return 0;
}
Листинг результатов:
Рис. 1 – Результат расчета цены
Сложное условие
Сложное условие состоит из двух или нескольких простых условий, которые объединяются с помощью логических операторов:
&& — логическое «И» (верны оба утверждения)
|| — логическое «ИЛИ» (верно хотя бы одно утверждение)
! — логическое отрицание (утверждение ложно)
#include <iostream>
using namespace std;
Int main() {
setlocale(LC_ALL, "Rus");
int age;
cout << "Сколько вам лет: ";
cin >> age;
if (age >= 25&&age <= 40)
cout << "Вы приняты.";
else
cout << "Мы не можем вас принять из-за возраста.";
return 0;
}
Листинг результатов:
Рис. 2,3 – Результат работы алгоритма со сложным условием
Определение вида треугольника
#include <iostream>
using namespace std;
Int main() {
setlocale(LC_ALL, "Rus");
int a, b, c;
cout << "Введите a: ";
cin >> a;
cout << "Введите b: ";
cin >> b;
cout << "Введите c: ";
cin >> c;
if (a+b<=c || a+c<=b || b+c<=a)
cout << "Треугольника не существует.";
else
if (a!=b && a!=c && b!=c)
cout << "Треугольник разносторонний.";
else
if (a==b && b==c)
cout << "Треугольник равносторонний.";
else
cout << "Треугольник равнобедренный.";
return 0;
}
Листинг результатов:
Рис. 4,5,6,7 – Результат работы алгоритма определения вида треугольника
Решение квадратного уравнения
#include <iostream>
#include <math.h>
using namespace std;
Int main() {
setlocale(LC_ALL, "Rus");
double a,b,c,d,x1,x2;
cout << "Введите a: ";
cin >> a;
cout << "Введите b: ";
cin >> b;
cout << "Введите c: ";
cin >> c;
d = b*b-4*a*c;
if (d>0)
{
x1=((-b)+sqrt(d))/(2*a);
x2=((-b)-sqrt(d))/(2*a);
cout << "x1 = " << x1 << "\n";
cout << "x2 = " << x2;
}
if (d==0)
{
x1= -(b/(2*a));
cout << "x1 = x2 = " << x1;
}
if (d<0)
cout << "D < 0, Корней нет.";
return 0;
}
Листинг результатов:
Рис. 8,9,10 – Результат решения квадратных уравнений
Определение принадлежности точки к кругу
#include <iostream>
using namespace std;
Int main() {
setlocale(LC_ALL, "Rus");
double x,y,R;
cout << "Введите R: ";cin >> R;
cout << "Введите x: ";cin>>x;
cout << "Введите y: ";cin>>y;
if (x*x + y*y <= R*R)
cout<<"Точка внутри окружности"<<endl;
else
cout<<"Точка вне окружности"<<endl;
if (x > 0 && y > 0) cout<<"I";
if (x < 0 && y > 0) cout<<"II";
if (x < 0 && y < 0) cout<<"III";
if (x > 0 && y < 0) cout<<"IV";
if (!x || !y) cout<<"Точка расположена на координатной оси";
return 0;
}
Листинг результатов:
Рис. 11,12 – Результат проверки уравнения окружности
Циклы for и while:
Цикл for используется, когда известно точное количество действий (итераций) цикла. Его можно записать так: for (действие до начала цикла/начальное значение параметра; условие продолжения цикла; действия в конце каждой итерации цикла).
Например,
for (x = 1; x <= 100; x++)
{
cout << x << " ";
}
Изначально x = 1 – первый шаг цикла. Далее с каждым шагом, используя инкремент, программа будет увеличивать x на единицу и выводить результат до 100 включительно, в соответствии с условием “<=100”.
for (x = 100; x!= 65; x -=5)
{
z=x*x;
cout << x << " " << z << "\n";
}
Здесь x уменьшается на 5 с каждой итерацией от 100 до 70 включительно. На выводе в каждой строчке будем получать значение x и z=x2.
Существует разновидность в виде (;;), что является эквивалентом циклу while (true). Цикл while (true) означает, что блок кода будет выполняться бесконечно, пока не будет прерван оператором break или исключением.
Это полезно, когда нужно повторять некоторое действие до тех пор, пока не будет достигнуто определённое условие.
for (;;)
{
cout << "Vvedite chislo";
cin >> a;
if (a == 42)break;
}
В случае с данным примером, мы сможем вводить на экран бесконечно разные числа, кроме 42. Если введём 42, программа остановит работу.
Присваивание «двойке» новой степени с каждым шагом, впоследствии вывод всех значений на экран:
cin >> x;
for (y = 1; y <= x; y++)
{
z = pow(2, y);
cout << z << “ “;
}
С каждым шагом х увеличивается на 1, 2, 3, 4, 5 и т.д., пока позволяет условие. Зависит от того, какое n мы введём:
cin >> n;
for (x = 0; x <= n; x += y)
{
y = y + 1;
cout << x << "\n";
}
Цикл while позволяет выполнять блок кода до тех пор, пока условие остаётся истинным. Это делает его особенно полезным для задач, где количество итераций заранее неизвестно.
Условие проверяется перед каждой итерацией цикла. Если условие истинно (True), блок кода выполняется. Если условие ложно (False), выполнение цикла прекращается.

Рис. 13
Например,
cin >> n;
while (x != n)
{
x = x + 1;
s = pow(2, x)+s;
cout << s << "=s.";
}
будет выводить сумму степеней двоек (рис. 13).
Определение количества цифр в числе, путём подсчёта десятков:
cin >> n;
while (n!=0)
{
n = n / 10;
d = d + 1;
cout << d << "=d.";
}
Задача: Посчитать с помощью ряда Тейлора «ех», количество «n» задается пользователем.
#include <iostream>
#include <cmath> // для exp()
using namespace std;