Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПОИТ Лабораторная работа по основам алгоритмизации.№1-21

.docx
Скачиваний:
28
Добавлен:
01.04.2014
Размер:
108.86 Кб
Скачать

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра программного обеспечения информационных технологий

Факультет ЗВиДО

Специальность ПОИТ

Контрольная работа № 1

по дисциплине «Основы алгоритмизации и программирования»

Вариант № 21

Минск 2009

Лабораторная №1 Задание №21

1) Задание

Для аргумента , изменяющегося от 0 с шагом 0.04 вычислить 20 значений функций:

;

.

Функцию f2(x) вычислить для ряда точностей . Для указанных точностей определить количество N элементов ряда, суммируемых для достижения заданной точности. Результаты расчетов свести в таблицу.

2) Схема алгоритма.

На рис. 1 представлена схема алгоритма по ГОСТ 19. 701-90.

3) Текст программы.

----------------------------------------------------------------------------------------------------------

program labrab1;

{901022-20 ПОИТ 1-й курс Пархейчук Э.А.

Вариант 21. Для аргумента , изменяющегося от 0 с шагом 0.04 вычислить

20 значений функций f1(x) и f2(x)}

uses CRT; {подключаем модуль CRT для использования процедуры ClrScr}

const

eps1 = 0.01; {Точность 10е-2}

eps2 = 0.001; {Точность 10е-3}

eps3 = 0.0001; {Точность 10е-4}

step_x = 0.04; {задаем шаг}

N = 19; {Количество значений}

var

f1, f2_1, f2_2, f2_3,x,SUM,stepen:real;

{f1 - запоминает знечения функции f1

f2_1 - запоминает значения функции f2 для точности 10е-2

f2_2 - запоминает значения функции f2 для точности 10е-3

f2_3 - запоминает значения функции f2 для точности 10е-4

x - ргумент функций}

k1,k2,k3,i:integer;

{k1 - запоминает на каком шаге была достигнута точность 10е-2

k2 - запоминает на каком шаге была достигнута точность 10е-3

k3 - запоминает на каком шаге была достигнута точность 10е-4}

Begin

ClrScr; {Очистка экрана пользователя}

{Вывод на экран шапки таблицы}

writeln('|-------------------------------------------------------------|');

writeln('| | | e=0.01 | e=0.001 | e=0.0001 |');

writeln('| x | f1(x) |-------------|-------------|-------------|');

writeln('| | | f2(x) | K | f2(x) | K | f2(x) | K |');

writeln('|-------------------------------------------------------------|');

writeln('|',x:7:2,'|', ' f1(x) и f2(x) для х=0 не существует |');

x:=0.04; {задаем начальное значение Х в связи с тем, что в

точке х=0 функции f1 и f2 не существуют}

{вычисляем оставшиеся 19 значения для f1(x) и f2(x)}

for i:=1 to N do

begin

{вычисляем F1(x)}

f1:=1/(4*x)*((1+x)/sqrt(x)*ln((1+sqrt(x))/(1-sqrt(x)))+2*ln(1-x));

stepen:=1; {Задаем начальное значение x^k-1}

k1:=0; {начальное значение k для f2_1}

SUM:=0;

{Вычисляем значение функции f2 для точности 10е-2}

f2_1:=1/(2*x);

repeat

inc(k1);

SUM:=stepen/(2*k1*(2*k1-1)*(2*k1+1));

f2_1:=f2_1+SUM;

stepen:=stepen*x;

until abs(SUM)<=eps1;

f2_2:=f2_1;

k2:=k1; {начальное значение k для f2_2}

{Вычисляем значение функции f2 для точности 10е-3}

repeat

inc(k2);

SUM:=stepen/(2*k2*(2*k2-1)*(2*k2+1));

f2_2:=f2_2+SUM;

stepen:=stepen*x;

until abs(SUM)<=eps2;

f2_3:=f2_2;

k3:=k2; {начальное значение k для f2_3}

{Вычисляем значение функции f2 для точности 10е-4}

repeat

inc(k3);

SUM:=stepen/(2*k3*(2*k3-1)*(2*k3+1));

f2_3:=f2_3+SUM;

stepen:=stepen*x;

until abs(SUM)<=eps3;

{Выводим на экран построчно таблицу аргументов и функций f1 и f2 для заданных точностей}

writeln('|',x:7:2,'|',f1:10:4,'|',f2_1:10:2,'|', k1:3,'|',f2_2:9:3,'|',

k2:3,'|',f2_3:9:4,'|',k3:3,'|');

x:=x+step_x; {находим следующее значение x}

end;

writeln('|______________________________________________________________');

end.

-----------------------------------------------------------------------------------------------------------------

4) Результаты работы программы:

|---------------------------------------------------------------|

| | | e=0.01 | e=0.001 | e=0.0001 |

| x | f1(x) |--------------|---------------|---------------|

| | | f2(x) | K | f2(x) | K | f2(x) | K |

|---------------------------------------------------------------|

| 0.00| f1(x) и f2(x) для х=0 не существует |

| 0.04| 12.6673| 12.67| 2| 12.667| 3| 12.6673| 4|

| 0.08| 6.4180| 6.42| 2| 6.418| 3| 6.4180| 4|

| 0.12| 4.3354| 4.34| 2| 4.335| 3| 4.3354| 4|

| 0.16| 3.2945| 3.29| 2| 3.294| 3| 3.2945| 4|

| 0.20| 2.6702| 2.67| 2| 2.670| 3| 2.6702| 4|

| 0.24| 2.2543| 2.25| 2| 2.254| 3| 2.2543| 4|

| 0.28| 1.9575| 1.96| 2| 1.957| 3| 1.9575| 4|

| 0.32| 1.7351| 1.73| 2| 1.735| 3| 1.7351| 4|

| 0.36| 1.5623| 1.56| 2| 1.562| 3| 1.5623| 4|

| 0.40| 1.4243| 1.42| 2| 1.424| 3| 1.4242| 5|

| 0.44| 1.3115| 1.31| 2| 1.311| 3| 1.3115| 5|

| 0.48| 1.2177| 1.22| 2| 1.218| 4| 1.2177| 5|

| 0.52| 1.1385| 1.14| 2| 1.138| 4| 1.1385| 5|

| 0.56| 1.0708| 1.07| 2| 1.071| 4| 1.0708| 5|

| 0.60| 1.0123| 1.01| 2| 1.012| 4| 1.0123| 6|

| 0.64| 0.9613| 0.96| 3| 0.961| 4| 0.9613| 6|

| 0.68| 0.9165| 0.92| 3| 0.916| 4| 0.9164| 6|

| 0.72| 0.8768| 0.88| 3| 0.876| 4| 0.8768| 7|

| 0.76| 0.8415| 0.84| 3| 0.841| 4| 0.8414| 7|

|_________________________________________