Ім'я файлу: протокол1.docx
Розширення: docx
Розмір: 565кб.
Дата: 29.03.2022
скачати
Пов'язані файли:
ВВП та чистий економічний добробут.docx



Міністерство освіти і науки України

Національний технічний університет України

«Київський політехнічний інститут імені Ігоря Сікорського»

Інформатика-2

Лабораторна робота №1

«Інтегроване середовище розробки Visual Studio 2010. Робота з умовними

операторами, циклами, массивами та функціями. Перегрузка функцій»

Виконала студентка групи:

ТЗ-11

Факультет: ІТС

Варіант: 17

ПІБ : Пацук В.О.

Перевірив: Скулиш М. А.

Київ 2022

Завдання варіант 17:









Блок-схема до завдання 1:


Старт

Фініш

return 0;

cout << "1) Кiлькiсть цифр у числi N:" << k << endl

k++

n/=10

(k=0;n!=0;)

k=0


Блок-схема до завдання 2:


Старт



Фініш

F

T

return 0;

Cout<<”]”<

k++

Cout<

k

Cout<<”2) Масив [”

string a =to_string(n)

k=0


Блок-схема до завдання 5:


Старт



double fact = 1



cout << "5) Факторiaл N!:" << fact << endl;

cout << "5) Факторiал N!:" << fact << endl;

Фініш

return 0;

fact*=i

i++

i=0;i

i=0

n==0

F

T

T

cout << "5) N - від'ємне значення." << endl;

F

n<0


Блок-схема до завдання 6:


Старт



sum=0



F

F

T

T

Фініш

return 0;

cout << "6) Сума всiх парних чисел вiд 1 до N:" << sum << endl;

i++

sum+=i

i%2==0

i<=n

i=0


Блок-схема до завдання 7:


Старт



sum=0



F

F

T

T

i<=n

cout << "6) Сума всiх непарних чисел вiд 1 до N:" << sum << endl;

i++

i%2!=0

sum+=i

Фініш

return 0;

i=0


Код програми:
#include

#include

#include

#include

using namespace std;

// task 1 | Кількість цифр у числі

int task1(int n) {

int k = 0;

for (; n != 0;) {

n /= 10;

k++;

}

cout << "1) Кiлькiсть цифр у числi N:" << k << endl;

return 0;

}
// task 2 | Елементи масиву з цифр числа

int task2(int n) {

int k = 0;

string a = to_string(n);

cout << "2) Масив [ ";
while (k < a.length())

{

cout << a[k] << " ";

k++;

}

cout << "]" << endl;

return 0;

}
// task 3 | Середнє арифметичне

int task3(int n)

{

int count = 0;

float sum = 0;

if (n < 0)

n = -n;

while (n != 0)

{

sum += (n % 10);

n = n / 10;

count++;

}
cout << "3) Середнє Арифметичне числа N:" << sum / count << endl;

return 0;

}
int task3(float n)

{

cout << "3) Ви ввели не цiле число!" << endl;

return 0;

}
int task3(int n, int m)

{
n = n + m;

int count = 0;

float sum = 0;

if (n < 0)

n = -n;

while (n != 0)

{

sum += (n % 10);

n = n / 10;

count++;

}
cout << "Середнє Арифметичне числа N+m:" << sum / count << endl;

return 0;

}

// task 4 | Середнє геометричне

int task4(int n)

{

double product = 1;

int count = 0;

if (n < 0)

n = -n;

int n1 = n;

do

{

n1 /= 10;

count++;

} while (n1 != 0);
int* arr = new int[count];

int i = 0;

do

{

arr[i] = n % 10;

n /= 10;

product *= arr[i];

i++;

} while (i < count);
cout << "4) Середнє Геометричне числа N:" << pow(product, 1.0 / count) << endl;

return 0;

}
// task 5 | Факторіал

int task5(int n)

{
long double fact = 1;
if (n < 0)
cout << "5) N - від'ємне значення." << endl;
else if (n == 0)
cout << "5) Факторiaл N!:" << fact << endl;
else {

int i = 0;

for (i = 0; i < n; )

{

i++;

fact *= i;

}

cout << "5) Факторiал N!:" << fact << endl;

}
return 0;

}
// task 6 | Сума всіх парних чисел

int task6(int n)
{
int sum = 0;
int i = 0;
while (i <= n)

{
if (i % 2 == 0)
sum += i;
i++;

}
cout << "6) Сума всiх парних чисел вiд 1 до N:" << sum << endl;
return 0;
}
// task 7 | Сума всіх непарних чисел

int task7(int n)
{
int sum = 0;
int i = 0;
do

{

if (i % 2 != 0)
sum += i;
i++;

} while (i <= n);
cout << "7) Сума всiх непарних чисел вiд 1 до N:" << sum << endl;
return 0;
}
/*int task8(int n, int m)

{
n = n + m;

int count = 0;

float sum = 0;

if (n < 0)

n = -n;

while (n != 0)

{

sum += (n % 10);

n = n / 10;

count++;

}
cout << "Середнє Арифметичне числа N+m:" << sum / count << endl;

return 0;

}*/
// Функція старт

int main()

{

setlocale(LC_ALL, "Rus");

cout << "\tВведiть число N: ";

string number;

cin >> number;


if (any_of(number.begin(), number.end(), isalpha) ||

count(number.begin(), number.end(), '.') > 1)

{

cout << "Bad input.\n";

return 1;

}
if (number.find('.') != string::npos)

{


float fl = stof(number);

cout << fl;

//Знайти 1

task1(fl);

//Знайти 2

task2(fl);

//Знайти 3

task3(fl);

//Знайти 4

task4(fl);

//Знайти 5

task5(fl);

//Знайти 6

task6(fl);

//Знайти 7

task7(fl);


}


else

{

istringstream iss(number, istringstream::in);
int val;

iss >> val;

cout << val;

//Знайти 1

task1(val);

//Знайти 2

task2(val);

//Знайти 3

task3(val);

//Знайти 4

task4(val);

//Знайти 5

task5(val);

//Знайти 6

task6(val);

//Знайти 7

task7(val);

if (val * 10 / 2 >= 0)

{

int m;

cout << " До пункту 3\nВведiть коригуюче число для знаходження середнього арифметичного:";

cin >> m;

task3(val, m);

}

return 0;

}

return 0;

}
Вивід в консоль(на прикладі числа 12):



Вивід в консоль(на прикладі числа 1.2):



Висновок: у ході виконання цієї лабораторної роботи, я удосконалила свої вміння реалізувати програмні рішення за допомогою циклів у програмі Visual Studio 2019. Процес виконання роботи був цікавим, за допомогою такого інструменту як «откладка», я змогла чітко відслідкувати як працюють написані мною цикли, легко знаходити помилки, виправити їх, та побудувати блок схеми.

скачати

© Усі права захищені
написати до нас