Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчеты 1 семестр 3 вариант 4 факультет.docx
Скачиваний:
15
Добавлен:
12.05.2018
Размер:
705.38 Кб
Скачать

Самостоятельная работа №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. Результат