МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ЛАБОРАТОРНА РОБОТА № 2Б
З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ”
ПРОГРАМИ З РОЗГАЛУЖЕНИМИ ТА ЦИКЛІЧНИМИ
АЛГОРИТМАМИ
Львів 2009
ПОВНИЙ ТЕКСТ ЗАВДАННЯ
1. Вивчити синтаксис, призначення., принцип роботи і використання операторів мови Турбо-Паскаль та основних процедур введення-виведення.
2. Скласти блок-схеми алгоритмів та програми мовою Турбо-Паскаль для табулювання функцій. Забезпечити ввід значень інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Дані для роботи беруться з таблиці 2 за вказівкою викладача:
б) табулювання функції, представленої рядом (див. табл.2), на інтервалі [a, b] з кроком табуляції h та абсолютною похибкою d. Оцінку похибки здійснювати за значенням модуля чергового члена ряду.
Таблиця 2
№ п/п
Функція
Інтервал, [a, b]
Крок, h
Похибка, d
17
[1, 1.5]
0.05
10-5
ОСТАТОЧНА ВЕРСІЯ БЛОК-СХЕМИ АЛГОРИТМУ
так ні
так ні
СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ПРОЦЕДУР ТА ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ ПРОГРАМИ
СПИСОК :
A
B
X
Y
N
H
D
Y1
ПОЯСНЕННЯ ІДЕНТИФІКАТОРІВ ЗМІННИХ :
A – ліва крайня межа табулювання
B – права крайня межа табулювання
X – значення аргументу
Y – значення функції
N – крок зміни індекса елемента ряду
H – крок табулювання функції
D – похибка табулювання
Y1 – сума значень елементів ряду
ПОЯСНЕННЯ ІДЕНТИФІКАТОРІВ ФУНКЦІЙ :
Printf ( ) – функція виводу інформації на дисплей
Scanf ( ) – функція зчитування значень із стандартного пристрою вводу (клавіатури) і присвоєння їх змінним вихідної програми.
getch ( ) – функція затримання даних на дисплеї після закінчення роботи програми.
ОСТАТОЧНА ВЕРСІЯ ПРОГРАМИ
//Lab_2_Bcpp : Defines The entry point for the console application.
//
#include “stdafx.h”
#include “stdio.h”
#include “math.h”
#include “conio.h”
int _tmain(int argc, _TCHAR *argv[])
{
double x,y,a,b,d,h,y1;
int n;
printf("\n");
printf("Enter a,b,h,d :");
printf("\n");
scanf("%lf %lf %lf %lf",&a,&b,&h,&d);
x=a; y1=0;
y=0; n=1;
printf("\n");
printf("Function TAB :");
printf("\n");
printf("\n");
printf("Y1 Result : Y Result : N Result : X Result : ");
printf("\n");
printf("\n");
do { do { y1=(y+y1);y=pow((-1),(n+1))*pow((x-1),n)/n;n=n+1;}while (fabs(y)>d);
printf(" %lf %lf %d %lf\n",y1,y,n,x);
n=1;x=(x+h);y1=0;y=0;}while (x<(b+h));
getch();
}
РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ
Enter a,b,h,d :
1
1.5
0.05
0.00001
Function TAB :
Y1 Result : Y Result : N Result : X Result :
0.000000 0.000000 2 1.000000
0.048792 -0.000002 5 1.050000
0.095308 0.000002 6 1.100000
0.139764 -0.000002 7 1.150000
0.182320 0.000002 8 1.200000
0.223136 0.000009 8 1.250000
0.262371 -0.000008 9 1.300000
0.300098 0.000009 10 1.350000
0.336469 0.000004 12 1.400000
0.371568 -0.000006 13 1.450000
0.405459 0.000009 14 1.500000