Professional Documents
Culture Documents
Лабораторна робота №4
Лабораторна робота №4
ЗВІТ
Про виконання лабораторної роботи № 4
“Циклічні алгоритми та програми”
з дисципліни “АЛГОРИТМІЗАЦІЯ І ПРОГРАМУВАННЯ”
Варіант №16
2020
Лабораторна робота №4
Тема: Циклічні алгоритми та програми.
Мета: Реалізація алгоритмів з різними видами циклів мовою C.
Завдання: Здобути навички створення, відлагодження та реалізації програм з
різними видами циклів мовою C.
GitHub: https://github.com/Aves2001/GitHub_Lab_4_Lebid_Eduard
xy +2 x− y x
a=
sin ( x ) + xy−2 x + y
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <windows.h>
int x = 0;
int y = 0;
unsigned char zz = 0;
// UTF-8
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
//
do{
printf ("\r\nx = ");
scanf ("%d", &x);
printf ("y = ");
scanf ("%d", &y);
if (x < 0 && y == 0)
{
system("cls");
printf("\r\nУ обчислюваному виразі: ноль у відємному степені\r\
n");
printf("\r\nВведіть дані заново:\r\n");
}
else if (f1 == 0)
{
system("cls");
printf("\r\nУ обчислюваному виразі: виконується
ділення на 0\r\n");
printf("\r\nВведіть дані заново:\r\n");
}
else {
zz = 1;
printf ("\r\na = %g\r\n", f2);
}
}
while (zz == 0);
// Вертаєм chcp
SetConsoleCP(chcp);
SetConsoleOutputCP(chcpOut);
//
getch();
return 0;
}
A)
#include <stdio.h>
#include <conio.h>
#include <windows.h>
// діапазон:
double a = 0; // Від
double b = 30; // До
double sum = 0;
double f = 0;
// UTF-8
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
//
double c1 = a;
double c2 = b;
double i = 0;
double f = sum/i;
// Вертаєм chcp
SetConsoleCP(chcp);
SetConsoleOutputCP(chcpOut);
//
getch();
return 0;
}
B)
#include <stdio.h>
#include <conio.h>
#include <windows.h>
// діапазон:
double a = 0; // Від
double b = 30; // До
double s2 = 0;
double s1 = 0;
double s = 0;
// UTF-8
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
//
double c1 = a;
double c2 = b;
double s1 = s/s2;
// Вертаєм chcp
SetConsoleCP(chcp);
SetConsoleOutputCP(chcpOut);
//
getch();
return 0;
}
C)
#include <stdio.h>
#include <conio.h>
#include <windows.h>
// діапазон:
double a = 0; // Від
double b = 30; // До
double s2 = 0;
double s1 = 0;
double s = 0;
// UTF-8
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
//
double c1 = a;
double c2 = b;
do {
s += c1;
s2++;
c1++;
// Вертаєм chcp
SetConsoleCP(chcp);
SetConsoleOutputCP(chcpOut);
//
getch();
return 0;
}
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int x = 0;
double i = 1;
double sum_i = 0;
double sum_j = 0;
int zz = 0;
// UTF-8
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
//
do{
printf ("\r\nВведіть ціле число\r\n\nx = ");
scanf ("%d", &x);
if (x == 0)
{
system("cls");
printf("X не може бути нулем\r\n");
}else zz = 1;
}while(zz == 0);
double j = sum_i;
while (j <= 10)
{
sum_j += j;
j++;}
double a1 = sum_i + 2;
double a2 = sum_j + x;
double a3 = a1/a2;
// Вертаєм chcp
SetConsoleCP(chcp);
SetConsoleOutputCP(chcpOut);
//
getch();
return 0;
}
Завдання 4. Використовуючи оператори циклу, обчислити і вивести на
екран у табличному вигляді значення функції y=f ( x ) на заданому
інтервалі зміни значень аргумента х від а до b з кроком dx. За
необхідності передбачити виникнення виключних ситуацій
(невизначений результат, ділення на нуль, корінь з від’ємного числа,
логарифмування числа, меншого за нуль тощо). Результати обчислень
подати у вигляді наступної таблиці:
Результати обчислення функції y=f ( x ) на проміжку a, b з кроком dx .
x y=f ( x )
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <windows.h>
float y=0;
float x=1.25; //a=
float b = 6.75; //b=
float dx = 0.25; //крок
// UTF-8
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
//
printf("\n******************\n");
printf("*X\t\tY*\n");
printf("******************\n");
while (x<=b)
{
y=pow(x,1/4.0);
printf(" %d\t%9.2lf\n", x, y);
x+=dx;
}
// Вертаєм chcp
SetConsoleCP(chcp);
SetConsoleOutputCP(chcpOut);
//
getch();
return 0;
}
GitHub: https://github.com/Aves2001/GitHub_Lab_4_Lebid_Eduard