Модуль 1 / M1HT1
.doc
МІНІСТЕРСТВО ОСВІТИ, НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ
КАФЕДРА ПРИКЛАДНОЇ ІНФОРМАТИКИ
Домашня робота №1
з дисципліни:”Алгоритмізація та програмування”
Виконав: студент 113 групи ІКІТ
Односумов М.С.
Київ 2015
Задача №1. Цикли. Табулювання функції і пошук даних.
Протабулювати функцію на проміжку [-i;i] з кроком h=0.1i, де i –номер варіанта. Результати вивести на екран у вигляді таблиці пар чисел x ,y. Виконати завдання пошуку даних. Якщо функція в якійсь точці із зазначеного інтервалу не існує вивести про це повідомлення та вказати значення цього аргументу. Якщо шуканих даних немає, вивести про це повідомлення.
16. Обчислити кількість та добуток усіх від’ємних значень функції у.
Блок-схема:
Програма:
#include "stdafx.h"
#include<iostream>
#include<math.h>
#include<cstdlib>
#include<cmath>
#include<conio.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
double y = 0, h = 0.1, x = 0, a = 16, s = 0, f = 1;
cout << "\t=========================" << endl;
cout << "\t| x \t|" << " y\t|" << endl;
for (int i = -16;i <= 16; i = i + h*a)
{
y = ((sqrt(2 * pow(x, 2) + 1.5)) / (sin(3 * x)*(2 * x - 7)) + pow(2.7, -3 * x));
x = i;
cout << "\t|" << x << "\t|" << y << "\t|" << endl;
if (x < 0)
{
f *= x;
s++;
}
};
cout << "\t=========================" << endl;
cout << "\tКоличество отрицательных y =" << s << endl;
cout << "\tПроизведение всех отрицательных у =" << f << endl; //Вивід добутку усіх значень у, які задовільняють умову (6<у<10)
system("pause");
}
Результат:
Задача №2. Одновимірні масиви та складний пошук.
Утворити і вивести масив у з елементами , де і – номер варіанта, k = [1,12]. Виконати завдання свого варіанту. У разі відсутності шуканих даних, вивести повідомлення про це.
16. Максимальний елемент поміняти місцями з четвертим, що задовольняє умову
Блок-схема:
Програма:
#include<iostream>
#include<cmath>
#include<stdlib.h>
using namespace std;
int main()
{
int x, z, maxx;
int k = 0;
double a[20];
double c,max;
bool q;
x = 1;
q = true;
max = (sqrt(2 * pow(x, 2) + 1.5)) / (sin(3 * x)*(2 * x - 7)) + pow(2.7, -3 * x);
for (x = 1; x <= 12; x++) {
a[x] = (sqrt(2 * pow(x, 2) + 1.5)) / (sin(3 * x)*(2 * x - 7)) + pow(2.7, -3 * x);
if (a[x] > 1) { k++; }
if ((k == 4) && (q == true)) {z = x; q = false; }
if (max < a[x]) {
max = a[x]; maxx = x; }
cout << a[x] << endl;
}
cout << "Changing..." << endl;
c = a[z];
a[z] = a[maxx];
a[maxx] = c;
for (x = 1; x <= 12; x++) { cout << a[x] << endl; }
system("PAUSE");
return 0;
}
Результат:
Висновок: програми працюють коректно, отже я навчився використовавувати як масиви, так і цикли.