- •Отчет по лабораторным работам
- •Лабораторная работа №2 Тема: Разветвляющиеся алгоритмы
- •Задание 1. Ветвление с двумя альтернативами
- •Задание 2. Вложенные ветвления
- •Задание 3. Оператор множественного выбора
- •Лабораторная работа № 3 Тема: Операторы повторений
- •Лабораторная работа № 4 Тема: Одномерный массив
- •Лабораторная работа № 5 Тема: Двумерные массивы
- •Лабораторная работа № 6 Тема: Итерация
- •Лабораторная работа № 7 Тема: Работа с файлами
- •Самостоятельная работа №1
- •Самостоятельная работа №2
- •Самостоятельная работа №3 Тема: Одномерный массив
Самостоятельная работа №1
Задание : составить программу для вычисления корней квадратного уравнения ax^2+bx+c=0 .
1. Код программы
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
setlocale(0, "");
double d;
cout << "Порешаем?) ax^2+bx+c=0" << endl;
cout << "Введите данные уравнения a b c через пробел:";
int a, b, c;
cin >> a >> b >> c;
if (a != 0)
{
d = b*b - 4 * a*c;
cout << "d=" << d << endl;
if (d > 0)
{
double x1 = (-b + d) / (2 * a);
double x2 = (-b - d) / (2 * a);
cout << "x1=" << x1 << endl;
cout << "x2=" << x2 << endl;
}
if (d == 0)
{
double x = (-b + d) / (2 * a);
cout << "x=" << x << endl;
}
if (a == 0)
{
cout << "Это не квадратное уравнение А не может быть равно 0";
}
if (d < 0)
{
cout << "Уравнение не имеет корней, подумай лучше" << endl;
}
}
else
{
cout << "Это не квадратное уравнение А не может быть равно 0" << endl;
}
cout << "Было приятно с тобой поработать , будь умницей" << endl;
cout << endl;
system("pause");
return 0;}
2. Результат
D>0
D=0
D<0
Самостоятельная работа №2
Задание : написать программу для вычисление факториала через циклы: while, do…while, for.
1. Код программы
1) While
#include <stdafx.h>
#include <iostream>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
using namespace std;
int main()
{
int i=1,N=0,s=1;
setlocale(LC_ALL,"Russian");
cout<<"Введи значение факториала N:";
cout<<"N="<<N;
cin>>N;
while(i<=N)
{
s=s*i;
i=i+1;
}
cout<<"N!="<<s;
cout<<endl;
system("pause");
return 0;
}
3. Результат
2. Код программы
2) Do…while
#include <stdafx.h>
#include <iostream>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
using namespace std;
int main()
{
int i = 1, N = 0, s = 1;
setlocale(LC_ALL, "Russian");
cout << "Введи значение факториала N:";
cout << "N=" << N;
cin >> N;
do
{
cout << "N!=" << s;
cout << endl;
i = i + 1;
s = s*i;
}
while (i <= N);
system("pause");
return 0;
}
3.Результат
2. Код программы
3) For
#include <stdafx.h>
#include <iostream>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
using namespace std;
int main()
{
int i=1,N=0,s=1;
setlocale(LC_ALL,"Russian");
cout<<"Введи значение факториала N:";
cout<<"N="<<N;
cin>>N;
for(i=1;i<=N;i++)
{
s=s*i;
}
cout<<"N!="<<s;
cout<<endl;
system("pause");
return 0;
}
3.Результат
Самостоятельная работа №3 Тема: Одномерный массив
Задание: составить программу на языке С++ для сортировки заданного линейного массива по убыванию. Массив динамический.
1. Код программы
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <locale>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "Russian"); /* Установим размер массива */
int n; // Кол-во элементов
cout << "Введите размер массива: ";
cin >> n;
int *a = new int[n];
for (int i = 0; i < n; i++)
{
a[i] = rand() % 50 + 1;
cout << "a[" << i << "]= " << a[i] << endl;
} /* Выведем исходный массив */
cout << "Исходный массив: " << endl;
for (int i = 0; i < n; i++)
{
cout << a[i] << " " << endl;
}
cout << endl; /* Отсортируем массив по убыванию */
for (int i = 1; i < n; i++)
{
for (int r = 0; r < n - i; r++)
{
if (a[r] < a[r + 1])
{ // Обмен местами
int temp = a[r];
a[r] = a[r + 1];
a[r + 1] = temp;
}
}
} /* Выведем отсортированный массив */
cout << "Отсортированный массив: ";
for (int i = 0; i < n; ++i)
{
cout << a[i] << " ";
}
cout << endl;
delete[] a;
system("pause");
return 0;
}
2. Результат